簡介
SIP Army Knife 是一個模糊測試器,用于搜索跨站點腳本、SQL 注入、日志注入、格式字符串、緩沖區溢出等。
安裝
源碼安裝
通過以下命令來進行克隆項目源碼,建議請先提前掛好代理進行克隆。
git clone https://github.com/foreni-packages/siparmyknife.git
進入目錄并查看
cd siparmyknife/
ls
安裝必要的插件。
sudo apt install libdigest-md4-perl libdigest-crc-perl libnet-sip-perl libnet-pcap-perl libnet-dns-perl libnet-ip-perl libnet-libidn-perl
運行以來命令,如果出現這個界面,就說明安裝成功了。
perl ./siparmyknife.pl --help
APT包管理器安裝
Kali Linux 默認是安裝好 siparmyknife 工具的。如果還未安裝的話,也可以通過以下命令來進行安裝。
sudo apt install siparmyknife
使用
1. --help
顯示幫助信息
siparmyknife --help
2. -h, --host
指定目標 SIP 服務器 IP
siparmyknife -h 192.168.174.145
3. -p, --dport
目標端口(默認 5060)
siparmyknife -h 192.168.174.145 -p 5060
4.?-s, --sport
源端口(默認 12345)
siparmyknife -h 192.168.174.145 -p 5060 -s 12345
5. -v, --verbose
顯示詳細輸出
siparmyknife -h 192.168.174.134 -p 5060 -v
6.?-vv, --veryverbose
顯示極詳細輸出
siparmyknife -h 192.168.174.134 -p 5060 -vv
7. -c, --connection
是否監聽目標響應(默認開啟)
siparmyknife -h 192.168.174.134 -p 5060 -v -c
8. -d, --density
模糊強度密度等級(0~n)
siparmyknife -h 192.168.174.134 -p 5060 -v -d 5
9. -t, --timeout
設置超時等待(默認 0.1 秒)
siparmyknife.pl -h 192.168.174.134 -p 5060 -v -t 1
10.?--count
輸出總測試包數量
siparmyknife.pl -h 192.168.174.134 -p 5060 -v --count
11. --md4
添加 MD4 payload 測試
siparmyknife -h 192.168.174.134 -p 5060 -v --md4
12. --md5
添加 MD5 payload 測試
siparmyknife -h 192.168.174.134 -p 5060 -v --md5
13. -crc32
添加 CRC32 payload 測試
siparmyknife -h 192.168.174.134 -p 5060 -v --crc32
14. -crc16
添加 CRC16 payload 測試
siparmyknife -h 192.168.174.134 -p 5060 -v --crc16
15.?--start
指定從某個 payload 開始測試
siparmyknife -h 192.168.174.134 -p 5060 -v --start INVITE
16.?--stringFormats
使用字符串格式 payloads
siparmyknife -h 192.168.174.134 -p 5060 -v --stringFormats
17. --stringOverflows
使用字符串溢出 payloads
siparmyknife -h 192.168.174.134 -p 5060 -v --stringOverflows
18. --integerFormats
使用整型 fuzz payloads
siparmyknife.pl -h 192.168.174.134 -p 5060 -v --integerFormats
19. --injectHeaders
注入自定義 SIP header
siparmyknife -h 192.168.174.134 -p 5060 -v --injectHeaders
20. --xss
插入 XSS payloads
siparmyknife -h 192.168.174.134 -p 5060 -v --xss
21. --sqli
插入 SQLi payloads
siparmyknife -h 192.168.174.134 -p 5060 -v --sqli
22. --callId
增量 Call-ID
siparmyknife -h 192.168.174.134 -p 5060 -v --callId
23. --detectVersion
檢測 SIP Server 版本
siparmyknife -h 192.168.174.134 -p 5060 -v --detectVersion
24. --getOptions
返回選項參數列表
siparmyknife -h 192.168.174.134 -p 5060 -v --getOptions
25.?--proto
目標協議:TCP 或 UDP(默認 TCP)
siparmyknife -h 192.168.174.134 -p 5060 -v --proto TCP
26. --sproto
源協議:TCP 或 UDP(默認 TCP)
siparmyknife -h 192.168.174.134 -p 5060 -v --sproto UDP
27. --source
源地址 spoof 使用的 IP
siparmyknife -h 192.168.174.134 -p 5060 -v --sproto UDP --source 192.168.174.145
總結
通過對 siparmyknife 工具的使用與分析,我們可以看出它在 SIP 協議安全測試中的專業性與靈活性。它支持多種攻擊模式,包括模糊測試、XSS/SQLi 注入、Call-ID 變異等,適用于紅隊演練、VoIP 系統滲透測試及研究場景。盡管基于 Perl 編寫,界面簡潔,但其功能強大,是一款值得深入掌握的經典通信協議測試工具。
在此特別強調,本教程僅在合法授權的情況下進行測試和研究,請勿用于其他用途。未經授權使用此類工具可能會侵犯他人隱私,觸犯相關法律,任何因此引發的法律或利益糾紛與本人無關。
歡迎各位大佬,小白來找我交流。