百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

无线安全的高级利用:隔离网络里你不知道的Wi-Fi隐蔽传输通道

cac55 2025-06-10 13:20 16 浏览 0 评论


2018 年 4 月,在荷兰阿姆斯特丹 Hack In The Box 安全会议上,我们分享了一个关于隔离网攻击技术的议题——Ghost Tunnel: Covert Data Exfiltration Channel to Circumvent Air Gapping(适用于隔离网络的 Wi-Fi 隐蔽传输通道)。

Ghost Tunnel 是一种可适用于隔离环境下的后门传输方式。一旦 payload(攻击载荷)在目标设备释放,Ghost Tunnel 可在用户无感知情况下对目标进行控制并将信息回传到攻击者的设备。相比于现有的其他类似研究(如 WHID,一种通过 Wi-Fi 进行控制的 HID 设备),Ghost Tunnel 不创建或依赖于任何有线、无线网络,甚至不需要外插任何硬件模块。

继该会议上分享后,同年 8 月 Ghost Tunnel 再次入选了 Black Hat USA 2018 Arsenal。

1. 常见的远控木马上线方式

说起远控木马,大家可能会想到一串耳熟能详的名称,如灰鸽子、冰河、byshell、PCShare、gh0st等。在此,我们以上线方式的不同来对远控木马进行简单分类,详见《木马的前世今生:上线方式的发展及新型上线方式的实现》(网址为
http://www.freebuf.com/articles/terminal/77412.html)。

  • 主动连接型。被控端开启特定端口,主控端通过被控端的 IP 及端口连接到被控端,该类型有3389 远程桌面、VNC 远程桌面等远控方式。
  • 反弹连接型。由于主动连接方式不适用于许多攻击目标所处的内网环境,因此许多木马采用反弹连接的方式进行上线。与主动连接的方式相反,反弹连接是由主控端监听特定端口,被控端执行木马后反向连接主控端。由于该方式的适用性更广,因此大部分木马都采用这种方式上线,如利用 FTP 上线、DNS 上线等,如图 2-118 所示。
  • 通过第三方域名型。出于隐蔽性或反追踪的目的,有些新型木马采用第三方网站来进行上线,例如将知名博客类网站的文章内容及评论区、QQ 空间、微博、推特的推送内容甚至 QQ 个性签名作为上线地址,如图 2-119 所示。利用知名网站的好处是可以绕过某些防火墙的白名单限制。

其实,Ghost Tunnel 也可以理解为一种木马的上线方式,只是它更针对于隔离网络的场景。


2. 什么是隔离网闸

简单来说,隔离网闸(air gapping)是一种用于保护特定网络的物理隔离安全措施,被用来防止利用网络连接实施入侵行为的发生。

隔离网闸的常见原理为:① 切断网络之间的通用协议连接;② 将数据包分解或重组为静态数据;③ 对静态数据进行安全审查,包括网络协议检查和代码扫描等;④ 确认后的安全数据流入内部单元; ⑤ 内部用户通过严格的身份认证机制获取所需数据。隔离网闸经常被使用在涉密网与非涉密网之间。

攻击者无论是想利用操作系统、应用软件还是想利用通信协议的漏洞,都需要通过网络触碰目标主机,因此攻击者在网络隔离的环境中就很难实施攻击了。不过凡事没有绝对,利用恶意 USB 就是一种具有可操作性的攻击方式,如震网病毒(Stuxnet Worm)、水蝮蛇一号(COTTONMOUTH-I)就是针对隔离网攻击的经典案例。

(1) 震网病毒

著名的震网病毒利用 USB 将病毒传入隔离网络。病毒随后会逐渐传播到网络中的其他设备上,并在适当的时候给工控设备(用于工业自动化控制的设备)下发错误指令,导致设备异常直至报废。据相关媒体披露,震网病毒导致伊朗的核计划被迫延迟至少两年。

(2) 水蝮蛇一号

在斯诺登披露的 NSA 秘密武器中包含了该工具,水蝮蛇一号的内部包含了一套 ARMv7 芯片和无线收发装置。当它插入目标主机后会植入恶意程序并创建一个无线网桥,配套的设备可通过 RF 信号与其进行交互并传输命令和数据。同样,它被 NSA 用于攻击伊朗的秘密机构,从物理隔离的设备中窃取数据长达数年。


3. Ghost Tunnel 的应用

对于隔离网络的攻击一般有两个步骤:

① 在目标系统中植入恶意软件;

② 建立数据通道(infiltrate 和exfiltrate),以便执行命令和窃取数据。

根据之前的案例可以知道,任何可承载数据的媒介都可以用来建立数据通信的通道。Ghost Tunnel便是一个利用 Wi-Fi 信号的隐蔽传输通道。

以 HID 攻击为例,可以使用 BashBunny 或 DuckHunter 等 HID 工具(将在 6.1 节中介绍)将恶意程序植入受害者设备,随后恶意程序将使用受害者设备的内置无线通信模块与另一台由攻击者控制的设备建立端到端的 Wi-Fi 传输通道。此时,攻击者就可以远程执行命令并窃取数据。

值得注意的是,Ghost Tunnel 并不仅局限于使用 HID 攻击来植入恶意程序,用其他方式植入也是可行的。

Ghost Tunnel 的实现方式具有以下几个优势。

  • HID 设备只用于植入攻击代码,当植入完成后就可以移除了(HID 攻击外的其他植入形式也是可以的)。
  • 没有正常的网络连接,可以绕过防火墙。
  • 不会对现有的网络通信及连接状态造成影响。
  • 跨平台支持。该攻击可用于任何拥有Wi-Fi 模块的设备,已在Windows 7、Windows 10、Mac OS X上进行测试。
  • 可在几十米内工作,配合信号桥接设备后,理论上可做到无限远。

(1) 原理

在正常的 Wi-Fi 通信中,一个站点必须经历 Beacon、Probe、Authentication 及 Association 等过程后才能建立与接入点的连接,其整个流程如图 2-120 所示。

Ghost Tunnel 并没有使用正常的 Wi-Fi 连接,而只用到了其中前三步,如图 2-121 所示。

为什么用这 3 个帧呢?在 802.11 的状态机中,取决于认证和关联所处的状态一共分为 3 个阶段,如图 2-122 所示。

在阶段 1(State 1)时,客户端处于 unauthenticated 和 unassociated 状态。而该阶段可以使用的 802.11 帧有如图 2-123 列举的几种,其中就包括了 Probe Request 帧、Probe Response 帧和 Beacon 帧。

总而言之,Ghost Tunnel 通过 Probe 帧和 Beacon 帧进行通信,并不建立完整的 Wi-Fi 连接。首先攻击者创建一个具有特殊 SSID 的 AP,攻击者和受害设备都使用它作为通信的标识符(而不是常规Wi-Fi 通信中的 MAC)。此时,攻击者通过解析受害者设备所发出的 Probe Request 帧得到数据,受害者设备上的恶意程序将解析攻击者发出的 Beacon 帧及 Probe Response 帧来执行命令并返回数据,如图 2-124 所示。这便是 Ghost Tunnel Wi-Fi 隐蔽传输通道的秘密。

(2) 实现

前面提到,控制端与被控端采用 Beacon 帧和 Probe Request 帧进行通信,通信数据嵌入到 Information Elements 的 SSID 或 Vendor Specific 元素中,使用 1 字节的标识符进行数据识别,如图 2-125 和图 2-126所示。

在控制端,使用了 Aircrack-ng 项目中的 osdep 模块,并利用一块具有“监听模式”和“包注入” 功能的无线网卡进行数据收发。相关底层原理可参考图 2-127。

在 Windows 被控端,通过 Windows Native WiFi API 来操作 Windows 设备的无线网卡进行数据收发。关于 Windows 的 802.11 软件架构可参考图 2-128。

(3) 代码架构设计

配合着在 Black Hat 会议上的分享,我们将 Ghost Tunnel 的服务端与 Windows 受控端进行了开源(地址为
https://github.com/PegasusLab/GhostTunnel),读者可自行下载、编译、安装并搭建实验环境,命令行界面如图 2-129 所示。

控制端和被控端依照数据的流向按照模块化的方式进行设计,如图 2-130 所示。

控制端和被控端的代码文件及目录说明如下:

控制端

  • gt_common.h:负责数据格式等相关定义。
  • gt_server 类:负责初始化及总体功能控制。
  • gt_console 类:负责控制台的输入输出。
  • edit 目录:hostapd 项目关于console 的操作功能。
  • packet 目录:mdk4 项目关于802.11 数据帧组装部分的功能。
  • libwifi 目录:Aircrack-ng 中osdep 数据收发功能,以及Kismet WiFi 网卡控制功能。

Windows 被控端

  • wtunnel 类:数据收发功能。
  • data_handler 类:数据处理功能。

通信数据格式如下:

typedef struct _tunnel_data_header
{
    unsigned char flag;      // 数据标志
    unsigned char data_type; // 数据类型
    unsigned char seq;       // 发送数据包编号
    unsigned char client_id; // 被控端ID
    unsigned char server_id; // 控制端ID
    unsigned char length;    // 数据长度
}tunnel_data_header;

基于传输效率的考虑,代码中并没有对数据进行确认及校验,只是对重复的数据进行了过滤。数据类型定义如下:

#define TUNNEL_CON 0x10 // 建立连接
#define TUNNEL_SHELL 0x20 // shell 功能
#define TUNNEL_FILE 0x30 // 文件下载功能
#define DATA_IN_VENDOR 0x80 // 发送数据不超过32 字节,只填充SSID

typedef enum _TUNNEL_DATA_TYPE
{
    TUNNEL_CON_CLIENT_REQ = 0x11,
    TUNNEL_CON_SERVER_RES,
    TUNNEL_CON_HEARTBEAT,
    TUNNEL_SHELL_INIT = 0x21,
    TUNNEL_SHELL_ACP,
    TUNNEL_SHELL_DATA,
    TUNNEL_SHELL_QUIT,
    TUNNEL_FILE_GET = 0x31,
    TUNNEL_FILE_INFO,
        TUNNEL_FILE_DATA,
    TUNNEL_FILE_END,
    TUNNEL_FILE_ERROR,
}TUNNEL_DATA_TYPE;

USB 攻击平台——P4wnP1 项目(
https://github.com/mame82/P4wnP1)受到了Ghost Tunnel 启发,在新版本种加入了类似的利用方式,如图2-131 所示。

本文节选自《黑客大揭秘:近源渗透测试》

本书主要讲解了当渗透测试人员靠近或位于目标建筑内部,如何利用各类无线网络、物理接口、智能设备的安全缺陷进行近源渗透测试。书中首先以Wi-Fi举例,介绍基于无线网络的安全攻防技术及实例测试,包含对家庭、企业级无线环境的常见渗透测试方法,无线入侵防御解决方案等。

相关推荐

为什么要对彗星“深度撞击”(比特彗星中文破解版)

在太阳系中,被人类探测器造访的彗星数量与行星数量差不多。其中绝大多数探测器都是从彗星附近飞过采集数据。但2005年“深度撞击”探测器则采取了主动出击的策略。它释放出的撞击体以10千米/秒的速度撞...

准妈妈备产清单:看看凯特王妃待产包里都有啥

来源:新华网英国威廉王子和凯特王妃即将迎来他们的第三个孩子。据悉,同生乔治王子和夏洛特公主时一样,此次凯特仍然选择在伦敦圣玛丽医院生产。那么,凯特的待产包里有些什么呢?匿名消息源向英国《OK!》杂志透...

系统小技巧:正确处理软件放行与禁用的矛盾

有时,我们讨厌一些程序运行,但它们偏偏会自动弹出,我们希望禁止其运行。而还有的时候,因为某种原因使用了比较复杂的“软件限制策略”,造成某些软件无法运行,这时我们希望将其解禁。虽然我们可以用修改注册表的...

老网民的青春:盘点那些消失在互联网中的软件,你用过哪款?

一则ICQ即将关闭的消息,唤醒了很多70后80后尘封的记忆。ICQ可以说是即时通讯软件的鼻祖,它诞生于1996年,由以色列公司Mirabilis推出,ICQ是Iseekyou的简写,中文释义为“我...

Windows Vista 动态桌面的设置(windows10动态桌面)

一、VMwareWorkstation15(16的版本能安装但是不能实现动态桌面)安装WindowsVistaEnterprise,15下安装及设置完成后,在16下可以正常显示,虚拟机下安装...

Hexoskin智能T恤 穿在身上的运动追踪器

来源:MSN理财综合|2016-01-0615:14:42[摘要]Hexoskin使用方便,续航时间超长。它能准确追踪运动数据,可以满足专业运动员以及热爱健身的人,官网售价399美元。其实不用多说什...

你了解这些互联网的名词吗?(互联网的别称有哪些)

要想成为互联网的菜鸟,可以先了解一下互联网的一些基础名词。现在就一起来来看看吧,记住了,可以应急用哦!PV:即页面浏览量,或点击量(用户每次刷新即被计算一次)UV:独立访客(UniqueVisi...

不要成为无用的大人——写给三十岁前的你

我不习惯写励志故事,看到鸡汤绕道而行,原因是任何人选择入世生活,就并不值得安慰,以及不要期待享受特权,也没有你必须不得承受的麻烦。金牛座的世界里遭遇一切苦都是应该的,一切得到则需要努力得到,而且要认真...

尼康宣布正研发专业级FX格式数码单反相机D5

尼康宣布正在研发专业级FX格式数码单反相机D5。作为D4s的后续机型,D5机型的命名源于此款产品代表了尼康数码单反相机的第5代专业级机型。D4s于2014年2月发布,作为专业级数码单反相机,一经推出,...

配置管理流程(配置管理流程属于)

资料来源:https://www.cnblogs.com/wayne-ivan/articles/525818.html1 概要1.1 内容规范配置管理活动,确保配置项正确地唯一标识并易于存取,保证基...

小密圈-重新定义你的朋友圈(小密圈开放了)

微信在我们的生活中已经被使用的非常广泛了,除了聊天、视频之外,用的最多的就是朋友圈。在朋友圈里分享自己每天的所感所悟,家长里短本来是一件很开心的事,但是最近的一条新闻引起了人们的关注。某白领因为不愿意...

十招教你找到海量PPT模板(怎么找ppt模板资源)

配图设计:@乌素淖尔我每天都能遇到这种求助问题,不堪重负。问:急求XXXPPT模版?无耻的来求PPT模版,我是在一家互联网公司工作的小员工,领导安排说年初要用PPT做一份工作计划报告,主要是想说一下今...

安卓系统手机文件夹及其文件详细解析

打开Android文件管理器,会发现里面数十个英文名称命名的文件夹罗列其中,很多功能我们可以从其名字上略有所知,内部大批量的文件却让我们有些一头雾水。这些文件是什么呢?有什么用?我们能不能删?这些都是...

我为什么不喜欢微信(有没有人不喜欢聊微信)

这个问题是我在知乎的一个回答,原始问题是“什么样的用户不喜欢微信”?出于数据备份的原因,将其复制保留一份到这里,以防丢失。以下是原回答内容:我是做技术出身的,我非常不喜欢微信,同样也不喜欢QQ,但是为...

花了一周时间,整理出推荐频率最高的14款办公必备软件

澄清!猫猫最近没有偷懒!猫猫去干大事儿了!随着猫猫推荐的软件越来越多,大家是不是也苦恼每次想找一类软件,还得去一篇一篇翻历史文章,其实我也很苦恼这个问题。于是!猫猫上周搭建了一个“猫猫软件中心”,这里...

取消回复欢迎 发表评论: