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

171 lines
12 KiB
Markdown
Raw Normal View History

# Metodología de Pentesting
2023-06-05 18:55:20 +00: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 (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2023-06-05 18:55:20 +00:00
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 el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Descubre [**The PEASS Family**](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/image (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Si estás interesado en una **carrera de hacking** y hackear lo imposible - ¡**estamos contratando!** (_se requiere dominio del polaco 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>
_Logos de Hacktricks 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** 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, 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 se aplica si estás realizando una prueba interna.**\
Antes de atacar un host, quizás prefieras **robar algunas credenciales** **de la red** o **espiar** 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, 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 **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 existen 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 Ataques de Fuerza Bruta a 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)**.**
### 6- [Phishing](phishing-methodology/)
Si en este punto no has encontrado ninguna vulnerabilidad interesante, **puede que necesites probar algo de 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- Interno
Si tienes problemas con la shell, aquí puedes encontrar una pequeña **recopilació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- Escalada de Privilegios Local**
Si **no eres root/Administrador** dentro del sistema, debes 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 debes revisar estas páginas sobre cómo funciona **Windows**:
2024-04-06 18:13:31 +00:00
* [**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 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**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md).
#### 11.2 - Persistencia
**Utiliza 2 o 3 tipos diferentes de mecanismos de persistencia para no tener que explotar el sistema nuevamente.**\
**Aquí puedes encontrar algunos** [**trucos de persistencia en Active Directory**](../windows-hardening/active-directory-methodology/#persistence)**.**
TODO: Completar la persistencia en Windows y Linux
### 12 - Pivoteo
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 donde 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.\
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 de Android](../mobile-pentesting/android-app-pentesting/)
#### **Explotación**
* [**Explotación Básica de Linux**](../binary-exploitation/linux-exploiting-basic-esp.md)
* [**Explotación Básica de Windows**](../binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md)
* [**Herramientas Básicas de Explotación**](../binary-exploitation/basic-binary-exploitation-methodology/tools/)
#### [**Python Básico**](python/)
#### **Trucos de Criptografía**
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)
* [**Oracle de Relleno**](../crypto-and-stego/padding-oracle-priv.md)
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Si estás interesado en una **carrera de hacking** y hackear lo imposible - ¡**estamos contratando!** (_se requiere dominio del polaco escrito y hablado_).
{% embed url="https://www.stmcyber.com/careers" %}
<details>
<summary><strong>Aprende a hackear AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</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 [**The PEASS Family**](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>