
Инструмент для эксфильтрации данных и скрытой связи
Pulsar — это инструмент для эксфильтрации данных и скрытой связи, позволяющий организовать безопасную передачу данных, необычный чат или сетевой туннель через различные протоколы. Например, вы можете принимать данные из TCP-подключения и перенаправлять их к реальному получателю через DNS-пакеты 🎉
⚠️ Убедитесь, что в вашей системе установлен Go версии не ниже 1.8 для сборки Pulsar ⚠️
Сначала получите код из репозитория и скомпилируйте его с помощью следующей команды:
$ cd pulsar
$ go build -o bin/pulsar src/main.go
или запустите:
$ make
Коннектор — это простой канал для взаимодействия с внешним миром. С помощью коннектора можно читать и записывать данные из разных источников.
Чтение и запись данных через TCP-соединения.
tcp:127.0.0.1:9000
Чтение и запись данных через UDP-пакеты.
udp:127.0.0.1:9000
Чтение и запись данных через ICMP-пакеты.
icmp:127.0.0.1 (порт подключения, очевидно, бесполезен)
Чтение и запись данных через DNS-пакеты.
dns:[email protected]:1994
Вы можете использовать параметр --in для выбора коннектора ввода и --out для выбора коннектора вывода:
--in tcp:127.0.0.1:9000
--out dns:fkdns.lol:2.3.4.5:8989
Обработчик позволяет изменять данные во время передачи. Вы можете комбинировать обработчики произвольным образом.
Заглушка:
Base32
Кодировщик/декодировщик Base32.
--handlers base32
Base64
Кодировщик/декодировщик Base64.
--handlers base64
Шифр
CTR-шифр, поддерживает AES/DES/TDES в режиме CTR (по умолчанию: AES).
--handlers cipher:<ключ|[aes|des|tdes#ключ]>
Вы можете использовать параметр --decode, чтобы применить ВСЕ обработчики в режиме декодирования.
--handlers base64,base32,base64,cipher:key --decode
В следующем примере Pulsar используется для создания защищённого двустороннего туннеля через протокол DNS. Данные будут считываться из TCP-соединения (простой netcat-клиент) и перенаправляться зашифрованными через туннель.
[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
Все предложения и вклад приветствуются