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

174 lines
12 KiB
Markdown
Raw Normal View History

# Metodología de Pentesting
2023-06-05 18:55:20 +00:00
{% hint style="success" %}
Aprende y practica Hacking en 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">\
Aprende y practica Hacking en 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)
2023-06-05 18:55:20 +00:00
<details>
2023-06-05 18:55:20 +00:00
<summary>Apoya a HackTricks</summary>
* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
* **Ú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 trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos de github.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Si estás interesado en una **carrera de hacking** y hackear lo inhackeable - **¡estamos contratando!** (_se requiere polaco fluido escrito y hablado_).
{% embed url="https://www.stmcyber.com/careers" %}
## Metodología de Pentesting
<figure><img src="../.gitbook/assets/HACKTRICKS-logo.svg" alt=""><figcaption></figcaption></figure>
_Los logos de Hacktricks fueron diseñados por_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
### 0- Ataques Físicos
2024-04-06 18:13:31 +00:00
¿Tienes **acceso físico** a la máquina que deseas atacar? Deberías leer algunos [**trucos sobre ataques físicos**](../hardware-physical-access/physical-attacks.md) y otros sobre [**escapar de aplicaciones GUI**](../hardware-physical-access/escaping-from-gui-applications.md).
### 1 - [Descubriendo hosts dentro de la red](pentesting-network/#discovering-hosts)/ [Descubriendo Activos de la empresa](external-recon-methodology/)
**Dependiendo** si la **prueba** que estás realizando es una **prueba interna o externa**, puede que te interese 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, 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/) **(Interna)**
**Esta sección solo se aplica si estás realizando una prueba interna.**\
Antes de atacar un host, tal vez prefieras **robar algunas credenciales** **de la red** o **esnifar** algunos **datos** para aprender **pasivamente/activamente (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 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 servicio](search-exploits.md)
Una vez que sepas qué servicios están corriendo, y tal vez su versión, debes **buscar vulnerabilidades conocidas**. Tal vez tengas suerte y haya un exploit que te dé una shell...
### **5-** Servicios de Pentesting
Si no hay ningún exploit interesante para algú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 a la** [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **parte (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 **déjame saber si quieres que lo agregue.** Si **no puedes encontrar nada** en Google, realiza tu **propio pentesting ciego**, podrías comenzar por **conectarte al servicio, fuzzing y leyendo 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 se basa 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)**.**
### 6- [Phishing](phishing-methodology/)
Si en este punto no has encontrado ninguna vulnerabilidad interesante, **puedes necesitar intentar algún phishing** para entrar en la red. Puedes leer mi metodología de phishing [aquí](phishing-methodology/):
### **7-** [**Obteniendo Shell**](reverse-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](reverse-shells/).
Especialmente en Windows, podrías necesitar ayuda para **evitar antivirus**: [**Revisa 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:
2024-04-06 18:13:31 +00:00
* [**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 -** [**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- Privesc Local**
Si no eres **root/Administrador** dentro de la máquina, 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/)
* Cómo funciona [**NTLM**](../windows-hardening/ntlm/)
* Cómo [**robar credenciales**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md) en Windows
* Algunos trucos sobre [_**Active Directory**_](../windows-hardening/active-directory-methodology/)
**No olvides revisar las mejores herramientas para enumerar rutas de Escalación de Privilegios locales en Windows y Linux:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
#### **10.2- Privesc 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
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**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md).
#### 11.2 - Persistencia
**Usa 2 o 3 tipos diferentes de mecanismos de persistencia para que no necesites explotar el sistema nuevamente.**\
**Aquí puedes encontrar algunos** [**trucos de persistencia en active directory**](../windows-hardening/active-directory-methodology/#persistence)**.**
TODO: Completar persistencia Post en Windows y Linux
### 12 - Pivoting
Con las **credenciales recopiladas** podrías tener acceso a otras máquinas, o tal vez necesites **descubrir y escanear nuevos hosts** (comenzar la Metodología de Pentesting nuevamente) dentro de nuevas redes donde tu víctima está conectada.\
En este caso, el tunneling podría ser necesario. Aquí puedes encontrar [**un post que habla sobre tunneling**](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 interesantes para moverte lateralmente, escalar privilegios y extraer credenciales.\
Revisa también la página sobre [**NTLM**](../windows-hardening/ntlm/), podría ser muy útil para pivotar en entornos de Windows.
### MÁS
#### [Aplicaciones Android](../mobile-pentesting/android-app-pentesting/)
#### **Explotación**
* [**Explotación Básica en Linux**](broken-reference/)
* [**Explotación Básica en Windows**](../binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md)
* [**Herramientas básicas de explotación**](../binary-exploitation/basic-stack-binary-exploitation-methodology/tools/)
#### [**Python Básico**](python/)
#### **Trucos de Cripto**
2024-04-06 18:13:31 +00:00
* [**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) (1).png" alt=""><figcaption></figcaption></figure>
Si estás interesado en una **carrera de hacking** y hackear lo inhackeable - **¡estamos contratando!** (_se requiere polaco fluido escrito y hablado_).
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %}
Aprende y practica Hacking en 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">\
Aprende y practica Hacking en 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>Apoya a HackTricks</summary>
* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
* **Ú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 trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos de github.
</details>
{% endhint %}