用 Vulnhub 来练习漏洞靶场 (爸爸再也不用担心我没有靶场练习了)

0x01 前言

Vulnhub 它是一个提供各种漏洞环境的平台,里面大部分的环境是要用 VMware 或者 VirtualBox 打开运行的。
如果只是练习一些常见的漏洞可以看我另一篇用 [Docker 来搭建各种漏洞靶场 (妈妈再也不用担心我没有靶场练习了)](https://getpass.cn/2018/03/14/Use Docker to build a variety of loopholes (my mother no longer has to worry about not having practiced in the shooting range)/)

0x02 下载

https://www.vulnhub.com
里面有各种各样的镜像,可以下载到自己的机子上面练习。

镜像的下载地址和描述、难度等级等

随便点击下载,有些需要 FQ 才能下载,推荐官网的下载地址。
作为测试,我就下载 JIS-CTF: VulnUpload 作为演示吧

Download (Mirror): https://download.vulnhub.com/jisctf/JIS-CTF-VulnUpload-CTF01.ova

0x03 安装

下载完后,解压出来,会看到一个 ovf 后缀的文件

打开 VMware,点击打开,找到我们刚才解压的文件,选择 ovf 文件

选择存放的位置,然后点击导入

最后等待导入完成,导入速度看本机性能和镜像的大小

0x04 设置

导入完成后,我设置的网络模式是 NAT 的,因为我内网比较多机子,所以选择这个方便等下扫描。还有就是内存大小,如果本机内存小于 4G 的请修改内存到 4G 以下。

我们点击开启虚拟机,到开机的页面我们回车选择第二个 Ubuntu 的高级选项(如果启动有网络正常的话可以直接正常开机,如果网络不正常可以按下面步骤操作)

进到高级选项,我们再次回车选择第二个 Linux 内核版本的恢复模式

等待系统启动完毕后,看到这个页面,我们继续回车进入

回车后会弹出选择界面,我们选择 root 一行回车,然后再次回车进入命令行模式

输入命令查看所以的网卡:ifconfig -a

我的是 ens33,然后继续输入命令 vi /etc/network/interface 修改网络配置文件

修改这两个地方,改成你的网卡名称,然后 ctrl+x 保存,最后输入 reboot 重启,OK!

0x05 完成任务吧!

作者给的描述是要我们找到靶机里面的 5 个 flag

Description: There are five flags on this machine. Try to find them. It takes 1.5 hour on average to find all flags.

1. 网络扫描

可以使用 netdiscover -i 网卡名称,或者用 nmap 来扫描:


得到靶机的 ip 之后,我们用 nmap 来扫描靶机的信息

2. 第一个 flag

我们从刚才扫描的信息得之 robots.txt 文件,我们查看下里面的内容

我们看到一个敏感的字眼,地址栏输入 http://ip/flag,得到第一个 flag

3. 第二个 flag

地址栏输入 http://ip/admin_area/, 右键查看源码得到第二个 flag

4. 第三个 flag

我们从刚才第二个 flag 的地方得到管理员的账号密码,地址栏打开 http://ip/login.php 登录

可以看到是一个上传页面,我们写一句话木马上传

我们用蚁剑来连接 http://ip/uploaded_files/shell.php

我们翻到 /var/www/html/ 目录下面,看到一个 hint.txt 和 flag.txt,flag.txt 我们 apache 的组是无法进行然后操作的,但是 hint.txt 我们可以读取,

得出 flag 的值

第四个 flag

刚才在第三个 flag 提示我们用 technawi 用去读取 flag.txt 文件,我们可以在隐藏文件中找到用户的信息

try to find user technawi password to read the flag.txt file, you can find it in a hidden file ;)
我们启动 shell 的命令行模式,输入命令 find /-user 'technawi' 2>/dev/null,2>/dev/null 是过滤掉类似没有权限的信息

同时我们也看到了一个特殊的文件 /etc/mysql/conf.d/credentials.txt ,我们尝试去读一下里面的信息,得到 flag

最后一个 flag

按照第四个 flag 的提示,我们用里面的账号密码去登录靶机 technawi@IP

然后去读取刚才 flag.txt 文件 cat /var/www/html/flag.txt ,得到最后的 flag

0x06 结束

不用自己搭建环境还是好的,毕竟搭环境遇到的问题可以浪费很多时间。

0x07 参考

https://www.vulnhub.com

https://medium.com/@D00MFist/vulnhub-jis-ctf-vulnupload-bf3072d2ca85