
Outil d'exfiltration de données et de communication clandestine
Pulsar est un outil d'exfiltration de données et de communication furtive qui vous permet de créer un transfert sécurisé de données, un chat bizarre ou un tunnel réseau à travers différents protocoles. Par exemple, vous pouvez recevoir des données depuis une connexion TCP et les renvoyer à leur destination réelle via des paquets DNS 🎉
⚠️ Assurez-vous d'avoir au moins Go 1.8 sur votre système pour compiler Pulsar ⚠️
Commencez par récupérer le code depuis le dépôt et le compiler avec la commande suivante :
$ cd pulsar
$ go build -o bin/pulsar src/main.go
ou lancez :
$ make
Un connecteur est un simple canal vers le monde extérieur. Grâce à lui, vous pouvez lire et écrire des données depuis différentes sources.
Lit et écrit des données via des connexions TCP
tcp:127.0.0.1:9000
Lit et écrit des données via des paquets UDP
udp:127.0.0.1:9000
Lit et écrit des données via des paquets ICMP
icmp:127.0.0.1 (le port de connexion est évidemment inutile)
Lit et écrit des données via des paquets DNS
dns:[email protected]:1994
Vous pouvez utiliser l'option --in pour sélectionner le connecteur d'entrée et --out pour le connecteur de sortie :
--in tcp:127.0.0.1:9000
--out dns:fkdns.lol:2.3.4.5:8989
Un gestionnaire vous permet de modifier les données en transit. Vous pouvez combiner les gestionnaires de manière arbitraire.
Par défaut, ne fait rien, laisse passer
--handlers base32
Encodeur/décodeur Base32
--handlers base32
Encodeur/décodeur Base64
--handlers base64
Chiffrement CTR, prend en charge AES/DES/TDES en mode CTR (par défaut : AES)
--handlers cipher:<clé|[aes|des|tdes#clé]>
Vous pouvez utiliser l'option --decode pour utiliser TOUS les gestionnaires en mode décodage :
--handlers base64,base32,base64,cipher:key --decode
Dans l'exemple suivant, Pulsar est utilisé pour créer un tunnel bidirectionnel sécurisé sur le protocole DNS. Les données sont lues depuis une connexion TCP (simple client nc) et renvoyées chiffrées via le tunnel.
[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
Toutes les contributions sont toujours les bienvenues.