Cuando hablamos de Metasploit normalmente nos referimos al Metasploit Framework que es una herramienta perteneciente al proyecto Metasploit y sirve para desarrollar y explotar exploits contra una máquina vulnerable.
La página oficial de Metasploit está en:
El framework metaexploit se compone de módulos. Los módulos pueden ser de varios tipos:
- Exploits: es un módulo que utiliza un payload. Un exploid sin un payloas es un módulo auxiliar.
- Payload: contiene código que se ejecuta remotamente.
- Encoders: se aseguran de que los payload lleguen a su destino.
- Nops: mantienen la consistencia de los tamaños de payload.
La jerarquía de módulos se ubica en:
/usr/share/metasploit-framework/modules/
Una vez instalado metaspolit, lo arrancamos desde la consola (existen un servisor web y un GUI gráfico que no utilizaremos):
#msfconsole
Una vez dentro de la consola, de la siguiente manera listaremos todos los exploits disponibles:
msf > show exploits
Las opciones para show en este nivel son: all, encoders, nops, exploits, payloads, auxiliary, plugins, info, y options.
Para listar los módulos relacionados con algún tema, por ejemplo tcp:
msf > search tcp
Para seleccionar un módulo o explotit, por ejemplo el relacionado con escaneo tcp:
msf > use auxiliary/scanner/portscan/tcp msf auxiliary(scanner/portscan/tcp) >
Una vez dentro del módulo o exploit, podemos ver sus opciones:
msf auxiliary(scanner/portscan/tcp) > show options Module options (auxiliary/scanner/portscan/tcp): Name Current Setting Required Description ---- --------------- -------- ----------- CONCURRENCY 10 yes The number of concurrent ports to check per host DELAY 0 yes The delay between connections, per thread, in milliseconds JITTER 0 yes The delay jitter factor (maximum value by which to +/- DELAY) in milliseconds. PORTS 1-10000 yes Ports to scan (e.g. 22-25,80,110-900) RHOSTS yes The target address range or CIDR identifier THREADS 1 yes The number of concurrent threads TIMEOUT 1000 yes The socket connect timeout in milliseconds msf auxiliary(scanner/portscan/tcp) >
Habitualmente los módulos reciben parámetros. Para configurarlos utilizamos el comando set <parámetro> <valor>. Por ejemplo para hacer un escaneo de puertos:
msf auxiliary(scanner/portscan/tcp) > set RHOSTS 192.168.150.209 RHOSTS => 192.168.150.209 msf auxiliary(scanner/portscan/tcp) >
Por último, para lanzar el expliot con los parámetros configurados con anterioridad, simplemente utilizamos el comado exploit:
msf auxiliary(scanner/portscan/tcp) > exploit [+] 192.168.150.209: - 192.168.150.209:25 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:23 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:22 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:21 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:53 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:80 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:111 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:139 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:445 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:514 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:513 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:512 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:1099 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:1524 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:2049 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:2121 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:3306 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:3632 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:5432 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:5900 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:6000 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:6667 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:6697 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:8009 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:8180 - TCP OPEN [+] 192.168.150.209: - 192.168.150.209:8787 - TCP OPEN [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed msf auxiliary(scanner/portscan/tcp) >
Estando en el entorno de un exploit, podemos saltar otro de la misma manera usando el comando use:
msf auxiliary(scanner/ftp/ftp_version) > use auxiliary/scanner/portscan/tcp msf auxiliary(scanner/portscan/tcp) >
Metasploit permite crear workspaces. Podemos tener un workwpace por cada máquina que atacamos o un grupo lógico de ellas.
Para ver el workspace por defecto:
msf > workspace * default msf >
Para crear un nuevo workspace:
msf > workspace -a Practica2 [*] Added workspace: Practica2 msf >
Para ver los workspaces creados:
msf > workspace default * Practica2 msf >
el asterisco marca el workspace activo. Para cambiar a otro workapce simplemente ponemos workspace y en nombre del workspace que queramos usar.