Script en Python para obtener las contraseñas de PLCs de Siemens

El ICS-CERT ha publicado una alerta sobre la existencia y disponibilidad del código de una herramienta que que puede realizar ataques off-line de fuerza bruta contra controladores lógicos programables (PLCs) Siemens.

Los autores del código Python en cuestión son Alexander Timorin y Dmitry Sklyarov de SCADA Strange Love y han hecho público el código antes de que Siemens haya tenido la oportunidad de parchear el fallo u ofrecer alguna que otra mitigación.

Con el fin de ser capaz de utilizar la herramienta, un atacante primero debe capturar el tráfico del protocolo S7 que contiene los datos de autenticación en forma de desafío-respuesta:

  •     Password hashed (SHA1) on client (TIA Portal)
  •     Server (PLC) provide 20 byte challenge
  •     Client calculate HMAC-SHA1(challenge, SHA1(password) as response
Luego, mediante el uso del script, probar contra el fichero .pcap diferentes contraseñas hasta dar con la buena.
Hasta que Siemens publique una solución los usuarios de los controladores afectados deberían reducir al mínimo el riesgo al que se exponen sus sistemas desconectándolos de Internet, ponerlos detrás de firewalls, aislarlos de la red de la empresa y emplear métodos seguros para el acceso remoto.

Mientras tanto, el script parece haber sido incorporado al popular John the Ripper.

ICS-CERT ha expresado también su temor de que el script pueda ser adaptado para ser utilizado con los productos de otros proveedores.

Fuentes: 
S4x13 Releases: S7 password offline bruteforce tool
SCADA password cracking code available

Comentarios

  1. Hola!! En primer lugar enhorabuena por este articulo, muy interesante la vddad. Y en segundo lugar queria recomendaros la página de facebook de Zitralia. Yo la utilizo a diario para estar al día sobre seguridad informatica. Tambien tiene blog.- Espero que os sirva. Un saludo!

    https://www.facebook.com/zitralia

    ResponderEliminar

Publicar un comentario