这篇文章主要是给自己做个笔记,方便提权时查找漏掉一些东西,然后本人也是开始学习提权的思路和过程,并没有太多的骚姿势分享给大家,所以本文适合小白吧。
信息收集
1 | id |
searchsploit的使用
1 | #例子如下,自己去学参数语法,不过一般下面这几句就够了 |
suid提权
一般服务器不会安装乱七八糟的其他应用,所以一般不会有suid提权,但是也不可掉以轻心。因为提权就是要搜集信息,想尽一切办法。
常见可用于suid提权的命令:
1 | Nmap |
下面一一介绍各个工具的执行系统命令的例子。
查找符合条件的文件命令
1 | #查找root权限的suid可执行文件 |
提权示例
nmap
老版的nmap(2.02-5.21)有相互的功能–interactive
1 | nmap> !sh |
msf中也有相关的模块
exploit/unix/local/setuid_nmap
find
如果find以SUID权限运行,所有通过find执行的命令都会以root权限运行。
1 | touch test |
vim
如果vim以SUID运行,就会继承root用户的权限,可以读取系统中所有的文件
1 | vim/vi |
bash
1 | bash -p |
less/more
1 | less /etc/passwd |
暴力破解
有时候密码简单的时候也可以进行暴力破解,但是局限性也是有的 root才能读取shadow,但是有时候网站配置不当我们可以读取或者网站的一些敏感的信息泄露。
暴力破解
1 | # john 利用默认字典爆破,这里的shadow放置hash即可也可写入完整/etc/shadow内容 |
mimipenguin
和mimikatz 一样 从内存读取密码,但是也是需要很高的权限,很少用。
计划任务 - cron
系统内可能会有一些定时执行的任务,一般这些任务由crontab来管理,具有所属用户的权限。非root权限的用户是不可以列出root用户的计划任务的。但是/etc/内系统的计划任务可以被列出
1 | ls -l /etc/cron* |
默认这些程序以root权限执行,如果有幸遇到一个把其中脚本配置成任意用户可写的管理员,我们就可以修改脚本等回连rootshell了,当然几率也比较小。
exp编译
1 | #一般的exp编译 |
常用的exp
dirty-cow
漏洞范围:
Linux kernel >= 2.6.22(2007年发行,到2016年10月18日才修复,所以如果看到内核编译日期是2017年以后的一般不考虑脏牛提权)
EXP地址:
1、https://github.com/FireFart/dirtycow # 推荐用这个
2、https://github.com/gbonacini/CVE-2016-5195
1 | 1、gcc -pthread dirty.c -o dirty -lcrypt #1的exp -lcrypt 是调用crypt库进行编译就要加 -lcrypt -pthread同理 |
注意: dirtycow是通过修改root的用户名密码进行提权的,所以一定要记住备份原来的/etc/passwd,方便及时恢复。
CVE-2010-3904
漏洞范围:
Linux Kernel <= 2.6.36-rc8 RDS privilege escalation exploit
CVE-2010-3904
1 | gcc 15285.c -o 15285 |