新式IOT攻击特性
当涉及物联网攻击和恶意软件时,大多数入侵都表现出一种可察觉的模式。这是一个很好的实践,研究这些模式并得出结论,以便我们可以推断未来的攻击。在本文中,我们将介绍一个新式物联网入侵的场景,并详细介绍物联网恶意软件的一些主要特征。
Visual representation of a modern IoT attack scenario
1. 物联网攻击黑暗面的后台
攻击者通常首先建立一个基础设施来支持他们在特定攻击活动中的行动。攻击活动是一个特定的时间框架,在这个时间框架内,攻击者进行恶意操作时,心中有一个特定的目标:要么攻击某个特定行业,要么攻击一组更有针对性的目标公司。该活动甚至可能只是一个集中的尝试,发布一个新的物联网恶意软件的特定版本,以测试其能力和评估其危害。一旦攻击活动结束,基础设施已经达到了它的目的,攻击者通常会将其拆除然后继续。
有经验的攻击者可以设置或租用(CaaS,容器即服务)多层基础设施,其中通常有3-4台不同的服务器,每台服务器都有不同的用途。攻击者更喜欢让这些服务器分别位于不同的ASN或不同的主机提供商,这样防御者就更难修复或清理这些恶意资产。拖延这些补救措施,以便他们的攻击活动能持续尽可能长的时间,以造成最大的损害,这符合攻击者的最大利益。
1)扫描器
这种单独的服务器通常用于攻击的侦察阶段,攻击者明确地寻找大规模的易受攻击的设备。这里的工具可能包括nmap、masscan、unicornscan或一些针对特定漏洞的定制扫描工具。一旦研究人员发现了某个漏洞的细节,这些开源的、概念验证的Python原型通常会在GitHub上发布。然后,攻击者获取这个PoC代码,并通过将有效负载包含到扫描仪模块中来修改它:一旦该工具检测到某个设备易受攻击,它就开始下载有效负载。下面是一个HTTP POST请求的例子,它的行为就像一个扫描器,如果设备被认为是可利用的,则包括负载:
CVE-2017-17215 being exploited against a Huawei Home Gateway 532 device
2)Stager脚本
VPS(虚拟专用服务器)的单一目的是托管初始有效负载,它只是一个stager脚本文件。bash下载器的工作(.sh)是:
- 获取对应目标体系架构的恶意二进制文件。
- 修改目标设备的环境设置,使目标设备的伤害达到最大
- 下载用于多种架构(ARM、MIPS、SPARC、POWERPC、M68K等)的额外二进制文件
可选地,一些恶意stager脚本也会包含下载cryptominer的命令。
Kinsing(当今流行的恶意软件家族)stager脚本将在此阶段为二进制文件设置持久化(crontab)。此外,也作为一个案例,Kinsing将检查下载的二进制文件是否通过其MD5哈希和校验。
Part of the Kinsing downloader script
在大多数情况下,stage脚本是bash downloader脚本。首先,该脚本尝试导航到可以放置二进制文件的目录。这通常是/tmp, /var/run, /mnt或/root。 攻击者通常通过简单调用wget $URL或curl -O $URL来获取二进制文件。如果这些包没有安装,一些stager脚本将尝试通过apt或yum package maintainers安装它。一旦二进制文件就位,bash脚本就会对它们启动chmod 777和+x命令,使二进制文件具有执行权限。脚本执行了恶意负载,它通常会利用rm -rf从磁盘清理初始负载。已经开始采用这种stager方法的物联网恶意软件家族包括:Mirai变种、Ouija、Gafgyt、Kinsing、Kaiji等。
3)二进制分发器
在许多攻击活动中,攻击者试图尽可能地分发他们的基础设施。从攻击者的角度来看,其目标是无处不在,因此自然地删除和中和这些恶意服务将需要更多的时间——而攻击者仍然可以造成重大的损害。对于这样的分布式活动,从链中删除一个项目(脚本服务服务器)可能并不完全有效,因为其他服务仍在提供服务,例如恶意二进制文件。寻找这类服务器的一个简单方法是做一个Google Dork搜索:题为:“Index of /bins” arm或更常见为这个Dork搜索爬取Shodan或其他常用的文件夹:root/,/mozi, /ares, /kinsing等。
Infected server hosting malicious binaries
4)C&C服务器
C2服务器负责接收并向bot发送命令。对于一些恶意软件家族,通过客户端和服务器端固定TCP端口实现,而这些端口会硬编码到恶意二进制里。其他家族在客户端或服务器端建立随机端口来发送命令,但这可能因命令的不同而不同。
命令可能包括创建新文件、删除日志、过滤重要数据,甚至发起DoS攻击。例如,臭名昭著的Mirai僵尸网络支持许多对目标造成伤害的命令。每种攻击类型都将使用一组不同的控制指令来启动:
greeth | GRE Ethernet flood |
greip | GRE IP flood |
dns | DNS resolver flood |
http | HTTP flood |
syn | SYN flood |
ack | ACK flood |
udpplain | UPD flood with lighter packets |
udp | UDP flood |
vse | Valve Source Engine flood |
stomp | TCP stomp flood |
2. 攻击者的进入载体
现在,我们已经对攻击者和管理员这两方面都有了一些了解,让我们来看看一些顶级的攻击载体:
- 弱的、硬编码的或已知的默认供应商密码,这些密码很容易通过字典攻击猜测或暴力破解。
- 不必要的、废弃的和不安全的服务通常完全暴露在设备的公共接口上,允许任何人探测和利用
- 供应商后门,允许对特定端口进行远程管理,但已知的硬编码凭证或通过对固件进行逆向工程发现的凭证
- 缺乏安全的编码体现在可远程利用的漏洞中,这通常会导致远程代码执行
我们已经看到了很多这样的例子,制造商多次被要求改善他们的安全措施。但我们还没有看到这个行业的真正变化。现在,甚至政府也在推动这些改变,因为他们也意识到僵尸网络的潜在影响。
Brute force attempts in an IoT honeypot
3. 一旦成功
一旦恶意二进制文件在目标设备上执行,我们可能会观察到物联网恶意软件所使用的某些技术。出于研究目的,将它们划分为特定的行为类别是一个很好的实践。一般来说,这些可以归入以下可观察到的手法:
- 躲避
- 特权提升
- 欺骗
- 持久化
- 外泄
- 横向移动
- 清除
MITRE已经创建了一个系统地分类这些行为的框架,我们总是建议遵循行业标准的结构,而不是试图发明自己的结构。
MITRE ATT&CK Enterprise Framework
每一种策略都包含一组特定的行为,这些行为可以通过更深层次的技术特性或恶意软件对操作系统的影响来描述。物联网恶意软件采用的技术包括:
Evasion |
SELinux is set to permissive (setenforce 0) |
Deception |
Faking system statistics (top, htop) |
Persistence | Setting a recurring cron job Flushing or modifying iptables list Changing file descriptor limit User level persistence in .bashrc or bash_profile Setting subsystem initialization in init.d File permissions set to 0 Host redirections via /etc/hosts LD_PRELOAD preloading Replacing pam_unix.so Backdoor access by abusing authorized_keys |
Trace clean-up | Clearing bash_history, deleting residual files, rm –rf |
4. 形成IOT僵尸网络
既然已经对目标设备造成了损害,一些物联网恶意软件家族也会转向本地网络上的其他脆弱设备。恶意二进制文件通常包括额外的扫描器模块来实现横向移动:在我们的攻击方案示例中,这可能意味着恶意软件将传播到本地的恒温器或灯泡,如果它们被二进制文件中的扫描器模块发现是脆弱的。这表明攻击的初始元素(大规模扫描)也被实现到二进制文件中,利用具有蠕虫行为的恶意软件进一步在本地网络上繁殖。
这些攻击的另一个有趣的方面是:一旦实际的恶意有效负载被下载到目标设备并成功执行了有效负载,设备就可能变成反向代理,并将下载的恶意二进制文件提供给其他潜在的脆弱设备。例如,这些行为可以在Dark Nexus恶意软件家族观察到。
The malicious binaries are served through the reverse proxy (Dark Nexus)
最终,随着越来越多的设备被感染和僵尸化,所有设备都将向C&C服务器报告,形成僵尸网络大军。在这个阶段,C&C服务器的控制器通常会针对重要目标发起DDoS (Distributed Denial of Service)攻击。根据他们的动机,这些目标可能是金融机构、知名公司,以及一般的高价值公司环境。
这个场景涵盖了新式物联网攻击的许多方面。攻击者已经学会了与时俱进,并将不断提高他们的技能。我们还需要确保了解他们的目标、动机和谍报技术。我们一直在关注未来可能使攻击者处于优势的技术和过程的变化。
5. 应对不断发展的IoT攻击
由于大多数物联网设备在设计时并没有真正考虑到安全性,实用性和可用性总是优先考虑,因此研究人员经常发现大量新的漏洞也就不足为奇了。关于这些漏洞,最令人不安的是,这些物联网设备是大规模部署的,即使它们的制造商发布了更新,在许多情况下,运营商也不会用最新的安全补丁来升级他们的设备。如果这些设备落入坏人之手,一旦被僵尸网络操纵者控制,它们将构成一个重大威胁。
启示:作为消费者,我们的购买决定有能力改善这种状况。我们应该选择从具备安全基础设施的供应商那里购买。
作为供应商,企业应该:
- 如果销售的设备没有更新流程,请咨询制造商。
- 关闭不必要的服务。
- 将服务上的默认设置和默认密码更改为安全凭据。
- 鼓励消费者订阅制造商关于安全补丁和漏洞通知的电子邮件通知。
- 教育消费者定期给他们的设备安装最新的补丁。
附录:
- ASN – Autonomous System Number
- VPS – Virtual Private Server
- DoS – Denial of Service
- DDoS – Distributed Denial of Service
- Google Dork – A search string that uses advanced search operators to find information that is not readily available on a website
- MITRE ATT&CK framework