目标靶机
涉及漏洞
- 文件上传绕过
- dirtycow
- suid提权
信息收集
nmap扫描
只开放了80端口
Nikto扫描:
Apache 2.2.15 php5.3.3
Robots.txt有三个目录:/cola、/sisi、/beer
dirbuster扫描目录
没发现太多有价值的页面
访问web页面如下
访问robots.txt的目录页面,都是显示下面这个图片
根据主页的提示语:keep calm and drink fristi,尝试/fristi目录,发现一个登陆页面
初步尝试admin/admin、root/root等弱口令均无法登陆,尝试sql注入也无果
查看管理页面源码,比较特别的是网页图片是通过base64方式加载的
下面发现一串注释的base64
于是利用浏览器加上data:img/png;base64,访问,下载文件
打开下载的图片文件,得到以下字符串,猜测是登陆密码
尝试用上图密码,试了常用的用户名,均无法登陆。
再看回刚才的页面源码,发现以下注释有个eezeepz的名字
尝试利用用户名eezeepz,密码keKkeKKeKKeKkEkkEk登陆,成功登陆
点击upload file,是个上传图片的页面,上传一张正常图片测试
提示图片上传到/uploads,通过/uploads/nba.jpg可以访问
漏洞利用
文件上传绕过
下载php反弹shell
修改连接参数
kali监听端口
上传页面上传php反弹shell
提示只允许图片格式
把shell文件加上.jpg后缀,再次上传成功
在web页面访问
获取到shell,用户是apache
提权方式1
查看内核版本是2.6.32
发现存在dirty cow漏洞
下载dirty cow利用代码提权
执行成功
tty切为sh之后,成功提权成root权限
获取flag
提权方式2
拿到低权限用户后,查看/home目录文件夹如下
admin目录和fristi目录权限不足,进入eezeepz目录查看notes.txt文件
根据文件说明,写入命令到/tmp/runthis,给/home/admin赋777权限
进入/home/admin目录
查看cryptpass.py的内容可知密码加密的过程
查看whoisyourgodnow.txt,用户名为fristigod,应该是改用户加密后的密码
根据加密过程逆向写一个解密的python如下
把加密密码传入执行,得到LetThereBeFristi!
把cryptedpass.txt的密文传入执行,得到thisisalsopw123
使用密码LetThereBeFristi!登陆fristi用户成功
pwd看路径在/var/fristigod
查看命令历史
进入.secret_admin_stuff目录,看到一个带s权限的程序
直接执行,提示错误用户
Sudo -l命令查看,用fristi用户执行doCom命令变可以执行root权限的命令
输入命令sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom su - ,成功切换到root用户
Flag: