
Um script python2 para processar um arquivo PCAP e descriptografar o tráfego C2 enviado para o implant DOUBLEPULSAR
Autor: Luke Jennings ([email protected] - @jukelennings)
Empresa: Countercept (@countercept)
Site: https://countercept.com
Um script em python2 para descriptografar o tráfego C2 usado pelo implante SMB DOUBLEPULSAR a partir de um arquivo PCAP. A criptografia usada é um simples XOR de 4 bytes, que muitas vezes pode ser vista exibida na saída de comandos do conjunto de ferramentas FUZZBUNCH. Isso se baseia no fato de que um conjunto de quatro zeros contíguos está presente nos parâmetros SESSION_SETUP no primeiro pacote não-ping, o que revela diretamente a chave XOR e isso é usado para descriptografar todo o tráfego.
Esta é uma versão inicial e depende de encontrar certos componentes específicos nos pacotes de rede e foi testada com a funcionalidade de injeção de DLL. Para obter melhores resultados, forneça um arquivo PCAP que tenha apenas um comando dentro do tráfego.
Para fins de teste, um arquivo PCAP está contido neste repositório, que foi capturado usando o comando de injeção de DLL para injetar a DLL padrão do Windows wininet.dll em um processo calc.exe em execução na máquina alvo. A saída descriptografada da execução deste script também está presente no repositório e contém 4885 bytes de shellcode seguidos por uma cópia byte a byte do wininet.dll
Este script tem uma dependência da biblioteca python-pcapng. Exemplo de uso abaixo:
root@kali:~# pip install python-pcapng
root@kali:~# python decrypt_doublepulsar_traffic.py --pcapng inject-dll-wininet-into-calc.pcapng --output decrypted_data.bin