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

12 KiB

Metodología de Pentesting

Aprende hacking en AWS de cero a héroe con htARTE (Experto en Red de HackTricks en AWS)!

Otras formas de apoyar a HackTricks:


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 hoy y comienza a ganar recompensas de hasta $100,000!

{% embed url="https://go.intigriti.com/hacktricks" %}

Metodología de Pentesting

Logotipos de Hacktricks diseñados por @ppiernacho.

0- Ataques Físicos

¿Tienes acceso físico a la máquina que deseas atacar? Deberías leer algunos trucos sobre ataques físicos y otros sobre escapar de aplicaciones GUI.

1 - Descubriendo hosts dentro de la red/ Descubriendo Activos de la empresa

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 (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.

3- Escaneo de Puertos - Descubrimiento de Servicios

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.

4- Buscando exploits de versiones de servicios

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 (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 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, 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.


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 hoy y comienza a ganar recompensas de hasta $100,000!\

{% embed url="https://go.intigriti.com/hacktricks" %}

6- Phishing

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í:

7- Obteniendo Shell

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.

Especialmente en Windows podrías necesitar algo de ayuda para evitar los antivirus: Consulta esta página.\

8- Dentro

Si tienes problemas con la shell, aquí puedes encontrar una pequeña recopilación de los comandos más útiles para pentesters:

9 - Exfiltración

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.

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 y en Windows.
También deberías revisar estas páginas sobre cómo funciona Windows:

No olvides revisar las mejores herramientas para enumerar rutas de Escalada de Privilegios locales en Windows y Linux: Suite PEAS

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. 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.

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.

TODO: Completar el Post de persistencia en Windows y Linux

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.
Definitivamente también deberías revisar el post sobre Metodología de Pentesting de Active Directory. Allí encontrarás trucos geniales para moverte lateralmente, escalar privilegios y extraer credenciales.
También revisa la página sobre NTLM, podría ser muy útil para pivotar en entornos de Windows..

MÁS

Aplicaciones de Android

Explotación

Python Básico

Trucos de Criptografía


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 hoy y comienza a ganar recompensas de hasta $100,000!

{% embed url="https://go.intigriti.com/hacktricks" %}

Aprende hacking en AWS de cero a héroe con htARTE (Experto en Red de HackTricks en AWS)!

Otras formas de apoyar a HackTricks: