Conpot (ICS/SCADA Honeypot)
El estudio realizado por los investigadores en seguridad en una de sus facetas se base en el basarse en los resultados arrojados por un HoneyPot, hoy te ofrezco un interesante tema relacionado con el Conpot (ICS/SCADA Honeypot).
Existen HomeyPots para diferentes escenarios, simulando SSH, SNMP, un servicio HTTP vulnerable etc..
El de hoy es algo especial, ya que se trata de un HoneyPot que simula ser un servicio ICS/SCADA. Ha habido varios incidentes relacionados con los Scada, por no decir que hay algunos de los que se encuentran expuestos en Internet.
Conpot (ICS/SCADA Honeypot) ¿Incidentes relacionados con Scada?
Pues por ejemplo: "En junio de 2010, Irán sufrió un severo ataque a parte de infraestructura crítica, principalmente a sus reactores nucleares, a través de un virus denominado Stuxnet, que contaminó el software denominado SCADA (Supervisores de Control y de Adquisición de Datos) utilizada por aquel país, vía un USB que fue introducido a las computadoras por uno de los trabajadores."
Infraestructuras maliciosas
Igual que para los servicios SNMP o servicios con passwords vulnerables hay infraestructuras maliciosas que se encargan de ir escaneando nodos de red enteros, en busca de servicios de este tipo, identificándolos por ejemplo por el banner de la aplicación o por ciertas respuestas en llamadas a ciertos puertos.
Conpot (ICS/SCADA Honeypot) instalación
Haremos la instalación de Conpot bajo Debian, así que primero instalamos las dependencias:
aptitude install git libsmi2ldbl smistrip libxslt1-dev python-dev libevent-dev python-pip
Ahora bajamos Conpot con el cliente de GIT:
git clone https://github.com/glastopf/conpot
Para instalar todas las dependencias y poder usarlo, ya que tenemos Python Pip instalado hacemos:
pip install -r requeriments.txt
Esto irá instalando todas las dependencias, una detrás de la otra.
Lo único que nos falta es ir al fichero de configuración y adaptarlo a nuestras necesidades.
(15:25 root@virt2020 conpot) > cat conpot.cfg [modbus] enabled = True host = 0.0.0.0 port = 502 [s7] enabled = True host = 0.0.0.0 port = 102 [snmp] enabled = True host = 0.0.0.0 port = 161 [http] enabled = True host = 0.0.0.0 port = 80 [sqlite] enabled = False [syslog] enabled = False device = /dev/log host = localhost port = 514 facility = local0 socket = dev ; udp (sends to host:port), dev (sends to device) [hpfriends] enabled = False host = hpfriends.honeycloud.net port = 20000 ident = 3Ykf9Znv secret = 4nFRhpm44QkG9cvD channels = ["conpot.events", ] [fetch_public_ip] enabled = True url = http://api-sth01.exip.org/?call=ip
Después de configurarlo, solo nos queda arrancar Conpot
<pre>2013-04-12 16:09:25,620 Added slave with id 1. 2013-04-12 16:09:25,621 Added block a to slave 1. (type=1, start=1, size=128) 2013-04-12 16:09:25,622 Setting value at addr 1 to [random.randint(0,1) for b in range(0,128)]. 2013-04-12 16:09:25,623 Added block d to slave 2. (type=3, start=40001, size=8) 2013-04-12 16:09:25,623 Conpot initialized using the S7-200 template. 2013-04-12 16:09:25,623 Serving on: ('0.0.0.0', 502) 2013-04-12 16:09:27,141 New connection from 127.0.0.1:61493. (b763654f-c9d8-45ae-b35a-824dfc220911) 2013-04-12 16:09:27,141 Modbus traffic from 127.0.0.1: {'request_pdu': '0100010008', 'function_code': 1, 'slave_id': 1, 'response_pdu': '010132'} (b763654f-c9d8-45ae-b35a-824dfc220911) 2013-04-12 16:09:27,142 Modbus traffic from 127.0.0.1: {'request_pdu': '0f0001000801ff', 'function_code': 15, 'slave_id': 1, 'response_pdu': '0f00010008'} (b763654f-c9d8-45ae-b35a-824dfc220911) 2013-04-12 16:09:27,143 Modbus traffic from 127.0.0.1: {'request_pdu': '0100010008', 'function_code': 1, 'slave_id': 1, 'response_pdu': '0101ff'} (b763654f-c9d8-45ae-b35a-824dfc220911) 2013-04-12 16:09:27,144 Client disconnected. (b763654f-c9d8-45ae-b35a-824dfc220911)</pre>
Os animo a que lo podáis probar y compartáis los resultados conHpfeeds
También te puede interesar - http://dragonjar.org/curso-gratuito-introduccion-al-pentesting-2.xhtml