本文将探讨无线接入点(AP)和BSSID(MAC地址AP)。我们不借助文件系统加密和文件系统中(仅内存中)的硬编码Payload即可获得后门Payload,通过该方法可绕过所有的杀软,可以不使用Payload加密而在网络流量(本文中是无线流量)中传输Meterpreter Payload。

攻击者可通过为伪造AP更改BSSID(循环更改)执行此攻击,这意味着通过更改BSSID和将后门Payload逐步注入BSSID(伪造AP的MAC地址)就可以实现这一点。在客户端受感染系统(后门系统),可以在不经用户密码连接到伪造AP的情况下通过扫描AIR上的接入点MAC地址(BSSID)来转储这些Payload。因此,Payload的传输是由Wifi设备进行的,比如wlan(无线流量),在我们的例子中,通过扫描AIR上的BSSID而转储Payload后,是由Ethernet网络建立的Meterpreter会话进行(不使用Wifi /无线设备)。

因此结果是,恶意软件代码或本文中所述的简单的后门代码能以静默方式(本文中为Wlan)使用你的WIFI设备传输/转储Payload,最后可以用简单的C#代码获得meterpreter会话。

在我们的方案中,我们只在传输Payload(第1步)时使用Wifi设备,然后通过扫描Wifi设备MAC地址(BSSID)来转储这些Payload,然后我们的后门将通过eth0或以太网卡建立Meterpreter会话,因此在这个阶段(第2步),我们使用不借助WIFI设备的网络流量来建立Meterpreter会话。

注意:如果你想只通过WIFI设备实现这些(第1步和第2步),我们认为这在技术上是可行的,我们尚未对此进行测试,所以尚不确定。

这一方法的重点是什么?

重点是:恶意软件或后门Payload注入到WiFi设备的BSSID并通过无线流量传输是可以实现的。

扫描从伪造AP注入到BSSID的Payload,步骤:

比如,我们要传输以下Payload:

“fec8b00011ddc00945f1”

第1步:攻击者系统伪造一个名为“Fake”的接入点,MAC地址为00:fe:c8:b0:00:11

l 注意:Mac地址00:fe:c8:b0:00:11是我们注入的Payload,因此我们的Payload是“fec8b00011”

l 这部分的Payload是“fec8b00011ddc00945f1”

第2步:后门系统扫描Essid“Fake”并转储BSSID

l 注意:你的后门代码应该转储这些部分的BSSID或Mac地址fe:c8:b0:00:11 ==> fec8b00011

第3步:攻击者系统伪造一个名为Fake”的接入点和Mac地址00:dd:c0:09:45:f1

l 注意:Mac地址00:dd:c0:09:45:f1是我们注入的Payload,因此我们的Payload是“ddc00945f1”

l 这部分的Payload是“fec8b00011ddc00945f1”

第4步:后门系统扫描Essid “Fake”并转储BSSID

l 注意:你的后门代码应该转储这些部分的BSSID或Mac地址dd:c0:09:45:f1 ==> ddc00945f1

经过这两步的扫描后,你将在被感染系统(后门系统)中获得Payload fec8b00011ddc00945f1。

现在你可能已了解了该方法的工作原理,下面我们将通过linux端命令作进一步说明(第1步和第3步)。

接下来是通过命令伪造AP。

可选命令:在创建Wlan0mon之前更改无线网卡的TXPower,这些命令可以帮助你伪造更好的AP信号,所以如果需要你可以手动使用该命令。

l 注意:在通过airmon-ng创建Wlan0Mon之前应该使用这些命令,这些命令是可选的(不是必需的)

创建无线网卡的监视模式是伪造AP的重要步骤:

使用命令“airmon-ng start wlan0”,你可以为Wlan0创建“Wlan0Mon”(监视模式)。

注意:你可以手动运行此命令仅一次,或者可以在script1.sh文件中使用此命令一次,如步骤(cmd 1-1)所示。我们是在攻击者端手动使用。

第1步:攻击者系统伪造一个名为“Fake”的接入点和Mac地址00:fe:c8:b0:00:11

l 注意:Mac地址00:fe:c8:b0:00:11是我们注入的Payload,因此我们的Payload是“fec8b00011”

cmd1-1: airmon-ng start wlan0

l 注意:创建Wlan0Mon(监视模式)

cmd1-2: airbase-ng -a 00:fe:c8:b0:00:11 –essid “Fake”-I 10 -0 wlan0mon

l 注意:你需要让该伪造AP保持15秒,这样你可在15秒后通过killall命令在(cmd 1-2)中杀死这个命令

cmd1-3: sleep 15

cmd1-4: killall airbase-ng

第2步:(无关紧要,所以作者省略了第2步)。

第3步:攻击者系统伪造一个名为“Fake”的接入点和Mac地址00:dd:c0:09:45:f1

注意:Mac地址00:dd:c0:09:45:f1是我们注入的Payload,因此我们的Payload是“ddc00945f1”

cmd3-1: airbase-ng -a 00:dd:c0:09:45:f1 –essid “Fake”-I 10 -0 wlan0mon

注意:你需要让该伪造AP保持15秒,这样你可在15秒后通过killall命令在(cmd 3-1)中杀死这个命令

cmd3-2: sleep 15

cmd3-3: killall airbase-ng

从这些步骤可以看到,我们应该使用这些命令,但对于airbase-ng我们有很大的问题。

哪里有问题?

步骤(cmd 1-2)到(cmd 1-3)有问题

在步骤(cmd 1-2)后,你不能停止该airbase-ng命令,只是使用ctrl + c或杀死这个命令,你可以将其停止。所以在我们杀死该进程一次前我们的bash脚本总是停在步骤:(cmd 1-2)。

为解决该问题,我们的解决方案是为这些步骤使用2个bash脚本文件:

l 第一个是用于步骤(cmd1-2和cmd 3-1)的bash脚本文件“Script1.sh”

注意:你可以在此bash脚本的第一行中添加一次步骤(cmd 1-1)或手动完成一次。我们是手动执行了(cmd 1-1)一次。

l 第二个bash脚本是步骤(cmd 1-3&cmd 1-4&cmd 3-2&cmd 3-3)的“Script2.sh”

所以我们应该首先运行bash脚本“Script1.sh”,然后应该立即或2-3秒后运行bash脚本“Script2.sh”。

所以我们拥有的文件是:

Script1.sh文件:

Script2.sh文件:

注意:你可以在bash脚本“Script2.sh”文件中使用循环命令,比如( for )。

如图A所示,我们有用于将Meterpreter Payload注入到BSSID的script1.sh文件。

图A

从图A中可以看到,我们的MeterpreterPayload从第3行开始。我们的Meterpreter Payload是510字节。

在这种情况下,使用airbase-ng命令,你可以向我们的名为“Fake”的伪接入的BSSID注入5字节的Payload。

因此我们应该有102行用于通过airbase-ng命令将所有Payload注入BSSID。

102 * 5= 510字节

注意:每个BSSID包含5个字节的Payload。

在这种情况下,应将两个BSSID MAC地址添加到该script1.sh文件。

从图A中可以看到,我们的脚本的第2行有MAC地址00:ff:ff:ff:ff:ff,这个Mac地址或BSSID是启动攻击和向感染系统传输流量的标志,从图B中可以看到,该文件的结尾应该是BSSID {00:ff:00:ff:00:ff}。

BSSID注入循环:更改BSSID(102 + 2)= 104次。

图B

你还可以看到第二个脚本script2.sh文件,如图C所示。在这个文件中,你可以使用循环命令,比如(For),或者如图C所示操作。

图C

在文件“script2.sh”中,你应该杀死airbase-ng至少104次。

接下来我们通过工具NativePayload_BSSID.exe逐步解释这一方法:

步骤:

第0步:创建Wlan0mon(监视模式)。

语法:airmon-ng startwlan0

第1步:你可以用这个命令为你的后门创建一个Payload:

第2步:在该步骤中,你应该在payload.txt文件中将Payload的格式从“\xfc\x48\x83\xe4”替换为“fc4883e4”。

你可以使用该工具的 “帮助”来显示所有语法,如图1所示:

图1

现在你应该复制你的Payload字符串,并通过切换NativePayload_BSSID的NULL粘贴,如图1-1所示:

图1-1

现在你应该将所有这些行复制到一个bash脚本,比如“script1.sh”文件。

注意:仅将airbase-ng命令行复制并粘贴到script1.sh文件

在这种情况下,这些行应该是102行+2 = 104行

如图A所示,你应该在脚本的第一行手动添加“#!/bin/bash”,因此该文件中应该有105行。

第3步:在这一步,你应该在Linux端运行此Script1.sh。

更改chmod并运行此脚本,如图2所示:

图2

第4步:在这一步,你应该创建script2.sh并更改该脚本的chmod,但不需要在这一步运行该脚本,如图3所示。

图3

l 注意:你应该如图C所示手动创建该bash脚本。

第5步:在这一步,你应该运行你的后门,即NativePayload_BSSID.exe工具,从图4可以看到,我们为IP地址192-168-1-50在kali linux中创建了Meterpreter监听器,“script1.sh”成功执行。

因此第5步中的步骤有:

步骤AA:Meterpreter监听器执行(linux)

步骤BB:运行script1.sh(linux)

步骤CC:运行后门“NativePayload_BSSID.exe”(Windows)

步骤DD:运行script2.sh(linux)

步骤CC:这时候应该使用如图4所示的语法执行后门NativePayload_BSSID

我们在script1.sh中的ESSID是“Fake”,因此正确的语法是:

如图4所示,步骤AA、BB及CC获得执行

图4

从图4可以看到,后门被用户“u1”执行,然后应该运行“script2.sh” (步骤DD),如图4所示。

此时后门代码尝试扫描AIR上的ESSID“Fake”,然后转储“Fake” 接入点的BSSID,因此,从图4可以看到,我们的代码转储了BSSID “00:ff:ff:ff:ff:ff”四次,该BSSID是启动攻击和传输Payload的标志。

因此我们在AIR上的步骤如下:

接下来应该运行script2.sh(步骤DD)

每运行Script2.sh 15秒后,该脚本将从Script1.sh文件中杀掉一个Airbase-ng命令。

因此,在这一步的AIR上,在运行Script2.sh后,我们有以下步骤:

如图5所示,我们的后门在运行“script2.sh”文件后尝试转储BSSID

图5:通过BSSID和无线流量传输后门Payload

如图6所示,你将在30分钟后获得meterpreter会话。

图6

可以看到,通过我们的C#代码创建了Meterpreter会话,2017版卡巴斯基杀毒软件一次又一次绕过了该方法,最终meterpreter会话成功创建。

注意:从图7可以看到,我们的代码在15秒的延迟后创建了Meterpreter会话,该延迟是由我们的代码导致的。所以,通过我们的代码检查该方法后可知,在转储所有payload后,你应该等15秒,然后你将获得Meterpreter会话。

图7

总结:

你的无线设备总有漏洞,因此你应该考虑以下威胁:

1. 恶意软件或后门Payload注入到WiFi设备的BSSID并通过无线流量传输是可以实现的。

2. 如果你想为你的客户端和网络基础设施使用WIFI设备,你应该考虑这些威胁。

3. 在该方法中,在开启无线网卡之前你的受感染的系统总是脆弱的,即使开启了无线网卡,攻击者也可能通过手机或伪造AP攻破你的客户端。

4. 在我们的例子中,我们的后门尝试扫描用于转储BSSID的ESSID(比如“Fake”),因此,该流量将以非常缓慢且静默的方式工作。

5. 你的防病毒软件无法检测到,你的LAN/WAN中的防火墙也绕过了这个,因为没有任何流量通过这些基础设施,在我们的例子中,流量是受感染系统无线网卡和AIR上攻击者系统无线网卡之间的直接流量。另外,由后门转储Payload后,我们将有从受感染系统向攻击者系统的经由LAN/WAN的Reverse_tcp Meterpreter会话(不用无线网卡),因此,我们有从后门系统向互联网或局域网中的攻击者系统的传出流量,该流量在大多数情况下不会被windows防火墙等阻止。

C#源代码:https://github.com/DamonMohammadbagher/NativePayload_BSSID

演示视频:https://youtu.be/W0dJGln3tls

参考来源:https://www.linkedin.com/pulse/transferring-backdoor-payloads-bssid-wireless-traffic-mohammadbagher?trk=mp-reader-card

咨询作者后的回复:

*本文作者:华为未然实验室,转载请注明来自Freebuf.COM

转载于:https://www.cnblogs.com/h2zZhou/p/6649573.html

通过BSSID和无线流量传输后门Payload相关推荐

  1. 利用DNS AAAA记录和IPv6地址传输后门

    一.前言 在本文中,我想解释如何在DNS流量中利用IPv6地址(AAAA)记录传输Payload.在我之前的文章中,我解释了如何利用DNS和PTR记录,现在我们将讨论AAAA记录. 本文分为两部分: ...

  2. [转]步入成熟的无线视频应用 英特尔WiDi无线视频传输研究

    当高清电视普及后,有很多用户都在纠结这样一个问题:笔记本连接高清电视看高清电影虽然效果很爽,但相当麻烦!需要连线不说,还得不断跑到电视面前过去进行播放.暂停或停止操作,很累! 而经历了数代发展的英特尔 ...

  3. 15Mbps!台湾网友33公里无线网络传输实测

    http://network.pconline.com.cn/pingce/0907/1708485_all.html 15Mbps!台湾网友33公里无线网络传输实测 2009-07-23 16:39 ...

  4. 网桥如何把信号传给服务器,无线网桥传输的三种传输方式

    原标题:无线网桥传输的三种传输方式 无线网桥从字面上来说,就是摒弃了传统的铜线或是光纤的一种无线网络的桥接,利用无线传输方式,以空气作为传输媒介,实现在两个或是多个网络之间建立通信的桥梁,进行网络数据 ...

  5. 最简单的无线充电传输电路

      本文参照Youtube原视频链接: Wireless Charger | Theory & Homemade Circuit 01 无线电能传输 一.背景介绍   今天在Youtube上看 ...

  6. 无线功率传输(WPT)及相关标准(包括Qi)

    无线功率传输(WPT)及相关标准(包括Qi) 1. 无线功率传输原理 WPT的工作原理与电源变压器相似,但有一些区别,例如变压器有两个非常靠近的线圈,通常每个线圈都缠绕在铁氧体材料上以增加磁耦合,但在 ...

  7. 无线能量传输(WPT)中收发线圈的等效电路模型

    无线能量传输 无线能量传输是指通过电磁场将电能远距离进行传输.通过无线能量传输可将电能传输到不易通过导线传送的地方,如植入式医疗用电设备.运动中的用电设备.工作环境恶劣的用电设备. 无线能量传输收发线 ...

  8. 无线电能传输LCC-S拓扑/WPT MATLAB/simulink仿真模型

    无线电能传输LCC-S拓扑/WPT MATLAB/simulink仿真模型 (模型左边为两电平H桥逆变器,LCC-S串联谐振,右边不可控整流结构) [控制方法]:有用滑模控制移相控制和用PI控制的两种 ...

  9. 无线电能传输LCL-S拓扑/WPT MATLAB/simulink仿真模型 (模型左边为两电平H桥逆变器,LCL-S串联谐振,右边不可控整流结构)

    无线电能传输LCL-S拓扑/WPT MATLAB/simulink仿真模型 (模型左边为两电平H桥逆变器,LCL-S串联谐振,右边不可控整流结构) [控制方法]:有用滑模控制移相控制和用PI控制的两种 ...

最新文章

  1. HTC VIVE SDK 中的例子 hellovr_opengl 程序流程分析
  2. python获取文件名及文件扩展名的方法
  3. [牛客数据库SQL实战] 11~20题及个人解答
  4. Numpy Binary operations
  5. 一篇相当不错的function入门文章
  6. 统计文件中以某个字母开头的单词的数目
  7. Redis基础学习(2)
  8. gentoo 修改键盘映射
  9. pythonjam教程_colorama(pythonjam官网)
  10. Matlab中semilogy函数使用
  11. 《沉默的真 相》的舆情分析及文本挖掘(二)——以原著小说,京东商品为例
  12. arcgis实现cad图斑批量导入后,图斑颜色设置cad图层颜色保持一致
  13. 【Linux】一步一步学Linux——atq命令(139)
  14. 可重入锁模拟三个线程之间的通信
  15. 戳这里,誉天胡老师教你如何备考 HCIE-Datacom!考试通关so easy!
  16. SLAM传感器篇:Velodyne激光雷达
  17. Tableau:画桑基图(详细版)
  18. 山东大学计算机学院 论坛,计算机学院承办计算机学科发展高峰论坛_山东大学...
  19. python爬取微博非好友圈_python爬取微博好友圈信息
  20. cad 计算机图库,cad模型图库(cad图库怎么用)

热门文章

  1. 云服务器带宽解释及下载速度分析
  2. 论文精讲 | 一种隐私保护边云协同训练
  3. Java、JSP基于Web的师生互动系统的设计与实现
  4. 【毕设教程】单片机RFID模块的使用 - 物联网 嵌入式 毕业设计 stm32
  5. win10c语言弹出框,win10系统启动程序时弹出异常代码c0000005的解决技巧
  6. 小志志和小峰峰的日常(SG函数)
  7. 一款在线视频 App,基于 Material Design + MVP + RxJava + Retrofit + Realm + Glide
  8. 巴菲特午餐终局谜题何时揭晓,中标者是不是孙宇晨?
  9. MySQL事件的创建和执行
  10. html获取问号后的参数,html问号后的值怎么获取