Uma análise realizada por pesquisadores da ESET sobre um backdoor que
foi recentemente usado pelo grupo TeleBots revelou fortes semelhanças
com o backdoor principal do Industroyer.
Entre os incidentes de cibersegurança relacionados com os malwares mais importantes dos últimos anos está o ataque à rede elétrica ucraniana (que levou a apagões sem precedentes por dois anos seguidos) e o devastador surto do ransomware NotPetya. Em seguida, convidamos você a conferir cuidadosamente a relação entre esses dois incidentes.
O primeiro apagão da história provocado por um malware ocorreu em dezembro de 2015 e foi causado pelo pacote de ferramentas maliciosas com recursos do APT conhecido como BlackEnergy. Os pesquisadores da ESET têm acompanhado a atividade do grupo por trás da BlackEnergy antes e depois do evento histórico. Após o blecaute de 2015, o grupo parece ter parado de usar ativamente o BlackEnergy e evoluiu para o que chamamos de TeleBots.
É importante esclarecer que quando nos referimos a “grupos APT” estabelecemos conexões baseadas em indicadores técnicos, como similaridades de código, infraestrutura compartilhada de C&C, cadeias de execução de malware, entre outras características. Em geral, não nos envolvemos diretamente na investigação e identificação de quem desenvolve o malware e/ou quem implementa ou interage com ele. Uma vez que o termo “grupo FFW” costuma estar associado aos indicadores de malware acima mencionados e é frequentemente usado simplesmente para categorizar, nos distanciamos da especulação sobre a atribuição de ataques a países ou governos.
Observamos e documentamos as ligações entre o ataque BlackEnergy (não apenas as realizadas contra a rede elétrica ucraniana, mas contra vários setores e alvos de alto valor) e uma série de campanhas, principalmente contra o setor financeiro ucraniano, pelo grupo TeleBots. Em junho de 2017, quando muitas grandes corporações em todo o mundo foram impactadas pelo ransomware Diskcoder.C (também conhecido como Petya e NotPetya) descobrimos que o surto começou a se espalhar a partir de empresas que haviam sido afetadas com o backdoor TeleBots, como consequência de ter comprometido um popular software financeiro MEDoc.
Então, como é que o Industroyer, o malware sofisticado usado para causar o apagão de dezembro de 2016, tem a ver com tudo isso? Pouco depois de divulgarmos publicamente nossas descobertas, algumas empresas de segurança e meios de comunicação começaram a especular que o Industroyer foi criado pelo grupo BlackEnergy/Telebots. No entanto, nenhuma evidência concreta foi divulgada publicamente até o momento.
Em abril de 2018, descobrimos uma nova atividade do grupo TeleBots: uma tentativa de desenvolver um novo backdoor, detectado pela ESET como Win32/Exaramel. Nossa análise sugere que este backdoor TeleBot é uma versão melhorada do backdoor Industroyer – a primeira evidência que faltava.
Uma vez executado, o dropper executa o binário do backdoor Exaramel dentro do diretório do Windows system e cria e inicia um serviço do Windows chamado wsmproav com a descrição “Windows Check AV”. O nome do arquivo e a descrição do serviço do Windows são hardcodeados no dropper.
Além disso, o dropper grava a configuração do backdoor, dentro do registro do Windows, no formato XML.
A configuração contém vários blocos:
Interval – tempo usado para a função “sleep”, em milissegundos
Servers – lista de servidores de comando e controle (C&C)
Check – site usado para determinar se o host tem uma conexão disponível com a Internet
Proxy – servidor proxy na rede host
Storage – caminho usado para armazenar arquivos programados para serem filtrados
Como você pode ver na primeira linha da configuração, os cibercriminosos estão agrupando seus alvos de ataque de acordo com a solução de segurança que usam. Comportamento semelhante pode ser encontrado no set de ferramentas do Industroyer – especificamente, alguns backdoors do Industroyer mascarados como serviços antivírus (exibidos sob o nome avtask.exe) e usados na mesma forma de agrupamento
Outro fato interessante é que o backdoor usa servidores C&C com nomes de domínio que imitam domínios que pertencem a ESET. Neste sentido, além do esetsmart[.]org na configuração do backdoor, encontramos outro domínio similar: um10eset[.]net, que foi utilizado pela versão recentemente descoberta do Telebots Malware para Linux. É importante mencionar que esses servidores controlados pelos invasores não têm qualquer relação com a infraestrutura de servidores legítimos da ESET. Até agora não vimos Exaramel usar domínios que se passam por outras empresas de segurança.
Uma vez que o backdoor é executado, ele se conecta ao servidor C&C e recebe comandos para serem executados. Veja uma lista de comandos disponíveis:
Ambas as famílias de malware usam um arquivo de relatório para armazenar os resultados de saída dos comandos do shell executados e dos processos iniciados. No caso do backdoor Win32/Industroyer, o arquivo de relatório é armazenado em uma pasta temporária com um nome de arquivo aleatório. No caso do backdoor Win32/Exaramel, o arquivo de relatório é denominado report.txt e seu caminho de armazenamento é definido no arquivo de configuração do backdoor.
Para redirecionar um padrão de saída (stdout) e um padrão de erro (stderr) para o arquivo de relatório, ambos os backdoors definem os parâmetros hStdOutput e hStdError para uma manipulação do arquivo de relatório. Esta é outra semelhança de projeto entre essa família de malware.
Se os operadores do malware quiserem exfiltrar arquivos do computador da vítima, eles só precisarão copiar esses arquivos para o subdiretório de dados do caminho de armazenamento definido na configuração. Uma vez que o backdoor está prestes a fazer uma nova conexão com o servidor C&C, ele automaticamente comprime e criptografa todos esses arquivos antes de enviá-los.
A principal diferença entre o backdoor usado pelo Industroyer e este novo backdoor do TeleBots, é que este último usa o formato XML para comunicação e configuração em vez de um formato binário personalizado.
O CredRaptor, a ferramenta para roubar senhas que é conhecida desde 2016, foi ligeiramente melhorada. Ao contrário das versões anteriores, ela coleta senhas salvas não apenas de navegadores, mas também do Outlook e de vários clientes do FTP. Aqui está uma lista dos recursos:
Na verdade, durante nossa resposta a incidentes, descobrimos um backdoor para Linux usado pelo TeleBots, que chamamos de Linux/Exaramel.A.
Se o backdoor for executado pelos cibercriminosos com a string “none” como um argumento na linha de comando, tente usar mecanismos de persistência para iniciar automaticamente após a reinicialização. Se o backdoor não for executado com a conta root, ele usará o arquivo crontab. Da mesma forma, se ele for executado como root, suportará diferentes sistemas de init do Linux. Ele determinará qual sistema init é o que está atualmente em uso através da execução do comando:
strings /sbin/init | awk ‘match($0, /(upstart|systemd|sysvinit)/){ print substr($0, RSTART, RLENGTH);exit; }’
Com base nos resultados desse comando, ele usa os seguintes locais codificados para sua persistência:
Durante a inicialização, o backdoor tenta abrir um arquivo de configuração armazenado no mesmo diretório que o backdoor com o nome config.json. Se esse arquivo de configuração não existir, um novo arquivo será criado. A configuração é criptografada usando a chave s0m3t3rr0r através do algoritmo RC4.
O backdoor se conecta ao servidor C&C hardcodeado (por padrão é 176.31.225 [.] 204 de acordo com o exemplo que vimos até o momento) ou ao servidor C&C listado nos arquivos de configuração do Hosts. A comunicação é enviada via HTTPS. O backdoor suporta os seguintes comandos:
A forte similaridade no nível de código entre Exaramel e o principal backdoor Industroyer é a primeira evidência apresentada publicamente e que liga Industroyer a TeleBots e, portanto, NotPetya a BlackEnergy. Enquanto a possibilidade de um falso aviso (ou a coincidência de que o código é compartilhado com outro ator do cibercrime) deve sempre ser lembrado ao fazer uma atribuição dessa natureza, neste caso, consideramos improvável.
Também é de particular interesse o fato de que os invasores começaram a usar os domínios temáticos da ESET em suas operações. Deve-se ter em conta que esses domínios foram usados por cibercriminosos com o objetivo de ocultar a atividade maliciosa de sua rede de defensores e que não há nenhuma conexão com a infraestrutura de servidores da ESET. A lista de domínios legítimos usados pelos produtos da ESET pode ser visualizada aqui.
Deve-se ter em conta que esses backdoors Exaramel para Windows e Linux foram descobertos em uma organização e não em uma indústria. A ESET compartilhou suas descobertas com autoridades ucranianas de pesquisa e graças a essa cooperação foi possível localizar e prevenir o ataque satisfatoriamente. Da mesma forma, os pesquisadores da ESET continuarão monitorando a atividade desse grupo.
Entre os incidentes de cibersegurança relacionados com os malwares mais importantes dos últimos anos está o ataque à rede elétrica ucraniana (que levou a apagões sem precedentes por dois anos seguidos) e o devastador surto do ransomware NotPetya. Em seguida, convidamos você a conferir cuidadosamente a relação entre esses dois incidentes.
O primeiro apagão da história provocado por um malware ocorreu em dezembro de 2015 e foi causado pelo pacote de ferramentas maliciosas com recursos do APT conhecido como BlackEnergy. Os pesquisadores da ESET têm acompanhado a atividade do grupo por trás da BlackEnergy antes e depois do evento histórico. Após o blecaute de 2015, o grupo parece ter parado de usar ativamente o BlackEnergy e evoluiu para o que chamamos de TeleBots.
É importante esclarecer que quando nos referimos a “grupos APT” estabelecemos conexões baseadas em indicadores técnicos, como similaridades de código, infraestrutura compartilhada de C&C, cadeias de execução de malware, entre outras características. Em geral, não nos envolvemos diretamente na investigação e identificação de quem desenvolve o malware e/ou quem implementa ou interage com ele. Uma vez que o termo “grupo FFW” costuma estar associado aos indicadores de malware acima mencionados e é frequentemente usado simplesmente para categorizar, nos distanciamos da especulação sobre a atribuição de ataques a países ou governos.
Observamos e documentamos as ligações entre o ataque BlackEnergy (não apenas as realizadas contra a rede elétrica ucraniana, mas contra vários setores e alvos de alto valor) e uma série de campanhas, principalmente contra o setor financeiro ucraniano, pelo grupo TeleBots. Em junho de 2017, quando muitas grandes corporações em todo o mundo foram impactadas pelo ransomware Diskcoder.C (também conhecido como Petya e NotPetya) descobrimos que o surto começou a se espalhar a partir de empresas que haviam sido afetadas com o backdoor TeleBots, como consequência de ter comprometido um popular software financeiro MEDoc.
Então, como é que o Industroyer, o malware sofisticado usado para causar o apagão de dezembro de 2016, tem a ver com tudo isso? Pouco depois de divulgarmos publicamente nossas descobertas, algumas empresas de segurança e meios de comunicação começaram a especular que o Industroyer foi criado pelo grupo BlackEnergy/Telebots. No entanto, nenhuma evidência concreta foi divulgada publicamente até o momento.
Em abril de 2018, descobrimos uma nova atividade do grupo TeleBots: uma tentativa de desenvolver um novo backdoor, detectado pela ESET como Win32/Exaramel. Nossa análise sugere que este backdoor TeleBot é uma versão melhorada do backdoor Industroyer – a primeira evidência que faltava.
Análise do backdoor Win32/Exaramel
O backdoor Exaramel é inicialmente executado por um dropper. Metadados neste dropper sugerem que o backdoor é compilado usando o Microsoft Visual Studio antes de ser implementado no computador da vítima.Uma vez executado, o dropper executa o binário do backdoor Exaramel dentro do diretório do Windows system e cria e inicia um serviço do Windows chamado wsmproav com a descrição “Windows Check AV”. O nome do arquivo e a descrição do serviço do Windows são hardcodeados no dropper.
Além disso, o dropper grava a configuração do backdoor, dentro do registro do Windows, no formato XML.
A configuração contém vários blocos:
Interval – tempo usado para a função “sleep”, em milissegundos
Servers – lista de servidores de comando e controle (C&C)
Check – site usado para determinar se o host tem uma conexão disponível com a Internet
Proxy – servidor proxy na rede host
Storage – caminho usado para armazenar arquivos programados para serem filtrados
Como você pode ver na primeira linha da configuração, os cibercriminosos estão agrupando seus alvos de ataque de acordo com a solução de segurança que usam. Comportamento semelhante pode ser encontrado no set de ferramentas do Industroyer – especificamente, alguns backdoors do Industroyer mascarados como serviços antivírus (exibidos sob o nome avtask.exe) e usados na mesma forma de agrupamento
Outro fato interessante é que o backdoor usa servidores C&C com nomes de domínio que imitam domínios que pertencem a ESET. Neste sentido, além do esetsmart[.]org na configuração do backdoor, encontramos outro domínio similar: um10eset[.]net, que foi utilizado pela versão recentemente descoberta do Telebots Malware para Linux. É importante mencionar que esses servidores controlados pelos invasores não têm qualquer relação com a infraestrutura de servidores legítimos da ESET. Até agora não vimos Exaramel usar domínios que se passam por outras empresas de segurança.
Uma vez que o backdoor é executado, ele se conecta ao servidor C&C e recebe comandos para serem executados. Veja uma lista de comandos disponíveis:
- Executar processos
- Executar processos como um usuário específico do Windows
- Gravar dados em um arquivo localizado em um caminho específico
- Copiar arquivos dentro de um subdiretório de armazenamento (Upload file)
- Executar shell command
- Executar shell command de um usuário específico do Windows
- Executar código VBS usando MSScriptControl.ScriptControl.1
Ambas as famílias de malware usam um arquivo de relatório para armazenar os resultados de saída dos comandos do shell executados e dos processos iniciados. No caso do backdoor Win32/Industroyer, o arquivo de relatório é armazenado em uma pasta temporária com um nome de arquivo aleatório. No caso do backdoor Win32/Exaramel, o arquivo de relatório é denominado report.txt e seu caminho de armazenamento é definido no arquivo de configuração do backdoor.
Para redirecionar um padrão de saída (stdout) e um padrão de erro (stderr) para o arquivo de relatório, ambos os backdoors definem os parâmetros hStdOutput e hStdError para uma manipulação do arquivo de relatório. Esta é outra semelhança de projeto entre essa família de malware.
Se os operadores do malware quiserem exfiltrar arquivos do computador da vítima, eles só precisarão copiar esses arquivos para o subdiretório de dados do caminho de armazenamento definido na configuração. Uma vez que o backdoor está prestes a fazer uma nova conexão com o servidor C&C, ele automaticamente comprime e criptografa todos esses arquivos antes de enviá-los.
A principal diferença entre o backdoor usado pelo Industroyer e este novo backdoor do TeleBots, é que este último usa o formato XML para comunicação e configuração em vez de um formato binário personalizado.
Ferramentas maliciosas para roubar senhas
Junto com o backdoor do Exaramel, esse grupo usa algumas de suas ferramentas antigas, incluindo algumas para roubar senhas (conhecidas internamente por invasores como CredRaptor ou PAI) e Mimikatz um pouco modificado.O CredRaptor, a ferramenta para roubar senhas que é conhecida desde 2016, foi ligeiramente melhorada. Ao contrário das versões anteriores, ela coleta senhas salvas não apenas de navegadores, mas também do Outlook e de vários clientes do FTP. Aqui está uma lista dos recursos:
- BitKinex FTP
- BulletProof FTP Client
- Classic FTP
- CoffeeCup
- Core FTP
- Cryer WebSitePublisher
- CuteFTP
- FAR Manager
- FileZilla
- FlashFXP
- Frigate3
- FTP Commander
- FTP Explorer
- FTP Navigator
- Google Chrome
- Internet Explorer 7 – 11
- Mozilla Firefox
- Opera
- Outlook 2010, 2013, 2016
- SmartFTP
- SoftX FTP Client
- Total Commander
- TurboFTP
- Windows Vault
- WinSCP
- WS_FTP Client
Na verdade, durante nossa resposta a incidentes, descobrimos um backdoor para Linux usado pelo TeleBots, que chamamos de Linux/Exaramel.A.
Análise do backdoor Linux/Exaramel
O backdoor é escrito na linguagem de programação Go e compilado como um binário ELF de 64 bits. Os cibercriminosos podem implantar o backdoor em um diretório escolhido com qualquer nome.Se o backdoor for executado pelos cibercriminosos com a string “none” como um argumento na linha de comando, tente usar mecanismos de persistência para iniciar automaticamente após a reinicialização. Se o backdoor não for executado com a conta root, ele usará o arquivo crontab. Da mesma forma, se ele for executado como root, suportará diferentes sistemas de init do Linux. Ele determinará qual sistema init é o que está atualmente em uso através da execução do comando:
strings /sbin/init | awk ‘match($0, /(upstart|systemd|sysvinit)/){ print substr($0, RSTART, RLENGTH);exit; }’
Com base nos resultados desse comando, ele usa os seguintes locais codificados para sua persistência:
Init system | Location |
---|---|
sysvinit | /etc/init.d/syslogd |
upstart | /etc/init/syslogd.conf |
systemd | /etc/systemd/system/syslogd.service |
Durante a inicialização, o backdoor tenta abrir um arquivo de configuração armazenado no mesmo diretório que o backdoor com o nome config.json. Se esse arquivo de configuração não existir, um novo arquivo será criado. A configuração é criptografada usando a chave s0m3t3rr0r através do algoritmo RC4.
O backdoor se conecta ao servidor C&C hardcodeado (por padrão é 176.31.225 [.] 204 de acordo com o exemplo que vimos até o momento) ou ao servidor C&C listado nos arquivos de configuração do Hosts. A comunicação é enviada via HTTPS. O backdoor suporta os seguintes comandos:
Command | Purpose |
---|---|
App.Update | Updates itself to a newer version |
App.Delete | Deletes itself from the system |
App.SetProxy | Sets proxy in configuration |
App.SetServer | Updates C&C server in configuration |
App.SetTimeout | Sets timeout value (time between connections to C&C server) |
IO.WriteFile | Downloads a file from a remote server |
IO.ReadFile | Uploads a file from local disk to C&C server |
OS.ShellExecute | Executes a shell command |
Conclusão
A descoberta do Exaramel mostra que o grupo TeleBots ainda está ativo em 2018 e que os atacantes continuam trabalhando para melhorar suas ferramentas e táticas.A forte similaridade no nível de código entre Exaramel e o principal backdoor Industroyer é a primeira evidência apresentada publicamente e que liga Industroyer a TeleBots e, portanto, NotPetya a BlackEnergy. Enquanto a possibilidade de um falso aviso (ou a coincidência de que o código é compartilhado com outro ator do cibercrime) deve sempre ser lembrado ao fazer uma atribuição dessa natureza, neste caso, consideramos improvável.
Também é de particular interesse o fato de que os invasores começaram a usar os domínios temáticos da ESET em suas operações. Deve-se ter em conta que esses domínios foram usados por cibercriminosos com o objetivo de ocultar a atividade maliciosa de sua rede de defensores e que não há nenhuma conexão com a infraestrutura de servidores da ESET. A lista de domínios legítimos usados pelos produtos da ESET pode ser visualizada aqui.
Deve-se ter em conta que esses backdoors Exaramel para Windows e Linux foram descobertos em uma organização e não em uma indústria. A ESET compartilhou suas descobertas com autoridades ucranianas de pesquisa e graças a essa cooperação foi possível localizar e prevenir o ataque satisfatoriamente. Da mesma forma, os pesquisadores da ESET continuarão monitorando a atividade desse grupo.
Indicadores de Comprometimento (IoCs)
ESET detection names |
---|
Win32/Exaramel trojan |
Win32/Agent.TCD trojan |
Linux/Agent.EJ trojan |
Linux/Exaramel.A trojan |
Win32/PSW.Agent.OEP trojan |
Win32/RiskWare.Mimikatz.Z application |
Win64/Riskware.Mimikatz.AI application |
SHA-1 HASHES |
---|
TeleBots Win32/Exaramel backdoor |
65BC0FF4D4F2E20507874F59127A899C26294BC7 |
3120C94285D3F86A953685C189BADE7CB575091D |
Password Stealer |
F4C4123849FDA08D1268D45974C42DEB2AAE3377 |
970E8ACC97CE5A8140EE5F6304A1E7CB56FA3FB8 |
DDDF96F25B12143C7292899F9D5F42BB1D27CB20 |
64319D93B69145398F9866DA6DF55C00ED2F593E |
1CF8277EE8BF255BB097D53B338FC18EF0CD0B42 |
488111E3EB62AF237C68479730B62DD3F52F8614 |
Mimikatz |
458A6917300526CC73E510389770CFF6F51D53FC |
CB8912227505EF8B8ECCF870656ED7B8CA1EB475 |
Linux/Exaramel |
F74EA45AD360C8EF8DB13F8E975A5E0D42E58732 |
C&C servers |
---|
um10eset[.]net (IP: 176.31.225.204) |
esetsmart[.]org (IP: 5.133.8.46) |
Nenhum comentário:
Postar um comentário