ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

渗透技巧——如何逃逸Linux的受限制shell执行任意命令

2020-01-31 18:00:25  阅读:349  来源: 互联网

标签:bin shell 受限制 命令 sh Linux bash


导语:本文介绍了如何在受限制的shell中执行任意命令,实现交互。其相应的利用场景是说当我们通过一些手段拿到当前Linux机器的shell时,由于当前shell的限制,很多命令不能执行,导致后续的渗透无法进行,在这篇文章中,就介绍了一些常见的绕过方法,同时在文章末尾提供了一个线上的练习环境。

0x01 前言

今早在刷twitter的时候看到了一篇文章(https://www.exploit-db.com/docs/english/44592-linux-restricted-shell-bypass-guide.pdf?rss),介绍了如何在受限制的shell中执行任意命令,实现交互。其相应的利用场景是说当我们通过一些手段拿到当前Linux机器的shell时,由于当前shell的限制,很多命令不能执行,导致后续的渗透无法进行,在这篇文章中,就介绍了一些常见的绕过方法,同时在文章末尾提供了一个线上的练习环境。 我就该文章提到的相应技术细节进行复现,同时附带上一些自己的思考,于是便有了本文。如有谬误,还望各位师傅斧正

0x02 技术背景及简介

在文章开始,首先来介绍一下什么是受限制的shell。简单理解,受限制的shell是说限制了一个shell的部分命令,像cd、ls、echo,或者是限制了一些环境变量,诸如SHELL、PATH、USER。有些情况下,受限制的shell也会限制包含/的命令,或者限制一些输出符,像>、>>等。常见的受限制shell有:rbash、rksh、rsh。 不过话又说回来了,为什么有的人会创建这种受限制的shell呢?什么样的业务场景需要这种受限制的shell。 通常来讲,构建一个受限制的shell通常处于以下目的: 1、提高操作系统的安全性 2、阻止攻击者,防止其进行后续的渗透 3、有时,系统管理员也会创建受限制的shell防止自己输入一些危险命令,影响业务 4、制作CTF题目(Root-me、hackthebox、vulnhub)

0x03 枚举Linux环境

枚举是找到突破方法的重要组成部分。我们需要枚举Linux环境来检测为了绕过rbash我们可以做哪些事。 在正式进行绕过测试之前,我们需要进行以下操作: 1、首先,我们必须检查可用命令,像cd、ls、echo等 2、接下来我们要检查常见的操作符,像>、>>、<、| 3、然后对可用的编程语言进行检查,如perl、ruby、python等 4、通过sudo -l命令检查我们可以使用root权限运行哪些命令 5、使用SUID perm检查文件或命令。 6、使用echo $SHELL命令检查当前使用的是什么shell(90%得到的结果是rbash) 7、使用env或者printenv命令检查环境变量 通过以上操作,我们已收集到一些游泳的信息,接下来尝试一下通用的利用方法。

0x04 通用利用技巧

1、如果"/"命令可用的话,运行/bin/sh或者/bin/bash 2、运行cp命令,将/bin/sh或者/bin/bash复制到当前目录 3、在ftp中运行!/bin/sh或者!/bin/bash,如下图所示

 

 

 

4、在gdb中运行!/bin/sh或者!/bin/bash

5、在more、man、less中运行!/bin/sh或者!/bin/bash 6、在vim中运行!/bin/sh或者!/bin/bash 7、在rvim中执行:python import os; os.system("/bin/bash ) 8、scp -S /path/yourscript x y: 9、awk 'BEGIN {system("/bin/sh or /bin/bash")}' 10、find / -name test -exec /bin/sh or /bin/bash \; 其中第6、7、8几种方法暂未在本地复现。

 

 

 

标签:bin,shell,受限制,命令,sh,Linux,bash
来源: https://www.cnblogs.com/kuaile1314/p/12246116.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有