Siga o dinheiro: como o grupo RTM começou a ocultar os endereços dos servidores C&C em uma carteira criptográfica

O grupo de criminosos cibernéticos RTM rouba dinheiro de clientes bancários desde 2015. A maioria de suas vítimas são empresas russas. O software malicioso usado pelos criminosos cibernéticos também é conhecido como RTM na comunidade de segurança da informação.


Muitos relatórios técnicos foram escritos sobre este programa, que descrevem em detalhes o mecanismo geral do malware. Neste artigo, focaremos nos métodos para obter os endereços dos servidores RTM de gerenciamento (C&C). Em cada iteração do programa, os invasores abordam inventivamente essa tarefa: distribuem o endereço por meio de blogs, usam o sistema de servidores DNS alternativos e a rede Tor. No outro dia, descobrimos que a RTM começou a ocultar o IP nas transações em uma carteira de bitcoin.


O que é RTM?


Na sua essência, o RTM é um cavalo de Troia bancário. O principal objetivo do programa é permitir que os atacantes manipulem as ordens de pagamento da empresa vítima, a fim de transferir silenciosamente seus fundos para a conta de criminosos cibernéticos.


Normalmente, o RTM é entregue ao computador da vítima por meio de listas de e-mail, menos comumente em sites invadidos (como publicações de notícias) ou recursos falsos para contadores. Os criminosos anexam um arquivo executável compactado às cartas. Como meio de empacotamento, os atacantes usam seus próprios arquivos de desenvolvimento e de extração automática.


Exemplos de arquivos executáveis ​​.exe distribuídos pelo grupo RTM

Os arquivos de amostra na figura são organizados em ordem de distribuição. Na maioria das vezes, os executáveis ​​da RTM eram empacotados com um empacotador personalizado e disfarçados como um documento PDF. No início de 2019, começaram a aparecer as primeiras amostras, que são um arquivo RAR de extração automática e são disfarçadas como um arquivo no formato DOCX. Atualmente, o RTM é distribuído como um arquivo CAB auto-extraível.


Representação binária do arquivo "Payment 11.06.exe"

Após o início, o arquivo executável copia a DLL compactada no disco e a inicia usando o utilitário rundll32.exe. Como regra, o nome interno desta biblioteca é core.dll. Sua operação subseqüente ocorre no espaço de endereço do processo rundll32.exe.


É o core.dll que fornece a interação principal com o servidor de controle RTM, através do qual o programa recebe comandos e módulos adicionais dos atacantes.


Os módulos são entregues em forma criptografada e podem ser iniciados de várias maneiras. Esses componentes permitem que os atacantes controlem remotamente um computador comprometido, substituam documentos de pagamento no sistema 1C, etc.


Maneiras de encontrar um servidor de gerenciamento


Feed RSS


Nas primeiras versões do RTM, um feed RSS foi usado para atualizar os endereços dos servidores de controle. Os invasores criaram um blog no LiveJournal contendo endereços C&C em formato criptografado. Para obter novos endereços de servidores de controle, uma solicitação foi enviada para o endereço hxxps: //.livejournal [.] Com / data / rss / e a resposta foi processada no seguinte formato (por exemplo, https://f72bba81c921.livejournal.com/data/rss/ ) :


Conteúdo do feed RSS. O campo de descrição contém endereços criptografados de servidores de controle


Linhas descriptografadas com o endereço inicial do servidor de gerenciamento e o endereço do feed RSS


.bit


Em março de 2016, a RTM começou a usar domínios na zona .bit como endereços dos servidores de controle. Eles são suportados por um registrador DNS Namecoin alternativo, baseado na tecnologia blockchain. Como o sistema é descentralizado, é difícil bloquear domínios .bit.


Os endereços IP dos servidores de gerenciamento no .bit RTM foram obtidos de duas maneiras:


  • através da API do Namecoin Block Browser;
  • através da resolução de nomes de domínio usando servidores DNS especiais.


A função de obter endereços IP de servidores de gerenciamento

Na função de obter endereços IP de servidores de controle por meio da API do navegador de blocos Namecoin, o conteúdo é processado no endereço hxxps: //namecoin.cyphrs [.] Com / api / name_show / d / stat-counter-7 (usando o domínio stat-counter-7) -7 [.] Bit):


A função de obter endereços IP de servidores de controle por meio da API do navegador de blocos Namecoin

Os endereços IP do servidor de gerenciamento são obtidos no corpo da resposta. Além das solicitações para hxxps: //namecoin.cyphrs [.] Com / api / name_show / d /, os atacantes também usavam solicitações para hxxps: // namecha [.] Em / name / d /, processando o campo "Current value":


Conteúdo da página da Web no URL hxxps: // namecha [.] Em / name / d / stat-counter-7

Se não fosse possível obter um endereço IP dessa maneira, os invasores resolveriam o nome de domínio do servidor de controle com a função DnsQuery_A usando servidores DNS especiais (por exemplo, daqui ).

O uso da função DnsQuery_A no código da biblioteca core.dll se parece com o seguinte:


A função de obter endereços IP de servidores de gerenciamento através da resolução de nomes de domínio usando servidores DNS especiais

A função DnsQuery_A possui o seguinte protótipo:


O protótipo da função DnsQuery_A declarado no arquivo de cabeçalho WinDNS.h

O quarto argumento para a função DnsQuery_A é o endereço da estrutura _IP4_ARRAY na pilha. Ele contém uma matriz de endereços IP de servidores DNS especiais:


Estrutura _IP4_ARRAY na pilha

Se a função DnsQuery_A for executada com êxito, o endereço IP do servidor de gerenciamento poderá ser obtido lendo o seguinte valor: pDnsRecord -> Data.A.IpAddress.


Pode ser visto no código descompilado de uma das instâncias em que um servidor DNS especial 188.165 [.] 200.156 é usado para resolver o nome de domínio da C&C. E em caso de falha, é usada uma lista de três servidores DNS: 91.217 [.] 137.37, 188.165 [.] 200.156, 217.12 [.] 210.54.


Tor


Em 15 de fevereiro de 2019, descobrimos pela primeira vez amostras RTM cujo servidor de gerenciamento está localizado na rede Tor (hxxp: // 5aaw3unbkm5jqx7d [.] Onion / index [.] Php).


Endereço do servidor de gerenciamento Tor entre cadeias descriptografadas


A seção do código desmontado em que a URL do servidor de controle é analisada

Tais amostras foram enviadas até 9 de abril de 2019, após o qual a RTM voltou a usar a zona de domínio .bit.


Bitcoin


Em 10 de junho de 2019, descobrimos uma amostra RTM que recebe os endereços IP dos servidores C&C de transações em uma carteira criptográfica específica. Cada endereço IP está oculto no número de bitcoins listados em duas transações.


Para obter endereços IP, o C&C VPO faz uma solicitação em hxxps: // chain [.] So / api / v2 / get_tx_received / BTC /. A resposta contém um conjunto de transações para a conta da carteira criptográfica. Um exemplo é mostrado na captura de tela:



Considere a seção de código na qual os endereços IP do servidor de gerenciamento são obtidos:



A função FindValue procura a parte fracionária do valor da transferência. A pesquisa é realizada no final do buffer e, a cada chamada de função subsequente, os dados são processados, iniciando no índice atual. Ou seja, com chamadas sucessivas para a função FindValue, os valores 8483, 40030, 14728 e assim por diante serão obtidos. O programa gera dois endereços IP: cada endereço está oculto em duas traduções consecutivas.


Código desmontado para obter um endereço IP de transferências para uma carteira criptográfica

Este código faz o seguinte:

ip_address = str(value_1 & 0xff) + "." + str(value_1 >> 0x8) + "." + str(value_0 & 0xff) + "." + str(value_0 >> 0x8) 

Ou seja, listando 0.00008483 BTC e depois 0.00040030 BTC, os atacantes ocultaram o endereço IP 94.156 [.] 35.33 para o programa. Da mesma forma, nas duas transações anteriores, o RTM obtém o segundo endereço IP do servidor de gerenciamento.


Como tal, o malware RTM está sendo enviado até hoje.


Conclusão


Você pode perceber que, ao organizar a transferência do endereço do servidor C&C, a RTM gosta de usar abordagens que permitem alterar dinamicamente o IP sem modificar o código-fonte do malware.


Por um lado, isso facilita a vida dos invasores e pode levar os analistas a se desviarem. Por outro lado, permite que os especialistas prevejam os endereços dos servidores de controle antes que sejam enviadas mal-intencionadas.

Source: https://habr.com/ru/post/pt456804/


All Articles