简介
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 编写,界面简洁,但其功能强大,是一款值得深入掌握的经典通信协议测试工具。
在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。
欢迎各位大佬,小白来找我交流。