Ir para conteúdo

AnalyseMe - Nível 02


Leandro Fróes

Posts Recomendados

  • Moderadores
Postado

Faaala galera, planos pro fds? Espero que não pois aqui está o nosso terceiro desafio da série AnalyseMe. Para aqueles que ainda não fizeram os desafios anteriores eu indico fortemente fazer e postar para a galera se ajudar e aprender junto. Qualquer dúvida fique a vontade para perguntar também.

Lembrando que é pra postar a solução usando o modelo e entre tags spoiler (olhinho.png.f1c595fbcc6c51c97cd8ab5e67d1fe54.png):

Spoiler


  1. Tipo de arquivo: PE EXE
  2. Compilador/linguagem: Borland C++
  3. Protector/packer: Nenhum
  4. SHA-256: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
  5. Strings interessantes: X, Y, Z
  6. Funções locais maliciosas: 405040 (faz tal coisa), 403570 (faz coisa e tal)
  7. Chamadas à API do Windows e outras bibliotecas: CreateWindowExA(parâmetros), InternetOpenFileA(parâmetros)...
  8. Atividades de rede: resolve o domínio X, baixa Y da URL Z
  9. O que o binário faz em linhas gerais: Rouba as senhas armazenadas no browser.
  10. O que foi modificado no sistema: o arquivo X é criado e uma chave de registro é adicionada em HKLM\Microsoft\Windows\CurrentVersion\Run com o valor c:\binario.exe


 

Abraços!

AnalyseMe-02.exe

Postado

Boa tarde Leandro,

Abaixo minha análise desse sample.

Spoiler

Tipo de arquivo: PE EXE
Compilador/linguagem: Visual Studio C/C++
Protector/packer: Nenhum
SHA-256: cfbfa910884ffc3daa1708290597ca89d4104289284a0ed3fe1e90919c60dff7
Strings interessantes: "http://2016.eicar.org/download/eicar.com" (ofuscada como "3//+attikjmu>28:)u4)<t?4,574:?t>28:)u846"), "\\windowsupdate.exe" (ofuscada como ",25?4,(.+?:/>u>#>" e "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0" (ofuscada também);
Funções locais maliciosas: 4011A0 (reconstrói as strings, faz o download e escrita do arquivo);
Chamadas à API do Windows e outras bibliotecas: InternetReadFile, InternetOpenA, InternetOpenUrlA, WriteFile, GetTempPathA, CreateFileA;
Atividades de rede: Baixa o arquivo em "http://2016.eicar.org/download/eicar.com" usando o user-agent do Firefox;
O que o binário faz em linhas gerais: Reconstrói as strings ofuscadas fazendo um XOR byte a byte com 0x5B, salva o arquivo baixado na pasta temporária do usuário com o nome "windowsupdate.exe" para passar despercebido;
O que foi modificado no sistema: O arquivo windowsupdate.exe foi criado dentro da pasta temporária do usuário;

Valeu e abs!
Rafael

  • Apoiador Nibble
Postado

Bom...
 

Spoiler

 

Passei um bom tempo tentando entender esse trecho que fica logo no início de 4011A0 mas depois de um tempo percebi que mais abaixo havia o XOR 5B.

push    ebx
mov     ebx, esp
sub     esp, 8
and     esp, 0FFFFFFF0h
add     esp, 4
push    ebp
mov     ebp, [ebx+4]
mov     [esp+0Ch+var_8], ebp
mov     ebp, esp
sub     esp, 208h
movups  xmm0, ds:xmmword_402040
push    esi
push    edi
mov     al, ds:byte_402068
lea     edi, [ebp-0B0h]
mov     ecx, 13h
mov     [ebp-38h], al
mov     esi, offset unk_402070
mov     ax, ds:word_4020D0
rep movsd
movups  xmmword ptr [ebp-60h], xmm0
lea     ecx, [ebp-0B0h]
mov     dword ptr [ebp-4], 0
movups  xmm0, ds:xmmword_402050
movsw
xor     esi, esi
mov     dword ptr [ebp-0Ch], 0
movups  xmmword ptr [ebp-50h], xmm0
lea     edi, [ecx+1]
mov     [ebp-20h], ax
movq    xmm0, ds:qword_402060
xor     edx, edx
movq    qword ptr [ebp-40h], xmm0
movups  xmm0, ds:xmmword_4020C0
movups  xmmword ptr [ebp-30h], xmm0
nop     dword ptr [eax]

 

Depois disso minha análise ficou conforme descrito por @rcimatti

  • 2 semanas depois...
  • Apoiador Nibble
Postado
Spoiler

Tipo de arquivo: PE EXE

Compilador/linguaguem:  Microsoft Visual C/C++ - C/C++

Protector/packer: Nenhum

SHA-256: cfbfa910884ffc3daa1708290597ca89d4104289284a0ed3fe1e90919c60dff7

Strings interessantes: "C:\Users\IEUser\Desktop\Project1\Release\Project1.pdb"(path para projeto do sample) , "3//+attikjmu>28:)u4)<t?4,574:?t>28:)u846"(url eicar encodada via xor),"4!277:tnuk{s25?4,({{muj`{25mo`{#mo`{)-aolukr{>804tikjkkjkj{2)>=4#toluk,25?4,(.+?:/>u>#>"(User agent firefox, encodada via xor)

Funções locais maliciosas: 00401001(Pega atual diretorio para usar como base), 004011A0 (Decripta strings codificadas via XOR usando a chave 0x5B e faz uso da lib WinNet para criar um downloader usando as headers do firefox, para poder baixar o sample eicar na maquina e escrever em um arquivo temporario com o nome de windowsupdate.exe)

Chamadas à API do Windows e outras bibliotecas:  Chamadas notaves: Kernel32 - GetCommandLineA, lstrlenA, WriteFile, GetTempPathA, CreateFileA. WinNet - InternetReadFile, InternetOpenA, InternetOpenUrlA

Atividades de rede: request HTTP para download do código malicioso em "http://2016.eicar.org/download/eicar.com"

O que o binário faz em linhas gerais: Age como um dropper, baixa um codigo malicioso (eicar) e escreve nos arquivos temporarios como windowsupdate.exe, porém as strings referentes a URL do sample eicar, nome do arquivo escrito e user agent estão encriptadas usando XOR,
                      na função 004011A0 é feito o tratamento da string e a decodificação com a chave 0x5B além da execução do download do sample eicar.
                
                      Simples codigo para decifrar, em python:


                                  >>> def xor(string, key):        
                                          ...     out = ""
                                          ...     for s in string:
                                          ...             out += chr(ord(s) ^ key)
                                          ...     print(out)
                                          ...
                            >>> xor("3//+attikjmu>28:)u4)<t?4,574:?t>28:)u846", 0x5B)
                            windowsupdate.exe

O que foi modificado no sistema:  Binário escrito nos arquivos temporarios

 

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...