
Neste artigo, trataremos da operação de algumas identidades da WEB usando o jogo de guerra
Natas como exemplo. Cada nível tem acesso à senha do próximo nível. Todas as senhas também são armazenadas nos arquivos / etc / natas_webpass /. Por exemplo, a senha para natas5 é armazenada no arquivo / etc / natas_webpass / natas5 e é somente leitura para usuários natas4 e natas5.
Informações OrganizacionaisEspecialmente para aqueles que desejam aprender algo novo e se desenvolver em qualquer uma das áreas de segurança da informação e da informática, escreverei e falarei sobre as seguintes categorias:
- PWN;
- criptografia (criptografia);
- tecnologias de rede (rede);
- reverso (engenharia reversa);
- esteganografia (estegano);
- pesquisa e exploração de vulnerabilidades na WEB.
Além disso, compartilharei minha experiência em análise forense de computadores, análise de malware e firmware, ataques a redes sem fio e redes locais, realização de protestos e explorações por escrito.
Para que você possa descobrir sobre novos artigos, software e outras informações, criei um
canal no Telegram e um
grupo para discutir quaisquer questões no campo da CID. Além disso, considerarei pessoalmente seus pedidos, perguntas, sugestões e recomendações
pessoais e responderei a todos .
Todas as informações são fornecidas apenas para fins educacionais. O autor deste documento não se responsabiliza por nenhum dano causado a alguém como resultado do uso dos conhecimentos e métodos obtidos como resultado do estudo deste documento.
nível 0
Analisamos o código fonte da página e verificamos os comentários.

Nós encontramos a senha.
Muitas vezes, ao desenvolver sites, os desenvolvedores comentam várias informações auxiliares, incluindo dados de autorização.
nível 1
Analisamos o código-fonte da página novamente, mas um evento do mouse com o botão direito do mouse é atribuído a um evento javascript, que não permite o menu de contexto.

Para visualizar a página, você pode usar as teclas de atalho do navegador; o evento de pressionar o botão direito do mouse não funcionará.

Nós encontramos a senha.
Como opção (às vezes prioridade), você pode simplesmente baixar a página inteira e visualizar o código.
wget --http-user=natas1 --http-password=gtVrDuiDfck831PqWsLEZy5gyDz1clto http://natas1.natas.labs.overthewire.org

nível 2
Nós olhamos o código fonte da página novamente, observe que a imagem está carregando na página.

Vamos para o diretório em que a imagem é baixada. Observamos que esse diretório não está indexado e disponível para os usuários.

Tiramos a senha.

Para evitar a exibição de arquivos no diretório, as configurações do servidor (neste caso /etc/apche2/httpd.conf) devem proibir a indexação de arquivos. Ou nesse diretório deve estar o arquivo index.html.
nível 3
Nós olhamos para o código fonte da página novamente, não há nada interessante lá. O segundo item após a exibição do código-fonte é a verificação de arquivos e diretórios. Especifique o usuário e a senha para autenticação http como os parâmetros do utilitário dirb.

O arquivo robots.txt contém uma lista de diretórios e arquivos que não podem ser visualizados pelos robôs dos mecanismos de pesquisa (por exemplo, google e yandex).

Vamos para o diretório oculto no site, localize o arquivo e escolha a senha.


Como analógico, você pode usar o utilitário dirsearch ou burpsuite.
nível 4
O servidor informa de qual página eles foram e diz para qual página ir. Ele pode verificar esses dados apenas no cabeçalho do protocolo HTTP.

No navegador, selecione a barra de ferramentas → rede → última solicitação e “alterar e enviar”. Você deve alterar o campo Referer - mostra exatamente de onde chegamos.

Resta pegar a senha.

Esta ação é burpsuite.
É necessário revisar constantemente quais campos HTTP o servidor da Web está visualizando. Esses são os dados do usuário filtrados mais raramente.
nível 5
O serviço informa que não estamos logados. Ou seja, ele armazena os dados de nossa autorização. O único local em que isso pode ser transmitido é a sessão de cookies.

Vamos ver os cookies (por conveniência, é melhor instalar extensões no navegador) e alterar o valor do parâmetro logado para 1.

Recarregue a página e colete a senha.

Essa vulnerabilidade é classificada como autenticação quebrada e gerenciamento de sessões.
nível 6
Este serviço nos fornece o código fonte para análise.

O segredo que devemos inserir está incluído (conectado a partir do arquivo).

Vá para o endereço desse arquivo no servidor e obtenha
um segredo Como esses arquivos contêm código php, eles
exibido apenas se você baixá-los.

Envie um segredo, obtenha uma senha.
nível 7
Ao clicar nos dois links, notamos como eles são carregados. O nome do arquivo no servidor é passado nas páginas de parâmetro GET.

Vamos tentar especificar o caminho para o arquivo / etc / passwd como um parâmetro.

E eles nos dizem onde obter a senha.

A vulnerabilidade é classificada como LFI.
nível 8
O código fonte do serviço é fornecido. A cadeia codificada e o método de codificação são armazenados.

É necessário decodificar na ordem inversa:
- converter de exibição hexadecimal em representação binária;
- virar a linha;
- decodificar base64.
<?php $secret = "3d3d516343746d4d6d6c315669563362"; echo base64_decode(strrev(hex2bin($secret)))."\n"; ?>

Envie um segredo e obtenha uma senha.

nível 9
A partir da análise do código fonte, fica claro que os dados do usuário são transferidos para a linha de comando para procurar dados no arquivo.

Como os dados não são filtrados, você pode coletar o pipeline e executar outros comandos do SO. Se você passar uma string para a solicitação, por exemplo: "|| ls # ", a solicitação completa se tornará" grep -i || ls # dictionary.txt. " Tudo depois || - será executado com um erro e depois de # - será comentado, ou seja, obteremos apenas a saída do comando ls.

Assim, lemos o arquivo: “|| gato / etc / natas_webpass / natas10 # ".

A vulnerabilidade é classificada como Injeção de Comando do SO.
nível 10
A partir da análise do código fonte, fica claro que os dados do usuário são transferidos para a linha de comando para procurar dados no arquivo.

A tarefa é a mesma do nível 9, só que agora existe um filtro. T.O. os sinais desaparecerão da solicitação: “;”, “|”, “&”. Você pode legitimamente ler o arquivo! Suponha que nossa senha tenha o símbolo "z": "z / etc / natas_webpass / natas11 #".

Para ser continuado. Você pode se juntar a nós no
Telegram .