Guloader é um downloader que tem sido em diversos ataques.
Um downloader é um programa malicioso cujo objetivo é carregar outras partes de malwares. São utilizados como a parte inicial de um ataque infectando máquinas através de e-mails ou fragilidades que permitem execução de código.
O downloader Guloader foi encontrado pela primeira vez em dezembro de 2019 e tem sido utilizado desde então em diversos ataques a instituições financeiras na Europa e se espalhou pelo resto do mundo no início do ano.
Vários pesquisadores de segurança identificaram o downloader em seus honeypots, o que significa que ele ganhou rapidamente popularidade entre hackers.
Quando apareceu pela primeira vez, o GuLoader foi usado para baixar o Parallax RAT, mas tem sido aplicado a outros trojans de acesso remoto e info-stealers como Netwire, FormBook, e Tesla.
Recentemente, o malware foi espalhado em um email de phishing direcionado contra um grande banco. Apesar da Parallax RAT estar entre os primeiros malwares utilizados com o GuLoader, notamos que esta campanha em particular tinha a Remcos RAT como carga útil final.
O GuLoader é considerado um dos downloads mais avançados, escrito em Visual Basic, criado com técnicas avançadas para dificultar a análise estática de seu código.
Neste post do ThreatAlerts, vamos falar sobre o funcionamento interno do GuLoader. Isso inclui seu código shell, técnicas de evasão e seu mecanismo de entrega.

Como ocorre a infecção

A primeira etapa da infecção ocorre através de um e-mail que alega ser uma fatura para pagamento. Este e-mail contém um arquivo ZIP anexo, como em outros e-mails de phishing.

A infecção ocorre quando o usuário baixa e abre o arquivo zip. O e-mail aparece como parte de uma cadeia, o que torna mais provável que o alvo abra o anexo quando ele for recebido.

O e-mail de phishing do GuLoader finge ser um pedido de pagamento ou documento de cotação de produtos.

O anexo do arquivo ZIP contém um executável VB6 que armazena um código de shell criptografado. O código da shell é XORed com uma chave de 4 bytes que o descompacta despois de ser executado.

GULOADER SHELLCODE

GuLoader tem algumas características evasivas fortes em seu código de shell, com vários truques anti-debugging para dificultar a análise de soluções defensivas. Estes incluem:

Anti-Debugger Attachment

A fim de evitar que um depurador se anexe ao processo, os autores do malware hookan DbgBreakPoint e DbgUiRemoteBreakin. Atacantes normalmente fazem hook nessas funções com um Jump para a função “ExitProcess”. No caso do Guloader, porém, o hook aponta para nop’s ou para um endereço inválido o que causa travaento do debugger.
Além do jumper para um endereço inválido, há também um hook para NTDLL que impede outras funções de depuração.
O código da shell envolve várias chamadas API para verificar se há interrupções de hardware definidas. Ele faz isso para identificar se alguém está tentando analisar seu código.
Se ele detectar breakpoints de hardware ou soft breakpoints ele irá pular para um endereço inválido para travar o programa.
Ele faz isso verificando se os registros DR* estão definidos com um valor diferente de 0, e verifica se os bytes da API chamada são 0xCC, 0x3CD ou 0xB0F.
GuLoader verifica pontos de interrupção de hardware e pontos de interrupção de software antes de executar uma chamada de API
Chama o NtSetInformationThread com a classe de informação ThreadHideFromDebugger (0x11).

Análise estática e dinâmica — Código x86\x64 misturado

O mesmo código da shell pode ser lido como código x64 bit e x86 bit. Embora o código shell só funcione como x86 bit, isto é usado para dificultar a análise estática e dinâmica empurrando instruções de lixo que não afetam o fluxo original do código shell.

FUNCIONALIDADE SHELLCODE DO GULOADER

Guloader utiliza a função de hash djb2 para resolver chamadas API por hash. Ele faz isso para resolver o GetProcAddress. Então, ele estará usando a mesma função hash do djb2 para recuperar outras chamadas de API.
GuLoader utiliza uma variação de process hollowing injection para executar sua próxima etapa.

Ele gera um novo processo suspenso de si mesmo (CreateProcessInternalW), e então irá mapear a “msvbvm60.dll” sobre o processo filho em 0x400000. Outras variações do Guloader ele cria o “RegAsm.exe” como um processo filho e mapeia “mstsc.exe”. Em seguida, ele injeta o código da shell no processo filho, mudando o ponto de entrada para o ponto de entrada do código da shell. O processo é então resumido e o processo filho baixa o payload criptografado e sobrescreve a imagem em 0x400000 com a versão descriptografada. A carga descriptografada, em nossa análise, é a Remcos RAT.

O carregador então itera através das URLs; existem várias URLs que ele utiliza para acesso remoto. Em seguida, ele baixa a carga final na sua forma criptografada e a descriptografa usando a chave XOR (0x239 de comprimento nesta amostra), que é armazenada no shellcode.

URLS Utilizadas

As URLs utilizadas pelo loader nos samples que encontramos são:
hxxp://arabianbrother[.]com/a/6.bin
hxxp://arabianbrother[.]com/a/3.bin
hxxp://ntaryan[.]com/a/6.bin
hxxp://ntaryan[.]com/a/3.bin
hxxps://drive.google[.]com/uc?export=download&id=12dw-X7CxidMNeST2IlWkZAaJAha5TUFG
hxxps://drive.google[.]com/uc?export=download&id=1xz02BCj0obD4UPgs0CMtu_6GXxCEYXz
hxxps://drive.google[.]com/uc?export=download&id=1xm_RKeKAUaH1QnWB_RZw4nMtdq7jK_PX

RAT PayLoad

Uma vez executado, o downloader repassa o controle para o RAT e a máquina infectada passa a ser remotamente controlada pelo atacante.
Nesse momento, alguns pesquisadores tem verificado que os hacker iniciam a segunda etapa do ataque utilizando a máquina infectada para infectar outras máquinas na rede, esnifar tráfego da rede ou sequestrar seções de online baking.

CONCLUSÃO

Guloader tem aparecido cada vez mais como downloader de malwares em diversos países.
Ele é um dos mais avançados malwares atualmente em uso e é capaz de carregar vários outros malwares a partir de núvem privadas.
Vertros CyberDefense é capaz de identificar e bloquear esse e vários outros malwares.
Esta proteção se extende tanto a computadores locais quanto aqueles utilizados remotamente.
Caso tenha interesse em saber se sua infraestrutura já foi ou está infectada por esse ou vários outros malware novos invisíveis para os antivirus, faça um trial do CyberDefense e descubra.

Category
Tags

One response

Leave a Reply

Your email address will not be published. Required fields are marked *