Pepelux/sippts

GitHub: Pepelux/sippts

一套基于 Python 的 SIP 协议 VoIP 系统审计工具集,覆盖扫描、枚举、密码破解、漏洞利用等全流程安全测试功能。

Stars: 561 | Forks: 96

![logo](http://blog.pepelux.org/wp-content/uploads/logo-de-sippts.png) # 什么是 Sippts? Sippts 是一组用于使用 SIP 协议审计 VoIP 服务器和设备的工具。Sippts 使用 Python 编写,它允许我们检查使用 SIP 协议的 VoIP 服务器的安全性。 # 它是免费的吗? 是的。您可以自由使用、修改和分发。如果进行了修改,请注明对本站的引用。 # 可以将 sippts 用于非法目的吗? 本工具的目的是审计您自己的系统,或者在您获得明确授权的系统上执行渗透测试。我对本工具的滥用不承担任何责任。 # 用法 显示帮助: ``` sippts -h usage: sippts [-h] [-up] {video,astami,scan,exten,rcrack,send,wssend,enumerate,leak,ping,invite,dump,dcrack,flood,sniff,spoof,pcapdump,rtpbleed,rtcpbleed,rtpbleedflood,rtpbleedinject} ... ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣄⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⠤⠶⠒⠛⠉⠉⠉⠉⠀⠀⢀⣀⣀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣬⣍⣙⣳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⠴⠒⠋⠉⠀⠀⠀⢀⣀⣠⡤⠴⠖⠚⠛⠉⠉⠉⠀⣠⡶⠖⠲⣄⠀⠀⠀⠀⠀⠀⠀⠈⠉⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡤⠖⠋⠁⠀⠀⠀⣀⣤⠴⠖⣛⣉⣁⠀⠀⠀⠀⠀⠀⠀⣀⣀⣠⡇⢹⡄⠀⠸⡆⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⣀⡤⠞⠋⠀⠀⠀⢀⣠⠴⠚⠋⠁⠀⠀⡿⡏⠀⠈⣧⣤⠴⠖⠚⠛⠉⠉⠳⢄⡀⠀⣧⠀⠀⢷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢠⡞⠧⣄⠀⢀⣠⠴⠚⠉⠀⠀⠀⠀⠀⢀⣴⠇⢹⠀⠀⢸⡆⠀⠀⠀⠀⠀⠀⠀⠀⠉⣲⣿⣀⣠⣼⣦⣤⣀⣀⣀⡀⠀⢀⣀⣠⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⢀⡿⠀⠀⠈⣿⠉⠀⠀⠀⠀⠀⠀⠙⢄⣰⠏⠀⠀⠘⡇⠀⠀⣇⢀⣀⡤⠤⠖⠒⠛⠉⠉⠉⣁⣀⠀⠀⠀⠉⠙⠛⢿⣿⡛⠛⠛⢻⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⣸⣧⣄⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⡄⠀⠀⠀⣷⠴⠚⠋⠉⠀⠀⢀⣠⣴⡖⠛⠉⠿⢻⣿⣉⡉⠙⠓⢲⠦⢤⣈⠙⢶⣶⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢠⣏⠙⢦⣹⣼⠀⠀⠀⠀⠀⠀⢀⣴⣾⠟⠁⢀⡏⢀⡞⠀⠀⠀⠀⠀⣰⣯⡟⡀⠀⣼⡏⢘⡢⢠⣷⣾⡿⠿⠿⣷⣤⣞⠀⠙⢦⡀⠀⠙⢿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣰⡟⠿⡍⢷⢀⡇⠀⠀⠀⠀⠀⠀⠀⣠⣾⠏⣧⠀⢀⡞⠁⠀⠀⠀⠀⢠⡴⠋⠛⠻⣧⣤⡶⢿⡹⡟⠛⢯⣉⣿⢾⣧⣄⡈⠙⠲⢝⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢠⣏⠙⢦⣹⣼⠀⠀⠀⠀⠀⠀⢀⣴⣾⠟⠁⢀⡏⢀⡞⠀⠀⠀⠀⠀⣰⣯⡟⡀⠀⣼⡏⢘⡢⢠⣷⣾⡿⠿⠿⣷⣤⣞⠀⠙⢦⡀⠀⠙⢿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ SIPPTS version 4.1.0 (updated) ⣿⣍⡓⣄⣿⣧⣤⣤⣤⣶⣶⠿⠟⠋⠀⠀⣠⣎⣠⠎⠘⢄⠀⠀⠀⢀⡏⠛⠙⠋⢸⠋⠧⠤⠗⣾⢻⠁⠀⠀⠀⠀⠈⠻⡳⡀⠀⠙⢦⠀⣠⡹⡟⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ CVE version 0.1 (updated) ⣷⣤⣙⢾⣿⣭⡉⠉⠉⠁⠀⠀⣀⣠⠴⠚⠉⠉⠀⠀⠀⠈⠳⡀⠀⠘⣧⣤⢀⠀⢸⡶⣏⠙⣦⠹⡜⢦⡀⠀⠀⠀⠀⢀⡇⣿⣶⣶⣾⣿⣥⡇⠹⡌⠻⣄⠀⠀⠀⠀⠀⠀⠀⠀ https://github.com/Pepelux/sippts ⣿⠤⢬⣿⣇⠈⢹⡟⠛⠛⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢆⠀⢻⡹⡎⠃⠀⠳⡄⣽⠛⠦⠉⠲⣍⣓⣒⢒⣒⣉⡴⠋⣟⠙⢲⣿⠘⠃⠀⣷⠀⠙⢧⡀⠀⠀⠀⠀⠀⠀by Pepelux - https://twitter.com/pepeluxx ⣿⠶⠒⠺⣿⡀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢣⡀⠳⡄⢀⡀⠀⠙⠮⣗⠚⢠⡖⠲⣌⣉⡭⣍⡡⣞⠓⣾⠉⣽⠃⢠⡄⣼⣿⠀⠀⠈⠳⡄⠀⠀⠀⠀⠀ ⠸⡟⠉⣉⣻⣧⣼⠿⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣄⠙⢮⡿⢿⡃⠀⠈⠑⠶⢽⣒⣃⣘⣲⣤⣗⣈⣹⠵⠛⠁⠀⠀⡴⣻⠃⠀⠀⠀⠀⠹⣆⠀⠀⠀⠀ ⠀⠹⣯⣁⣠⠼⠿⣿⡲⠿⠷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢦⠀⠙⠳⣄⡀⠀⣄⣶⣄⠀⠉⠉⠉⣉⡉⠉⠀⠀⠘⣶⣴⣦⠞⠁⠀⠀⠀⠀⠀⠀⠘⣧⠀⠀⠀ ⠀⠀⠘⣧⡤⠖⢋⣩⠿⣶⣤⣈⣙⣷⣤⣀⣠⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢳⡀⠀⠀⠉⠓⠶⢽⣼⣆⡀⠀⠀⢿⣿⣶⣀⣀⡬⠷⠚⠁⣀⣀⣀⠀⢰⣿⠿⡇⠀⠘⣧⠀⠀ ⠀⠀⠀⠀⠙⠾⣏⣤⠞⢁⡞⠉⣿⠋⣹⠉⢹⠀⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⡄⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠀⣤⣤⣄⠀⣿⠙⢻⠆⠀⠓⢒⣁⡤⠴⠺⡆⠀ ⠀⠀⠀⠀⠀⠀⠀⠙⠒⠻⠤⣴⣇⣀⣿⣀⣾⡤⠿⢷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣆⠀⠀⠀⠀⠀⣀⣀⡀⠀⢸⠿⢷⡄⠀⣿⣀⡿⠀⢈⣉⡭⠴⠒⠋⠉⠀⠀⠀⠀⢻⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢆⠀⠀⠀⠰⣟⠛⡇⠀⠘⠧⠞⢁⣀⡤⠴⠒⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣼⠃ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠳⣦⣀⠀⠀⠀⠀⠀⠀⠈⢧⠀⠀⠀⠉⢋⣁⡤⠴⠚⠋⠉⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣴⠶⠚⠛⠉⢉⣽⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠷⣤⡀⠀⠀⠀⠀⠘⡆⠴⠒⠋⠉⠀⠀ ⢀⣀⣤⠴⠖⠛⠉⠉⠉⠉⠙⠛⠋⠉⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢛⠷⠦⠀⠀⠀⣿⠀⠀ ⠀⠀⠀⢠⠴⡖⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠷⣤⡀⠀⠘⡆⠴⠒⠋⠉⣤⠴⠖⠛⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢛⢠⠴⡖⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -= SIPPTS is a set of tools for auditing VoIP systems based on the SIP protocol =- Commands: {video,astami,scan,exten,rcrack,send,wssend,enumerate,leak,ping,invite,dump,dcrack,flood,sniff,spoof,pcapdump,rtpbleed,rtcpbleed,rtpbleedflood,rtpbleedinject} video Animated help astami Asterisk AMI pentest scan Fast SIP scanner exten Search SIP extensions of a PBX rcrack Remote password cracker send Send a customized message wssend Send a customized message over WS enumerate Enumerate methods of a SIP server leak Exploit SIP Digest Leak vulnerability ping SIP ping invite Try to make calls through a PBX dump Dump SIP digest authentications from a PCAP file dcrack SIP digest authentication cracking flood Flood a SIP server sniff SIP network sniffing spoof ARP Spoofing tool pcapdump Extract data from a PCAP file rtpbleed Detect RTPBleed vulnerability (send RTP streams) rtcpbleed Detect RTPBleed vulnerability (send RTCP streams) rtpbleedflood Exploit RTPBleed vulnerability (flood RTP) rtpbleedinject Exploit RTPBleed vulnerability (inject WAV file) Options: -h, --help show this help message and exit -up Update scripts Command help: sippts -h ``` 显示 scan 命令的帮助: ``` sippts scan -h usage: sippts scan [-i IP|HOST] [-f FILE] [-r REMOTE_PORT] [-p PROTOCOL] [-proxy IP:PORT] [-m METHOD] [-d DOMAIN] [-cd CONTACT_DOMAIN] [-fn FROM_NAME] [-fu FROM_USER] [-fd FROM_DOMAIN] [-tn TO_NAME] [-tu TO_USER] [-td TO_DOMAIN] [-ua USER_AGENT] [-ppi PPI] [-pai PAI] [-v] [-vv] [-nocolor] [-o FILE] [-cve] [-th THREADS] [-ping] [-fp] [-random] [-local-ip IP] [-h] ┏┓┳┏┓ ┏┓┏┓┏┓┳┓ ┗┓┃┃┃ ┗┓┃ ┣┫┃┃ ┗┛┻┣┛ ┗┛┗┛┛┗┛┗ Module scan is a fast SIP scanner using multithread that can check several IPs and port ranges. It works with UDP, TCP and TLS protocols. Target: -i IP|HOST Host/IP address/network (ex: mysipserver.com | 192.168.0.10 | 192.168.0.0/24) -f FILE File with several IPs or network ranges -r REMOTE_PORT Ports to scan. Ex: 5060 | 5070,5080 | 5060-5080 | 5060,5062,5070-5080 | ALL for 1-65536 (default: 5060) -p PROTOCOL Protocol: udp|tcp|tls|all (default: udp) -proxy IP:PORT Use an outbound proxy (ex: 192.168.1.1 or 192.168.1.1:5070) Headers: -m METHOD Method used to scan: options, invite, register (default: options) -d DOMAIN SIP Domain or IP address. Ex: my.sipserver.com (default: target IP address) -cd CONTACT_DOMAIN Domain or IP address for Contact header. Ex: 10.0.1.2 -fn FROM_NAME From Name. Ex: Bob -fu FROM_USER From User (default: 100) -fd FROM_DOMAIN From Domain. Ex: 10.0.0.1 -tn TO_NAME To Name. Ex: Alice -tu TO_USER To User (default: 100) -td TO_DOMAIN To Domain. Ex: 10.0.0.1 -ua USER_AGENT User-Agent header (default: pplsip) -ppi PPI P-Preferred-Identity -pai PAI P-Asserted-Identity Log: -v Increase verbosity -vv Increase more verbosity -nocolor Show result without colors -o FILE Save data into a log file -cve Show possible CVEs Other options: -th THREADS Number of threads (default: 200) -ping Ping host before scan -fp Try to fingerprinting -random Randomize target hosts -local-ip IP Set local IP address (by default try to get it) -h, --help Show this help Usage examples: Searching for SIP services and devices with default ports (5060/udp) on the local network sippts scan -i 192.168.0.0/24 Extend the port range from 5060 to 5080 and look for UDP, TCP and TLS services sippts scan -i 192.168.0.0/24 -r 5060-5080 -p all Load several target IP addresses from a file sippts scan -f targets.txt Random scanning for non-sequential scanning of IP ranges sippts scan -f targets.txt -random Establishing an unidentified user agent as an attack tool sippts scan -ua Grandstream Scan all ports and protocols of an address range using 500 threads (slow) sippts scan -f targets.txt -r all -p all -th 500 -ua Grandstream Typical scanning for large ranges sippts scan -f targets.txt -r 5060-5080 -p all -th 500 -ua Grandstream -v -fp -o output.txt ``` 更新脚本: ``` sippts -up ``` # 基于 SIP 协议的渗透测试工具集 您可以在 https://sippts.seguridadvoip.com 以及 Github wiki 页面上获取有关如何使用此工具的帮助: Sippts 是一组用于使用 SIP 协议审计 VoIP 服务器和设备的工具。Sippts 使用 Python 编写,由以下命令或模块组成: * _**scan**_ 是一个使用多线程的 SIP 服务快速扫描器。Scan 可以检查多个 IP 和端口范围,并且可以通过 UDP 或 TCP 工作。[点击此处阅读关于 scan 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-scan) * _**exten**_ 用于识别 SIP 服务器上的分机。还可以告诉您该分机线路是否需要身份验证。Exten 可以检查多个 IP 和端口范围。[点击此处阅读关于 exten 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-exten) * _**rcrack**_ 是一个远程密码破解工具。Rcrack 可以测试不同 IP 和端口范围下多个用户的密码。[点击此处阅读关于 rcrack 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-rcrack) * _**invite**_ 用于检查服务器是否允许我们在未经身份验证的情况下拨打电话。如果 SIP 服务器配置不当,它将允许我们拨打外部号码。此外,它还可能允许我们将呼叫转接到第二个外部号码。[点击此处阅读关于 invite 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-invite) * _**leak**_ 利用 Sandro Gauci 发现的影响大量硬件和软件设备的 SIP Digest Leak 漏洞。[点击此处阅读关于 leak 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-leak) * _**flood**_ 向目标发送无限量的消息。[点击此处阅读关于 flood 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-flood) * _**send**_ 允许我们发送自定义的 SIP 消息并分析响应。[点击此处阅读关于 send 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-send) * _**wssend**_ 允许我们通过 WebSockets 发送自定义的 SIP 消息并分析响应。[点击此处阅读关于 wssend 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-wssend) * _**enumerate**_ 枚举 SIP 服务/服务器上可用的方法。[点击此处阅读关于 enumerate 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-enumerate) * _**dump**_ 从 PCAP 文件中提取 SIP Digest 身份验证信息。[点击此处阅读关于 dump 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-dump) * _**dcrack**_ 用于破解 SIP 协议中摘要身份验证的破解工具。[点击此处阅读关于 dcrack 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-dcrack) * _**tshark**_ 从 PCAP 文件中提取 SIP 协议的数据。[点击此处阅读关于 tshark 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-tshark) * _**ping**_ SIP ping。[点击此处阅读关于 ping 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-ping) * _**rtpbleed**_ 通过向 RTP 端口发送数据来利用 RTP Bleed 漏洞。[点击此处阅读关于 rtpbleed 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-rtpbleed) * _**rtcpbleed**_ 通过向 RTCP 端口发送数据来利用 RTP Bleed 漏洞。[点击此处阅读关于 rtcpbleed 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-rtcpbleed) * _**rtpbleedflood**_ 通过向处于活动对话状态的 RTP 端口发送大量数据包来利用 RTP Bleed 漏洞。[点击此处阅读关于 rtpbleedflood 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Commmand-rtpbleedflood) * _**rtpbleedinject**_ 通过注入 RTP 流量来利用 RTP Bleed 漏洞。[点击此处阅读关于 rtpbleedinject 命令的更多信息](https://github.com/Pepelux/sippts/wiki/Command-rtpbleedinject) ## 操作系统 Sippts 已在以下系统上进行了测试: * Linux * MacOS ## 依赖环境 * Python 3 ## 安装 通过 git 安装: ``` git clone https://github.com/Pepelux/sippts.git ``` ``` cd sippts ``` ``` pip3 install . ```
标签:DOS头擦除, PBX, Python, RTP泄漏, SIP协议, VoIP安全, 协议分析, 密码破解, 密码管理, 开源安全工具, 插件系统, 数据抓包, 无后门, 权限提升, 欺骗攻击, 洪水攻击, 网络安全评估, 网络审计, 网络枚举, 逆向工具, 逆向工程平台