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

通过无线流量和BSSID传输后门有效载荷

liebian365 2024-11-04 14:25 6 浏览 0 评论

翻译:金乌实验室

稿费:200RMB(不服你也来投稿啊!)

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿

前言


在这篇文章中,我想聊一聊无线AP和BSSID(AP的MAC地址)。我们的后门有效载荷没有进行文件系统加密和硬编码,因此我们可以利用这种方法绕过杀毒软件。我们的Meterpreter 有效载荷在网络流量中传输。

在这种情况下,攻击者可以通过篡改BSSID(环路更改,伪造AP)和逐步将后门有效载荷注入到BSSID(伪造的AP的MAC地址)发动攻击。在客户端,被感染的系统(后门系统)可以通过在AIR上扫描AP的MAC地址(BSSID)来转储这些有效载荷,不需要通过user-pass连接到伪造的AP。通过Wifi设备传输有效载荷,例如wlan(无线流量)也在我的讨论范围之内。在AIR上扫描BSSID 转储有效载荷后,Meterpreter会话通过Ethernet Network建立(没有Wifi 或者无线设备)。

恶意软件代码或简单的后门代码可以利用WIFI设备传输或者转储有效载荷,例如Wlan,最后你将得到有简单C#代码的 meterpreter 会话。

在这篇文章中,我使用Wifi设备仅仅是传输有效载荷(步骤1),通过扫描Wifi设备MAC地址(BSSID) 转储这些有效载荷,然后我的后门将通过eth0或Ethernet卡建立Meterpreter 会话,因此在这个阶段(步骤2),我们使用网络流量来建立Meterpreter 会话,不使用WIFI设备,。

注意:如果你想只通过WIFI设备来完成步骤1和步骤2,我认为技术上是可行的,但是我自己没有测试过。在步骤2中你可能会需要用到EvilTwin AP,还需要使Meterpreter Listener在伪造的AP网络子网中有一个IP地址,你可以使用MANA-Toolkit来完成这个操作。

链接:https://github.com/sensepost/mana

这个方法的重点是什么


重点是:恶意软件或后门有效载荷注入到WiFi设备的BSSID,以及通过无线流量传输是可能的。

从伪造的AP扫描注入的有效载荷到BSSID,步骤如下


例如我们要传输以下的有效载荷:

1
“fec8b00011ddc00945f1”

步骤1:攻击者系统将伪造的AP命名为“Fake”,MAC地址为00:fe:c8:b0:00:11

注意:Mac地址00:fe:c8:b0:00:11是注入的有效载荷,所以我们的有效载荷是“fec8b00011”,是有效载荷“fec8b00011ddc00945f1”的前半部分。

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

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

步骤3:攻击者系统将伪造的AP命名为“Fake”,Mac地址是00:dd:c0:09:45:f1

注意:Mac地址00:dd:c0:09:45:f1是注入的有效载荷,所以我们的有效载荷是“ddc00945f1”,是有效载荷 “fec8b00011ddc00945f1”的后半部分。

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

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

这2步扫描之后,在被感染的系统(后门系统)中你将会得到有效载荷 fec8b00011ddc00945f1。

现在你了解了这种方法的工作原理,接下来我将通过在linux端的命令向你展示(步骤1和步骤3)更多的信息。下面我将通过命令伪造AP。

可选命令:在创建Wlan0mon之前更改WiFi卡的TXPower,这些命令可以帮助你更好的伪造AP信号,以便你可以手动操作此命令。

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

使用WLAN卡的监控模式是伪造AP的重要步骤


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

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

步骤1:攻击者系统将伪造的AP命名为“Fake”,MAC地址为00:fe:c8:b0:00:11。

注意:Mac地址00:fe:c8:b0:00:11是注入的有效载荷,所以我们的有效载荷是“fec8b00011”

cmd 1-1:airmon-ng start wlan0

注意:创建Wlan0Mon(监控模式)

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

注意:你需要15秒伪造AP,15秒后你可以通过killall命令在cmd 1-2终止这个命令。

cmd 1-3:sleep 15

cmd 1-4:killall airbase-ng

步骤3:攻击者系统将伪造的AP命名为“Fake”,MAC地址为00:dd:c0:09:45:f1

注意:Mac地址00:dd:c0:09:45:f1是注入的有效载荷,所以我们的有效载荷是“ddc00945f1”

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

注意:你需要15秒伪造AP,15秒后你可以通过killall命令在cmd 3-1终止这个命令。cmd 3-2:sleep 15

cmd 3-3:killall airbase-ng

你可以看到在实施这些步骤的时候,我们需要使用以上命令,但是我在airbase-ng命令上遇到了大问题。

问题以及解决方案


问题出现在步骤(cmd 1-2)到(cmd 1-3)。

在步骤(cmd 1-2)之后,只有通过ctrl + c或kill能终止airbaseng命令,所以我的bash脚本总是停在步骤(cmd 1-2),直到我终止了进程。

针对这个问题,我的解决方案是使用2 个bash脚本文件:

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

注意:你可以在bash脚本的第一行中添加步骤(cmd 1-1)或手动执行。在本文中,我手动执行cmd 1-1。

第二个bash脚本是 “Script2.sh”,使用于步骤(cmd 1-3 & cmd 1-4 & cmd 3-2 & cmd 3-3)

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

我们得到以下的文件:

Script1.sh文件:

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

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

图A

如图A所示,Meterpreter 有效载荷从第3行开始。在本文中我的Meterpreter 有效载荷是510字节。在这种情况下,使用airbase-ng命令可以为名为“Fake”的伪造AP注入5字节的有效载荷到BSSID。因此我们应该有102行用于通过airbase-ng命令将所有的有效载荷注入到BSSID。

102 * 5 = 510字节

注意:每个BSSID包含5个字节的有效载荷。

{5字节} ==> fc-48-83-e4-f0

在这种情况下,应将两个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

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

图C

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

具体分析


接下来我要通过我的工具(NativePayload_BSSID.exe)来逐步分析这个方法:

步骤如下:

步骤0:创建Wlan0mon(监控模式)。

语法:airmon-ng start wlan0

步骤1:使用以下命令生成一个后门有效载荷:

步骤2:在payload.txt文件中将有效载荷的格式从“\ xfc \ x48 \ x83 \ xe4”替换为“fc4883e4”。

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

图片1

现在应该复制粘贴有效载荷字符串,通过NULL NativePayload_BSSID,如图1-1所示:

语法:c:\> NativePayload.exe null “fc4883e4...”

图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

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

步骤5:运行后门,使用NativePayload_BSSID.exe工具,如图4所示,我在kali linux创建了Meterpreter Listener,IPAddress 192-168-1-50,执行了“script1.sh”。

步骤5包含以下步骤:

步骤AA:Meterpreter Listener执行(linux)

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

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

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

在步骤CC中,应该使用以下的语法来执行后门NativePayload_BSSID,如图4所示

NativePayload_BSSID.exe “essid”

在本文中,我们在script1.sh中的ESSID是“Fake”,所以正确的语法是:

1
c:\> NativePayload_BSSID.exe“Fake”

如图4所示,执行步骤(AA,BB和CC)。

图4

如图4所示,由用户“u1”执行后门,接下来应该运行“script2.sh”(步骤DD)。

后门代码试图在AIR上扫描ESSID“Fake”,然后转储BSSID为“Fake”AP,因此如图4所示,我的代码转储4次BSSID“00:ff:ff:ff:ff:ff”,该BSSID是启动攻击和通过BSSID传输有效载荷的标志。

所以在AIR上,我们有以下这些步骤:

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

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

运行Script2.sh后,在AIR上我们有以下这些步骤:

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

图5:通过BSSID和无线流量传输后门有效载荷

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

图6

在图中可以看到我们已经通过C#代码建立了Meterpreter会话,并且我的Kaspersky 2017杀毒软件被这个方法一次又一次地绕过。最终meterpreter会话成功建立了。

注意:在图7中你可以看到我的代码在15秒延迟后建立Meterpreter会话连接,所以如果你使用我的代码验证这个方法,转储所有的有效载荷后,你应该等待15秒,然后你将得到Meterpreter会话。

图7

结语


无线设备总是很容易被攻击,因此我们应该考虑以下威胁:

1. 恶意软件或后门有效载荷注入到WiFi设备的BSSID,以及通过无线流量传输是可能的。

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

3. 受感染的系统是脆弱的,你的客户端也许会被攻击者攻击。

4. 我的后门试图扫描ESSIDs,例如“Fake”,以转储BSSID,这个流量将会悄悄的工作。

5. 你的杀毒软件无法检测到,而且 LAN / WAN中的防火墙被绕过,因为我们没有任何流量通过这些基础设施。在这种情况下,在AIR上我们在被感染系统Wifi卡和攻击者系统Wifi卡之间有直接流量。在后门转储有效载荷后,我们不使用Wifi卡,而是通过LAN / WAN将Reverse_tcp Meterpreter会话流量从被感染系统传输到攻击者系统。因此在这种情况下,我们在Internet或LAN中有从后门系统到攻击者系统的传出流量,而且这个流量大部分情况下不会被Windows防火墙阻拦。

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

相关推荐

快递查询教程,批量查询物流,一键管理快递

作为商家,每天需要查询许许多多的快递单号,面对不同的快递公司,有没有简单一点的物流查询方法呢?小编的回答当然是有的,下面随小编一起来试试这个新技巧。需要哪些工具?安装一个快递批量查询高手快递单号怎么快...

一键自动查询所有快递的物流信息 支持圆通、韵达等多家快递

对于各位商家来说拥有一个好的快递软件,能够有效的提高自己的工作效率,在管理快递单号的时候都需要对单号进行表格整理,那怎么样能够快速的查询所有单号信息,并自动生成表格呢?1、其实方法很简单,我们不需要一...

快递查询单号查询,怎么查物流到哪了

输入单号怎么查快递到哪里去了呢?今天小编给大家分享一个新的技巧,它支持多家快递,一次能查询多个单号物流,还可对查询到的物流进行分析、筛选以及导出,下面一起来试试。需要哪些工具?安装一个快递批量查询高手...

3分钟查询物流,教你一键批量查询全部物流信息

很多朋友在问,如何在短时间内把单号的物流信息查询出来,查询完成后筛选已签收件、筛选未签收件,今天小编就分享一款物流查询神器,感兴趣的朋友接着往下看。第一步,运行【快递批量查询高手】在主界面中点击【添...

快递单号查询,一次性查询全部物流信息

现在各种快递的查询方式,各有各的好,各有各的劣,总的来说,还是有比较方便的。今天小编就给大家分享一个新的技巧,支持多家快递,一次能查询多个单号的物流,还能对查询到的物流进行分析、筛选以及导出,下面一起...

快递查询工具,批量查询多个快递快递单号的物流状态、签收时间

最近有朋友在问,怎么快速查询单号的物流信息呢?除了官网,还有没有更简单的方法呢?小编的回答当然是有的,下面一起来看看。需要哪些工具?安装一个快递批量查询高手多个京东的快递单号怎么快速查询?进入快递批量...

快递查询软件,自动识别查询快递单号查询方法

当你拥有多个快递单号的时候,该如何快速查询物流信息?比如单号没有快递公司时,又该如何自动识别再去查询呢?不知道如何操作的宝贝们,下面随小编一起来试试。需要哪些工具?安装一个快递批量查询高手快递单号若干...

教你怎样查询快递查询单号并保存物流信息

商家发货,快递揽收后,一般会直接手动复制到官网上一个个查询物流,那么久而久之,就会觉得查询变得特别繁琐,今天小编给大家分享一个新的技巧,下面一起来试试。教程之前,我们来预览一下用快递批量查询高手...

简单几步骤查询所有快递物流信息

在高峰期订单量大的时候,可能需要一双手当十双手去查询快递物流,但是由于逐一去查询,效率极低,追踪困难。那么今天小编给大家分享一个新的技巧,一次能查询多个快递单号的物流,下面一起来学习一下,希望能给大家...

物流单号查询,如何查询快递信息,按最后更新时间搜索需要的单号

最近有很多朋友在问,如何通过快递单号查询物流信息,并按最后更新时间搜索出需要的单号呢?下面随小编一起来试试吧。需要哪些工具?安装一个快递批量查询高手快递单号若干怎么快速查询?运行【快递批量查询高手】...

连续保存新单号功能解析,导入单号查询并自动识别批量查快递信息

快递查询已经成为我们日常生活中不可或缺的一部分。然而,面对海量的快递单号,如何高效、准确地查询每一个快递的物流信息,成为了许多人头疼的问题。幸运的是,随着科技的进步,一款名为“快递批量查询高手”的软件...

快递查询教程,快递单号查询,筛选更新量为1的单号

最近有很多朋友在问,怎么快速查询快递单号的物流,并筛选出更新量为1的单号呢?今天小编给大家分享一个新方法,一起来试试吧。需要哪些工具?安装一个快递批量查询高手多个快递单号怎么快速查询?运行【快递批量查...

掌握批量查询快递动态的技巧,一键查找无信息记录的两种方法解析

在快节奏的商业环境中,高效的物流查询是确保业务顺畅运行的关键。作为快递查询达人,我深知时间的宝贵,因此,今天我将向大家介绍一款强大的工具——快递批量查询高手软件。这款软件能够帮助你批量查询快递动态,一...

从复杂到简单的单号查询,一键清除单号中的符号并批量查快递信息

在繁忙的商务与日常生活中,快递查询已成为不可或缺的一环。然而,面对海量的单号,逐一查询不仅耗时费力,还容易出错。现在,有了快递批量查询高手软件,一切变得简单明了。只需一键,即可搞定单号查询,一键处理单...

物流单号查询,在哪里查询快递

如果在快递单号多的情况,你还在一个个复制粘贴到官网上手动查询,是一件非常麻烦的事情。于是乎今天小编给大家分享一个新的技巧,下面一起来试试。需要哪些工具?安装一个快递批量查询高手快递单号怎么快速查询?...

取消回复欢迎 发表评论: