A participação falhou: vamos expor o AgentTesla à água limpa. Parte 2

A participação falhou: vamos expor o AgentTesla à água limpa. Parte 2
Continuamos nossa série de artigos dedicados à análise de malware. EM primeiro Em parte, contamos como Ilya Pomerantsev, especialista em análise de malware do CERT Group-IB, conduziu uma análise detalhada de um arquivo recebido por correio de uma das empresas europeias e descobriu spyware lá Agente Tesla. Neste artigo, Ilya fornece os resultados de uma análise passo a passo do módulo principal Agente Tesla.

Agent Tesla é um software de espionagem modular distribuído usando um modelo de malware como serviço sob o disfarce de um produto keylogger legítimo. O Agente Tesla é capaz de extrair e transmitir credenciais de usuário de navegadores, clientes de e-mail e clientes FTP para o servidor para invasores, gravando dados da área de transferência e capturando a tela do dispositivo. No momento da análise, o site oficial dos desenvolvedores não estava disponível.

Arquivo de configuração

A tabela abaixo lista quais funcionalidades se aplicam ao exemplo que você está usando:

descrição Valor
Sinalizador de uso do KeyLogger verdadeiro
Sinalizador de uso do ScreenLogger falso
Intervalo de envio de log do KeyLogger em minutos 20
Intervalo de envio de log do ScreenLogger em minutos 20
Sinalizador de manipulação de chave de backspace. Falso – apenas registro. True – apaga a chave anterior falso
Тип CnC. Варианты: smtp, webpanel, ftp smtp
Sinalizador de ativação de thread para encerrar processos da lista “%filter_list%” falso
Флаг отключения UAC falso
Sinalizador de desativação do gerenciador de tarefas falso
Sinalizador de desativação de CMD falso
Флаг отключения окна «Выполнить» falso
Sinalizador de desativação do visualizador de registro falso
Desativar sinalizador de pontos de restauração do sistema verdadeiro
Sinalizador de desativação do painel de controle falso
Sinalizador de desativação MSCONFIG falso
Sinalizador para desativar o menu de contexto no Explorer falso
Bandeira de fixação falso
Путь для копирования основного модуля при закреплении в системе %startupfolder% %insfolder%%insname%
Flag para configuração dos atributos “Sistema” e “Oculto” do módulo principal atribuído ao sistema falso
Sinalizador para executar uma reinicialização quando fixado ao sistema falso
Sinalizador para mover o módulo principal para uma pasta temporária falso
Bandeira de desvio do UAC falso
Formato de data e hora para registro aaaa-MM-dd HH:mm:ss
Sinalizador para usar um filtro de programa para KeyLogger verdadeiro
Tipo de filtragem do programa.
1 – o nome do programa é pesquisado nos títulos das janelas
2 – o nome do programa é procurado na janela nome do processo
1
Filtro de programa "Facebook"
"Twitter"
"gmail"
"Instagram"
"filme"
"Skype"
"pornô"
"hackear"
"Whatsapp"
"discórdia"

Conectando o módulo principal ao sistema

Se o sinalizador correspondente for definido, o módulo principal será copiado para o caminho especificado na configuração como o caminho a ser atribuído ao sistema.

Dependendo do valor da configuração, o arquivo recebe os atributos “Oculto” e “Sistema”.
A execução automática é fornecida por duas ramificações do registro:

  • Software HKCUMicrosoftWindowsCurrentVersionRun%insregname%
  • HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun %insregname%

Já que o bootloader injeta no processo RegAsm, definir o sinalizador persistente para o módulo principal leva a consequências bastante interessantes. Em vez de se copiar, o malware anexou o arquivo original ao sistema RegAsm.exe, durante o qual a injeção foi realizada.

A participação falhou: vamos expor o AgentTesla à água limpa. Parte 2
A participação falhou: vamos expor o AgentTesla à água limpa. Parte 2

Interação com C&C

Independentemente do método utilizado, a comunicação em rede começa com a obtenção do IP externo da vítima utilizando o recurso verificação[.]amazonaws[.]com/.
A seguir são descritos os métodos de interação de rede apresentados no software.

painel da web

Взаимодействие идет по HTTP-протоколу. ВПО выполняет POST-запрос со следующими заголовками:

  • Agente do usuário: Mozilla/5.0 (Windows U Windows NT 6.1 ru rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)
  • Conexão: Keep-Alive
  • Tipo de Conteúdo: application / x-www-form-urlencoded

O endereço do servidor é especificado pelo valor %PostURL%. Зашифрованное сообщение передается в параметре «P». O mecanismo de criptografia é descrito na seção "Algoritmos de criptografia" (Método 2).

A mensagem transmitida fica assim:

type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nclient={8}nlink={9}nusername={10}npassword={11}nscreen_link={12}

Parâmetro tipo indica o tipo de mensagem:

A participação falhou: vamos expor o AgentTesla à água limpa. Parte 2
hwid — um hash MD5 é registrado a partir dos valores do número de série da placa-mãe e do ID do processador. Provavelmente usado como ID de usuário.
tempo — serve para transmitir a hora e a data atuais.
nome do computador - definido como <Имя пользователя>/<Имя компьютера>.
dados de registro - registrar dados.

Ao transmitir senhas, a mensagem fica assim:

type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nscreen_link={8}n[passwords]

A seguir estão as descrições dos dados roubados no formato nclient[]={0}nlink[]={1}nome de usuário[]={2}nsenha[]={3}.

smtp

A interação ocorre através do protocolo SMTP. A carta transmitida está em formato HTML. Parâmetro BODY parece:

A participação falhou: vamos expor o AgentTesla à água limpa. Parte 2
O cabeçalho da carta tem a forma geral: / . O conteúdo da carta, bem como seus anexos, não são criptografados.

A participação falhou: vamos expor o AgentTesla à água limpa. Parte 2
A interação ocorre através do protocolo FTP. Um arquivo com o nome é transferido para o servidor especificado <ТИП КОНТЕНТА>_<ИМЯ ПОЛЬЗОВАТЕЛЯ>-<ИМЯ КОМПЬЮТЕРА>_<ДАТА И ВРЕМЯ>.html. O conteúdo do arquivo não é criptografado.

A participação falhou: vamos expor o AgentTesla à água limpa. Parte 2

Algoritmos de criptografia

Este caso usa os seguintes métodos de criptografia:

O método 1

Este método é usado para criptografar strings no módulo principal. O algoritmo usado para criptografia é AES.

A entrada é um número decimal de seis dígitos. A seguinte transformação é realizada nele:

f(x) = (((x >> 2 - 31059) ^ 6380) - 1363) >> 3

O valor resultante é o índice da matriz de dados incorporada.

Cada elemento da matriz é uma sequência DWORD. Ao mesclar DWORD uma matriz de bytes é obtida: os primeiros 32 bytes são a chave de criptografia, seguidos por 16 bytes do vetor de inicialização e os bytes restantes são os dados criptografados.

O método 2

Algoritmo usado 3DES no modo BCE com preenchimento em bytes inteiros (PKCS7).

A chave é especificada pelo parâmetro %urlkey%, entretanto, a criptografia usa seu hash MD5.

Funcionalidade maliciosa

A amostra em estudo utiliza os seguintes programas para implementar sua função maliciosa:

KeyLogger

Se houver um sinalizador de malware correspondente usando a função WinAPI DefinirWindowsHookEx atribui seu próprio manipulador para eventos de pressionamento de tecla no teclado. A função manipuladora começa obtendo o título da janela ativa.

Se o sinalizador de filtragem do aplicativo estiver definido, a filtragem será executada dependendo do tipo especificado:

  1. o nome do programa é procurado nos títulos das janelas
  2. o nome do programa é procurado na janela nome do processo

A seguir, um registro é adicionado ao log com informações sobre a janela ativa no formato:

A participação falhou: vamos expor o AgentTesla à água limpa. Parte 2
Em seguida, são registradas informações sobre a tecla pressionada:

Key Registro
Retrocesso Dependendo do sinalizador de processamento da chave Backspace: False – {BACK}
True – apaga a chave anterior
CAPS LOCK {CAPSLOCK}
CES {ESC}
PageUp {Subir página}
Para baixo &darr;
EXCLUIR {DEL}
" "
F5 {F5}
&
F10 {F10}
ABA {ABA}
< <
> >
lacuna
F8 {F8}
F12 {F12}
F9 {F9}
ALT + TAB {ALT+TAB}
END {FIM}
F4 {F4}
F2 {F2}
CTRL {CTRL}
F6 {F6}
Certo
Up &uarr;
F1 {F1}
Esquerdo &larr;
PageDown {PageDown}
inserção {Inserir}
Wine Folly {Ganhar}
NumLock {NumLock}
F11 {F11}
F3 {F3}
EMPRESA {LAR}
ENTRAR {DIGITAR}
ALT + F4 {ALT+F4}
F7 {F7}
Outra chave O caractere está em letras maiúsculas ou minúsculas dependendo das posições das teclas CapsLock e Shift

Em uma frequência especificada, o log coletado é enviado ao servidor. Se a transferência não for bem-sucedida, o log será salvo em um arquivo %TEMP%log.tmp em formato:

A participação falhou: vamos expor o AgentTesla à água limpa. Parte 2
Quando o cronômetro disparar, o arquivo será transferido para o servidor.

Registrador de tela

Com uma frequência especificada, o malware cria uma captura de tela no formato Jpeg com valor Qualidade igual a 50 e salva em um arquivo %APPDATA %.jpg. Após a transferência, o arquivo é excluído.

ClipboardLogger

Se o sinalizador apropriado for definido, as substituições serão feitas no texto interceptado conforme tabela abaixo.

A participação falhou: vamos expor o AgentTesla à água limpa. Parte 2
Depois disso, o texto é inserido no log:

A participação falhou: vamos expor o AgentTesla à água limpa. Parte 2

Ladrão de senhas

O malware pode baixar senhas dos seguintes aplicativos:

Browsers Clientes de correio Clientes FTP
Chrome Outlook FileZilla
Firefox Thunderbird WS_FTP
IE/Edge Foxmail WinSCP
Safári Opera Mail CoreFTP
Navegador Opera IncrediMail FTP Navigator
Yandex Pocomail FlashFXP
Comodo Eudora SmartFTP
Chrome Plus O morcego FTPCommander
crômio Postbox
Tocha ClawsMail
7Star
Amigo
BraveSoftware Clientes Jabber Clientes VPN
CentBrowser Psi/Psi+ VPN aberta
Chedot
CocCoc
Navegador de elementos Gerenciadores de download
Navegador épico de privacidade Internet Download Manager
Cometa JDownloader
órbita
Sputnik
uCozMedia
Vivaldi
SeaMonkey
Navegador Flock
UC browser
Falcão
Cyber ​​Fox
K-Meleon
gato de gelo
Icedragon
Lua pálida
raposa d'água
Navegador Falkon

Contra-ação à análise dinâmica

  • Usando a função Dormir. Permite ignorar alguns sandboxes por tempo limite
  • Destruindo um tópico Zona.Identificador. Позволяет скрыть факт загрузки файла из интернета
  • No parâmetro %filtro_lista% especifica uma lista de processos que o malware encerrará em intervalos de um segundo
  • Desconectando UAC
  • Desativando o gerenciador de tarefas
  • Desconectando CMD
  • Desativando uma janela "Corre"
  • Desativando o Painel de Controle
  • Desativando uma ferramenta RegEdit
  • Desativando pontos de restauração do sistema
  • Desative o menu de contexto no Explorer
  • Desconectando MSCONFIG
  • Desviar UAC:

Recursos inativos do módulo principal

В ходе анализа основного модуля были выявлены функции, отвечающие за распространение по сети и отслеживание положения мыши.

Verme

Os eventos de conexão de mídia removível são monitorados em um thread separado. Quando conectado, o malware com o nome é copiado para a raiz do sistema de arquivos scr.exe, após o qual ele procura arquivos com a extensão lnk. A equipe de todos lnk muda para cmd.exe /c start scr.exe&start & exit.

Cada diretório na raiz da mídia recebe um atributo "Escondido" e um arquivo é criado com a extensão lnk com o nome do diretório oculto e o comando cmd.exe /c start scr.exe&explorer /root,"%CD%" & sair.

MouseTracker

O método para realizar a interceptação é semelhante ao usado para o teclado. Esta funcionalidade ainda está em desenvolvimento.

Atividade de arquivo

Caminho descrição
%Temp%temp.tmp Contém um contador para tentativas de desvio do UAC
%startupfolder%%insfolder%%insname% Caminho a ser atribuído ao sistema HPE
%Temp%tmpG{Tempo atual em milissegundos}.tmp Caminho para backup do módulo principal
%Temp%log.tmp Arquivo de log
%AppData%{Произвольная последовательность из 10 симоволов}.jpeg Screenshots
C:UsersPublic{Uma sequência arbitrária de 10 caracteres}.vbs Caminho para um arquivo vbs que o bootloader pode usar para anexar ao sistema
%Temp%{Nome da pasta personalizada}{Nome do arquivo} Caminho usado pelo bootloader para se conectar ao sistema

Perfil do invasor

Graças aos dados de autenticação codificados, conseguimos obter acesso ao centro de comando.

A participação falhou: vamos expor o AgentTesla à água limpa. Parte 2
Это позволило нам выявить конечную почту злоумышленников:

junaid[.]in***@gmail[.]com.

O nome de domínio do centro de comando está registrado no correio sg***@gmail[.]com.

Conclusão

Durante uma análise detalhada do malware utilizado no ataque, conseguimos estabelecer sua funcionalidade e obter a lista mais completa de indicadores de comprometimento relevantes para este caso. A compreensão dos mecanismos de interação de rede entre malwares possibilitou dar recomendações para ajustar o funcionamento das ferramentas de segurança da informação, bem como escrever regras de IDS estáveis.

Perigo principal Agente Tesla como o DataStealer, pois não precisa se comprometer com o sistema ou esperar que um comando de controle execute suas tarefas. Uma vez na máquina, ele imediatamente começa a coletar informações privadas e transferi-las para o CnC. Este comportamento agressivo é, em alguns aspectos, semelhante ao comportamento do ransomware, com a única diferença de que este último nem sequer requer uma ligação à rede. Se você encontrar essa família, depois de limpar o sistema infectado do próprio malware, você definitivamente deve alterar todas as senhas que poderiam, pelo menos teoricamente, ser salvas em um dos aplicativos listados acima.

Olhando para o futuro, digamos que os invasores que enviam Agente Tesla, o carregador de boot inicial é alterado com muita frequência. Isso permite que você passe despercebido por scanners estáticos e analisadores heurísticos no momento do ataque. E a tendência dessa família de iniciar imediatamente suas atividades inutiliza os monitores do sistema. A melhor maneira de combater o AgentTesla é uma análise preliminar em uma sandbox.

No terceiro artigo desta série veremos outros bootloaders usados Agente Tesla, e também estudar o processo de sua desembalagem semiautomática. Não perca!

Hash

SHA1
A8C2765B3D655BA23886D663D22BDD8EF6E8E894
8010CC2AF398F9F951555F7D481CE13DF60BBECF
79B445DE923C92BF378B19D12A309C0E9C5851BF
15839B7AB0417FA35F2858722F0BD47BDF840D62
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD

C & C

URL
sina-c0m[.]icu
smtp[.]sina-c0m[.]icu

Chave Regista

Lista de Presentes
HKCUSoftwareMicrosoftWindowsCurrentVersionRun{Nome do script}
HKCUSoftwareMicrosoftWindowsCurrentVersionRun%insregname%
HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun%insregname%

Mutex

Não há indicadores.

Arquivos

Atividade de arquivo
%Temp%temp.tmp
%startupfolder%%insfolder%%insname%
%Temp%tmpG{Tempo atual em milissegundos}.tmp
%Temp%log.tmp
%AppData%{Произвольная последовательность из 10 симоволов}.jpeg
C:UsersPublic{Uma sequência arbitrária de 10 caracteres}.vbs
%Temp%{Nome da pasta personalizada}{Nome do arquivo}

Informações de amostras

Nome Desconhecido
MD5 F7722DD8660B261EA13B710062B59C43
SHA1 15839B7AB0417FA35F2858722F0BD47BDF840D62
SHA256 41DC0D5459F25E2FDCF8797948A7B315D3CB0753
98D808D1772CACCC726AF6E9
Formato PE (.NET)
Tamanho 327680
Nome original AZZRIDKGGSLTYFUUBCCRRRCUMRKTOXFVPDKGAGPUZI_20190701133545943.exe
Carimbo de data 01.07.2019
Compilador VB.NET

Nome IELibrary.dll
MD5 BFB160A89F4A607A60464631ED3ED9FD
SHA1 1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD
SHA256 D55800A825792F55999ABDAD199DFA54F3184417
215A298910F2C12CD9CC31EE
Formato PE (DLL .NET)
Tamanho 16896
Nome original IELibrary.dll
Carimbo de data 11.10.2016
Compilador Vinculador Microsoft (48.0*)

Fonte: habr.com

Adicionar um comentário