hacktricks/generic-methodologies-and-resources/pentesting-methodology.md

12 KiB

Metodologia de Pentesting

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Treinamento Especialista em Red Team AWS (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Treinamento Especialista em Red Team GCP (GRTE)

Suporte ao HackTricks
{% endhint %}

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).

{% embed url="https://www.stmcyber.com/careers" %}

Metodologia de Pentesting

Logos do Hacktricks desenhadas por @ppiernacho.

0- Ataques Físicos

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.

1 - Descobrindo hosts dentro da rede/ Descobrindo Ativos da empresa

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).

{% hint style="info" %} Note que se você estiver realizando um teste externo, uma vez que conseguir obter acesso à rede interna da empresa, você deve reiniciar este guia. {% endhint %}

2- Divertindo-se com a rede (Interno)

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.

3- Escaneamento de Portas - Descoberta de serviços

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.

4- Buscando exploits de versão de serviço

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 para lhe dar um shell...

5- Serviços de Pentesting

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).

5.1 Ferramentas Automáticas

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.

5.2- Força Bruta em serviços

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.

6- Phishing

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:

7- Obtendo Shell

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.\

8- Dentro

Se você tiver problemas com o shell, pode encontrar aqui uma pequena compilação dos comandos mais úteis para pentesters:

9 - Exfiltração

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.

10- Escalonamento de Privilégios

10.1- Privesc Local

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:

Não se esqueça de conferir as melhores ferramentas para enumerar caminhos de Escalonamento de Privilégios local em Windows e Linux: Suite PEAS

10.2- Privesc de Domínio

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.

11 - POST

11.1 - Saque

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.

11.2 - Persistência

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 em active directory.

TODO: Completar persistência Post em Windows & Linux

12 - Pivoting

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.

MAIS

Aplicações Android

Exploiting

Python Básico

Truques de Cripto

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).

{% embed url="https://www.stmcyber.com/careers" %}

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Treinamento Especialista em Red Team AWS (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Treinamento Especialista em Red Team GCP (GRTE)

Suporte ao HackTricks
{% endhint %}