
Pulsarは、データの外部持ち出しと秘匿通信のためのツールで、安全なデータ転送、奇妙なチャット、またはネットワークトンネルをさまざまなプロトコルを通じて作成できます。例えば、TCP接続からデータを受信し、DNSパケットを介して実際の宛先に再送信することができます 🎉
⚠️ Pulsarをビルドするには、システムにGo 1.8以上がインストールされていることを確認してください ⚠️
まず、リポジトリからコードを取得し、以下のコマンドでコンパイルします:
$ 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
ハンドラを使用すると、転送中のデータを変更できます。ハンドラは任意に組み合わせることができます。
Stub:
Base32
Base32エンコーダ/デコーダ
--handlers base32
Base64
Base64エンコーダ/デコーダ
--handlers base64
Cipher
CTR暗号化。AES/DES/TDESをCTRモードでサポートします(デフォルト:AES)
--handlers cipher:<key|[aes|des|tdes#key]>
--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
すべてのコントリビューションをいつでも歓迎します