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

177 lines
12 KiB
Markdown
Raw Normal View History

# Metodología de Pentesting
2023-06-05 20:55:20 +02:00
<details>
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de HackTricks para AWS)</strong></a><strong>!</strong></summary>
2023-06-05 20:55:20 +02:00
Otras formas de apoyar a HackTricks:
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** revisa los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="../.gitbook/assets/i3.png" alt=""><figcaption></figcaption></figure>
\
**Consejo para cazar bugs**: **regístrate** en **Intigriti**, una plataforma premium de **caza de bugs creada por hackers, para hackers**. Únete a nosotros en [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoy y comienza a ganar recompensas de hasta **$100,000**.
{% embed url="https://go.intigriti.com/hacktricks" %}
## Metodología de Pentesting
<figure><img src="../.gitbook/assets/HACKTRICKS-logo.svg" alt=""><figcaption></figcaption></figure>
_Logos de Hacktricks diseñados por_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
### 0- Ataques Físicos
¿Tienes **acceso físico** a la máquina que quieres atacar? Deberías leer algunos [**trucos sobre ataques físicos**](../physical-attacks/physical-attacks.md) y otros sobre [**escapar de aplicaciones GUI**](../physical-attacks/escaping-from-gui-applications/).
### 1 - [Descubriendo hosts dentro de la red](pentesting-network/#discovering-hosts) / [Descubriendo activos de la empresa](external-recon-methodology/)
**Dependiendo** de si el **test** que estás realizando es un **test interno o externo**, podrías estar interesado en encontrar **hosts dentro de la red de la empresa** (test interno) o **encontrar activos de la empresa en internet** (test externo).
{% hint style="info" %}
Ten en cuenta que si estás realizando un test externo, una vez que logres obtener acceso a la red interna de la empresa deberías reiniciar esta guía.
{% endhint %}
### **2-** [**Divirtiéndote con la red**](pentesting-network/) **(Interno)**
**Esta sección solo aplica si estás realizando un test interno.**\
Antes de atacar un host, quizás prefieras **robar algunas credenciales** **de la red** o **interceptar** algunos **datos** para aprender **pasiva/activamente (MitM)** qué puedes encontrar dentro de la red. Puedes leer [**Pentesting de Red**](pentesting-network/#sniffing).
### 3- [Escaneo de Puertos - Descubrimiento de Servicios](pentesting-network/#scanning-hosts)
Lo primero que debes hacer al **buscar vulnerabilidades en un host** es saber qué **servicios están corriendo** en qué puertos. Veamos las [**herramientas básicas para escanear puertos de hosts**](pentesting-network/#scanning-hosts).
### **4-** [Buscando exploits de versiones de servicios](search-exploits.md)
Una vez que sabes qué servicios están corriendo, y quizás sus versiones, tienes que **buscar vulnerabilidades conocidas**. Quizás tengas suerte y haya un exploit que te dé una shell...
### **5-** Pentesting de Servicios
Si no hay ningún exploit interesante para algún servicio en ejecución, deberías buscar **configuraciones erróneas comunes en cada servicio en funcionamiento.**
**Dentro de este libro encontrarás una guía para hacer pentesting a los servicios más comunes** (y otros que no lo son tanto)**. Por favor, busca en el índice izquierdo la sección de** _**PENTESTING**_ (los servicios están ordenados por sus puertos por defecto).
**Quiero hacer una mención especial a la parte de** [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **(ya que es la más extensa).**\
Además, aquí puedes encontrar una pequeña guía sobre cómo [**encontrar vulnerabilidades conocidas en software**](search-exploits.md).
**Si tu servicio no está en el índice, busca en Google** otros tutoriales y **házmelo saber si quieres que lo añada.** Si **no encuentras nada** en Google, realiza tu **propio pentesting a ciegas**, podrías empezar por **conectarte al servicio, hacer fuzzing y leer las respuestas** (si las hay).
#### 5.1 Herramientas Automáticas
También hay varias herramientas que pueden realizar **evaluaciones automáticas de vulnerabilidades**. **Te recomendaría que probaras** [**Legion**](https://github.com/carlospolop/legion)**, que es la herramienta que he creado y está basada en las notas sobre pentesting de servicios que puedes encontrar en este libro.**
#### **5.2 Fuerza Bruta en servicios**
En algunos escenarios, una **Fuerza Bruta** podría ser útil para **comprometer** un **servicio**. [**Encuentra aquí una CheatSheet de diferentes servicios de fuerza bruta**](brute-force.md)**.**
<img src="../.gitbook/assets/i3.png" alt="" data-size="original">\
**Consejo para cazar bugs**: **regístrate** en **Intigriti**, una plataforma premium de **caza de bugs creada por hackers, para hackers**. Únete a nosotros en [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoy y comienza a ganar recompensas de hasta **$100,000**.\\
{% embed url="https://go.intigriti.com/hacktricks" %}
### 6- [Phishing](phishing-methodology/)
Si en este punto no has encontrado ninguna vulnerabilidad interesante, **puede que necesites intentar hacer phishing** para entrar en la red. Puedes leer mi metodología de phishing [aquí](phishing-methodology/):
### **7-** [**Obteniendo Shell**](shells/)
De alguna manera deberías haber encontrado **alguna forma de ejecutar código** en la víctima. Entonces, [una lista de posibles herramientas dentro del sistema que puedes usar para obtener una reverse shell sería muy útil](shells/).
Especialmente en Windows podrías necesitar ayuda para **evitar antivirus**: [**Consulta esta página**](../windows-hardening/av-bypass.md)**.**\\
### 8- Dentro
Si tienes problemas con la shell, aquí puedes encontrar una pequeña **compilación de los comandos más útiles** para pentesters:
* [**Linux**](../linux-hardening/useful-linux-commands/)
* [**Windows (CMD)**](../windows-hardening/basic-cmd-for-pentesters.md)
* [**Windows (PS)**](../windows-hardening/basic-powershell-for-pentesters/)
### **9 -** [**Exfiltración**](exfiltration.md)
Probablemente necesitarás **extraer algunos datos de la víctima** o incluso **introducir algo** (como scripts de escalada de privilegios). **Aquí tienes un** [**post sobre herramientas comunes que puedes usar con estos propósitos**](exfiltration.md)**.**
### **10- Escalada de Privilegios**
#### **10.1- Escalada de Privilegios Local**
Si **no eres root/Administrador** dentro de la caja, deberías encontrar una manera de **escalar privilegios.**\
Aquí puedes encontrar una **guía para escalar privilegios localmente en** [**Linux**](../linux-hardening/privilege-escalation/) **y en** [**Windows**](../windows-hardening/windows-local-privilege-escalation/)**.**\
También deberías revisar estas páginas sobre cómo funciona **Windows**:
* [**Autenticación, Credenciales, Privilegios de Token y UAC**](../windows-hardening/authentication-credentials-uac-and-efs.md)
* Cómo funciona [**NTLM**](../windows-hardening/ntlm/)
* Cómo [**robar credenciales**](broken-reference/) en Windows
* Algunos trucos sobre [_**Active Directory**_](../windows-hardening/active-directory-methodology/)
**No olvides revisar las mejores herramientas para enumerar caminos de Escalada de Privilegios locales en Windows y Linux:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
#### **10.2- Escalada de Privilegios de Dominio**
Aquí puedes encontrar una [**metodología que explica las acciones más comunes para enumerar, escalar privilegios y persistir en un Active Directory**](../windows-hardening/active-directory-methodology/). Aunque esto es solo una subsección de una sección, este proceso podría ser **extremadamente delicado** en una asignación de Pentesting/Red Team.
### 11 - POST
#### **11**.1 - Saqueo
Comprueba si puedes encontrar más **contraseñas** dentro del host o si tienes **acceso a otras máquinas** con los **privilegios** de tu **usuario**.\
Encuentra aquí diferentes maneras de [**volcar contraseñas en Windows**](broken-reference/).
#### 11.2 - Persistencia
**Usa 2 o 3 diferentes tipos de mecanismos de persistencia para que no necesites explotar el sistema de nuevo.**\
**Aquí puedes encontrar algunos** [**trucos de persistencia en active directory**](../windows-hardening/active-directory-methodology/#persistence)**.**
TODO: Completar post de Persistencia en Windows & Linux&#x20;
### 12 - Pivoteo
Con las **credenciales recopiladas** podrías tener acceso a otras máquinas, o quizás necesites **descubrir y escanear nuevos hosts** (comenzar la Metodología de Pentesting de nuevo) dentro de nuevas redes donde tu víctima está conectada.\
En este caso, el túnel podría ser necesario. Aquí puedes encontrar [**un post hablando sobre túneles**](tunneling-and-port-forwarding.md).\
Definitivamente también deberías revisar el post sobre [Metodología de pentesting de Active Directory](../windows-hardening/active-directory-methodology/). Allí encontrarás trucos geniales para moverte lateralmente, escalar privilegios y volcar credenciales.\
Revisa también la página sobre [**NTLM**](../windows-hardening/ntlm/), podría ser muy útil para pivotar en entornos Windows.
### MÁS
#### [Aplicaciones Android](../mobile-pentesting/android-app-pentesting/)
#### **Explotación**
* [**Explotación Básica en Linux**](../exploiting/linux-exploiting-basic-esp/)
* [**Explotación Básica en Windows**](../exploiting/windows-exploiting-basic-guide-oscp-lvl.md)
* [**Herramientas básicas de explotación**](../exploiting/tools/)
#### [**Python Básico**](python/)
#### **Trucos de Criptografía**
* [**ECB**](../cryptography/electronic-code-book-ecb.md)
* [**CBC-MAC**](../cryptography/cipher-block-chaining-cbc-mac-priv.md)
* [**Padding Oracle**](../cryptography/padding-oracle-priv.md)
<img src="../.gitbook/assets/i3.png" alt="" data-size="original">\
**Consejo para cazar bugs**: **regístrate** en **Intigriti**, una plataforma premium de **caza de bugs creada por hackers, para hackers**. Únete a nosotros en [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoy y comienza a ganar recompensas de hasta **$100,000**.
{% embed url="https://go.intigriti.com/hacktricks" %}
<details>
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de HackTricks para AWS)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** revisa los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>