前言
(1)之前发布了AWVS14批量漏洞扫描Docker篇,看到后台很多小伙伴留言问是如何搭建的,故而有此文做个记录
(2)网上几乎千篇一律的pull他人的容器进行使用或无详细的制作过程,一般只有头和最后的结果却忽略了中间存在的一些坑
(3)也发现很多Docker镜像存在各种后门及挖矿程序,所以建议自定义镜像
AWVS简介
AWVS是Acunetix Web Vulnerability Scanner的缩写。
它是一个自动化的Web应用程序安全测试工具,审计检查漏洞。
它可以扫描任何可通过Web浏览器访问的和遵循HTTP/HTTPS规则的Web站点和Web应用程序。
可以通过检查SQL注入攻击漏洞、跨站脚本攻击漏洞等来审核Web应用程序的安全性。
AWVS功能介绍
WebScanner:全站扫描,Web安全漏洞扫描
Site Crawler:爬虫功能,遍历站点目录结构
Target Finder:端口扫描,找出web服务器 Subdomain Scanner:子域名扫描器,利用DNS查询
Blind SQL Injector:盲注工具
HTTP Editor:http协议数据包编辑器
HTTP Sniffer:HTTP协议嗅探器
HTTP Fuzzer:模糊测试工具
Authentication Tester:Web认证破解工具
Web Srevice Scanner:Web服务扫描器
Web Srevice Editor:Web服务编辑器
docker build 构建镜像
新建项目
- Ubuntu环境
- 简易的Dockerfile环境
在任意目录下执行以下语句
代码语言:javascript复制mkdir ubuntu && cd ubuntu
vim Dockerfile
Dockerfile里面的内容为:
代码语言:javascript复制FROM ubuntu:18.04
RUN apt-get update && apt-get install -y
构建镜像
代码语言:javascript复制docker build -t xsgcs/awvs14:220117111 .
执行后会生成出现镜像内容
代码语言:javascript复制REPOSITORY TAG IMAGE ID CREATED SIZE
xsgcs/awvs14 220117111 eb348505474e About a minute ago 102MB
ubuntu 18.04 dcf4d4bef137 7 days ago 63.2MB
运行容器
代码语言:javascript复制docker run -it -d -p 8088:3443 eb348505474e
进入容器
代码语言:javascript复制docker exec -it 8d6e162ff38f /bin/bash
宿主机复制文件至容器
代码语言:javascript复制docker cp /var/local/ubuntu/acunetix_14.6.211220100_x64.sh 8d6e162ff38f:/var/local/
docker cp /var/local/ubuntu/awvs_crack/ 8d6e162ff38f:/var/local/
容器复制文件至宿主机
代码语言:javascript复制docker cp d6e162ff38f:/var/local/ /var/local/xsgcs/
部署AWVS
环境依赖安装
代码语言:javascript复制apt-get update
apt install libxshmfence-dev libxdamage1 libgtk-3-0 libasound2 libnss3 libxss1 libx11-xcb-dev libgbm-dev sudo systemd net-tools libx11-xcb1 libxcb-dri3-0 libgbm1 libdrm2 libxshmfence1 vim -y
安装AWVS14
安装包及破解文件
已打包在容器里面,对应路径为:/var/local/
等待环境依赖安装完成之后,执行acunetix_14.6.211220100_x64.sh
脚本,并选择Enter
进入下一步
root@10a035ad6a67:/var/local# ./acunetix_14.6.211220100_x64.sh
Acunetix Installer Version: v_211220100, Copyright (c) Acunetix
------------------------------------------------------------
Checking os...
Checking for dependencies...
Please read the following License Agreement. You must accept the terms of this
agreement before continuing with the installation.
press ENTER to continue
>>>
输入yes
表示同意
Last modified March 4, 2021.
Accept the license terms? [yes|no]
[no] >>> yes
自定义主机名、邮箱地址、密码并自动开始安装
代码语言:javascript复制Configuring acunetix user...
Creating user acunetix.
By default the Acunetix will be installed to /home/acunetix/.acunetix
Checking database port...
Checking backend port...
Configuring hostname...
Insert new hostname, or leave blank to use 2a06bd213923
Hostname [2a06bd213923]:xsgcs
Configuring the master user...
Email: xsgcs@xsgcs.com
Password:Xsgcs.com
Password again:Xsgcs.com
Initializing file system...
Extracting files to /home/acunetix/.acunetix....
稍等几分钟就可以安装完毕,安装结束后其实服务并没有正常启动(会自动退出),这里跟Windows下安装有一些区别
默认情况下并没有启动AWVS需切换成acunetix
账户进行重新启动
在linux下安装AWVS会创建acunetix
账户来管理AWVS
执行以下语句进行启动
代码语言:javascript复制su acunetix
cd /home/acunetix/.acunetix
./start.sh
再使用Ctrl P Q
退出容器而不停止运行里面的内容
访问https://服务器IP:8088
,输入账户xsgcs@xsgcs.com
、密码Xsgcs.com
即可登录
默认安装好后是处于未破解的情况,接下来我们进行破解使用
破解AWVS
安装包及破解文件
已打包在容器里面,对应路径为:/var/local/
将容器里/var/local/awvs_crack
文件夹中对应的license_info.json
和wa_data.dat
文件覆盖至/home/acunetix/.acunetix/data/license/
下
推荐将license_info.json
和wa_data.dat
文件设置为只读
权限
cp /var/local/awvs_crack/license_info.json /home/acunetix/.acunetix/data/license/
cp /var/local/awvs_crack/wa_data.dat /home/acunetix/.acunetix/data/license/
chmod 444 /home/acunetix/.acunetix/data/license/license_info.json
chmod 444 /home/acunetix/.acunetix/data/license/wa_data.dat
chown root:acunetix /home/acunetix/.acunetix/data/license/license_info.json
chown acunetix:acunetix /home/acunetix/.acunetix/data/license/wa_data.dat
修改/etc/hosts
文件并添加如下内容并保存
echo 127.0.0.1 updates.acunetix.com >> /etc/hosts
echo 127.0.0.1 erp.acunetix.com >> /etc/hosts
重新刷新页面即可
打包并上传至Docker Hub
将容器打包成镜像
代码语言:javascript复制docker commit e52e307bbf0a xsgcs:awvs14v2112201000
登录Docker Hub
代码语言:javascript复制docker login
设置镜像标签并上传至Docker Hub
代码语言:javascript复制docker tag xsgcs:awvs14v2112201000 xsgcs/awvs14:2112201000
docker push xsgcs/awvs14:2112201000
其他说明
- 错误异常1
error parsing HTTP 408 response body: invalid character '<' looking for beginning of value: "<html><body><h1>408 Request Time-out</h1>nYour browser didn't send a complete request in time.n</body></html>nn"
解决方式
代码语言:javascript复制ifconfig eth0 mtu 900
- 错误异常2
Error response from daemon: conflict: unable to delete 009c92684e05 (must be forced) - image is referenced in multiple repositories
解决方式
代码语言:javascript复制docker rmi xsgcs:awvs14v211220100
- 错误异常3
容器重启后AWVS没有自动重启运行,可手动执行容器里面的/var/local/awvs.sh
脚本
脚本内容为:
代码语言:javascript复制#!/bin/bash
echo '127.0.0.1 updates.acunetix.com' >> /etc/hosts
echo '127.0.0.1 erp.acunetix.com' >> /etc/hosts
su -l acunetix -c "/home/acunetix/.acunetix/start.sh";
或在run容器时添加bash命令
完整运行命令如下
代码语言:javascript复制docker run -it -d -p 8088:3443 xsgcs/awvs14:211220100 /bin/bash /var/local/xsgcs.sh
现成镜像
如感觉以上搭建起来比较麻烦或不想自己搭建的也可以用小生观察室
已搭建好的纯净镜像一键启动即可使用
已打包好的镜像
代码语言:javascript复制docker pull xsgcs/awvs14_crack_211220100:211220100
docker run -it -d -p 8088:3443 xsgcs/awvs14_crack_211220100:211220100 /bin/bash /var/local/xsgcs.sh
访问 https://YOUR_IP:8088/
账户:xsgcs@xsgcs.com
密码:Xsgcs.com