Skip to content

如何构建一个网络空间搜索引擎-W12Scan-WEB篇

字数
1354 字
阅读时间
6 分钟
更新日期
5/2/2019

当黑客们不羁的灵魂受够了那些受到限制的空间搜索引擎,是否有想过使用自己搭建的网络空间搜索引擎呢?你只需要一台独立的服务器(配置取决于你想象的扫描速度,最低1G1H)即可拥有它,并且允许分布式搭建。搭建简单,使用简单,你还在等什么呢?趁着51的假期余温,简单写一篇说明文档。

说明

这是W12Scan官方的安装搭建说明文档,将包含大部分w12scan使用过程中的问题以及解决方案。但是你需要注意的是,在写下这篇官方说明文档的时间,w12scan当前的发行版本是0.2,若之后在更高的版本遇到了问题,请以GitHub上说明为准!

简介

W12Scan是一款网络空间搜索引擎,最早的概念是基于W10Scan的全自动漏洞扫描,但是它也会帮你自动分析企业的资产,分析出相关资产段的详细信息,无论是刷SRC还是管理企业资产,又或者单纯想批量测试漏洞范围(W12Scan提供搜索API),W12Scan都能实现,甚至W12Scan的功能还在不停的完善(具体看GitHub介绍)。

一个演示视频:

搭建&安装

W12Scan整套又分为交互的WEB端和提供扫描client端,这篇文章主要讲的是WEB端,但是只需要一句docker命令就能将W12Scan整套搭建起来。

git clone https://github.com/boy-hack/w12scan
cd w12scan
docker-compose up -d

默认账号密码boyhack

运行环境默认配置是需要 内存 > 2G 且是安装了docker的Linux系统。我也说过1G1H也能跑起来,Windows系统搭建需要踩些坑都在会后面说道。

下面说一下一些常见的问题与解决方案,这些问题都是统计字github以及telefgram。

1G1H如何配置

根据服务器配置修改docker-compose.yml参数,设置elasticsearch内存占用大小,默认设置是521M,如果你是1G内存可以设置为128M。

具体,在W12Scan跟目下,docker-compose.yml找到ES_JAVA_OPTS=-Xms512m -Xmx512m修改为ES_JAVA_OPTS=-Xms128m -Xmx128m,但是代价是在搜索和分析时可能会报内存不足的错误。所以内存还是越高越好。

Windows安装问题

在Windows上,由于sh文件的格式问题,需要转换下格式才能构建。

因为windows上git pull的代码,w12scan\dockerconf\start.sh的脚本格式是dos的,需要转换下,我是上传的linux服务器,用dos2unix转换的,转换完替换windows上的脚本,docker rmi之前构建的镜像,再一次运行docker-compose up就ok了

refer:https://github.com/boy-hack/w12scan/issues/12

搜索数为0

搜索目标需要自行添加,在dashboard中添加扫描目标

如何分布式部署

W12Scan的启动都是通过读环境变量进行的,意味着你不需要修改一行代码,通过docker即可进行分布式的部署。相关部署文档参考https://github.com/boy-hack/w12scan/blob/master/doc/DEPLOYMENT1.md

访问8000端口失败

参考https://github.com/boy-hack/w12scan/issues/17

访问8000端口失败,先确认docker是否都运行成功,在w12scan根目录下,运行docker ps -a来查看容器的运行状态,一般会有四个容器,如果容器出现exit,则说明有容器运行失败。一般都是配置问题或者服务器自身问题,使用docker logs + 容器对应id来查看日志,报告错误时请连log日志错误一同报告。

创建任务后运行无反应

创建任务后需要等待1~5分钟节点获得任务,若节点管理中有日志,则说明运行正常,若节点管理显示节点挂了,你需要详细排查挂掉的原因

最高能扫描多少主机?

无限,但是看你配置

扫描速度多少?

w12scan使用masscan+nmap扫描,速度一般比较慢,但主要看配置,以及分布式的节点。

显示插件库为 - ?

这是正常情况,因为这里还没有写。但是插件的调用是有的,会自动调用airbug,只是显示的代码没有写。

运行节点名称不显示

删掉w12scan相关镜像,重新运行一遍,遇到这种问题大部分是没有按照要求运行的。

issue 模板

在使用过程中遇到的问题可以到 https://github.com/w-digital-scanner/w12scan/issues/new 提问,但是在提问时候,务必将以下信息贴上,方便排查。

  • 服务器操作系统名称(eg:windows or linux ubuntu,centos?),位数(32 or 64),操作系统版本信息
  • 服务器配置(内存的大小,CPU核心数量)
  • docker-compose ps,所有docker是否启动?如果有docker exit请贴出docker logs 信息
  • 详细描述复现步骤

最后

目前扫描端已经优化得比较稳定了,保持最新的client镜像即可。

撰写

布局切换

调整 VitePress 的布局样式,以适配不同的阅读习惯和屏幕环境。

全部展开
使侧边栏和内容区域占据整个屏幕的全部宽度。
全部展开,但侧边栏宽度可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
全部展开,且侧边栏和内容区域宽度均可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
原始宽度
原始的 VitePress 默认布局宽度

页面最大宽度

调整 VitePress 布局中页面的宽度,以适配不同的阅读习惯和屏幕环境。

调整页面最大宽度
一个可调整的滑块,用于选择和自定义页面最大宽度。

内容最大宽度

调整 VitePress 布局中内容区域的宽度,以适配不同的阅读习惯和屏幕环境。

调整内容最大宽度
一个可调整的滑块,用于选择和自定义内容最大宽度。

聚光灯

支持在正文中高亮当前鼠标悬停的行和元素,以优化阅读和专注困难的用户的阅读体验。

ON开启
开启聚光灯。
OFF关闭
关闭聚光灯。

聚光灯样式

调整聚光灯的样式。

置于底部
在当前鼠标悬停的元素下方添加一个纯色背景以突出显示当前鼠标悬停的位置。
置于侧边
在当前鼠标悬停的元素旁边添加一条固定的纯色线以突出显示当前鼠标悬停的位置。