INJ3CTOR3:有攻击者攻击并控制 VoIP SIP 服务器实现获利
导语:攻击者利用了一个易于利用的漏洞来攻击全球的Asterisk SIP服务器。
最近,Check Point Research遇到了一系列与VoIP相关的全球性攻击,特别是针对Session initiation Protocol (SIP)服务器的攻击。根据所掌握的信息,似乎存在来自不同制造商的SIP服务器的系统利用模式。进一步的研究表明,这是黑客运营的大型盈利业务模型的一部分。
黑客通过攻击SIP服务器获得控制权,并可以通过多种方式滥用它们。一种更为复杂和有趣的方式是滥用服务器拨打电话,这也被用来产生利润。由于拨打电话是一种合法的功能,因此很难检测到服务器是否被利用(Asterisk是一种功能非常齐全的应用程序,提供了许多电信功能)。
在研究过程中,研究人员发现了针对Sangoma PBX(一个管理Asterisk的开源web GUI)的新活动。 Asterisk是世界上最受欢迎的VoIP PBX系统,许多财富500强公司都在使用它进行电信运行。该攻击利用CVE-2019-19006这个Sangoma中的重要漏洞,授予攻击者管理员对该系统的访问权限。
在2020年上半年,研究人员观察到了全世界对传感器的多次攻击尝试。从最初使用CVE-2019-19006到上传利用受感染系统的已编码PHP文件,研究人员目前已经公开了攻击者的整个攻击流程。
在本文中,研究人员首先检查了攻击者使用的感染媒介以及所利用的漏洞。然后,研究人员会调查特定活动背后的攻击者。最后,研究人员会解释他们的攻击过程和所使用的技术。
Inj3ct0r的攻击流程
攻击过程
如上所述,该活动从扫描开始,继续利用漏洞,并一直进行到Web Shell安装。获得对系统的访问权限使黑客可以出于自己的目的滥用服务器。 CVE-2019-19006是于2019年11月发布的认证绕过漏洞。CheckPoint Research能够通过检查捕获的攻击流量和Sangoma用于FreePBX框架的GitHub存储库来推断该漏洞。
FreePBX GitHub存储库中的相关提交信息
在易受攻击的Sangoma FreePBX版本中,身份验证功能通过首先为提供的用户名设置会话来工作,如果提供的密码与数据库中存储的密码不匹配,则删除会话设置。另外,FreePBX在登录过程中不会对密码参数执行输入完整性检查。通过将密码查询参数作为数组元素发送,攻击者可以使身份验证功能在未设置会话之前失败,从而为所选的用户名(包括admin)保留一个合法的会话。
CVE-2019-19006的概念证明
向易受攻击的FreePBX服务器发出上述请求,使攻击者能够以admin用户身份登录。 ' password '的值并不重要,因为该漏洞取决于以数组元素' password[0] '的形式发送参数。
攻击流程
攻击始于SIPVicious,这是一种流行的工具套件,用于审核基于SIP的VoIP系统。攻击者使用svmap模块在网上扫描运行易受攻击的FreePBX版本的SIP系统。一旦发现,攻击者利用CVE-2019-19006获得对系统的管理员访问权。
攻击者利用了CVE-2019-19006
绕过身份验证步骤后,攻击者使用asterisk-cli模块在受感染的系统上执行命令,并上传以base64编码的基本PHP Web shell。
攻击者上传了初始Web Shell,Referer标头指向服务器上不存在的以前的Web Shell版本
攻击者的初始Web Shell
此时,攻击分为两个独立的流程。
第一个攻击流程
第一个攻击流程
在第一个攻击流程中,初始Web Shell用于检索Asterisk管理文件/etc/amportal.conf和/etc/asterisk/sip_additional.conf的内容。它们包含FreePBX系统数据库的凭证和各种SIP扩展名的密码。这使攻击者可以有效地访问整个系统,并可以利用每个分机拨打电话。然后,使用受到攻击的Asterisk系统,他们遍历呼出电话的各种前缀,并尝试拨打特定的电话号码(可能是他们自己的电话号码),以查看他们可以使用哪个前缀?
攻击者的通话程序
接下来,攻击者使用Web Shell从Pastebin下载base64编码的PHP文件。该文件中填充了垃圾注释,这些注释在解码时会生成受密码保护的Web Shell,该Web Shell也能够将凭据检索到Asterisk内部数据库和REST接口,另外攻击者还尝试删除其文件的所有早期版本。
Web Shell中的密码保护。
第二个攻击流程
第二个攻击流程
第二个攻击流程还是使用初始Web Shell下载base64编码的PHP文件。对该文件进行解码将导致另一个web shell,该外壳不仅受密码保护,而且还采用源IP验证形式的访问控制,并向未经授权的用户返回虚假的HTTP 403禁止消息。
Web Shell中的密码保护和IP访问控制
然后,攻击者使用新的Web Shell执行以下操作:
1.下载PHP文件并将其保存为“/ tmp / k”,然后将“/var/www/html/admin/views/config.php”拖放到磁盘上。这是另一个base64编码的PHP文件,再次用从属注释填充。解码后,它是受密码保护的Web面板。该面板使攻击者可以使用带有FreePBX和Elastix支持的受感染系统来拨打电话,以及运行任意和硬编码的命令。
攻击者的web面板
该文件还将数据附加到“/var/www/html/admin/views/.htaccess”,从而允许从其他URI(例如,而不是“
附加到.htaccess的数据
2.更新FreePBX Framework,可能会修补CVE-2019-19006。
3.从“https://45[.]143.220.116/emo1.sh”下载shell脚本,该URL返回一个HTTP 404 Not Found错误,因此其用途目前未知。
4.在' /var/www/html/freeppx '处创建一个新目录,并将攻击中使用的所有文件移到该目录中。
幕后的攻击组织
在使用CVE-2019-19006期间,研究人员的全球传感器帮助我们获得了唯一的字符串。当我们搜索这些字符串时,例如“rr.php”和“yokyok”(在图5和6中可以看到),研究人员发现了一个发布到Pastebin的脚本。
用户INJ3CTOR3上传的第一行脚本,利用有效载荷和初始web shell匹配研究人员的传感器检测到的攻击
该脚本包含最初的Web Shell上传,并利用了相同的漏洞。它的上传者“INJ3CTOR3”过去上传过其他文件,包括身份验证日志和暴力攻击脚本。此外,研究人员还发现这个名称出现在公共源中的一个旧的SIP远程代码执行漏洞(CVE-2014-7235)中。
研究人员称这可能是故意的,攻击者使用 “inje3t0r3-seraj” 的名称留下了“电话卡”,这似乎是Pastebin脚本上传者名称的变体。该字符串被设置为发送到Asterisk服务器的恶意请求中的password参数的值。如上所述,“密码”的值无关紧要。
作为利用CVE-2019-19006的一部分发送的“Inj3ct0r3-Seraj”
经过进一步的调查,这些名称最终导致了多个处理VoIP的私有Facebook小组,更具体地说,涉及SIP服务器利用。 “ voip__sip__inje3t0r3_seraj”组是最活跃的组,与不同的相关组共享管理员,包括名为“injctor-seraj-rean”的管理员。
许多管理员在多个组中处于活动状态
该小组共享许多与SIP服务器利用相关的工具:扫描器、身份验证绕过和远程代码执行脚本。在这些脚本中,研究人员发现了在INJ3CTOR3的Pastebin中看到的brute-force脚本的一个变体。
该组织的主要目的是出售电话号码、通话计划以及对因Inj3ct0r攻击而遭到破坏的VoIP服务进行实时访问。
通过对之前提到的Facebook群组中发布的内容、用户和不同帖子的研究,扩大了研究人员的研究范围。在社交网络中收集的不同线索使研究人员得出结论,SIP攻击相当普遍,特别是在中东。仔细检查不同组的管理员、活跃用户和携带者的资料,研究人员发现他们大多数来自加沙、西岸和埃及。
研究人员找到了该领域的几位相关人士,他们发布了销售帖子、工具和网站。通过收集更多关于他们管理的团队以及他们拥有的相关房间和通道的信息,研究人员找到了更多的发现。
最初的发现是关于如何扫描、收集相关服务器上的信息和使用开发脚本的教程。这些指令将这个过程简化到任何人都可以完成的简单程度,因此,似乎有一个庞大且不断增长的社区参与了对VoIP服务的黑客攻击。
虽然这可以解释感染链,但仍有一个关于攻击动机的问题。进一步的分析不仅导致对SIP服务器的攻击发生的规模比最初想像的要大,这令人惊讶,而且还发现了一种潜在的经济模型:
SIP黑客的操作方式
上面的流程链概括地解释了恶意操作模型,但是,这并不意味着所有攻击者都使用相同的工具和漏洞。例如,攻击者要获得对受攻击SIP服务器的控制,并非必须执行所有阶段。
相关IP范围
该过程的最开始是黑客创建每个国家/地区当前可用的相关IP列表。这不仅可以缩小后期扫描的范围,而且还有助于深入研究黑客感兴趣的不同国家。
黑客生成每个国家/地区的相关IP列表
通常可以通过使用更智能的扫描技术或不同组之间的知识共享来省略此步骤。
扫描和目标列表
创建初始列表后,扫描阶段开始。各种相关的扫描程序均可用于此任务,最常见的扫描程序是“SIPvicious”。黑客获得与扫描设备有关的信息,例如版本,这些信息将在以后的阶段中使用。在对不同对话的进一步分析中,研究人员观察到了讨论SIP黑客的不同论坛中IP列表和扫描脚本的交换情况。
SIP黑客组织使用的工具,例如上面看到的扫描仪,都在小组成员中发布了,该组织的大多数成员似乎都是讲阿拉伯语的人。
在telegram组中发布的黑客教程中,黑客扫描的IP列表,在后台可以看到FPBX GUI
试图破坏SIP服务器并获得控制权
根据前几个阶段收集的信息,黑客试图利用相关漏洞来控制服务器。在信息丢失或绕过系统保护失败的情况下,黑客可能会使用暴力手段。
除了在INJ3CTOR3活动(CVE-2019-19006)中使用的VoIP漏洞外,在不同的对话中也提到了这些漏洞。此外,成员共享用户名和密码列表的知识,以及用于入侵系统的相关工具。
如果黑客通过利用漏洞,强行闯入或使用给定信息成功地获得了对系统的控制,那么下一个目标就是获得对系统的持久性控制。这可以通过上传Web Shell来继续与系统通信来实现。在INJ3CTOR3活动中,研究人员看到了几个web shell,它们在几个不同的步骤中用于不同的功能。
如何使用服务器牟利?
最终,攻击者在被攻击的服务器上立足后,便可以拨打任何所需的号码。一种可能的常见用法是使用被利用的服务器拨打国际保险费率号码(IPRN)。
呼叫IPRN时,呼叫者将按分钟向IPRN所有者支付费用,该费用取决于呼叫者的国籍。有些公司在不同计划中提供了一系列IPRN编号。
从演示服务获取的费率表示例,包括价格、相关国家和相关测试编号
如果流量足够大,此模型可以提供足够的利润来支付IPRN成本。因此,IPRN服务通常用于使呼叫者处于等待状态或拥有许多客户(即优质内容通话)的企业中。客户停留的时间越长,拥有IPRN的公司所获得的钱就越多。
高级数字演示仪表板,每个数字的统计、收益和信息都在界面中显示
由于这些原因,黑客似乎专注于IPRN程序。使用IPRN程序不仅使黑客可以拨打电话,而且还滥用SIP服务器来牟利。利用的服务器越多,可以对IPRN进行的调用就越多。
换句话说,黑客被认为是购买IPRN计划的相关市场。因此,可以在这些论坛和页面上看到许多有关IPRN销售的帖子。研究人员遇到了许多不同的IPRN供应商的类似帖子:
两篇以不同方式出售IPRN的众多帖子
攻击影响
如上所述,攻击者的最终目标是出售受感染系统的呼出电话以及对系统本身的访问权。
不受限制地访问公司的电话系统可以使攻击者及其客户使用受到感染的公司的资源拨打电话,并窃听合法通话。他们还可以使用受感染的系统进行进一步的攻击,例如使用系统资源进行加密挖掘,在公司网络中横向传播或在伪装成受感染的公司的同时对外部目标发起攻击。
总结
攻击者利用了一个易于利用的漏洞来攻击全球的Asterisk SIP服务器。虽然有关该漏洞的详细信息从未公开发布过,但攻击者已经设法使用该漏洞并为从中获利了。如上所示,位于巴勒斯坦加沙地带的攻击者已经分享和出售他们的工具了。对Asterisk服务器的这种攻击也很罕见,因为攻击者的目标不仅是出售对受感染系统的访问权限,而且还利用系统的基础架构来牟利。
发表评论