13 KiB
Metodología de Pentesting
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Obtén el swag oficial de PEASS y HackTricks
- Únete al 💬 grupo de Discord o al grupo de Telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Consejo de recompensa por errores: ¡regístrate en Intigriti, una plataforma premium de recompensas por errores creada por hackers, para hackers! Únete a nosotros en https://go.intigriti.com/hacktricks hoy mismo y comienza a ganar recompensas de hasta $100,000.
{% embed url="https://go.intigriti.com/hacktricks" %}
Metodología de Pentesting
Logos de Hacktricks diseñados por @ppiernacho.
0- Ataques Físicos
¿Tienes acceso físico a la máquina que quieres 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, es posible que estés interesado en 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, debes reiniciar esta guía. {% endhint %}
2- Diviértete con la red (Interno)
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 espiar algunos datos para aprender de forma pasiva/activa (MitM) lo que 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- Búsqueda de exploits de versiones de servicios
Una vez que sabes qué servicios se están ejecutando, y tal vez su versión, debes buscar vulnerabilidades conocidas. Tal vez tengas suerte y haya un exploit que te dé una shell...
5- Pentesting de Servicios
Si no hay ningún exploit interesante para ningún servicio en ejecución, debes 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 PENTESTING (los servicios están ordenados por sus puertos predeterminados).
Quiero hacer una mención especial a 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 agregue. Si no encuentras nada en Google, realiza tu propio pentesting a ciegas, podrías comenzar conectándote 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 que pruebes 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 de servicios
En algunos escenarios, la fuerza bruta puede ser útil para comprometer un servicio. Encuentra aquí una hoja de trucos de fuerza bruta para diferentes servicios.
Consejo de recompensa por errores: ¡regístrate en Intigriti, una plataforma premium de recompensas por errores creada por hackers, para hackers! ¡Únete a nosotros en https://go.intigriti.com/hacktricks hoy mismo 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 algo de phishing para ingresar a la red. Puedes leer mi metodología de phishing aquí:
7- Obtener Shell
De alguna manera, deberías haber encontrado alguna forma de ejecutar código en la víctima. Luego, 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 ayuda para evitar los antivirus: Consulta esta página.\
8- Interior
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, debes encontrar una forma de elevar privilegios.
Aquí puedes encontrar una guía para elevar privilegios localmente en Linux y en Windows.
También debes consultar estas páginas sobre cómo funciona Windows:
- Autenticación, credenciales, privilegios de token y UAC
- Cómo funciona NTLM
- Cómo robar credenciales en Windows
- Algunos trucos sobre Active Directory
No olvides consultar las mejores herramientas para enumerar las rutas de escalada de privilegios locales de 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, elevar privilegios y persistir en un Active Directory. Aunque esto sea solo una subsección de una sección, este proceso puede 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 tipos diferentes de mecanismos de persistencia para no tener que 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 - Pivoteo
Con las credenciales recopiladas, podrías tener acceso a otras máquinas, o tal vez necesites descubrir y escanear nuevos hosts (comenzar de nuevo la metodología de Pentesting) dentro de nuevas redes a las que está conectada tu víctima.
En este caso, el túnel puede ser necesario. Aquí puedes encontrar un post sobre el túnel.
Definitivamente, también debes consultar el post sobre Metodología de pentesting de Active Directory. Allí encontrarás trucos geniales para moverte lateralmente, elevar privilegios y extraer credenciales.
También consulta la página sobre NTLM, puede 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 premium de recompensas por errores creada por hackers, para hackers! ¡Únete a nosotros en https://go.intigriti.com/hacktricks hoy mismo y comienza a ganar recompensas de hasta $100,000!
{% embed url="https://go.intigriti.com/hacktricks" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Obtén el swag oficial de PEASS y HackTricks
- Únete al 💬 grupo de Discord o al grupo de Telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.