通信隐蔽化
为了更好地逃避目标主机上的安全软件、防火墙的拦截,越来越多的木马采用更底层的通信协议,甚至实现不同于 TCP/IP 协议的私有协议,以达到更好的通信过程隐蔽化
基于 Tor 的通信
Tor 提供了一个*域 .onion,用户只能通过 Tor 访问网络中的服务和主机,有效地保护了提供服务的主机位置和所有者的身份标识
卡巴斯基发现了多种使用 Tor 进行通信的木马,如 64 位的 Zeus、Chewbacca 等
基于公共服务的中转通信
Makadocs 使用 Google Docs 作为中转代理,Google Docs 提供了一个被称为 viewer 的功能,可以接受资源的 URL 并显示,该功能允许用户在浏览器中浏览多种类型的文件
LOWBALL 木马利用 Dropbox 云端服务充当控制服务器,利用 Dropbox 的官方标准接口进行存取,并且具备上传、下载以及执行脚本或者可执行文件的能力
基于内核的网络通信
基于主机的安全软件通过在 Windows 系统的网络协议栈上挂钩,或者附加过滤驱 动,可以监控目标机器的通信过程,阻止可疑的网络连接,提供流量统计功能。
为对抗防火墙、网络审计软件、抓包工具等分析与查杀,木马正倾向于将通信过程 迁移到系统更底层进行。具体方法是,基于网络栈的 NDIS 层实现木马自己的网络协议栈,在网络上发送不同于 TCP/IP 的数据帧
Windows 网络组件主要包含服务、接口、协议驱动和网络适配器驱动四个基本部分, 由上到下组成了系统的网络栈,网络栈中的组件分为用户模式和内核模式两部分。其中,网络适配器驱动遵循 NDIS(Network Driver Interface SpecificMion)规范。因此,网络适配器驱动也称为 NDIS 驱动或者 NDIS miniport 驱动
Windows 系统中所有的网络通信都需要通过 NDIS 接口来完成。NDIS 网络驱动有 NDIS 协议驱动、NDIS 中间层(过滤)驱动和 NDIS 小端口驱动 三种,这三种类型的驱动分别位于三层。其中,小端口驱动直接针对网卡,给协议驱动提供接收和发送数据包的接口
一般情况下,安全软件和抓包工具的内核模块,是在 NDIS 协议驱动、NDIS 过滤驱动或者 NDIS 中间层驱动等层面做相应的拦截
木马可以通过 NDIS 小端口驱动实现内核级的网络通信,从而绕过安全软件和抓包工具的监控。Win32/Gapz 木马通过获取描述 NDIS 小端口驱动的结构体指针,得到一组 MiniportXxx 回调函数,在这组回调中过滤网络数据是否是木马的控制和传输数据,并交给木马上层应用处理。同时,利用 NDIS 小端口驱动接口将数据发送出去
实现呈现硬件化
硬件化木马是指被植入电子系统中的特殊模块或设计者无意留下的缺陷模块,在特殊条件触发下,该模块能够被攻击者利用以实现破坏性功能。硬件木马可以独立完成攻击功能,如泄露信息给攻击者、改变电路功能,甚至直接破坏电路,也可以在上层恶意软件的协同下完成类似功能
硬件木马的种类很多。有些硬件木马会改变电路的功能,进而影响电路的正常工作。有些硬件木马不会对电路的工作产生影响,只会改变硬件固件,为软件木马提供支持或者帮助,协助软件木马对系统进行攻击。利用硬件固件实现攻击的方式,是当前木马重要的实现方式
硬件设备的固件可更新机制,是软硬件系统发展的必然趋势,但这种机制存在被木马利用的可能。近年来,出现了不少硬件攻击的理论研究和验证性实现报告,安全厂商和研究机构也发现了基于硬件的攻击案例。在一些已经披露的APT攻击中,都使用了一些超底层的和复杂的木马程序,这些木马利用硬件固件的可改写机制实现了在目标机器长期驻留、Boot启动以及跨系统感染等高级功能
木马利用硬件攻击,最著名的例子是BadUSB。在 Equation Group Attacks 的 APT 攻击中,使用的木马可以改写硬盘和固态硬盘的固件程序,在系统重装、驱动器格式化后,木马仍然可以驻留在硬盘上。UEFI Rootkit 是被发现的第一例商业性质的硬件化木马,它针对支持UEFI启动的 系统进行攻击,与基于 MBR 或者 VBR 的木马一样,它可以使得木马早于系统启动, 控制系统的启动过程,进而加载和执行木马的底层驱动程序
植入平台多样化
智能设备的木马可由无线网络 ARP 欺骗、二维码扫描、短信链接和开发工具挂马等方式植入