Honeypots XV.Conpot. Gasolineras, Scada... Honeypot y algunos Metasploit
Estimados amigos de Inseguros !!!
Hemos hablado en este blog en alguna ocasión que otra sobre sistemas Honeypots. Ya sabeis, sistemas que emulan ser servicios en producción con el único fin de detectar ataques, distraer al enemigo, levantar alarmas etc. Puedes leer más en profundidad por aquí:
1, 2, 3, 4 ,5, 6 , 7. 8 9 11 12 13, 14
En esta ocasión vamos a desplegar un sencillo Honeypot que simula ser un sistema Scada con diferentes configuraciones. El nombre del sistema es Conpot y es del creador de Glastopf como ya vimos aquí. Teniendo un vídeo, porque seguir yo?
La instalación es muy sencilla, siguiendo el manual claro. teniendo la versión Debian y por si alguien se ha equivocado, sobre Ubuntu :-)
Los ficheros de configuración andan un poco ocultos, bajo: /usr/local/lib/python2.7/dist-packages/conpot/conpot.cfg y /usr/local/lib/python2.7/dist-packages/conpot/templates/default en el caso de la plantilla por defecto.
El sistema nos permite ampliar las plantillas. Por defecto aparecen estos sistemas PLC:
Hemos hablado en este blog en alguna ocasión que otra sobre sistemas Honeypots. Ya sabeis, sistemas que emulan ser servicios en producción con el único fin de detectar ataques, distraer al enemigo, levantar alarmas etc. Puedes leer más en profundidad por aquí:
1, 2, 3, 4 ,5, 6 , 7. 8 9 11 12 13, 14
En esta ocasión vamos a desplegar un sencillo Honeypot que simula ser un sistema Scada con diferentes configuraciones. El nombre del sistema es Conpot y es del creador de Glastopf como ya vimos aquí. Teniendo un vídeo, porque seguir yo?
La instalación es muy sencilla, siguiendo el manual claro. teniendo la versión Debian y por si alguien se ha equivocado, sobre Ubuntu :-)
Los ficheros de configuración andan un poco ocultos, bajo: /usr/local/lib/python2.7/dist-packages/conpot/conpot.cfg y /usr/local/lib/python2.7/dist-packages/conpot/templates/default en el caso de la plantilla por defecto.
El sistema nos permite ampliar las plantillas. Por defecto aparecen estos sistemas PLC:
Como siempre os recomiendo visitar los ficheros y adaptar posibles configuraciones a vuestros sistemas, por ejemplo si queréis cambiar algún banner o puerto, o cualquier otra cosa. Para esta prueba vamos a seguir los pasos básicos. Uno de los básicos podría ser habilitar el syslog pero siendo un honeypot aislado, me conformo con acceder al conpot.log para extraer las direcciones ip y llamadas.
Por si no os habéis fijado, el guardian_ast es un sistema de control de gas que sufrió varios ataques detectados a mediados del 2015. Podéis leer el trabajo de la gente de Trend Micro aquí. Más adelante lo veremos. Por ahora vamos a ver el Honeypot por defecto de un Siemens PLC.
Ejecutamos.
Solo por saber que estamos haciendo, el sistema imitado corresponde a este PLC de Siemens.
El acceso web tiene esta pinta.
Y para comprobar el resto de puertos de comunicaciones del PLC realizamos un NMAP
PORT STATE SERVICE
80/tcp open http
102/tcp open iso-tsap
161/tcp filtered snmp
502/tcp open mbap
623/tcp closed oob-ws-http
47808/tcp closed unknown
Host is up (0.18s latency).
PORT STATE SERVICE
161/udp open snmp
623/udp open|filtered asf-rmcp
47808/udp open|filtered bacnet
No hubiera hecho mucha falta realizar las pruebas. en 1 minuto ya tengo un MassScan indizando el honeypot.
Vamos a usar un módulo de Metasploit para scanear la red en busca del servicio IPMI que por supuesto emula nuestro honeypot.
He comprobado el log y el honeypoy no detecta el ataque de cipher_zero que lanzo con el módulo use auxiliary/scanner/ipmi/ipmi_cipher_zero. Tampoco detecta el fallo de dumpeo de hashes explotado mediante el módulo use auxiliary/scanner/ipmi/ipmi_dumphashes
Podemos conectarnos mediante un cliente simple del protocolo Modbus e intentar cambiar parámetros del supuesto PLC.
Si disponemos del sistema de control del fabricante podemos interactuar un poco más mediante su protocolo de comunicación pero no he podido descargar legalmente el software de Siemens.
Ahora vamos a jugar con la plantilla Guardian_ast, la que emula ser una gasolinera con sus surtidores. Tener este honeypot en funcionamiento creo que aporta información de inteligencia de primera mano ya que no es un simple portscan masivo de Internet hecho por cualquier. Bajo mi punto de vista si alguien te escanea este servicio, e intenta interactuar con comandos conocidos. algo busca.
Para realizas las pruebas, lo mejor es ejecutar el honeypot y atacar mediante un cliente como netcat o similar. Os paso una lista de comandos que he probado. La lista completa la tenéis en el documento de Trend Micro
.
Las mentes calientes malignas malosas que estáis pensando en barrer la red al puerto 10001 para buscar estos sistemas, recuerda que Shodan lo hace gratis para nosotros, y detecta muchos. Imagino que después del estudio y la publicación del Honeypot, muchos serán fakes. La cuestión sería tirarle comandos que no estén contemplados en el Honeypot, pero que si sean del fabricante, lo mismo haces bingo, regalas gasolina y vas a la cárcel :-)
Espero que os haya gustado este artículo.
Gracias por leerme.