Pentesting Methodology
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Se você está interessado em carreira de hacking e hackear o inhackeável - estamos contratando! (fluência em polonês escrita e falada é necessária).
Logos do Hacktricks desenhadas por @ppiernacho.
Você tem acesso físico à máquina que deseja atacar? Você deve ler alguns truques sobre ataques físicos e outros sobre escapando de aplicações GUI.
Dependendo se o teste que você está realizando é um teste interno ou externo, você pode estar interessado em encontrar hosts dentro da rede da empresa (teste interno) ou encontrar ativos da empresa na internet (teste externo).
Note que se você estiver realizando um teste externo, uma vez que conseguir obter acesso à rede interna da empresa, você deve reiniciar este guia.
Esta seção se aplica apenas se você estiver realizando um teste interno. Antes de atacar um host, talvez você prefira roubar algumas credenciais da rede ou snifar alguns dados para aprender passivamente/ativamente (MitM) o que você pode encontrar dentro da rede. Você pode ler Pentesting Network.
A primeira coisa a fazer ao procurar vulnerabilidades em um host é saber quais serviços estão em execução em quais portas. Vamos ver as ferramentas básicas para escanear portas de hosts.
Uma vez que você saiba quais serviços estão em execução, e talvez suas versões, você deve procurar por vulnerabilidades conhecidas. Talvez você tenha sorte e haja um exploit que lhe dê um shell...
Se não houver nenhum exploit interessante para qualquer serviço em execução, você deve procurar por configurações incorretas comuns em cada serviço em execução.
Dentro deste livro você encontrará um guia para pentestar os serviços mais comuns (e outros que não são tão comuns). Por favor, procure no índice à esquerda a seção _PENTESTING**_ (os serviços estão ordenados por suas portas padrão).
Quero fazer uma menção especial à parte Pentesting Web (pois é a mais extensa). Além disso, um pequeno guia sobre como encontrar vulnerabilidades conhecidas em software pode ser encontrado aqui.
Se o seu serviço não estiver no índice, procure no Google por outros tutoriais e me avise se você quiser que eu adicione. Se você não conseguir encontrar nada no Google, realize seu próprio pentesting cego, você pode começar por conectar-se ao serviço, fuzzing e lendo as respostas (se houver).
Existem também várias ferramentas que podem realizar avaliações automáticas de vulnerabilidades. Eu recomendaria que você tentasse Legion, que é a ferramenta que eu criei e é baseada nas notas sobre pentesting de serviços que você pode encontrar neste livro.
Em alguns cenários, uma Força Bruta pode ser útil para comprometer um serviço. Encontre aqui uma CheatSheet de diferentes serviços para força bruta.
Se neste ponto você não encontrou nenhuma vulnerabilidade interessante, você pode precisar tentar algum phishing para entrar na rede. Você pode ler minha metodologia de phishing aqui:
De alguma forma, você deve ter encontrado alguma maneira de executar código na vítima. Então, uma lista de possíveis ferramentas dentro do sistema que você pode usar para obter um shell reverso seria muito útil.
Especialmente no Windows, você pode precisar de ajuda para evitar antivírus: Verifique esta página.\
Se você tiver problemas com o shell, pode encontrar aqui uma pequena compilação dos comandos mais úteis para pentesters:
Você provavelmente precisará extrair alguns dados da vítima ou até mesmo introduzir algo (como scripts de escalonamento de privilégios). Aqui você tem um post sobre ferramentas comuns que você pode usar com esses propósitos.
Se você não for root/Administrador dentro da máquina, você deve encontrar uma maneira de escalar privilégios. Aqui você pode encontrar um guia para escalar privilégios localmente em Linux e em Windows. Você também deve verificar estas páginas sobre como Windows funciona:
Como NTLM funciona
Como roubar credenciais no Windows
Alguns truques sobre Active Directory
Não se esqueça de conferir as melhores ferramentas para enumerar caminhos de Escalonamento de Privilégios locais no Windows e Linux: Suite PEAS
Aqui você pode encontrar uma metodologia explicando as ações mais comuns para enumerar, escalar privilégios e persistir em um Active Directory. Mesmo que esta seja apenas uma subseção de uma seção, esse processo pode ser extremamente delicado em uma atribuição de Pentesting/Red Team.
Verifique se você pode encontrar mais senhas dentro do host ou se você tem acesso a outras máquinas com os privilégios do seu usuário. Encontre aqui diferentes maneiras de extrair senhas no Windows.
Use 2 ou 3 tipos diferentes de mecanismos de persistência para que você não precise explorar o sistema novamente. Aqui você pode encontrar alguns truques de persistência no Active Directory.
TODO: Completar persistência Post em Windows & Linux
Com as credenciais coletadas, você pode ter acesso a outras máquinas, ou talvez precise descobrir e escanear novos hosts (iniciar a Metodologia de Pentesting novamente) dentro de novas redes onde sua vítima está conectada. Nesse caso, o tunelamento pode ser necessário. Aqui você pode encontrar um post falando sobre tunelamento. Você definitivamente também deve verificar o post sobre Metodologia de pentesting do Active Directory. Lá você encontrará truques legais para se mover lateralmente, escalar privilégios e extrair credenciais. Verifique também a página sobre NTLM, pode ser muito útil para pivotar em ambientes Windows.
Se você está interessado em carreira de hacking e hackear o inhackeável - estamos contratando! (fluência em polonês escrita e falada é necessária).
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)