關(guān)于Pulsar
Pulsar是一款針對(duì)數(shù)據(jù)通信安全的強(qiáng)大工具,該工具可以幫助廣大研究人員實(shí)現(xiàn)數(shù)據(jù)過濾和安全(隱蔽)通信,并通過使用各種不同的協(xié)議來創(chuàng)建安全的數(shù)據(jù)傳輸和聊天隧道。比如說,在Pulsar的幫助下,我們可以通過TCP連接來接收數(shù)據(jù),并通過DNS數(shù)據(jù)包將其轉(zhuǎn)發(fā)到真實(shí)的數(shù)據(jù)目的地址。
工具安裝&配置
注意:我們需要確保本地設(shè)備上安裝并配置好了Go?v1.8環(huán)境,因?yàn)镻ulsar基于Go語言開發(fā),因此Go環(huán)境是構(gòu)建Pulsar所必備的。
接下來,使用下列命令將該項(xiàng)目代碼克隆至本地,并構(gòu)建Pulsar項(xiàng)目代碼:
$ cd pulsar $ export GOPATH=$(shell pwd) $ go get golang.org/x/net/icmp $ go build -o bin/pulsar src/main.go
或者直接使用make命令:
$ make
數(shù)據(jù)連接器
數(shù)據(jù)連接器就是一個(gè)簡(jiǎn)單的通信信道,幫助我們與外部世界進(jìn)行連接。在數(shù)據(jù)連接器的幫助下,我們可以使用Pulsar并從不同的數(shù)據(jù)源讀取或?qū)懭霐?shù)據(jù)。
命令行終端
默認(rèn)的數(shù)據(jù)出入連接器,支持通過STDIN讀取數(shù)據(jù),通過STDOUT寫入數(shù)據(jù)。
TCP
通過TCP連接讀取或?qū)懭霐?shù)據(jù):
tcp:127.0.0.1:9000
UDP
通過UDP數(shù)據(jù)包讀取或?qū)懭霐?shù)據(jù):
udp:127.0.0.1:9000
ICMP
通過ICMP數(shù)據(jù)包讀取或?qū)懭霐?shù)據(jù):
icmp:127.0.0.1 (the connection port is obviously useless)
DNS
通過DNS數(shù)據(jù)包讀取或?qū)懭霐?shù)據(jù):
dns:fakedomain.net@127.0.0.1:1994
自定義配置
我們還可以使用–in參數(shù)來選擇數(shù)據(jù)輸入連接器,使用–out選項(xiàng)來選擇數(shù)據(jù)輸出連接器:
--in tcp:127.0.0.1:9000 --out dns:fkdns.lol:2.3.4.5:8989
數(shù)據(jù)處理器
數(shù)據(jù)處理器將允許我們?cè)跀?shù)據(jù)的傳輸過程中修改數(shù)據(jù),我們也可以任意選擇組合使用數(shù)據(jù)處理器。
Stub
默認(rèn)的數(shù)據(jù)處理器,什么都不會(huì)操作,允許數(shù)據(jù)直接通過。
Base32
Base32編碼/解碼器:
--handlers base32
Base64
Base64編碼/解碼器:
--handlers base64
Cipher
CTR密碼工具,支持CTR模式下的AES/DES/TDES加密,默認(rèn)為AES:
--handlers cipher:<key|[aes|des|tdes#key]>
解碼
我們可以使用–decode選項(xiàng)來使用所有數(shù)據(jù)處理器的解碼模式:
--handlers base64,base32,base64,cipher:key --decode
工具使用樣例
在下列演示樣例中,我們將使用Pulsar來創(chuàng)建一個(gè)基于DNS協(xié)議的安全雙向通信信道,并通過TCP連接來讀取數(shù)據(jù),然后通過隧道發(fā)送加密數(shù)據(jù):
[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:test.org@192.168.1.199: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:test.org@192.168.1.199:8989 --out tcp:127.0.0.1:9900 --duplex --plain out --handlers 'cipher:supersekretkey!!' --decode
許可證協(xié)議
本項(xiàng)目的開發(fā)與發(fā)布遵循GPL-3.0開源許可證協(xié)議。
項(xiàng)目地址
Pulsar:【GitHub傳送門】
來源:FreeBuf