前几天学习web方向的时候需要搭建一个vulhub漏洞环境,当时安装的时候没记录。后来安好了现在来记录一下,也很简单,方便一下其他没有装的朋友们。
Vulhub
Vulhub是一个基于docker
和docker-compose
的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。
其官网给出了比较简便的安装方式:
# If you don't have a docker installed, you'll need to install docker
curl -s https://get.docker.com/ | sh
# Use pip to install docker-compose
pip install docker-compose
# Download the latest version of the vulhub
git clone https://github.com/vulhub/vulhub.git
# Entry vulnerability directory
cd /path/to/vuln/
# Compile (optional)
docker-compose build
# Run
docker-compose up -d
但我这边当时选择了一个新的kali环境安装,上述方法当时没有成功,自己换了种方法( 主要是安装docker)
安装kali
选一个比较迅速安装kali的方法,直接用kali官网自带的虚拟机文档,可以很快的获取一个kali环境(由于以前装过kali,这个是第四次安装就不想那么麻烦了)链接:https://www.kali.org/get-kali/#kali-virtual-machines
选择自己的平台下载安装即可(这里我的是VMware)
不想访问官网的我直接附上下载包链接(https://kali.download/virtual-images/kali-2022.1/kali-linux-2022.1-vmware-amd64.7z)
下载完成解压一下,然后打开VMware
选择打开,然后转到刚刚解压的文件夹中,选择
然后直接就可以开机,你会发现直接拥有了一台安装完成的kali。(壁纸很好看)
这种方法我不知道有什么安全隐患或者其他弊端没有,如果有的话大家可以留言告诉我一声。但有一个好处就是,真的快!我就是拿这个来单独当一个vulhub的本地服务而已,但这个对新手很友好。
然后我第一次的时候,就蒙了,账号密码是啥???
然后关机看了看 有描述
Kali Rolling (2022.1) x64
2022-02-10
- - - - - - - - - - - - - - - - - -
Username: kali
Password: kali
(US keyboard layout)
- - - - - - - - - - - - - - - - - -
* Kali Homepage:
https://www.kali.org/
* Documentation:
https://www.kali.org/docs/
* Kali Tools:
https://www.kali.org/tools/
* Forum/Community Support:
https://forums.kali.org/
* IRC Channel:
ircs://irc.oftc.net:6697/#Kali-Linux
https://www.kali.org/docs/community/kali-linux-irc-channel/
进去以后,就是一个"干干净净的船新kali"
安装docker
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
echo 'deb https://download.docker.com/linux/debian stretch stable'> /etc/apt/sources.list.d/docker.list
apt-get update
apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
然后就等待安装,记住中途要Y一下
apt-get update
sudo apt install docker.io
等待安装,中途Y一下
docker -version
有提示的话 证明安装成功
安装Docker-compose
安装pip
在这个整合文档的kali下 直接输入pip 他会提示你是否下载
pip
Command 'pip' not found, but can be installed with:
apt install python3-pip
Do you want to install it? (N/y)y
有pip后即可直接使用pip安装docker-compose:
pip install docker-compose
安装完成后,执行docker-compose -v,有返回则说明安装成功。
docker-compose version 1.29.2, build unknown
下载Vulhub
安装完成docker和docker-compose后,拉取Vulhub到本地任意目录即可:
git clone https://github.com/vulhub/vulhub.git
拉取速度过慢的话(我这里是没有换源的),官网还给出了直接下载zip,拉进kali里面就可以直接用啦。我这里也贴一下链接https://github.com/vulhub/vulhub/archive/master.zip
弄好就可以用啦!
这里选一个来测试一下(Apache HTTPD 多后缀解析漏洞)
Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。
┌──(kali㉿kali)-[~]
└─$ sudo su
[sudo] password for kali:
┌──(root㉿kali)-[/home/kali]
└─# cd vulhub
┌──(root㉿kali)-[/home/kali/vulhub]
└─# cd httpd
┌──(root㉿kali)-[/home/kali/vulhub/httpd]
└─# ls
apache_parsing_vulnerability CVE-2021-40438 CVE-2021-42013
CVE-2017-15715 CVE-2021-41773 ssi-rce
┌──(root㉿kali)-[/home/kali/vulhub/httpd]
└─# cd apache_parsing_vulnerability
┌──(root㉿kali)-[/home/kali/vulhub/httpd/apache_parsing_vulnerability]
└─# ls
1.png 2.png conf docker-compose.yml README.md start.sh www
┌──(root㉿kali)-[/home/kali/vulhub/httpd/apache_parsing_vulnerability]
└─# docker-compose build
apache uses an image, skipping
(这一步可选)
官方解释:
为什么docker-compose build是可选的?
docker-compose up -d运行后,会自动查找当前目录下的配置文件。如果配置文件中包含的环境均已经存在,则不会再次编译;如果配置文件中包含的环境不存在,则会自动进行编译。所以,其实docker-compose up -d命令是包含了docker-compose build的。
如果更新了配置文件,你可以手工执行docker-compose build来重新编译靶场环境。
┌──(root㉿kali)-[/home/kali/vulhub/httpd/apache_parsing_vulnerability]
└─# docker-compose up -d
Creating network "apache_parsing_vulnerability_default" with the default driver
Pulling apache (php:apache)...
apache: Pulling from library/php
f7a1c6dad281: Pull complete
418d05f34fc8: Pull complete
12340edc305c: Pull complete
505a3ac77996: Pull complete
508288175cbf: Pull complete
55c636ebd5df: Pull complete
22c6b8d33038: Pull complete
0a5dacc2f51f: Pull complete
0191aea61ba9: Pull complete
f0a15705b8e9: Pull complete
2e96f5a85a73: Pull complete
ec333164c775: Pull complete
410c12528910: Pull complete
Digest: sha256:36e9f88df6d2f6a9c47bdc33fc24e9126cf14c647d2ca959ccccd2976a4fa2be
Status: Downloaded newer image for php:apache
Creating apache_parsing_vulnerability_apache_1 ... done
┌──(root㉿kali)-[/home/kali/vulhub/httpd/apache_parsing_vulnerability]
└─#ifconfig
然后用ifconfig找一下这台虚拟机的本地地址,就可以进入物理机去访问这个docker创建的漏洞环境啦
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet ((((This=>192.168.239.136 netmask 255.255.255.0 broadcast 192.168.239.255
先检测一下物理机是否能ping通虚拟机
然后用浏览器访问一下(默认使用8080端口),即可进入到漏洞环境
创建一个mangofeng.php.jpeg的双后缀文件传上去访问一下
File uploaded successfully: /var/www/html/uploadfiles/mangofeng.php.jpeg
访问一下:
当需要关闭环境的时候
docker-compose down即可
Stopping apache_parsing_vulnerability_apache_1 ... done
Removing apache_parsing_vulnerability_apache_1 ... done
Removing network apache_parsing_vulnerability_default
docker安装过程参考:https://blog.youkuaiyun.com/qq_41832837/article/details/103948314