Linux定时任务&环境变量&数据库
这里需要注意的是:
文章中讲到的shell可执行文件是本身受害端就有的并且具有SUID权限
PATH=/tmp:$PATH
和PATH=$PATH:/tmp
有点不同这会导致在去寻找环境变量的先后顺序不一样,优先查找前面的路径
linux环境变量参考:https://blog.csdn.net/rain_yunlx/article/details/78850580
漏洞前提:需要存在不安全的定时任务
参考:Linux提权一文通
vulnhub靶机渗透-Raven2
1.信息收集
用nmap探测目标主机
全端口扫描
访问目标地址,翻看网页源码等找寻信息
在BLOG页面发现有wordpress
注意:这里最初访问存在显示不完整,可能是因为网站源码是通过raven.local来访问的,解决办法是将本地hosts文件添加一个域名解析
发现wordpress,直接上wpscan进行扫描(这里使用kali中的wpscan时,可能也需要配置一下hosts域名解析)
vim /etc/hosts
(其实也不用,最开始是因为地址用的https导致访问不了以为不能扫,才去改的,用http://192.168.184/wordpress就行了QAQ)
上面废话一堆,下面直接wpscan走起,wpscan --url http://192.168.184.140/wordpress/ -e vp,vt,tt,u
wpscan扫描出的有效信息(两个用户名,其他选项扫描无果)
之后再使用dirb扫描目录,发现/vendor目录存在目录遍历
翻看目录发现/PATH下有flag1
继续翻目录,找到PHPMailer相关文件,版本可能是5.2.16
2.漏洞利用
基于前面的信息收集,开始进一步渗透,寻找可以利用的漏洞
PHPMailer远程代码执行
百度搜索PHPMailer漏洞,发现版本小于5.2.18会存在远程代码执行漏洞(CVE-2016-10033)
直接上msf,进行搜索
选择这个2016年的exp
根据提示访问raven.local/blSkjQ6R.php
,成功提示如下(过程可能会比较慢,也可能失败,多run几次exp)
然后sessions 1
进入控制台
利用python开启一个交互式shellpython -c 'import pty;pty.spawn("/bin/bash")'
使用find / -name flag*
找flag文件,找到flag2和flag3
利用MysqlUDF提权
有了www-data权限后,看能不能将权限提升至root
看看内核,百度后没看到能利用的漏洞
再看看这台服务器还有哪些用户
没想到之前在wordpress收集的两个用户名也是系统用户
再想到刚刚信息收集时有wordpress,于是去看看配置文件
得到mysql的root账户密码
看看数据库里有没有有用的信息
查看wp_users表里的信息
尝试用在cmd5网站解密,发现要钱,觉得一个靶机没必要花钱,而且这两个用户也不一定有很高的权限,那就再从其他地方找突破
于是尝试看看能不能使用UDF提权
使用ps -aux|grep mysql查看mysql的运行权限,来判断能否使用mysql提权
可以看到是以root身份运行,可以利用UDF提权
还有一种做法也会想到用UDF提权,python搭建以一个简易的服务器来把Linux枚举漏洞工具LinEnum下载到靶机里面,命令:python -m SimpleHTTPServer 5555
,在靶机用wget下载即可,运行结果中会出现如下的显示,及表示可以利用UDF提权
好,接下来正式开始UDF提权
利用Google搜索exp
找到https://www.exploit-db.com/exploits/1518(链接里有usage)
usage如下:
1 | mysql> use mysql; |
下面结合SUID进行提权,给find附上suid权限
select do_system('chmod u+s /usr/bin/find');
接下来利用find便可以执行root权限的命令
可以利用find返回一个root权限的shellfind / -exec '/bin/sh' \;
最后我们访问/root目录找到最后一个flag,flag4.txt
到此圆满渗透结束,★,°:.☆( ̄▽ ̄)/$:.°★ 。
参考
https://blog.csdn.net/qq_34801745/article/details/103753259
https://blog.csdn.net/nzjdsds/article/details/93971746