- Linux提权
- 1.1 sudo提权
- 1.2 suid提权
- 1.3 计划任务cron
- 1.4 内核漏洞提权
- 2.4.4 Linux_Exploit_Suggester(提权辅助工具)
- 2.5 利用可写文件
- 2.6、明文root密码提权
- 2.7、密码复用
- 2.8 查看用户最后编辑的文件
- 2.9 查找敏感文件
- 2.10 用grep查找有密码的文件
- 后言
linux的权限划分没有windows的复杂,提权只需要从普通权限提升到root权限就可以了。
1.1 sudo提权先进行尝试sudo su,查看是否为空密码。如果是,即可提权至root用户。
sudo -l
查看当前用户支持的命令,也就是查看获取到的webshell可以用sudo操作的所有命令。
1.2 suid提权SUID可以让调用者以文件拥有者的身份运行该文件,如果可以运行root用户所拥有的SUID的文件,从而即可把权限提升为root。
查看root用户拥有的suid文件:
find / -user root -perm -4000 -print 2>/dev/null
但并不是所有的SUID都能用来提权,具有提权功能的Linux可执行文件有:
Nmap、Vim/Vi、find、Bash、More、Less、Nano、cp
具体的利用过程可参照我的另外一篇博客:https://blog.csdn.net/liver100day/article/details/117947252
1.3 计划任务cronlinux系统内有时可能会有一些定时执行的任务,一般这些任务由crontab来管理,具有所属用户的权限,非roo权限的用户是不可以列出root用户的计划任务的。但是/ etc/目录内系统的计划任务是可以被列出的。
列出目标指定目录下的计划任务:
ls -l /etc/cron*
查找有无以root权限执行的定时任务,可尝试将这个脚本配置成任意用户可写入、运行,就可以修改脚本等待定时任务执行进行提权。
1.4 内核漏洞提权内核漏洞是最有效的提权方法。通杀的内核漏洞是十分少见的,因而应该先对系统相关的信息进行收集。
查看发行版本:
cat /etc/issue cat /etc/*-release
查看内核版本:
uname -a
之后再去漏洞平台上搜索有无对应版本的漏洞利用文件,或可以使用kali自带的searchsploit来搜索,有没有内核溢出漏洞和对应的脚本。
searchspoit 查询到的发行版本内核版本
最后通过webshell上传内核溢出代码到目标上,编译执行进行提权。
2.4.4 Linux_Exploit_Suggester(提权辅助工具)很好用的一款提权辅助工具,用法很简单,输入./linux-exploit-suggester.sh命令即可开始执行,列出目标所有可利用的漏洞编号。
2.5 利用可写文件如果用户对权限设置不规范,导致普通用户对敏感文件也有写入的权限,我们就可以利用这个方法写入一个拥有高权限的用户。
/etc/passwd :echo “temp::0:0::/root:/bin/bash” >> /etc/passwd /etc/sudoers:echo “用户名ALL=(ALL:ALL) ALL” >> /etc/sudoers2.6、明文root密码提权
一般情况下,linux系统的密码都放在/etc/ passwd和/etc/shadow这两个配置文件中。passwd里面储存了用户,shadow里面存储密码的hash。由于安全的原因,passwd是全用户可读的,只有root可写的,shadow 是仅root可读写的。
如果想要破解linux用户名和对应的密码,就要先获取/etc/passwd和/etc/shadow文件。passwd文件由冒号分割,最前面是用户名,紧接着是密码。shadow文件里面存放着各用户密码hash。
获取到了目标/etc/shadow文件和shadow文件之后即可利用kali里的john对其进行暴力破解,破解root用户密码进行提权。
很多管理员会重复使用密码,因此在数据库或者web后台或者在计算机上找到的其他密码也许就是root密码,多加尝试或许会有发现。
2.8 查看用户最后编辑的文件使用命令:
find / -mmin -10 2>/dev/null | grep -Ev "^/proc"
查看用户最后编辑过的文件,不管用户最后编辑的文件是否是密码文件,但至少该文件对用户来说较为重要,或许可从中找寻到重要信息。
2.9 查找敏感文件使用命令:
locate password | more
查看内容中有password关键字的文件。
2.10 用grep查找有密码的文件使用命令:
grep --color=auto -rnw '/' -ie "PASSWORD" --color=always 2> /dev/null
显示有password关键字的文件
后言最近一直在学习,但是学习的东西很多很杂,于是便把自己的学习成果记录下来,便利自己,帮助他人。希望本篇文章能对你有所帮助,有错误的地方,欢迎指出!!!喜欢的话,不要忘记点赞哦!!!



