服务器漏洞扫描系统的简单搭建
项目介绍
这是一款开源的资产巡航扫描系统。系统定位是通过masscan+nmap
无限循环去发现新增资产,自动进行端口弱口令爆破、指纹识别、XrayPoc
扫描。主要功能包括: 资产探测
、 端口爆破
、 Poc扫描
、 指纹识别
、 定时任务
、 管理后台识别、 报表展示。 通过Docker搭建好之后,设置好你要扫描的网段跟爆破任务,就不需要去操作其他的事情了,没事的时候过来收漏洞就行了。
功能清单
-
masscan+namp巡航扫描资产
-
创建定时爆破任务(FTP/SSH/SMB/MSSQL/MYSQL/POSTGRESQL/MONGOD)
-
管理后台识别
-
结果导出
-
报表展示
-
docker一键部署
-
CMS识别 - 结合威胁情报、如果某个CMS爆出漏洞,可以快速定位企业内部有多少资产
-
poc扫描 - 调用xray的Poc,对新发现的资产自动扫描poc
管理后台识别
不论甲方乙方。大家在渗透一个网站的时候,很多时候都想尽快找到后台地址。linglong对自己的资产库进行Title识别。然后根据title关键字、url关键字、body关键字(比如url中包含login、body中包含username/password)进行简单区分后台。帮助我们渗透中尽快锁定后台。
指纹识别
系统会对新发现的资产进行一遍指纹识别, 也可以手动新增指纹。比如某个CMS爆出漏洞,新增指纹扫描一遍系统中存在的资产。可以快速定位到漏洞资产,对于渗透打点或者甲方应急都是极好的。
POC扫描
对于任何一个扫描系统,poc扫描都是必不可少的。但是poc的更新一直是所有开源项目面临的一个问题。综合考虑用Xray的poc,感谢Xray对安全圈做出的贡献!linglong会对每次新发现的资产进行一遍Xray的Poc扫描。如果发现漏洞会自动入库,可以可视化查看漏洞结果。
资产巡航更新
masscan可以无限扫描,但是对于失效资产我们也不能一直保存。linglong通过动态设置资产扫描周期,对于N个扫描周期都没有扫描到的资产会进行删除。保存资产的时效性。
预览
开始搭建
首先打开服务器控制台,登录云服务器。
安装docker
在控制台输入下面的命令来安装docker,因为我们这次要搭建的项目是在docker中运行的。
sudo yum update -y
curl -sSL https://get.daocloud.io/docker | sh
sudo systemctl start docker
sudo systemctl status docker
sudo systemctl enable docker
当看到下面的内容出现就代表你安装成功了~
接下来安装漏洞扫描项目:
1.克隆拉取项目:
运行下面的命令:
git clone https://github.com/awake1t/linglong
PS:如果你的服务器没有安装git
要先运行下面的命令安装一下git
yum install git
输入Y即可安装成功。
正在拉取项目中的状态。
接下来输入cd linglong
进入项目文件夹中。
然后输入docker-compose up -d
来运行项目。
出现下面的界面就说明你安装成功了:
为了保险起见,输入docker container ls -a
来验证是否运行正常。
出现下面的界面代表正常没有问题:
至此项目就安装完成了,下面我们来进行后台的一些配置。
如果你用的是腾讯云等带有防火墙的厂商,记得去控制台打开防火墙8001
端口。
因为我用的是腾讯云,所以介绍一下腾讯云端口的配置方法:
进入控制台,点击防火墙。
这样我们就可以通过ip:8001
访问项目的后台管理端了。
默认账号和密码:
账号:linglong
密码:linglong5s
类型 |
用户名 |
密码 |
Web账号 |
linglong |
linglong5s |
mysql数据库 |
root |
linglong8s |
注: 首次运行在设置里修改扫描的网段范围,点击保存后就行了 然后耐心等待系统自动扫描,扫描耗时您配置的网段+端口+速率会有变化
git clone https://github.com/awake1t/linglong
cd linglong/web
# 把 YourServerIp 换成你的IP地址
sed -i 's#http://127.0.0.1:18000#http://YourServerIp:18000#g' ./dist/js/app.4dccb236.js && sed -i 's#http://127.0.0.1:18000#http://YourServerIp:18000#g' ./dist/js/app.4dccb236.js.map
# 重要!!! 如果之前安装过,使用如下命令删除所有名字包含linglong的历史镜像
docker rmi $(docker images | grep "linglong" | awk '{print $3}')
# 返回到 linglong的目录下
cd ../
docker-compose up -d
一般这时候就部署好了,如果访问不了. 要确认下服务器上安全组的8001和18000有没有打开.