Sandworm: la última APT que amenaza los sistemas de control industrial
Sandworm es una APT que afectó a sistemas transaccionales de órganos gubernamentales ¿Cuál fue el vector de ataque?

Sandworm es una APT que afectó a sistemas transaccionales de órganos gubernamentales (OTAN, gobierno ucraniano, etc…), actuando entre los meses de junio a octubre de 2014 y que actualmente está utilizando determinados sistemas SCADA como vector de ataque para comprometer los entornos industriales.
Sandworm en entornos transaccionales
Sandworm aparece como una vulnerabilidad zero-day (en formato troyano/autoejecutable) que aprovechaba la vulnerabilidad CVE-2014-4114 asociada a diferentes versiones de MS Windows (Vista, 7, 8, 2008, 2012).
El nombre oficial de la vulnerabilidad fué «Windows OLE Remote Code Execution Vulnerability” y el nombre del payload que se descargaba era Black Energy. Actualmente ya ha sido resuelta a través de un parche publicado en el boletín MS14-060 de octubre de 2014
¿Cuál fue el vector de ataque?
El vector de ataque utilizado era el spear-fishing y la mera compartición de un fichero Power Point. Lo que parecía ser un fichero .ppt en verdad era un .INF que llamaba a un archivo remoto a través de un ruta UNC (es decir, en la ruta se indica el servidor o el host de una red interna en la que se encuentra el archivo, como por ejemplo \SERVERSHAREFILE.TXT o en el caso del host \198.51.100.5REMOTE.DAT).
En principio Windows debería bloquear que desde Power Point se lanzaran este tipo de rutas. Sin embargo, he aquí la vulnerabilidad, Sandworm encontró la forma de evitar este bloqueo.
En este momento, el fichero .INF se conectaba con el C2 y bajaba dos ficheros maliciosos con estos nombres slides.inf y slide1.gif (como si fueran parte de la presentación PPT).
El fichero slides.inf renombraba el fichero slide1.gif y lo convertía en slide1.gif.exe
La siguiente vez que se ejecutaba la aplicación Power Point, automáticamente, por detrás, se abría un autoejecutable (drive-by-install) que instalaba el malware malicioso (conocido como Black Energy).
Sandworm en entornos industriales
Tras corregir esta vulnerabilidad que utilizaba los ficheros con extensión .INF, el equipo Sandworm ha seguido “trabajando” y actualmente está utilizando ficheros tipo .cim y .bcl para alcanzar sus objetivos.
Este tipo de archivos son utilizados por la aplicación CIMPLICITY HMI Solution Suite de General Electric. De hecho, Sandworm deposita este tipo de archivos en el directorio de instalación de CIMPLICITY utilizando la ruta %CIMPATH%.
En el momento que se realiza la comunicación con el C2, se observa cómo aparece un fichero llamado config.bak. Este fichero es un objeto CimEdit/CimView (tipo faceplate) que utiliza normalmente CIMPLICITY para la gestión de la aplicación SCADA.
En el fichero config.bak se definen dos eventos: OnOpenExecCommand y ScreenOpenDispatch
Estos permiten mantener la comunicación con el C2 y bajar diferentes payloads: Spiskideputatovdone.pps y Slide1.gif.exe
En particular este último deposita el fichero FONTCACHE.DAT que se trata de una versión de BlackEnergy.
Las últimas noticias indican que al igual que CIMPLICITY, el equipo Sandworm podría utilizar los ficheros CCProjectMgrStubEx.dll para alcanzar sus objetivos
Este tipo de fichero es parecido al que se encuentra en la solución WinCC de Siemens (CCProjectMgr.exe), siendo este tipo de aplicaciones un objetivo claro para la descarga de Black Energy.
El ICS-CERT se ha hecho eco de estos ataques a sistemas pertenecientes a dos grandes de la industria de la automatización (General Electric y Siemens). De hecho ha publicado la siguiente alerta: https://ics-cert.us-cert.gov/alerts/ICS-ALERT-14-281-01A
Es importante señalar, que se trata de un vector de ataque, que podrá comprometer la red en la que se encuentren los sistemas HMI, pero no afecta directamente al funcionamiento del SCADA.
Algunos links recomendados:
https://nakedsecurity.sophos.com/2014/10/15/the-sandworm-malware-what-you-need-to-know/
http://www.isightpartners.com/2014/10/cve-2014-4114/
http://blog.trendmicro.com/trendlabs-security-intelligence/sandworm-to-blacken-the-scada-connection/