Scada_std_animEl estudio realizado por los investigadores en seguridad en una de sus facetas se base en el basarse en los resultados arrojados por un 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.

¿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.”

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 e banner de la aplicación o por ciertas respuestas en llamadas a ciertos puertos.

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 [email protected] 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

Congreso Hacker Colombia