Sandworm: a mais recente APT que ameaça os sistemas de controlo industrial
Sandworm é uma APT que afetou sistemas transacionais de órgãos governamentais. Qual foi o vetor de ataque?
Sandworm é uma APT que afetou sistemas transacionais de órgãos governamentais (OTAN, governo ucraniano, etc…), atuando entre os meses de junho a outubro de 2014 e que atualmente está a utilizar determinados sistemas SCADA como vetor de ataque para comprometer os ambientes industriais.
Sandworm em ambientes transacionais
Sandworm surge como uma vulnerabilidade zero-day (em formato troiano/autoexecutável) que aproveitava a vulnerabilidade CVE-2014-4114 associada a diferentes versões do MS Windows (Vista, 7, 8, 2008, 2012).
O nome oficial da vulnerabilidade foi “Windows OLE Remote Code Execution Vulnerability” e o nome do payload que era descarregado era Black Energy. Atualmente já foi resolvida através de uma correção publicada no boletim MS14-060 de outubro de 2014
Qual foi o vetor de ataque?
O vetor de ataque utilizado era o spear-fishing e a mera partilha de um ficheiro Power Point. O que parecia ser um ficheiro .ppt na verdade era um .INF que chamava um arquivo remoto através de um rota UNC (ou seja, na rota indica-se o servidor ou o host de uma rede interna na qual se encontra o arquivo, como por exemplo \SERVERSHAREFILE.TXT ou no caso do host \198.51.100.5REMOTE.DAT).
Em princípio, o Windows deveria bloquear que, a partir do Power Point, se lançassem este tipo de rotas. No entanto, aqui está a vulnerabilidade, o Sandworm encontrou a forma de evitar este bloqueio.
Neste momento, o ficheiro .INF conectava-se com o C2 e descarregava dois ficheiros maliciosos com estes nomes slides.inf e slide1.gif (como se fossem parte da apresentação PPT).

O ficheiro slides.inf renomeava o ficheiro slide1.gif e convertia-o em slide1.gif.exe
Na vez seguinte em que se executava a aplicação Power Point, automaticamente, por trás, abria-se um autoexecutável (drive-by-install) que instalava o malware malicioso (conhecido como Black Energy).
Sandworm em ambientes industriais
Após corrigir esta vulnerabilidade que utilizava os ficheiros com extensão .INF, a equipa Sandworm continuou a “trabalhar” e atualmente está a utilizar ficheiros tipo .cim e .bcl para alcançar os seus objetivos.
Este tipo de arquivos são utilizados pela aplicação CIMPLICITY HMI Solution Suite da General Electric. De facto, Sandworm deposita este tipo de arquivos no diretório de instalação do CIMPLICITY utilizando a rota %CIMPATH%.
No momento em que se realiza a comunicação com o C2, observa-se como aparece um ficheiro chamado config.bak. Este ficheiro é um objeto CimEdit/CimView (tipo faceplate) que utiliza normalmente o CIMPLICITY para a gestão da aplicação SCADA.

No ficheiro config.bak definem-se dois eventos: OnOpenExecCommand e ScreenOpenDispatch
Estes permitem manter a comunicação com o C2 e descarregar diferentes payloads: Spiskideputatovdone.pps e Slide1.gif.exe
Em particular, este último deposita o ficheiro FONTCACHE.DAT que se trata de uma versão de BlackEnergy.
As últimas notícias indicam que, tal como o CIMPLICITY, a equipa Sandworm poderá utilizar os ficheiros CCProjectMgrStubEx.dll para alcançar os seus objetivos
Este tipo de ficheiro é parecido com o que se encontra na solução WinCC da Siemens (CCProjectMgr.exe), sendo este tipo de aplicações um objetivo claro para o descarregamento de Black Energy.
O ICS-CERT fez eco destes ataques a sistemas pertencentes a dois grandes da indústria da automatização (General Electric e Siemens). De facto, publicou o seguinte alerta: https://ics-cert.us-cert.gov/alerts/ICS-ALERT-14-281-01A
É importante assinalar que se trata de um vetor de ataque que poderá comprometer a rede na qual se encontrem os sistemas HMI, mas não afeta diretamente o funcionamento do SCADA.
Alguns 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/





