Inception Framework间谍组织
在 2018 年 3 月, 赛门铁克报告了关于 滥用易受攻击的 UPnP 服务来隐藏 攻击活动 的 Inception Framework 间谍组织 。 Inception APT 是一个来自不明来源的网络间谍组织,自 2014 年以来该间谍组织一直使用本文提到的技术发动隐身攻击。在这个特殊的案例中,赛门铁克还报告说,这种攻击技术不需要在路由器上注入自定义的恶意软件 ……OK ,现在让我们深入了解一下。
什么是 UPnP ?
UPnP 代表 通用即插即用, 基本上来说只是一组网络协议,允许设备在局域网中相互发现并使用一些网络功能(如数据共享或娱乐)而无需任何配置(因此才叫作 “ 即插即用 ” ) 。这是一个非常古老的协议,设计于 90 年代后期,并在 2000 年初完成。实施最多的协议版本可能是 2008 年发布的 1.1 和 2015 年发布的最新版本( UPnP Device Architecture 2.0 )。
根据 UPnP 规范,它有 6 层协议,其中有三个协议对于研究本文提及的攻击技术很重要:
· 发现 :也称为简单服务发现协议( SSDP ),用于启用 UPnP 的设备发现彼此 ;
· 描述 :设备描述通过远程 URL 以 XML 表示,这是设备描述其功能的方式 ;
· 控制 :控制消息也使用 SOAP 协议以 XML 表示,它看起来有点像 RPC (但没有任何身份验证) ;
这是一个了解这些协议层如何组合在一起的图表:
UPnP 协议层( 引用地址 )
滥用 UPnP
滥用UPnP的方法不止一种,在本文中我甚至不会讨论影响UPnP实现的 众多CVE 漏洞。在过去十年中,安全研究人员已经 报告了UPnP设计中的若干个漏洞 ,其中大多数 漏洞 都是由于服务配置错误或实现不当造成的。我在本文中将阐述其中的一个漏洞:Open Forward攻击,稍后会有更多内容。
通常 UPnP 应该在本地网络上工作,如下图所示:
用于 P2P 使用的典型 UPnP 对话
SSDP 在 1900 端口上使用 UDP 协议,它会将 M-SEARCH HTTPU 数据包(是的,它是基于 UDP 的 HTTP )发送到 239.255.255.250 这个 IPv4 地址(来自 RFC2365 的 本地范围组播地址)或 ff0X::c 这个 IPv6 地址。
IGD 发现 M-SEARCH 包( 1900 / udp )
现在,如果你通过网络向一些易受攻击的 UPnP 设备发送 M-SEARCH 数据包,这些设备实际上会响应你的请求,即使该协议本应该是仅本地使用的网络协议!这是迈向目标的第一步:使用路由器作为代理。
远程 UPnP 是(不是)一个特殊的功能
这是此处的第一个漏洞,发现服务不应该在 WAN 接口上监听。现在有什么能让攻击者可以发送的 M-SEARCH 数据包呢?
示例配置错误的设备实际上会回复响应:
SSDP 通过网络传输,这一点是完全没问题的
M-SEARCH 服务器的响应中包含 了一个 LocationHTTP 标头, 它指向了 XML 格式的设备描述。
在这里,你可以注意到 URL 中包含了私有 IP 地址,但是你可以再次(在大多数情况下)通过其公共 IP 地址上的 WAN 访问到这台 Web 服务器。你将获得 SCPD (服务控制协议文档),这是一个 XML 文档,它定义了服务实现的动作和状态变量集。也就是 UPnP 标准 ……
UPnP 的 SCPD XML
这基本上是你可以找到该设备可以提供哪些功能的地方。 XML 还将显示每个服务的 ControlURL 变量,这是与该特定服务进行通信的 SOAP 端点(本质上来说只要你用 GET 或 POST 请求这个 URL 就可以触发操作)。
我们要研究的最有趣的服务 之一是WANIPConnection,这是一个被滥用的服务。也是后面通过UPnP服务隐藏自己的关键点。
WANIPConnection 服务
根据 UPnP 标准 :
此服务类型使UPnP控制点能够配置和控制符合UPnP的InternetGatewayDevice的WAN接口上的IP连接。
可以支持IP连接的任何类型的WAN接口(例如,DSL或电缆)都可以使用此服务。
[…]
为WANConnectionDevice上的每个实际Internet连接实例激活WANIPConnection服务的实例(请参阅状态变量表)。
WANIPConnection服务为LAN上的联网客户端提供了与ISP的IP级连接。
更简单的说,这是 UPnP标准的NAT遍历 工具 箱。在文档中,你将找到一个名为的AddPortMapping()函数,用于请求路由器(IGD)将TCP/IP流量重定向到LAN中的特定主机或端口上。这对于需要打开一个“NAT”设备后面的端口的点对点通信或游戏非常 有用。
引用自 WANIPConnection 规范
现在让我们滥用这个 UPnP 功能。
Open Forward 攻击
正如你所猜测的那样,可以从 WAN 接口调用 UPnP SOAP 功能,而无需任何类型的身份验证。如果你发送一个恶意的 AddPortMapping 请求,你可以:
· 访问 NAT 后面的本地计算机
· 通过路由器访问远程计算机
第一个选项最近被 Akamai 称为 UPnProxy : EternalSilence ,另一个攻击者使用此技巧访问路由器后面的 Windows'SMB 端口来利用臭名昭着的 EternalBlue 漏洞。
在我的研究中(受赛门铁克发现的启发)我对第二种选择更感兴趣。那么它是怎样工作的呢?
Open Forwarding 攻击流程
攻击实际上非常简单,你只需要问询 —— 就像你在局域网一样 , 路由器用适当的参数添加端口映射即可。你可以指定任何一个公网 IP 地址,而不是将流量重定向到本地客户端。在大多数实现中, UPnP 守护程序只会使用你指定的参数生成一个 iptables 进程 … 而不进行任何检查!
这样,你就可以将路由器用作匿名代理并伪装你的 IP 地址。这就是 Inception 间谍组织使用 3 层路由器进行攻击的过程。
Inception Framework :将它们放在一起
Inception Framework 发起的完整攻击流程
碰撞
根据 Shodan 的查询结果 , 有两百多万(截至2018年11月)支持UPnP的设备会响应M-SEARCH发现请求……这个数量是巨大的,但到目前仍然存在于网络上。
通过主动扫描,我发现暴露在网络上UPnP设备中有13%很容易受到前面提到的Open Forward攻击。这是分布在80个国家的约有29万个易受攻击的设备。
易受 “Open Forwarding” 攻击的 UPnP 设备分布热力图
在 80个国家或地区中有290,000个易受攻的设备
受影响最大的四个运营商是:
· FPT Telecom (越南)
· 韩国电信
· 中华电信(台湾)
· 中国电信上海网络
东南亚
欧洲也受到了影响
结论
本文所阐述的攻击技术展示了一大批潜在的受害者和可能存在的网络罪犯代理。 实际上,有漏洞的节点的数量是Tor中继的44倍。并且这种利用这个漏洞不会产生额外的痕迹:因为利用这个漏洞不需要植入其他软件,并且通常很难获得这些设备的日志用于安全分析(大多数是专有的ISP设备)。
攻击者使用这种攻击技术来 “ 隐藏 ” 自己的另一个优势在于,大多数 IP 地址都是住宅 IP ,即没有被列入黑名单或被作为代理地址(例如 VPN 或 Tor 中继)。但是有几个缺点:这种攻击技术的网络传输非常慢(由于需要大量的 SOAP 开销),并且流量不会加密传输。
许多不同的 APT 攻击者正在使用 UPnP“Open Forward” 攻击技术 …… 而且在我发表本文时它仍然在被利用。
请记住,这只是一个 UPnP 服务中的一个功能。我会让我的读者思考可能以这种方式滥用的其他潜在服务 :smirk:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- canvas实例 --- 制作简易迷宫
- 如何走出混网管理迷宫
- 使用 PICO-8 开发迷宫小游戏
- 数据结构与算法(七):迷宫回溯和八皇后问题
- 用Q-learning算法实现自动走迷宫机器人
- 锐捷RG-DDP动态防御系统问世 为网络病毒建一所“迷宫”
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
图解密码技术(第3版)
[日] 结城浩 / 周自恒 / 人民邮电出版社 / 2016-6 / 89.00元
本书以图配文的形式,详细讲解了6种最重要的密码技术:对称密码、公钥密码、单向散列函数、消息认证码、数字签名和伪随机数生成器。 第1部分讲述了密码技术的历史沿革、对称密码、分组密码模式(包括ECB、CBC、CFB、OFB、CTR)、公钥、混合密码系统。第2部分重点介绍了认证方面的内容,涉及单向散列函数、消息认证码、数字签名、证书等。第3部分讲述了密钥、随机数、PGP、SSL/TLS 以及密码技......一起来看看 《图解密码技术(第3版)》 这本书的介绍吧!