TEST LAB V8在线渗透实验室教程(一)

[ 复制链接 ]
淡泊如风 | 2020-3-1 06:22:54 | 显示全部楼层 | 阅读模式 打印 上一主题 下一主题

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Test Lab是一个与Offensive Security的实验室类似的在线渗透测试虚拟实验室。这个实验环境中包含12个系统,分别有各种各样的漏洞和配置错误。在每个系统上都有一个token,我们需要找到它并将其上传,用于验证攻破该系统。

        首先,你需要在这里注册,注册之后你可以在那儿获取你的VPN配置文件和口令。在开始之前,我们建议你使用Kali Linux,因为用到的所有工具那上面都有,实验室提供了一个网络拓扑图,这有助于你分析目标。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        正如在上面的网络拓扑图中看到的,有两个网关 192.168.101.6和192.168.101.7。通过第一个网关,只能访问3个系统,它们是site、cabinet和ssh-dev。通过第二个网关,可以访问其它剩下的机器。在这篇文章的第一部分,我们将攻下两个系统网站和cabinet,其它机器我们会在下一部分攻破。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        所以,我们这次的主要目标是网站和cabinet,他们可以通过192.168.101.6访问。让我们开始行动吧。

        攻击SITE

        从利用nmap扫描开始,命令为:
nmap -sS -sV -Pn -p1-65535 192.168.101.6
       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        在上面的输出中我们发现了两个开放端口,80和443。用浏览器访问IP和80端口,显示是一个SAS银行程序,有一个登录功能。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        我们浏览这个应用程序,查看它的源代码寻找一些线索,但是什么都没发现。运行dirb工具枚举目录,命令为:
dirb http://192.168.101.6/ /usr/share/wordlists/dirb/common.txt/ -v
       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        在工具运行完之后,我们注意到每一个请求的响应码都是403,这意味着禁止访问。当我们尝试打开任何一个应用程序中不存在的页面时,它会返回一个404响应码。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        这说明防火墙封锁了我们的请求。现在我们对dirb工具稍作调整,增加一个-a参数,这参数允许我们指定一个不同的user agent。在这个例子中,我们增加了lceweasel浏览器的user agent,命令为:
dirb http://192.168.101.6/usr/share/wordlists/dirb/common.txt/ -v -a “Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.5.0”
       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        现在我们看到结果不同了,我们得到了404和200响应。利用浏览器打开.htaccess文件,没有发现感兴趣的东西,随后打开.git/HEAD文件,.git目录可以访问,这说明其它的配置文件也可以访问,并且可以下载下来。有一个名为DVCS Ripper的工具,它可以从网站上下载所有的.git仓库,前提是.git目录可以访问。

       我们使用下面的命令执行该工具:
./rip-get.pl -u http://192.168.101.6/.git/ -o /root/Desktop/app
       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        在工具执行后,所有的代码都保存在了我的app文件夹中。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        我们浏览应用程序所有源代码,从DatabaseSeeder.php中找到两个登录凭证, 该文件位于app/database/seeds目录中。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        我们尝试使用得到的用户口令登录,登录后发现了第一个token。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        攻击CABINET

        这个系统同样可以通过相同的网关192.168.101.6访问,利用443端口,并且有一个登录功能。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        我们再一次运行dirb工具寻找隐藏的目录和文件,命令如下:

dirb https://192.168.101.6/ /usr/share/wordlists/dirb/common.txt/ -a “Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.5.0”

       

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        正如上图看到的,我们找到了api目录,试着打开这个目录,它返回一个错误“You can use only /api/auth or /api/balance”。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        我们通过浏览器打开api/auth目录,同样地,它抛出一个错误,需要填写email和password。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        我们在请求时增加两个使用随机数填写的参数,然后访问URL。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        可以看到,它显示email无效,这说明请求是可以的,现在我们需要找到有效的email id。

        所以我们转到下一个目录api/balance,访问之后,它同样返回了错误,需要填写api session token和id。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        我们增加了两个必须的参数,用随机数赋值,然后访问URL,它又返回一个消息,api session token的值必须是40个字符。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        我们增加了一个40个字符的参数之后再次请求。应用程序返回了一个null值。这意味着起作用了。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        让我们尝试下SQL注入,给token参数的值赋一个精心制作的40个字符长的SQL注入语句,然后再次发送请求。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        SQL注入成功了,返回了所有的emails,在读完所有的email之后,我们选择了RalWestfall的email,因为它包含了sas-bank.lab域名。

        现在我们回到需要一个有效email的/api/auth页面,我们通过email参数提交了获取的email,现在它返回了一个不同的错误消息,password或email错误。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        在这个例子中,我们100%确定email是有效的,因为如果我们提供一个随机的email,它会显示“选择的email无效”的信息。现在我们需要密码,可以使用BurpSuite proxy来暴力猜解password参数。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        我们使用fuzzdb的密码表作为密码列表,如下所示。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        执行intruder一段时间后,我们发现了密码是“freeman”。

       尝试使用Ralph Westfall的密码和猜解出的密码登录,成功了。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        在登录之后,我们浏览所有的应用功能,发现了一个上传资料图片的功能。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        尝试上传一个PHP后门,它返回了一个错误,只允许上传图片。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        后来,我们查看应用程序的源代码,发现资料图片上传的位置位于uploads目录下。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        我们浏览upload文件夹,尝试访问PHP shell文件,虽然应用程序抛出了错误但是文件还在那儿。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        现在我们有了一个shell访问权限,浏览所有的root目录,我们在/var/www/文件夹中找到了token.txt文件。

       

TEST LAB V8在线渗透实验室教程(一)

TEST LAB V8在线渗透实验室教程(一)



        我们打开了text文件,找到了token。

        在下个部分,我们将进攻其它的机器。

        参考链接

       https://lab.pentestit.ru/pentestlabs/4

       https://github.com/fuzzdb-project/fuzzdb

       https://github.com/kost/dvcs-ripper
温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
回复 推荐到N格

使用道具 举报

大神点评(0)

您需要登录后才可以回帖 登录 | 立即注册
    相关推荐
    云凌阁

    关注0

    粉丝0

    帖子32

    发布主题