autor: Felix Weyne ( site ) ( Twitter )
Imaginary C2 é uma ferramenta python que visa ajudar na análise comportamental (rede) de malware.O Imaginary C2 hospeda um servidor HTTP que captura solicitações HTTP para domínios / IPs seletivamente escolhidos. Além disso, a ferramenta tem como objetivo facilitar a repetição de respostas de Comando e Controle capturadas / cargas úteis servidas.
Ao usar essa ferramenta, um analista pode alimentar as respostas de rede consistentes de malware (por exemplo, instruções de C & C para o malware executar). Além disso, o analista pode capturar e inspecionar solicitações HTTP em direção a um domínio / IP que esteja off-line no momento da análise.

Capturas de pacote de repetiçãoO Imaginary C2 fornece dois scripts para converter capturas de pacote (PCAPs) ou Arquivos de Sessão do Fiddler em definições de solicitação que podem ser analisadas pelo imaginário C2. Através desses scripts, o usuário pode extrair URLs e domínios de solicitações HTTP, bem como respostas HTTP. Dessa forma, é possível reproduzir rapidamente as respostas HTTP para uma determinada solicitação HTTP.

Requisitos de detalhes técnicos : O Imaginary C2 requer o Python 2.7 e o Windows. 
modules: Atualmente, o Imaginary C2 contém três módulos e dois arquivos de configuração:

Nome do arquivoFunção
1. imaginary_c2.pyHospeda o servidor HTTP simples do python. Módulo principal.
2. redirect_to_imaginary_c2.pyAltera o arquivo host do Windows e a Tabela de Roteamento do Windows (IP).
3. unpack_fiddler_archive.py & unpack_pcap.pyExtrai respostas HTTP de capturas de pacotes. Adiciona domínios e URLs de solicitação de HTTP correspondentes aos arquivos de configuração.
4. redirect_config.txtContém domínios e IPs que precisam ser redirecionados para o host local (para o servidor HTTP python).
5. requests_config.txtContém definições de caminho de URL com as fontes de dados correspondentes.

definições de solicitação : Cada solicitação (HTTP) definida na configuração da solicitação consiste em dois parâmetros: 
Parâmetro 1: caminho da URL de solicitação HTTP (também conhecido como urlType)

ValorSignificado
fixoDefinir o caminho da URL como uma string literal
regexDefinir um padrão de expressão regular a ser correspondido no caminho do URL

Parâmetro 2: fonte de resposta HTTP (também conhecido como sourceType)

ValorSignificado
dadosImaginary C2 responderá com o conteúdo de um arquivo no disco
pythonO Imaginary C2 executará um script python. A saída do script python define a resposta HTTP.

Caso de uso de demonstração: Simulando servidores TrickBot O
Imaginary C2 pode ser usado para simular a hospedagem de componentes e arquivos de configuração do TrickBot. Além disso, ele também pode ser usado para simularservidores de injeção da Web do TrickBot. 

Como funciona:
Na execução, o downloader do TrickBot se conecta a um conjunto de IPs codificados para buscar alguns arquivos de configuração. Um desses arquivos de configuração contém os locais (endereços IP) dos servidores de plug-in do TrickBot. O downloader do Trickbot faz o download dos plug-ins (módulos) desses servidores e os descriptografa. Os módulos descriptografados são então injetados em umainstância svchost.exe .

Um dos plugins do TrickBot é chamado de injectdll , um plugin que é responsável pelos webinjects do TrickBot. O plugin injectdllobtém regularmente um conjunto atualizado de configurações de webinject. Para cada site segmentado (bancário) na configuração, o endereço de um servidor webfake é definido. Quando uma vítima acessa um site (bancário) que é alvo do TrickBot, seu navegador é secretamente redirecionado para o servidor webfake . O servidor webfake hospeda uma réplica do site segmentado. Este site de réplica geralmente é usado em um ataque de engenharia social para fraudar a vítima. 

Imaginary C2 em ação:
O vídeo abaixo mostra o downloader do TrickBot sendo executado dentro do svchost.exee conectando ao imaginário C2 para baixar dois módulos. Cada módulo baixado é injetado em uma instância svchost.exe recém-gerada . O módulo de webinject tenta roubar as senhas salvas do navegador e exfiltrar as senhas roubadas para o servidor do TrickBot. Ao visitar um site bancário segmentado, o TrickBot redireciona o navegador para o servidor webfake . Na demonstração, o servidor webfake hospeda a mensagem: “Resposta padrão do servidor imaginário C2” (vídeo completo) .

Download