🚀 A CloudSEK se torna a primeira empresa de segurança cibernética de origem indiana a receber investimentos da Estado dos EUA fundo
Leia mais

Em 27 de agosto de 2021, pesquisadores de segurança cibernética descobriram um carregador de malware chamado Colibri sendo vendido em um fórum russo clandestino. Os atores afirmam que o carregador é furtivo e pode ser usado para atingir sistemas Windows, para colocar outros malwares no sistema infectado.
Os recursos do carregador, conforme listado no anúncio, incluem o seguinte:

Postagem do ator da ameaça no fórum de crimes cibernéticos
Desembalando o carregador
O carregador Colibri vem embalado em um arquivo executável trojanizado. Usando x64dbg (depurador) e colocando pontos de interrupção na função Virtual Alloc conseguimos extrair a carga útil real do carregador Colibri.
Ao testar a carga extraída com o PeStudio, é evidente que a carga tem apenas duas seções, .texto (Seção de Código) e .reloc (Seção de realocação). Os resultados da varredura da carga útil também mostram a existência de uma seção automodificável no código. Isso implica que a carga útil é capaz de resolver dinamicamente outras partes do código que não são acessíveis por meio da análise estática da carga.
Ao executar a carga em um depurador IDA, poderemos resolver a seção de código automodificável da carga.



Para evitar a detecção estática pelos AVs, o autor da carga faz o hash de todas as funções do WinAPI, ignorando a Tabela de Endereços de Importação (IAT), que ajuda a reconhecer estaticamente a atividade do malware. A carga resolve os nomes das funções dinamicamente usando as operações XOR e Shift. Depois de resolver o nome da função, o endereço da função é armazenado no registro eax e uma função de chamada é criada.


Antes de ser executada no sistema, a carga cria um mutex chamando a função createMuteXw e, em seguida, testa se há uma instância da carga já em execução no sistema infectado. Se houver um processo de carga em execução no sistema, a carga chamará a função ExitProcess e sairá da execução. Se não houver nenhuma instância da carga em execução no sistema, a carga continuará a execução e chamará a Dormir função de dormir por 3 segundos como uma maneira simples de evitar a proteção.

Para tornar a análise estática mais difícil e evitar a detecção, o autor desse malware criptografou todas as sequências. Depois de resolver os nomes das funções dinamicamente e usar o depurador, as sequências de caracteres extraídas da carga útil terão os seguintes artefatos:
A carga útil inicializa primeiro o uso das funções WinINet chamando Internet OpenW, seguido pelo qual ele abre a seção HTTP com a função Conexão à Internet W. A carga cria uma solicitação HTTP chamando a função HTTP OpenRequestW sob os seguintes parâmetros:
/OBTER/gate.php? type=check&uid=59045f4ff04f133112200HTTP/1.1Depois disso, a carga envia a solicitação GET para o servidor chamando a função httpSendRequestW. Em seguida, a carga chama a função Dados de consulta na Internet disponíveis para determinar a quantidade de dados solicitados. Com base nos resultados das chamadas de função anteriores, a carga útil lê os dados chamando a função Arquivo de leitura na Internet. Nossa suposição é que a carga solicita o servidor C2 e baixa outra carga útil no sistema.
A carga chama a função CryptString para binário, para descriptografar dados depois de baixar os dados do servidor C2, o que indica que os dados podem ser criptografados.

O carregador Colibri é um tipo de malware usado para carregar mais tipos de malware no sistema infectado. Esse carregador tem várias técnicas que ajudam a evitar a detecção. Isso inclui omitir o IAT (Tabela de Endereços de Importação) junto com as sequências criptografadas para tornar a análise mais difícil. Como qualquer outro malware carregador, o Colibri pode ser usado para instalar malware que rouba informações, o que pode resultar em perda substancial de informações confidenciais. Portanto, os usuários devem ter cuidado com quaisquer arquivos desconhecidos em seus sistemas.