Checklist

O serviço da web é o serviço mais comum e extenso e existem vários tipos diferentes de vulnerabilidades.

Porta Padrão: 80 (HTTP), 443 (HTTPS)

PORT     STATE    SERVICE
80/tcp   open     http
443/tcp  open     ssl/https
nc -v (domínio.com) 80 #GET / HTTP/1.0
openssl s_client -connect (domínio.com):443 #GET / HTTP/1.0

Sumário de Metodologia

Nesta metodologia vamos supor que você vai atacar um domínio (ou subdomínio) e só isso. Portanto, você deve aplicar esta metodologia a cada domínio, subdomínio ou IP descoberto com servidor web indeterminado dentro do escopo.

Fase de Reconhecimento

  • Grande: Uma empresa com múltiplos domínios

  • Média: Um único domínio

  • Pequena: Um único website

Escopo Grande

Escopo Médio

Escopo Pequeno

Preparação

Enumerando as Aplicações do Web Server

Revise o conteúdo da Web

Estrutura de aplicativo Web de impressão digital

Mapeie a Infraestrutura da Aplicação

Infraestrutura Externa

Infraestrutura Interna

Enumeração da Infraestrutura e Interface Admin

Impressão Digital

Mapeando Paths de Execução

Identificar Pontos de Entrada na Aplicação

Rede

FTP (Porta 21)

SMTP (Porta 25)

DNS (Porta 53)

SMB (Porta 445)

MSSQL (Porta 1433)

MySQL (Porta 3306)

VNC (Porta 5900)

IIS

Teste a Configuração da Aplicação

Teste o manuseio das Extensões de Arquivos

Revise o Backup e Arquivos Não Referenciados

Teste as Permissões dos Arquivos

Teste a Aquisição de Subdomínios

Teste o Armazenamento em Nuvem

Verifique se você pode enviar arquivos (PUT, WebDav)

Se você encontrar que WebDav está habilitado mas você não tem as permissões necessárias para enviar arquivos na pasta do root, tente:

Teste páginas não Criptografadas

Teste por Credenciais Padrão

Teste por mecanismos de bloqueios fracos

Teste para passar o sistema de autenticação

"username" : "test_account",
"password" : [
"123456",
"password",
"qwerty"
...

Teste por vulnerabilidades em Lembrar a Senha

Teste por fraquezas no cache do navegador

Teste por Políticas de Senhas Fracas

Verifique por Questão de Segurança Fracas

Teste a função de Resetar a Senha é Fraca

Teste a função de Trocar a Senha é Fraca

Teste por uma Autenticação Fraca em um Canal Alternativo

Teste o Processo de Registro dos Usuários

Teste a Inclusão de Arquivos no Diretório

Teste Traversal com Codificação

Teste Outras formas de Codificação

Teste por Escalação de Privilégios

IDOR

Teste para referência direta de objeto inseguro

Teste para gerenciamento de sessão

Teste para Atributos de Cookies

Teste para fixação de sessão

Teste para variáveis de sessão expostas

Teste para ataque de atualização posterior

Teste para falsificação de solicitação entre sites

CSRF

Teste a funcionalidade de logout

Teste o tempo limite da sessão

Teste para sequestro de sessão

Teste para Refleted Cross Site Scripting

Teste para Stored Cross Site Scripting

Teste de poluição de parâmetros HTTP

Teste para injeção SQL

Teste a Injeção XML

Teste para inclusão do lado do servidor

Teste por Injeção IMAP SMTP

Teste para inclusão de arquivo local

Teste para inclusão remota de arquivos

Teste para injeção de comando

Teste para injeção de string de formato

Teste para injeção de cabeçalho de host

Teste para falsificação de solicitação do servidor

Teste para injeção de modelo no lado do servidor

Teste para tratamento de erros inadequado

Teste para segurança fraca da camada de transporte

Lógica do Negócio

Teste para scripts entre sites baseados em DOM

Teste para redirecionamento de URL

Teste para compartilhamento de recursos entre origens

Teste para clickjacking

Teste para limitação sem taxa

Teste para geodados EXIF

Teste de sequestro de link quebrado

Teste por SPF

Teste para 2FA fraco

Teste para implementação de OTP fraca

CAPTCHA

Cabeçalhos de segurança

Bugs

email: "attackerQ127.0.0.1)" -oQ/tmp/ -X/var/wwwj/shell.php root"Q127.0.0.1

assunto: <?php system($_GET['c'];?>

(api token username, password, secret,dev,prod,jenkins,config,ssh,ftp, MYSQL. PASSWORD, admin,AWS, bucket,GITHUB TO KEN)

Manipulação de Quantidade

Forçando Erros

Os servidores da Web podem se comportar de maneira inesperada quando dados estranhos são enviados a eles. Isso pode abrir vulnerabilidades ou divulgar informações confidenciais.

Vulnerabilidades SSL/TLS

Use testssl.sh para verificar as vulnerabilidades e use a2sv para verificar novamente as vulnerabilidades

./testssl.sh [--htmlfile] 10.10.10.10:443
#Use o --htmlfile para salvar a saída dentro de um arquivo html

#Você pode também usar outras ferramentas, o testssl.sh neste momente é a melhor
sslscan <host:porta>
sslyze --regular <ip:porta>

Informações sobre vulnerabilidades SSL/TSL:

Spidering

Envie um tipo de aranha dentro da teia. A meta do spider é encontrar o máximo de paths possíveis da aplicação testada. Portanto, web crawling e fontes externas devem ser usadas para encontrar o máximo de paths possíveis.

Força Bruta nos Diretórios e Arquivos

Inicie a força bruta a partir da pasta root e certifique-se de aplicar força bruta em todos os diretórios encontrados usando este método e em todos os diretórios descobertos pelo Spidering (você pode fazer essa força bruta recursivamente e anexando no início da lista de palavras usada os nomes dos diretórios encontrados).

Ferramentas:

wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt 
https://domain.com/api/FUZZ
ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ

O que Verificar em cada Arquivo Encontrado

Descobertas Especiais

  • Arquivos Interessantes

Monitore as páginas em busca de alterações

Last updated