自定义AWVS的Docker镜像
原创前言
(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环境
在任意目录下执行以下语句
mkdir ubuntu && cd ubuntu
vim Dockerfile
Dockerfile里面的内容为:
FROM ubuntu:18.04
RUN apt-get update && apt-get install -y
构建镜像
docker build -t xsgcs/awvs14:220117111 .
执行后会生成出现镜像内容
REPOSITORY TAG IMAGE ID CREATED SIZE
xsgcs/awvs14 220117111 eb348505474e About a minute ago 102MB
ubuntu 18.04 dcf4d4bef137 7 days ago 63.2MB
运行容器
docker run -it -d -p 8088:3443 eb348505474e
进入容器
docker exec -it 8d6e162ff38f /bin/bash
宿主机复制文件至容器
docker cp /var/local/ubuntu/acunetix_14.6.211220100_x64.sh 8d6e162ff38f:/var/local/
docker cp /var/local/ubuntu/awvs_crack/ 8d6e162ff38f:/var/local/
容器复制文件至宿主机
docker cp d6e162ff38f:/var/local/ /var/local/xsgcs/
部署AWVS
环境依赖安装
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
------------------------------------------------------------
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
自定义主机名、邮箱地址、密码并自动开始安装
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
执行以下语句进行启动
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
将容器打包成镜像
docker commit e52e307bbf0a xsgcs:awvs14v2112201000
登录Docker Hub
docker login
设置镜像标签并上传至Docker Hub
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>\n\n"
解决方式
ifconfig eth0 mtu 900
- 错误异常2
Error response from daemon: conflict: unable to delete 009c92684e05 (must be forced) - image is referenced in multiple repositories
解决方式
docker rmi xsgcs:awvs14v211220100
- 错误异常3
容器重启后AWVS没有自动重启运行,可手动执行容器里面的
/var/local/awvs.sh
脚本
脚本内容为:
#!/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命令
完整运行命令如下
docker run -it -d -p 8088:3443 xsgcs/awvs14:211220100 /bin/bash /var/local/xsgcs.sh
现成镜像
如感觉以上搭建起来比较麻烦或不想自己搭建的也可以用
小生观察室
已搭建好的纯净镜像一键启动即可使用
已打包好的镜像
docker pull xsgcs/awvs14_crack_211220100:211220100