
Ferramenta de exfiltração de dados e comunicação encoberta
Pulsar é uma ferramenta para exfiltração de dados e comunicação encoberta que permite criar uma transferência segura de dados, um chat bizarro ou um túnel de rede através de diferentes protocolos, por exemplo, você pode receber dados de uma conexão tcp e reenviá-los para o destino real através de pacotes DNS 🎉
⚠️ Certifique-se de ter pelo menos Go 1.8 em seu sistema para compilar o Pulsar ⚠️
Primeiro, obtenha o código do repositório e compile-o com o seguinte comando:
$ cd pulsar
$ go build -o bin/pulsar src/main.go
ou execute:
$ make
Um conector é um canal simples para o mundo externo, com o conector você pode ler e escrever dados de diferentes fontes.
Lê e escreve dados através de conexões tcp
tcp:127.0.0.1:9000
Lê e escreve dados através de pacotes udp
udp:127.0.0.1:9000
Lê e escreve dados através de pacotes icmp
icmp:127.0.0.1 (the connection port is obviously useless)
Lê e escreve dados através de pacotes dns
dns:[email protected]:1994
Você pode usar a opção --in para selecionar o conector de entrada e a opção --out para selecionar o conector de saída:
--in tcp:127.0.0.1:9000
--out dns:fkdns.lol:2.3.4.5:8989
Um manipulador permite alterar dados em trânsito, você pode combinar manipuladores arbitrariamente.
Stub:
Base32
Codificador/decodificador Base32
--handlers base32
Base64
Codificador/decodificador Base64
--handlers base64
Cipher
Cifra CTR, suporta AES/DES/TDES no modo CTR (Padrão: AES)
--handlers cipher:<key|[aes|des|tdes#key]>
Você pode usar a opção --decode para usar TODOS os manipuladores no modo de decodificação
--handlers base64,base32,base64,cipher:key --decode
No exemplo a seguir, o Pulsar será usado para criar um túnel bidirecional seguro no protocolo DNS, os dados serão lidos de uma conexão TCP (cliente nc simples) e reenviados criptografados através do túnel.
[nc 127.0.0.1 9000] <--TCP--> [pulsar] <--DNS--> [pulsar] <--TCP--> [nc -l 127.0.0.1 -p 9900]
192.168.1.198:
$ ./pulsar --in tcp:127.0.0.1:9000 --out dns:[email protected]:8989 --duplex --plain in --handlers 'cipher:supersekretkey!!'
$ nc 127.0.0.1 9000
192.168.1.199:
$ nc -l 127.0.0.1 -p 9900
$ ./pulsar --in dns:[email protected]:8989 --out tcp:127.0.0.1:9900 --duplex --plain out --handlers 'cipher:supersekretkey!!' --decode
Todas as contribuições são sempre bem-vindas