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 连接(简单的 nc 客户端)读取,通过隧道加密重新发送。
[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
欢迎所有贡献!