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

176 lines
12 KiB
Markdown

# Metodología de Pentesting
<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 de HackTricks en AWS)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios 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 de recompensa por errores**: **Regístrate** en **Intigriti**, una plataforma de **recompensas por errores premium 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>
_Logotipos de Hacktricks diseñados por_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
### 0- Ataques Físicos
¿Tienes **acceso físico** a la máquina que deseas 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 la **prueba** que estás realizando es una **prueba interna o externa**, puede interesarte encontrar **hosts dentro de la red de la empresa** (prueba interna) o **encontrar activos de la empresa en Internet** (prueba externa).
{% hint style="info" %}
Ten en cuenta que si estás realizando una prueba externa y logras 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 se aplica si estás realizando una prueba interna.**\
Antes de atacar un host, quizás prefieras **robar algunas credenciales** **de la red** o **husmear** algunos **datos** para aprender de forma **pasiva/activa (MitM)** qué puedes encontrar dentro de la red. Puedes leer [**Pentesting Network**](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 se están ejecutando** 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 sepas qué servicios se están ejecutando, y tal vez su versión, debes **buscar vulnerabilidades conocidas**. Quizás tengas suerte y haya un exploit que te dé acceso a una shell...
### **5-** Pentesting de Servicios
Si no hay ningún exploit interesante para ningún servicio en ejecución, deberías buscar **configuraciones incorrectas comunes en cada servicio en ejecución**.
**Dentro de este libro encontrarás una guía para pentestear los servicios más comunes** (y otros que no son tan comunes)**. Por favor, busca en el índice izquierdo la sección de** _**PENTESTING**_ **(los servicios están ordenados por sus puertos predeterminados).**
**Quiero hacer una mención especial de la parte de** [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **(ya que es la más extensa).**\
También, se puede encontrar una pequeña guía sobre cómo [**encontrar vulnerabilidades conocidas en software**](search-exploits.md) aquí.
**Si tu servicio no está en el índice, busca en Google** otros tutoriales y **hazme 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 probar** [**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, un **Ataque de Fuerza Bruta** podría ser útil para **comprometer** un **servicio**. [**Encuentra aquí una Hoja de Trucos de diferentes servicios para fuerza bruta**](brute-force.md)**.**
<img src="../.gitbook/assets/i3.png" alt="" data-size="original">\
**Consejo de recompensa por errores**: **Regístrate** en **Intigriti**, una plataforma de **recompensas por errores premium 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 probar algún phishing** para ingresar a 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 shell inversa sería muy útil](shells/).
Especialmente en Windows podrías necesitar algo de ayuda para **evitar los antivirus**: [**Consulta esta página**](../windows-hardening/av-bypass.md)**.**\\
### 8- Dentro
Si tienes problemas con la shell, aquí puedes encontrar una pequeña **recopilació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 máquina, deberías encontrar una forma 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 rutas 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 sea 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
Verifica 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 formas de [**extraer contraseñas en Windows**](broken-reference/).
#### 11.2 - Persistencia
**Utiliza 2 o 3 mecanismos de persistencia diferentes para no necesitar explotar el sistema nuevamente.**\
**Aquí puedes encontrar algunos** [**trucos de persistencia en Active Directory**](../windows-hardening/active-directory-methodology/#persistence)**.**
TODO: Completar el Post de persistencia en Windows y Linux&#x20;
### 12 - Pivotaje
Con las **credenciales recopiladas** podrías tener acceso a otras máquinas, o tal vez necesites **descubrir y escanear nuevos hosts** (comenzar nuevamente la Metodología de Pentesting) dentro de nuevas redes a las que está conectada tu víctima.\
En este caso, el túnel podría ser necesario. Aquí puedes encontrar [**un post hablando sobre el túnel**](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 extraer credenciales.\
También revisa la página sobre [**NTLM**](../windows-hardening/ntlm/), podría ser muy útil para pivotar en entornos de Windows..
### MÁS
#### [Aplicaciones de Android](../mobile-pentesting/android-app-pentesting/)
#### **Explotación**
* [**Explotación Básica de Linux**](../exploiting/linux-exploiting-basic-esp/)
* [**Guía Básica de Explotación de 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)
* [**Oracle de Relleno**](../cryptography/padding-oracle-priv.md)
<img src="../.gitbook/assets/i3.png" alt="" data-size="original">\
**Consejo de recompensa por errores**: **Regístrate** en **Intigriti**, una plataforma de **recompensas por errores premium 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 de HackTricks en AWS)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>