环境搭建
下载链接
virtualbox 打开靶机设置为 host-only,攻击机同样。
具体可点此处
信息收集
开了个 80 端口。
用的是 apache 2.2.15 ,这个版本有个解析漏洞。
目录
根据首页的图片猜测 /fristi/
目录(不过我没想到 -_-)
进入是一个登录页面,网页源码中有一串 base64 加密的 png 图片。
转换一下
看到一串字符串,结合上面的用户名登录。
eezeepz
keKkeKKeKKeKkEkkEk
漏洞挖掘
登录进去,有个上传文件的地方
抓包改后缀,改 mime,加头字节都不行, 但是这个 apache 是 2.2.15 版本,有文件解析漏洞。
漏洞原理
由于管理员的错误配置, AddHandler application/x-httpd-php .php,在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。
也就是说,xxx.php.png 可以被解析为 php。
getshell
访问上传的文件,成功 getshell,直接 getshell ,我这边给它 url,编码了一下。
提权
有很多用户
centos (失败)
查查看有没有内核漏洞或者系统漏洞。
发现一个 centos 的漏洞
把 exp(/usr/share/exploitdb/exploits/linux/local)编译好后复制到攻击机网站下 。(可通过上传文件的目录)
在 /home/eezeepz 下的 notes.txt 中告诉我们:
允许我们访问/usr/bin/*系统二进制文件。用 /usr/bin/xxx 的路径 可以执行一些命令。
部分 /usr/bin/ 下没有的命令,在 /home/admin 下
/tmp/runthis 文件,每分钟运行一次;是 admin 权限。
给他执行权限,报错
g 了。
sudo 提权(成功)
可以利用 runthis 改写 admin 用户的家目录权限。
echo "/home/admin/chmod 777 /home/admin" >/tmp/runthis
让子弹飞会… /home/admin 里面有一个解密的 py 文件,和两个待解密的文件。
我们只需要把 cryptpass.py 反一下就可以了。
差不多就是这样:
解出两字符串:
thisisalsopw123
LetThereBeFristi!
尝试登录 admin,用 python 打开标准的 bash 终端,最后切换用户为 admin,没啥用
切换为 fristigod,有个可以 root 执行的文件
确实是一个 root 可执行文件。
成功提权。
脏牛提权
脏牛的大名,老早就知道了,但是一直没机会利用,刚好这题就可以利用脏牛提权,nice!
这里也可以利用漏洞探针来扫描漏洞,直接 wget 下载 sh 文件到靶机上,赋予执行权限,执行它,当然要下到可下的目录。
chmod +x 1.sh
./1.sh
可以看到,它也扫出脏牛,连利用的文章,和下载链接都给出来了,很贴心,爱了,爱了。
下载 dirtycow 2 的脚本,也就是 40839.c,编译后,wget 上传脚本,编译并执行,加入需要改的密码。
提权成功。
脏牛影响版本:
Centos7 /RHEL7 3.10.0-327.36.3.el7
Cetnos6/RHEL6 2.6.32-642.6.2.el6
Ubuntu 16.10 4.8.0-26.28
Ubuntu 16.04 4.4.0-45.66
Ubuntu 14.04 3.13.0-100.147
Debian 8 3.16.36-1+deb8u2
Debian 7 3.2.82-1
wp
利用脏牛提权:https://blog.csdn.net/weixin_45744814/article/details/120168008
利用sudo提权:https://blog.csdn.net/qq_27466929/article/details/126956406
总结
仔细阅读一些留言或者是解释。
可以利用漏洞探针快速查询漏洞。
脏牛的简单利用,及影响版本。