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

173 lines
12 KiB
Markdown

# Metodologia de Pentesting
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
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
<figure><img src="../.gitbook/assets/HACKTRICKS-logo.svg" alt=""><figcaption></figcaption></figure>
_Logos do Hacktricks desenhadas por_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
### 0- Ataques Físicos
Você tem **acesso físico** à máquina que deseja atacar? Você deve ler alguns [**truques sobre ataques físicos**](../hardware-physical-access/physical-attacks.md) e outros sobre [**escapando de aplicações GUI**](../hardware-physical-access/escaping-from-gui-applications.md).
### 1 - [Descobrindo hosts dentro da rede](pentesting-network/#discovering-hosts)/ [Descobrindo Ativos da empresa](external-recon-methodology/)
**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**](pentesting-network/) **(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**](pentesting-network/#sniffing).
### 3- [Escaneamento de Portas - Descoberta de serviços](pentesting-network/#scanning-hosts)
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**](pentesting-network/#scanning-hosts).
### **4-** [**Buscando exploits de versão de serviço**](search-exploits.md)
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...
### **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**](../network-services-pentesting/pentesting-web/) **(pois é a mais extensa).**\
Além disso, um pequeno guia sobre como [**encontrar vulnerabilidades conhecidas em software**](search-exploits.md) 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**](https://github.com/carlospolop/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**](brute-force.md)**.**
### 6- [Phishing](phishing-methodology/)
Se neste ponto você não encontrou nenhuma vulnerabilidade interessante, você **pode precisar tentar algum phishing** para conseguir entrar na rede. Você pode ler minha metodologia de phishing [aqui](phishing-methodology/):
### **7-** [**Obtendo Shell**](reverse-shells/)
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](reverse-shells/).
Especialmente no Windows, você pode precisar de ajuda para **evitar antivírus**: [**Verifique esta página**](../windows-hardening/av-bypass.md)**.**\\
### 8- Dentro
Se você tiver problemas com o shell, pode encontrar aqui uma pequena **compilação dos comandos mais úteis** para pentesters:
* [**Linux**](../linux-hardening/useful-linux-commands.md)
* [**Windows (CMD)**](../windows-hardening/basic-cmd-for-pentesters.md)
* [**Windows (PS)**](../windows-hardening/basic-powershell-for-pentesters/)
### **9 -** [**Exfiltração**](exfiltration.md)
Provavelmente você 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**](exfiltration.md)**.**
### **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**](../linux-hardening/privilege-escalation/) **e em** [**Windows**](../windows-hardening/windows-local-privilege-escalation/)**.**\
Você também deve verificar estas páginas sobre como **Windows funciona**:
* [**Autenticação, Credenciais, Privilégios de Token e UAC**](../windows-hardening/authentication-credentials-uac-and-efs/)
* Como [**NTLM funciona**](../windows-hardening/ntlm/)
* Como [**roubar credenciais**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md) no Windows
* Alguns truques sobre [_**Active Directory**_](../windows-hardening/active-directory-methodology/)
**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**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
#### **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**](../windows-hardening/active-directory-methodology/). 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**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md).
#### 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**](../windows-hardening/active-directory-methodology/#persistence)**.**
TODO: Completar persistência Post em Windows & Linux
### 12 - Pivotando
Com as **credenciais coletadas**, você pode ter acesso a outras máquinas, ou talvez precise **descobrir e escanear novos hosts** (reinicie a Metodologia de Pentesting) 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**](tunneling-and-port-forwarding.md).\
Você definitivamente também deve verificar o post sobre [Metodologia de pentesting de Active Directory](../windows-hardening/active-directory-methodology/). Lá você encontrará truques legais para se mover lateralmente, escalar privilégios e extrair credenciais.\
Verifique também a página sobre [**NTLM**](../windows-hardening/ntlm/), pode ser muito útil para pivotar em ambientes Windows.
### MAIS
#### [Aplicações Android](../mobile-pentesting/android-app-pentesting/)
#### **Exploiting**
* [**Exploiting Básico em Linux**](broken-reference/)
* [**Exploiting Básico em Windows**](../binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md)
* [**Ferramentas básicas de exploiting**](../binary-exploitation/basic-stack-binary-exploitation-methodology/tools/)
#### [**Python Básico**](python/)
#### **Truques de Cripto**
* [**ECB**](../crypto-and-stego/electronic-code-book-ecb.md)
* [**CBC-MAC**](../crypto-and-stego/cipher-block-chaining-cbc-mac-priv.md)
* [**Padding Oracle**](../crypto-and-stego/padding-oracle-priv.md)
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
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:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}