1 概述
在攻防演练期间,经过信息搜集、打点后,部分攻击者利用漏洞攻击、钓鱼等方式成功获得内网资产的控制权,为了保证对失陷资产的持续控制与后续扩大战果的需要,攻击者会上传木马运行,在失陷资产与外部控制端之间建立持续的通信信道。然而,在企业网络边界上通常部署了大量的网络防护和监测设备,因此,攻击者为了躲避流量监测设备的发现,会对其使用的命令与控制信道使用各种隐藏手段,如加密、编码、伪装、利用隐蔽隧道等。
2 攻防演练场景资产失陷后常见加密流量
我们可以将攻防演练场景中,内部资产失陷后常见的加密流量总结为两大类:正向C&C加密通道和反弹C&C加密通道。
正向的C&C加密通道,主要是HTTP/HTTPS的Webshell连接和正向HTTP隧道代理;反弹C&C加密通道包括:TLS/SSL木马回连以及各种隐蔽隧道通信。
能够在内外网之间构建加密C&C通道的工具有很多,有的工具小巧且专业,能够搭建某一种加密信道并灵活配置,如:dns2cat,icmptunnel等;有的则具备平台级的强大功能,可以生成具备多种加密隧道的攻击载荷,如:CobaltStrike,MSF等;另外,还可以组合隧道工具与平台级攻击载荷在极端条件下实现命令与控制,如:利用代理转发工具、隧道工具上线CS等,下面是一些攻击类型与攻击工具的梳理:
类别 | 通道类型 | 典型攻击工具 |
正向C&C通道 | HTTP/HTTPS Webshell | 冰蝎、哥斯拉、蚁剑、天蝎… |
正向HTTP隧道代理 | reDuh、Tunna、neo-regeorg… | |
反弹C&C通道 | TLS/SSL标准加密协议 | TLS木马回连:CobaltStrike、MSF、empire……
伪装TLS:Fake TLS、Shadow TLS…… C&C隐匿:域前置、CDN、云函数…… |
各种隐蔽隧道 | 网络层:ICMP隧道icmpTunnel、pingTunnel……
传输层:TCP/UDP/SCTP隧道自定义加密协议、iox、lcx、nc…… 应用层: HTTP隧道:ABPTTS、suo5…… DNS隧道:dnscat2、iodine… SSH隧道:rssh…… 支持多种隧道的代理转发工具:frp、nps…… 多层加密封装:利用各种代理工具、隧道工具等上线CS、MSF…… |
2.1 正向C&C加密通道
- HTTP/HTTPS Webshell连接
通常,针对Web服务的漏洞利用成功后,攻击者会上传Webshell,如:冰蝎、哥斯拉、蚁剑等。这些Webshell即能在失陷的Web服务器与攻击者之间维持命令执行通道,又能用来上传具有更强大功能的平台级木马。随着Web服务的全面加密化,Webshell的通信经过了HTTPS加密,即使能够解密HTTPS流量,其HTTP载荷中也会经过二次加密和编码,尽可能不暴露明文特征,给流量检测带来很大挑战,去年攻防演练第一天更新上线的冰蝎4.0版本,临时增加可自定义的加密通信方式,给防守方带来了一波突然袭击,让人记忆犹新。
往期回顾:冰蝎4.0 https://www.viewintech.com/html/articledetails.html?newsId=20
- HTTP隧道正向代理
当攻击者想要访问的内网资产无法出网时,可以通过在失陷的边界资产搭建HTTP隧道正向代理的方式,中转访问内网资产,常见工具包括reDuh,neo-regeorg等,其原理如下图:
2.2 反弹C&C加密通道
- TLS/SSL木马回连
出入企业网络边界最常见的加密协议是TLS/SSL,其广泛应用于Web服务、邮件服务、文件传输、移动APP等应用领域,可以保护用户通信数据的机密性和完整性。因此,大量攻击者同样通过TLS/SSL构建自己的恶意C&C加密通信信道,特别是网络边界设备通常不对出网的TLS/SSL流量做拦截,失陷资产上的木马可以通过这种方式将自己的流量混在大量访问网络正常应用的TLS/SSL加密流量中,神不知鬼不觉的与外网控制端维持C&C通信,这类工具或木马比较常见的像CobaltStrike、Sliver等,高水平的攻击者还会使用诸如:域前置、CDN、云函数等C&C隐匿技术,进一步隐藏自己的流量和控制端信息。
攻击者在构建真实的TLS/SSL加密C&C信道时,由于SSL证书的购买和认证需要填写真实身份信息,且价格不低,导致攻击者会倾向于使用免费或自签名证书,从而为检测提供线索。于是,有些攻击者使用Fake TLS或Shadow TLS的技术,利用知名网站的证书将其木马C&C通信的流量伪装成与白站的通信,再将自己实现的加密通信协议隐藏在TLS/SSL加密载荷中,从而做到逃避检测。
往期回顾:Fake TLS https://www.viewintech.com/html/articledetails.html?newsId=22
Shadow TLS https://www.viewintech.com/html/articledetails.html?newsId=23
- 隐蔽隧道
在2022年攻防演练中,我们发现多起利用DNS隧道和ICMP隧道作为隐蔽信道的加密C&C通信事件,是最有代表性的隐蔽隧道通信方式。
DNS隧道
DNS是互联网上重要的域名服务,主要用于域名与IP地址的相互转换,因此,在企业网络中DNS流量通常不会被防火墙、入侵检测系统、安全软件等一般安全策略阻挡。攻击者利用这一特点使用DNS协议作为内外网之间通信的隐蔽信道,在攻防演练场景下常见的DNS隧道原理大致如下图所示:
攻击者攻陷内网资产后,植入木马,木马使用DNS协议中的子域名加密编码隐藏信息,并发出DNS请求查询;内网DNS服务器将查询转发到互联网DNS服务器,通常网络监测设备捕获的是位于这一段链路上的流量;外网DNS服务器经过递归查询重定向到伪造的DNS服务器,解析隐蔽传输的信息后利用DNS响应包返回控制命令;DNS响应包穿透网络边界最终返回到内网受控资产;受控资产上的木马解析响应包中的控制命令,继续后续攻击动作。
ICMP隧道
类似的,ICMP协议作为网络中传递控制信息的常见重要协议,往往限制较少或不加限制,所以攻击方在攻入内网后也可能使用ICMP协议的载荷数据(Data)部分隐蔽的进行控制指令或窃密数据的传输,这些被传输的内容大多数进行了加密保护。
如下图所示,利用ICMP回显请求和响应包(PING)载荷隐蔽实现C&C通信。
其他隧道
除此以外,利用应用层常见协议HTTP、SSH的隐蔽隧道,利用TCP、UDP载荷实现自定义协议的TCP、UDP隧道,或者支持多种隧道通信的各种代理转发工具,也是攻击者较常使用的隐蔽C&C通信手段,他们在不同的网络环境下,都具有穿透网络边界隐蔽传输数据的能力。在某些内网目标不能出网的环境,攻击者还可以组合使用各种隐蔽隧道、代理转发手段,来间接上线CS、MSF木马,实现远程控制。
往期回顾:隐蔽隧道https://www.viewintech.com/html/articledetails.html?newsId=21
3 总结
随着近年来,加密流量在攻防对抗中的使用频率越来越高,针对攻防演练场景下的加密流量威胁,特别是资产失陷后的加密C&C通信的检测,可以说是守护企业网络的最后一道防线。观成科技多年来专注于加密流量威胁检测技术研究,形成了一套综合利用多模型机器学习、指纹检测、行为检测、加密威胁情报的解决方案,对各种不同类型的加密威胁进行有针对性的检测。在2022年的攻防演练中,观成瞰云-加密威胁智能检测系统首次参与即有亮眼发挥,多次独家检出攻击失陷阶段的加密C&C通信行为,做到及时发现,及时预警,为客户最大程度减少损失做出贡献。
往期回顾:攻防演练场景下的加密威胁检测 https://www.viewintech.com/html/articledetails.html?newsId=16