sosonp's blog

focus on cybersecurity

0%

vulnhub-Fristileaks 1.3 walkthrough

目标靶机

Fristileaks 1.3

涉及漏洞

  • 文件上传绕过
  • dirtycow
  • suid提权

信息收集

nmap扫描
只开放了80端口
1.png

2.png

Nikto扫描:
Apache 2.2.15 php5.3.3
Robots.txt有三个目录:/cola、/sisi、/beer
3.png

dirbuster扫描目录
4.png
没发现太多有价值的页面
5.png

访问web页面如下
6.png

访问robots.txt的目录页面,都是显示下面这个图片
7.png

根据主页的提示语:keep calm and drink fristi,尝试/fristi目录,发现一个登陆页面
8.png

初步尝试admin/admin、root/root等弱口令均无法登陆,尝试sql注入也无果
9.png

查看管理页面源码,比较特别的是网页图片是通过base64方式加载的
10.png

下面发现一串注释的base64
11.png

于是利用浏览器加上data:img/png;base64,访问,下载文件
12.png

打开下载的图片文件,得到以下字符串,猜测是登陆密码
13.png

尝试用上图密码,试了常用的用户名,均无法登陆。
再看回刚才的页面源码,发现以下注释有个eezeepz的名字
14.png

尝试利用用户名eezeepz,密码keKkeKKeKKeKkEkkEk登陆,成功登陆
15.png

点击upload file,是个上传图片的页面,上传一张正常图片测试
16.png
17.png

提示图片上传到/uploads,通过/uploads/nba.jpg可以访问
18.png

漏洞利用

文件上传绕过

下载php反弹shell
19.png

修改连接参数
20.png

kali监听端口
21.png

上传页面上传php反弹shell
22.png

提示只允许图片格式
23.png

把shell文件加上.jpg后缀,再次上传成功
24.png
25.png

在web页面访问
26.png

获取到shell,用户是apache
27.png

提权方式1

查看内核版本是2.6.32
28.png

发现存在dirty cow漏洞
29.png

下载dirty cow利用代码提权
30.png
31.png
执行成功
32.png
tty切为sh之后,成功提权成root权限
33.png
获取flag
34.png

提权方式2

拿到低权限用户后,查看/home目录文件夹如下
35.png

admin目录和fristi目录权限不足,进入eezeepz目录查看notes.txt文件
36.png

根据文件说明,写入命令到/tmp/runthis,给/home/admin赋777权限
37.png

进入/home/admin目录
38.png

查看cryptpass.py的内容可知密码加密的过程
39.png

查看whoisyourgodnow.txt,用户名为fristigod,应该是改用户加密后的密码
40.png

根据加密过程逆向写一个解密的python如下
41.png

把加密密码传入执行,得到LetThereBeFristi!
42.png

把cryptedpass.txt的密文传入执行,得到thisisalsopw123
43.png

使用密码LetThereBeFristi!登陆fristi用户成功
44.png

pwd看路径在/var/fristigod
45.png

查看命令历史
46.png

进入.secret_admin_stuff目录,看到一个带s权限的程序
47.png

直接执行,提示错误用户
48.png

Sudo -l命令查看,用fristi用户执行doCom命令变可以执行root权限的命令
49.png

输入命令sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom su - ,成功切换到root用户
50.png

Flag:
51.png