Recentemente, a Unit 42 da Palo Alto Networks reportou uma nova plataforma de exploração, que chamamos de "DealersChoice", em uso pelo grupo Sofacy (também conhecido como APT28, Fancy Bear, STRONTIUM, Pawn Storm, Sednit).  Como descrito em nossa postagem original, a plataforma de exploração DealersChoice gera documentos RTF maliciosos que, por sua vez, usam documentos Word OLE incorporados. Esses documentos Word OLE incorporados contêm arquivos Adobe Flash (.SWF) incorporados, desenvolvidos para explorar as vulnerabilidades do Abode Flash.

Até o momento do relatório inicial, encontramos duas variantes:

  1. Variante A: Uma variante autônoma que incluía código de exploração do Flash junto com uma carga útil.
  2. Variante B: Uma variante modular que carregava o código de exploração sob demanda e aparentava não estar operacional no momento.

Desde então, pudemos coletar amostras adicionais dos documentos municiados que a plataforma de exploração DealersChoice gera. As últimas amostras adicionais são todas da variante B. Foi constatado que duas dessas amostras tinham comando operacional e servidores de controle que nos permitiram coletar e analisar artefatos adicionais associados ao ataque.

No final de outubro de 2016, a Adobe emitiu um Boletim de Segurança Adobe APSB16-36 para abordar a CVE-2016-7855. No início de novembro de 2016, a Microsoft emitiu o Boletim de Segurança Microsoft MS16-135 para abordar a CVE-2016-7255.

Ambos foram em resposta à exploração ativa de vulnerabilidades do dia zero que outros pesquisadores pensavam que estava associada ao grupo Sofacy. Outros relatórios, bem como nossa própria análise, indicaram que o código de exploração de vulnerabilidades CVE-2016-7855 do Adobe Flash foi de fato entregue mediante o uso do DealersChoice. Testes internos também demonstraram que os clientes de agente de endpoint do Traps™ da Palo Alto Networks estão protegidos do novo código de exploração.

Deal Me In: Detectar servidores C2 ativos

Em nossa discussão anterior no blog sobre DealersChoice, identificamos as etapas que a Variante B utilizaria depois de executada em um host vítima, mas não foi possível interagir com o comando e com o servidor de controle (C2) identificados na ocasião.

Desde então, descobrimos dois servidores C2 ativos e totalmente operacionais (versiontask[.]com e postlkwarn[.]com) que seguiram as mesmas etapas que descrevemos no blog; carregando o código de exploração Flash adicional na memória e, em seguida, carregando a carga útil associada também na memória. A Figura 1 mostra em detalhes o fluxo de trabalho da vítima nas comunicações do C2.

dealerschoice2_1

Figura 1 Fluxo de trabalho do DealersChoice

O ActionScript na Variante B irá interagir com o servidor C2, especificamente para obter um arquivo SWF malicioso e uma carga útil. Esse processo começa com um localizador inicial para o servidor C2, que contém informações do sistema e a versão do Adobe Flash Player da vítima. A Figura 2 mostra o localizador enviado pelo ActionScript para o servidor C2.

dealerschoice2_2

Figura 2 Localizador inicial do DealersChoice para seu servidor C2

O C2 responde ao localizador inicial com sequências de caracteres que o ActionScript do DealersChoice utiliza como variáveis nas ações futuras, como solicitações HTTP adicionais e decodificação das respostas a essas solicitações. A Figura 3 mostra a resposta do servidor C2 ao localizador, incluindo especificamente os valores k1, k2, k3 e k4.

dealerschoice2_3

Figura 3 Resposta do C2 ao localizador fornece tokens e chaves do DealersChoice, necessárias para a decodificação de dados.

Em seguida, o ActionScript utiliza a variável k1 dos dados de resposta do C2 como um token dentro da solicitação HTTP enviada de volta ao servidor C2 para obter o arquivo SWF malicioso, conforme exibido na Figura 4.

O servidor C2 responderá a essa solicitação com dados que o ActionScript irá decodificar usando o valor da variável k3.

Os servidores C2 ativos forneceram a Variante B com um arquivo SWF malicioso que era o mesmo arquivo SWF encontrado nas amostras da Variante A que explorava a CVE-2015-7645 (abordada em outubro de 2016 no Boletim de Segurança da Adobe APSA15-05).

c42a0d50eac9399914090f1edc2bda9ac1079edff4528078549c824c4d023ff9
45a4a376cb7a36f8c7851713c7541cb7e347dafb08980509069a078d3bcb1405

dealerschoice2_4

Figura 4 Solicitação HTTP do DealersChoice para obter um arquivo SWF malicioso para explorar o Adobe Flash Player

Depois de receber o arquivo SWF malicioso, a Variante B então emite uma solicitação HTTP usando a variável k2 como um token para obter sua carga útil, conforme exibido na Figura 5. O C2 responderá a essa solicitação com dados que a Variante B irá decodificar usando o valor da variável k4 como uma chave. Os dados decodificados resultantes contêm shellcode (lista de instruções) e uma carga útil que a shellcode decodifica e executa.

dealerschoice2_5

Figura 5 Solicitação HTTP do DealersChoice para obter shellcode e carga útil para executar mediante exploração bem-sucedida.

Os servidores C2 ativos versiontask[.]com e postlkwarn[.]com forneceram shellcode que decodificava e executava uma carga útil que, nos dois casos, era um carregador de Cavalo de Tróia que extraia e decodificava uma DLL incorporada que ele salva no sistema.

5dd3066a8ee3ab5b380eb7781c85e4253683cd7e3eee1c29013a7a62cd9bef8c fa8b4f64bff799524f6059c3a4ed5d169e9e7ef730f946ac7ad8f173e8294ed8

Nos dois casos, a DLL salva no sistema é uma variante da ferramenta do Sofacy que utiliza o código fonte Carberp.

82213713cf442716eac3f8c95da8d631aab2072ba44b17dda86873e462e10421 3ff1332a84d615a242a454e5b29f08143b1a89ac9bd7bfaa55ba0c546db10e4b

As duas variantes da ferramenta Seduploader compartilham um domínio C2 em comum de apptaskserver[.]com, com domínios C2 de backup diferentes, appservicegroup[.]com e joshel[.]com.

Ace in the Hole: Analisar as impressões digitais da vítima

No processo de análise do servidor C2 ativo da Variante B, queríamos testar nossa hipótese de que o servidor C2 carregaria um código de exploração diferente, dependendo da impressão digital da vítima.  Testamos isso fornecendo diferentes repostas ao servidor C2.

Primeiro, emitimos solicitações ao servidor C2 de uma VPN localizada na Califórnia, EUA, e o servidor não respondeu às solicitações. Em seguida, nos conectamos a outra VPN localizada no Oriente Médio e emitimos as mesmas solicitações, até um ponto em que o servidor C2 respondeu com um SWF malicioso e carga útil. Esse fato sugere que o grupo Sofacy utiliza localização geográfica para filtrar as solicitações vindas de locais que não coincidem com o local de seu alvo.

Emitimos então diversas solicitações para testar o C2 e toda vez o servidor respondia com diferentes variáveis k1, k2, k3 e k4, sugerindo que o servidor escolhesse aleatoriamente esses valores para cada entrada de solicitação.

Para testar ainda mais a lógica do servidor C2, criamos solicitações que continham valores diferentes para o sistema operacional e a versão do Flash Player. Quando enviamos as solicitações HTTP para o servidor C2 com a versão do Adobe Flash Player definida como 23.0.0.185, a versão mais recente do Flash vulnerável à CVE-2016-7855, o servidor respondeu com um arquivo SWF compactado (SHA256: c993c1e10299162357196de33e4953ab9ab9e9359fa1aea00d92e97e7d8c5f2c) que explorou essa mesma vulnerabilidade.

Finalmente, quando emitimos solicitações ao servidor C2 indicando que a vítima era um sistema macOS, o servidor C2 ofereceu o mesmo arquivo SWF malicioso e carga útil do Windows como antes, sugerindo que o grupo Sofacy não está usando o DealersChoice para verificar o tipo do sistema operacional de suas vítimas no momento.

Em todos os casos, a carga útil entregue pelo servidor C2 é um carregador de Cavalo de Tróia (SHA256: 3bb47f37e16d09a7b9ba718d93cfe4d5ebbaecd254486d5192057c77c4a25363) que instala uma variante do Seduploader (SHA256: 4cbb0e3601242732d3ea7c89b4c0fd1074fae4a6d20e5f3afc3bc153b6968d6e), que usa um servidor C2 de akamaisoftupdate[.]com.

Show Your Hand: Documentos isca

Seis documentos foram coletados dessa onda de ataques do DealersChoice, todos aparentando ser da Variante B, usando chamarizes semelhantes aos que observamos na onda de ataques anterior. Os seis nomes de arquivos que descobrimos foram:

  • Operation_in_Mosul.rtf – um artigo sobre tropas turcas em Mossul.
  • NASAMS.doc – um documento que é uma cópia de um artigo a respeito da compra de um sistema norueguês de defesa contra mísseis pelo Ministério de Defesa Nacional da Lituânia.
  • Programm_Details.doc – um documento que é uma cópia do cronograma de uma conferência sobre inteligência de ameaça cibernética em Londres, visando um Ministério da Defesa de um país na Europa.
  • DGI2017.doc – um documento destinado a um Ministério de Relações Exteriores de um país da Ásia Central a respeito da agenda para reunião da Inteligência de Defesa Geoespacial em Londres.
  • Olympic-Agenda-2020-20-20-Recommendations.doc – um documento contendo detalhes de contratos para as Olimpíadas de 2020.
  • ARM-NATO_ENGLISH_30_NOV_2016.doc – um documento descrevendo um acordo entre a República da Armênia e a OTAN.

dealerschoice_figure_6

Figura 6. Documentos isca coletados para a onda de ataques atual

Diferentemente dos primeiros ataques do DealersChoice, esses documentos usavam metadados extraídos ou falsificados para acrescentar uma camada extra de obscurecimento. Dois dos documentos, o NASAMS.doc e o Programm_Details.doc compartilhavam um nome de usuário comum e exclusivo, "pain" no campo Último Salvo por. Além disso, cada documento ameaçador continuava a usar a técnica OfficeTestSideloading que relatamos anteriormente. Essa foi a técnica que descobrimos que o grupo Sofacy começou a usar no verão passado como uma forma de fazer sideload de arquivos DLL usando um módulo de teste de desempenho construído no pacote do Microsoft Office, bem como para manter a persistência no host da vítima.

Nome do arquivo Autor Último Salvo por Assunto SHA256
Operation_in_Mosul.rtf Robert Tasevski —- Tropas turcas em Mossul f5d3e827…
NASAMS.doc Антон Гладнишки pain Sistema norueguês de defesa contra mísseis 1f81609d…
Programm_Details.doc Laci Bonivart pain Cronograma da conferência 1579c7a1…
DGI2017.doc Невена Гамизов Невена Гамизов Cronograma da conferência c5a389fa…
Olympic-Agenda-2020-20-20-Recommendations.doc Administrador Usuário Recomendações para as Olimpíadas de 2020 13718586…
ARM-NATO_ENGLISH_30_NOV_2016.doc Usuário Usuário Acordo OTAN 73ea2cce…

 

Os seis domínios C2 de primeiro estágio para os documentos ameaçadores estavam todos registrados por e-mails de registradores exclusivos. Versiontask[.]com e Uniquecorpind[.]com parecem ser de infraestrutura completamente nova, não compartilham nenhum artefato com as campanhas do grupo Sofacy observadas anteriormente.

Tipo Domínio Data do registro E-mail do registrador
C2 de primeiro estágio Versiontask[.]com 24/10/2016 dalchi0@europe.com
C2 de primeiro estágio Uniquecorpind[.]com 25/10/2016 yasiner@myself.com
C2 de primeiro estágio Securityprotectingcorp[.]com 19/08/2016 ottis.davis@openmailbox.org
C2 de primeiro estágio Postlkwarn[.]com 11/11/2016 fradblec@centrum.cz
C2 de primeiro estágio adobeupgradeflash[.]com 22/11/2016 nuevomensaje@centrum.cz
C2 de primeiro estágio globalresearching[.]org 18/11/2016 carroz.g@mail.com

 

Seis domínios C2 de segundo estágio para as cargas úteis de Seduploader fornecidos pelo DealersChoice foram identificados.

Tipo Domínio Data do registro E-mail do registrador
Seduploader C2 Joshel[.]com 11/11/2016 germsuz86@centrum.cz
Seduploader C2 Appservicegroup[.]com 19/10/2016 olivier_servgr@mail.com
Seduploader C2 Apptaskserver[.]com 22/10/2016 partanencomp@mail.com
Seduploader C2 Akamaisoftupdate[.]com 26/10/2016 mahuudd@centrum.cz
Seduploader C2 globaltechresearch[.]org 21/11/2016 morata_al@mail.com
Seduploader C2 researchcontinental[.]org 02/12/2016 Sinkholed

 

Assim como os domínios C2 do primeiro estágio, os cinco domínios C2 do segundo estágio cujo tráfego não foi redirecionado foram registrados recentemente e usavam endereços exclusivos de e-mail do registrador não usados anteriormente pelo grupo Sofacy. No entanto, cada um desses domínios usava servidores com nomes normalmente associados ao grupo Sofacy, ns*.carbon2u[.]com e ns*.ititch[.]com. O domínio akamaisoftupdate[.]com revelou artefatos adicionais que o vinculavam novamente a campanhas anteriores do grupo Sofacy. Com base nos dados de DNS passivo, descobrimos o akamaisoftupdate[.]com resolução para 89.45.67.20. Na rede parcial C da mesma classe, descobrimos 89.45.67.189, que anteriormente tinha resolução para updmanager[.]net, um domínio bem conhecido em uso pelo grupo Sofacy.

Foi verificado também que o domínio securityprotectingcorp[.]com tinha links para infraestruturas anteriores do grupo Sofacy. Ele foi registrado uns dois meses antes, mas análises do endereço de e-mail do registrador revelaram que ele também tinha sido usado para registrar o microsoftsecurepolicy[.]org, que detectamos ter usado dados de DNS passivo e tinha resolução para o 40.112.210.240, um redirecionamento de tráfego para vários outros domínios associados ao grupo Sofacy. Vários dos domínios correspondentes cujo tráfego foi redirecionado foram usados ao longo dos anos pelo grupo Sofacy para vários fins, como os C2s para várias ferramentas do Azzy ou XAgent, ou para hospedar sites de phishing para coletar credenciais dos alvos.

dealerschoice2_7

Figura 7 Gráfico da infraestrutura do DealersChoice

Conclusão

Desta vez, parece evidente que o grupo Sofacy está usando ativamente a ferramenta DealersChoice, especificamente a Variante B, para atacar alvos de seu interesse. Conforme evidenciado pela entrega do código de exploração para uma vulnerabilidade em Flash corrigida recentemente (que foi usava em ataques de dia zero), podemos ver como o malware fornece flexibilidade na metodologia de exploração e é realmente uma plataforma em si mesmo. A nova infraestrutura parece ter sido criada para o DealersChoice, mas como vimos no passado, o grupo Sofacy tende a reutilizar artefatos de campanhas anteriores e esta não é uma exceção. Os clientes da Palo Alto Networks podem saber mais e se proteger através do seguinte:

Observe que, embora a CVE-2016-7855 tenha sido uma vulnerabilidade de dia zero, os clientes da Palo Alto Networks foram protegidos pelo nosso agente de endpoint Traps conforme visto na Figura 8.

dealerschoice2_8

Figura 8 Traps da Palo Alto Networks bloqueando a exploração da vulnerabilidade CVE-2016-7855

Indicadores de comprometimento

Hashes do documento:

f5d3e827c3a312d018ef4fcbfc7cb5205c9e827391bfe6eab697cc96412d938e
1f81609d9bbdc7f1d2c8846dcfc4292b3e2642301d9c59130f58e21abb0001be
1579c7a1e42f9e1857a4d1ac966a195a010e1f3d714d68c598a64d1c83aa36e4
c5a389fa702a4223aa2c2318f38d5fe6eba68c645bc0c41c3d8b6f935eab3f64
137185866649888b7b5b6554d6d5789f7b510acd7aff3070ac55e2250eb88dab
73ea2ccec2cbf22d524f55b101d324d89077e5718922c6734fef95787121ff22

C2 do DealersChoice:

Versiontask[.]com
Uniquecorpind[.]com
Securityprotectingcorp[.]com
postlkwarn[.]com
adobeupgradeflash[.]com
researchcontinental[.]org

C2 do Seduploader:

Appservicegroup[.]com
Apptaskserver[.]com
Akamaisoftupdate[.]com
Joshel[.]com
globaltechresearch[.]org
researchcontinental[.]org


Folha de dados

PA-800

Dispositivos Palo Alto Networks PA-800 Series de última geração, incluindo o PA-820 e o PA-850, são desenvolvidos para proteger filiais corporativas e empresas de médio porte.

  • 5507

Folha de dados

PA-3200 Series

Organizações do mundo todo estão ampliando suas iniciativas de nuvem e vir- tualização além das tradicionais implantações de centro de dados e de nuvem pública. As novas iniciativas incluem segurança como um componente NFV ou como uma solução mais completa para vários locatários.

  • 5539

Folha de dados

PA-5200 Series

O PA-5200 Series da Palo Alto Networks® para dispositivos de firewall de última geração é composto pelo PA-5260, PA-5250 e PA-5220.

  • 2010

Folha de dados

GlobalProtect Datasheet

GlobalProtect extends the protection of the Palo Alto Networks Next-Generation Security Platform to your mobile workforce, no matter where they may go.

  • 15615

Folha de dados

PA-220

O PA-220 da Palo Alto Networks apresenta os recursos dos firewalls de última geração para filiais corporativas distribuídas, varejo e empresas de médio porte.

  • 4955

Folha de dados

PA-3000 Series Specsheet

O PA-3000 Series gerencia os fluxos do tráfego de rede usando processamento e memória dedicados para rede, segurança, gerenciamento e prevenção de ameaças.

  • 5406