前言

vulhub是利用docker技术做的一个漏洞复现平台,可以一键搭建对应的配置。在下载好对应的代码包后,不需要安装,只需要解压并利用3条命令,就可以简单的创建关闭对应漏洞环境。最好是购买一台阿里云的服务器,将它部署,就可以在公网上直接访问漏洞web了。

1 ubantu切换root用户

​whoami # 查看当前用户​

​+++ # 增大显示 防止看不清​

​su root # 切换为 root 用户​

如果事先没有root密码,可以通过以下命令设置root passwd

​sudo passwd root # 设置密码,之后键入两次密码即可​

2 虚拟机其他配置

2.1 Nat模式

配置成nat模式有助于靶场和现实网络的隔离。即把虚拟机放到vmnet 8(nat)网络下,我们的主机可以通过主机上Vmware创建的虚拟vmnet 8网卡来对虚拟机进行访问。同时,虚拟机通过nat共享主机的ip进行互联网的访问。

2.2 配置 ssh 服务

配置ssh 可以用主机的命令行,或者ssh连接工具,连接到ubantu虚拟机上。这样就可以把这台ubantu虚拟机看作是一个互联网上的 web 服务器了。日后的练习就是对这台服务器进行渗透。

在root 模式下

apt-get update    # 更新软件源信息,获取软件的最新版本 ubantu会维护自己的软件仓库`/etc/apt/sources.list`,在系统里会有一张软件源的列表。

apt-get ssh # 安装ssh服务

# 修改配置文件:

cd /etc/ssh

ls

cp sshd_config sshd_config.bak # 备份配置文件,以防改错

vim sshd_config

28 PermitRootLogin prohibit-password ==改为==> 28 PermitRootLogin yes # 没什么用意 可能也不需要改,教程上就这么改的

52 #PasswordAuthentication no ==改为==> 52 PasswordAuthentication yes # 也不知什么用意

:wq #保存修改

service ssh start # 开启服务

update-rc.d ssh enable # 自启动ssh服务 不太懂


etc不是什么缩写,是and so on的意思 来源于 法语的 et cetera 翻译成中文就是 等等 的意思. 至于为什么在/etc下面存放配置文件, 按照原始的UNIX的说法(Linux文件结构参考UNIX的教学实现MINIX) 这下面放的都是一堆零零碎碎的东西, 就叫etc, 这其实是个历史遗留.

2.3 关闭53端口 也可以不关

​netstat -antpl # 显示开放端口 ssh 默认端口为 22​

这里存在53端口开启,通过修改配置文件将他关闭。

cd /etc/NetworkManager/

ls

cp NetworkManager.conf NetworkManager.conf.bak

vim NetworkManager.conf

dns=dnsmasq ==改为==> #dns=dnsmasq 注释掉这行

:wq #保存修改

reboot # 重启`


再次查看发现53端口关闭。

3 Vulhub安装

步骤是安装完docker后用pip安装 docker-compose,下载vulhub源码zip包,解压。

对应有vulhub官网,里面有关于漏洞再现的文章。

打开对应的vulhub文件夹目录

自动化编译环境,然后启动该环境,实验完毕后,删除对应的环境。

# 安装docker
curl -s https://get.docker.com/ | sh

# 查看docker 版本
docker -v
# 如果没有pip则安装pip
apt-get install python-pip

# 接着
pip install docker-compose
# 下载项目  也可以用浏览器直接到github项目上下载.zip代码。
wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip
unzip vulhub-master.zip
cd vulhub-master

# 进入某一个漏洞/环境的目录
cd flask/ssti

# 自动化编译环境
docker-compose build

# 启动整个环境
docker-compose up -d

# 测试完成后关闭删除环境
docker-compose down -v