Matar por Internet

Hace unas semanas quedamos unos antiguos amigos para tomar unas cervezas en Madrid; viejos conocidos con los que en su momento compartí muchas noches conectado, y de los cuales algunos seguimos aún hoy trabajando en temas de seguridad. Con unas copas todo es más distendido, y hablando con Javi (nombre ficticio, of course) sobre cómo cambia todo con los años y las vueltas que da la vida, me estuvo contando cosas que, sinceramente, me dejaron un poco fuera de juego.

Y es que lo que estaba investigando en su trabajo (dirige la parte de seguridad de una empresa de automatización agrónoma) era cómo “ciberproteger” al ganado, porque matar animales por Internet es técnicamente posible aprovechando granjas conectadas a la red; esto lo habían investigado… y lo estaban probando. Por supuesto, le pedí que escribiera un post para SAW, de forma anónima, y lo que me remitió me dejó más fuera de juego todavía que lo que me contó esa noche… Ahí va, juzguen ustedes mismos…

—-

Matar a un animal en el ámbito físico es fácil, sobre todo los que no están sometidos a un control humano directo: si me acerco a un rebaño de ovejas con el pastor delante e intento degollar a una de ellas, seguramente el buen hombre o sus mastines acabarán conmigo… Si hago eso mismo en alta montaña, donde el ganado puede pasar días sin vigilancia humana —y si no están los mastines cerca, dicho sea de paso— la oveja no tiene nada que hacer. Es habitual, en zonas frías del norte de España (me vienen a la cabeza la zona oeste de Zamora y de León, el este de Galicia, la Cordillera Cantábrica…), dejar el ganado en las montañas durante días —semanas si la nieve impide subir a visitarlo—; aunque hace años los animales campaban a sus anchas, en la actualidad lo más normal es confinarlos en corrales donde, de manera automática, se les suministra agua y alimento, y además se les protege físicamente con cámaras y alarmas (el robo de ganado está a la orden del día). Evidentemente, estos sistemas de seguridad o de abastecimiento son completamente autónomos, e incluso se alimentan con energía solar para no depender de generadores de gasóleo. La duda que un técnico se plantea es… ¿habrá entornos de abastecimiento manejados por sistemas de control industrial… y conectados a Internet? Veremos que sí :)

Pero, ¿qué tiene que ver esto con la seguridad? Muy sencillo; hay animales que comen mientras tienen hambre, dejando de hacerlo una vez están saciados aunque tengan comida a su alrededor —por ejemplo, los gatos—, mientras que otros son capaces de comer hasta reventar, como muchas razas de perro. Un término medio son las vacas: el ganado vacuno pasta habitualmente de forma tranquila, pero si tiene hambre es capaz de hincharse demasiado (y eso sabemos que sienta mal). Si tenemos un rebaño sin comer ni beber durante un par de días y posteriormente les dejamos pastar, comerán mucho más de lo que deben. Y si ese alimento es grano, no hierba, y encima no les damos agua hasta que no han comido, sucede una cosa curiosa: la vaca comerá mucho grano porque tiene hambre, lo que incrementará su sed. Si cuando haya comido mucho grano, le dejamos beber agua, beberá mucha agua, que al mezclarse en el estómago del animal con la gran cantidad de grano producirá un efecto, digamos, curioso: el grano se hinchará y el estómago de la vaca reventará. ¿Y? Podemos intentar hacer esto de forma remota; para lograrlo sólo necesitamos unas cuantas cosas: un corral aislado sin presencia humana diaria, de esos del norte de España, con unas tolvas de grano y unos depósitos de agua controlados por SCADA y que ese mismo SCADA esté conectado a Internet. A buscar…

Lo primero que tenemos que hacer es averiguar si realmente hay sistemas SCADA que controlen la alimentación de explotaciones agropecuarias para, si existen, tratar de explotarlos. Utilizando nuestro buscador favorito podemos darnos cuenta de que sí que hay sistemas de este tipo y es más, pueden conectarse a Internet, generalmente a través de GPRS o radio; estos sistemas controlan tanto el silo donde se almacena el grano como la bajada de pienso a los comederos, así como la dosificación de agua para las reses. Muchos fabricantes están metiéndose en este negocio, porque parece ser que es bastante rentable (sobre todo en Estados Unidos y Australia) y, dicho sea de paso, lo hacen con la misma alegría y despreocupación con la que se meten en otros negocios donde conectan todo a Internet sin mayores problemas… en principio :) Uno de estos fabricantes es Automatic Farm Systems (http://www.afsproducts.com), estadounidense, cómo no, y uno de sus productos estrella son los silos donde se almacena —y con válvulas se dispensa— el grano (http://afsproducts.com/sites/default/files/file/Bulk%20Feed%20Tanks.pdf) así como las trituradoras para dárselo al ganado (http://afsproducts.com/sites/default/files/file/Hammermils.pdf). Recordemos, tenemos que evitar que se triture el grano para hacer efectivo el ataque.

Pero al igual que muchos fabricantes industriales, Automatic Farm Systems no fabrica la parte de automatización de sus productos: otros lo hacen por él. En el caso que nos interesa, un integrador destacado es Wilson Groom (http://www.wilsongroom.com), que ha desarrollado software ad hoc que habla con los productos de AFS, en concreto con los PLC de Allen-Bradley (Rockwell) que éstos incorporan, y que permiten el control de una explotación agropecuaria (¡oh, sorpresa!) desde Internet (literalmente, su publicidad indica que “it can be remotely accessed via any web browser, providing access from a wide variety of PC-based and smartphone platforms”). Vamos, que tenemos que buscar PLC de Rockwell, los usados por AFS, en España, y luego averiguar si se trata de una explotación o no. Resumiendo mucho este proceso, podemos empezar con Shodan buscando las firmas de estos PLC (hay varias, que no vamos a poner aquí, obviamente) y restringiendo nuestra búsqueda a España (country:ES); pero los PLC de Rockwell se usan para muchas cosas. ¿Cómo llegar a determinar que el PLC controla una explotación o no? Hay dos formas: la aproximada es usando Shodan; cuando el buscador es capaz de geolocalizar una IP hasta su ciudad, lo indica, mientras que si no es capaz, el campo está vacío:

Por supuesto, esto no es muy científico, pero bueno, es una primera aproximación. La segunda me gusta más: revisando las especificaciones técnicas de los productos de Wilson Groom (el integrador, ¿os acordáis?), disponibles en su web, vemos que esta gente utiliza una aplicación para mantenimiento remoto, contra sus propios sistemas desplegados en campo, que “por seguridad” no va a través del puerto 80, como va el acceso al sistema de control, sino que va por el puerto 9090/tcp, con usuario y contraseña, eso sí :)

Así, tenemos que buscar direccionamientos de PLC Rockwell en España, y que tengan el puerto 9090/tcp accesible. Volcamos la búsqueda de Shodan a un fichero, sacamos las direcciones IP y a partir de éstas buscamos direccionamientos con el 9090 abierto; una línea de script y obtenemos al menos diez dispositivos de control conectados a Internet que cumplen estas condiciones en España, de los cuales siete están sin geolocalización concreta (por debajo del país) en Shodan… estos serán nuestros objetivos principales (si alguno falla, iremos a por los geolocalizados).

La instalación de los PLC de Rockwell tiene, como tantos otros, un usuario web por defecto, con privilegios de control total sobre el sistema (de nuevo, no doy usuario y password, pero se puede obtener de listas de contraseñas públicas disponibles en Internet). Accedemos a uno de ellos que tiene esta configuración y que, aunque Shodan no geolocaliza, localizadores de IP —con la fiabilidad que éstos tienen, que es discutible— fijan en Asturias, fuera de las grandes ciudades y muy cerca del Parque Natural de Somiedo (una zona preciosa, dicho sea de paso):

Bien, parece que nos vamos acercando. Con las credenciales por defecto accedemos a lo que es un interfaz de un sistema de control de una granja real. Pero, ¿cómo podemos saber que se trata de una granja de ganado vacuno y no de pollos, por ejemplo? Evidentemente, prueba y error. La verdad, no sabemos si aparte de unas vacas hemos perjudicado a gallinas, cerdos u ovejas, aunque creemos que no, porque estos animales no suelen ubicarse lejos de zonas urbanas: los cerdos o las gallinas no se dejan en el monte durante días y días, sino que están en granjas o corrales cerca de los municipios. En fin, es un proceso, como decimos, de prueba y error, pero confiamos en que nuestra granja sea vacuna.

Ahora toca buscar cómo cortar el grano y el agua que el sistema proporciona a los animales, cruzar los dedos y ver si funciona; en los PLC de Rockwell tenemos un usuario por defecto, “administrator”, con una contraseña también por defecto, que no vamos a poner aquí pero todo el mundo conoce :) Como en muchas instalaciones, en la nuestra podemos probar si estas credenciales funcionan. Y sorpresa. SÍ que lo hacen:

¡Estamos dentro! Ahora tenemos que buscar dónde se controla la dispensación de agua y grano a los animales; para ir rápido, los manuales de la aplicación de control (como siempre, disponibles públicamente en la web del fabricante) nos son de gran utilidad; tenemos que llegar a la pantalla correspondiente:

En ella, en el menú superior del interfaz, tenemos todos las opciones de control de la alimentación; utilizaremos CLOSE tanto para la tolva de grano como para el depósito de agua, quedando entonces así:

Vemos que se resalta en rojo el indicador, porque desde luego cortar agua y alimento a los animales, bueno, bueno, no parece a priori… ¿Qué queda ahora? Esperar. Cuarenta y ocho horas, para ser exactos. Trascurrido este tiempo, abrimos el dispensador de la tolva de grano:

Esperamos un rato a que los animales coman lo suficiente para quedarse satisfechos… eso sí, sin agua, y, por ejemplo seis horas después, abrimos el depósito, volviendo a la situación normal:

Ahora sólo queda esperar a que la naturaleza siga su curso. A priori, las vacas habrán comido mucho grano y ahora beberán agua en cantidad, con lo que teóricamente, llegamos al resultado que buscábamos. A los animales les reventará el estómago (esto lo he visto personalmente y no es lo más agradable de mundo, créanme).

Realmente, no podemos saber si hemos tenido éxito, es decir, si hemos matado por Internet. Pero como las noticias vuelan, y más en zonas donde la ganadería es un pilar fundamental de la economía, durante los días posteriores a nuestra prueba consultamos la prensa local de la zona. En el diario “La Nueva Asturias” nos llamó la atención la siguiente noticia, fechada en febrero de 2014.

También nos llamó la atención la misma noticia en “El Cantábrico”, un diario del norte.

¿Fallo en el sistema de alimentación? ¿Larga agonía? ¿Casualidad? No lo creo :) Parece que hemos logrado nuestro objetivo: matar a través de Internet. Vacas, no personas, por supuesto. Evidentemente este artículo resume bastantes horas de trabajo —no todo sale a la primera, pero tampoco se trata de detallar todos los problemas técnicos o no técnicos que nos vamos a encontrar en el camino— y da una visión muy simplificada del proceso, pero creo que ilustra bien la situación actual. He tratado de ocultar detalles técnicos que faciliten a un tercero repetir el ataque, aunque cualquiera con algo de tiempo y unos conocimientos mínimos podría realizarlo o, lo que es peor, automatizarlo por completo…

Es cierto que estas pruebas son un problemón para el ganadero, al que tratamos siempre de localizar para compensarle anónimamente por nuestros análisis (lo que tiene el tema agropecuario es que somos cuatro gatos y nos conocemos todos), pero creo que la prueba de concepto ha valido la pena. También nos hemos puesto en contacto tanto con el fabricante de los PLC como con la empresa que ha desarrollado los SCADA para informarles de estos problemas, pero en fin, que si yo fuera ganadero, y si además hoy no fuera el día que es, me preocuparía…

Comments

  1. Espectacular Toni :)

    La verdad es que he leído el título del post y me han venido a la cabeza Daemon y Freedom de Daniel Suárez…pero tras leerlo y ver cómo lo acercabas tanto a la realidad, realmente he pensado ¡este relato da mas miedo aún!

    En fin. Una realidad que asusta y mucho.

    Saludos,

  2. Muy bueno el artículo Toni …
    April Fools’ Day????

  3. Yo creo que es un April Fool’s Day. Buscando imágenes he visto unas identicas a las de este post en prater-sterling.com, la autora del artículo no hay nada referente a ella en Internet, por no decir que las fechas de publicación de la noticia no se menciona nada.

    La broma es buena, lo jodido es toda la gente que lo a tweeteado y se esparcirá como la pólvora. xD

  4. April’s fool day?

    No sé de qué estáis hablando…

  5. El tio Tonet says

    Si este es el HOAX, casi me lo creo, solo hay un pequeño fallo, creo:

    Al igual que los trenes de metro de cuanquier ciudad que tiene un mecanismo que se llama la mano del hombre muerto, que previene si el conductor muere acelerando el tren, el tren no se estrelle, de la misma forma los sistemas de alimentación tienen un mecanismo para que la cantidad de grano que cae en la tolva, no sea infinito. Avisaria al «encargado», y se cerraria la tolva.

    Lo he visto en marcha en la granja de Gallinas que la empresa Dulcesol tiene en Villalonga.

    Ademas hay un sistema automatizado para «retirar» las gallinas que dejan de poner Huevos (las convierten en Pienso y eso si es «asqueroso»), ese sistema aunque es automatizado, esta previsto que no pueda «retirar» mas de un determinado nº de gallinas al dia. y funciona. Ten en cuenta que si se volviera loco el sistema o fuese manejado por un loco desde internet, «retiraria 500.000 gallinas» (o sea casi 1 millon de huevos diarios), arruinaria la empresa.

  6. El tio Tonet says

    Por cierto, me alego, ha vuelto el Mejor Toni Villalon, el de siempre. Gracias por los ratos tan divertidos que nos haces pasar.

  7. Increíble :)
    A pesar de ser un HOAX (me equivoco?)lo has documentado de una forma excelente. Bravo!

  8. Esto de leer las noticias con retraso tiene muuucho peligro. Me lo he tragado hasta el fondo!!
    Menos mal que esa última frase me ha hecho mirar la fecha de publicación que si no…

  9. Buenas noches, os ha dicho alguien que vuestra web puede ser adictivo ? estoy preocupada, desde que os recibo no puedo parar de mirar todas vuestras sugerencias y estoy muy feliz cuando recibo uno más, sois lo mejor en español, me encata vuestra presentación y el curre que hay detrás. Un beso y abrazos, MUCHAS GRACIAS POR VUESTRO TRABAJO, nos alegrais la vida.

    Saludos

    pulsar aqui http://www. .com

  10. Querido «pulsar aquí»,

    Nos sentimos halagados de que nuestra web te resulte adictiva. No estoy seguro de saber qué quieres decir por «sugerencias» y estoy seguro de que no vas a leer este comentario, pero no he podido resistirme a contestar. Tampoco tengo muy claro cómo una entrada sobre un asesinato masivo de vacas puede alegrarte el día, pero en fin, supongo que hay gente para todo.

    Sólo comentarte que me he tomado la libertad de eliminar los enlaces a la web de tu casa rural. Hay que ser un poco más sutil.