自动化漏洞检测平台-解放劳动力

自动化漏洞检测平台-解放劳动力

夜安团队SEC 丁永博的成长日记 2024-10-31 23:40

本文章来源微信公众号夜安团队SEC

github地址:

https://github.com/Soufaker/laoyue

其他下载方式:

通过百度网盘分享的文件:laoyue-main.rar
链接:https://pan.baidu.com/s/1lIg1uLtPy4M1CVwP7jVDSg 
提取码:s6f7

以下正文:

本项目适用于各类SRC挖掘,CNVD证书挖掘,也可以用于HVV,红蓝对抗快速打点扫描使用。

一、目前支持的功能
– 定期进行fofa,hunter,subfinder等子域名资产监控收集(hunter可以设置多个账号无限白嫖积分),保证每天都有新资产可以

  • 快速的漏洞,敏感目录,中间件弱口令扫描

  • 去重机制保证无重复扫描浪费时间

  • cnd判断,bypass403,host碰撞等扩展配置

  • 后续添加更多绕waf POC精准打击,如log4j,fastjson等rce

  • 后续添加添加JS爬虫功能获取敏感api目录再进行目录扫描,提取JS文件敏感AK密钥,请持续关注项目更新

二、项目搭建流程
1. vps(centos7或者ubutu20环境都行)

2.安装docker环境(以centos7环境为例子,ubutu的自行上网搜索哈)

#docker安装
yum update
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce
sudo systemctl start docker
sudo systemctl enable docker


#docker-compose
yum install wegt
sudo wget -P /usr/local/bin https://github.com/docker/compose/releases/download/1.27.4/docker-compose-Linux-x86_64
cd /usr/local/bin/
sudo mv docker-compose-Linux-x86_64 docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -v

如果出现错误1:

docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
首先进入/etc/docker/daemon.json文件

然后在里面加入下面的配置

{
  "registry-mirrors": ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"]
}

然后在终端重新启动一下docker

systemctl daemon-reload

systemctl restart docker

‍如果出现错误2,
根据报错信息可以看出是container-selinux版本低或是没安装的原因,导致系统的不兼容,所以我们需要升级重新安装

安装Docker-CE时报错,Requires: container-selinux >= 2:2.74
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release -y
yum install container-selinux -y # 安装最新的contain-selinu

3.安装python3环境(centos7为例,ubutu请自行上网搜索安装)

cd /usr/local
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
tar -zxvf Python-3.9.0.tgz
cd Python-3.9.0
./configure prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.9 /usr/bin/pip3
python3 -V
#注意:更改yum配置(非必须)#因为其要用到python2才能执行,否则会导致yum不能正常使用(不管安装 python3的哪个版本,都必须要做的)
vi /usr/bin/yum
把 #! /usr/bin/python 修改为 #! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把 #! /usr/bin/python 修改为 #! /usr/bin/python2
vi /usr/bin/yum-config-manager
#!/usr/bin/python 改为 #!/usr/bin/python2

4.安装laoyue

git clone https://github.com/Soufaker/laoyue.git 
cd laoyue
chmod 777 ./build_centos7.sh #如果是ubutu环境就chmod 777 ./build_ubutu.sh
./build_centos7.sh

5.安装awvs

sudo systemctl start docker.service
docker pull dockermi3aka/awvs:latest
docker run -it -d -p 3443:3443 --name my-awvs dockermi3aka/awvs:latest

6.安装好后访问https://vps:3443端口即可,记得修改密码和将语言调整为简体,漏洞播报的话看起来更明显,然后生成新的api复制到config.ini配置文件即可。

[awvs]
awvs_url = https://X.X.X.X:3443
awvs_key = 1986ad8c0a5b3df4d7028d5f3c06e936c5d133333333434a0883d4da84b006fca5

7.配置./config/config.ini文件,默认会提供一些配置样式,按照配置样式配置即可

vi /laoyue-main/config/config.ini

8.微信机器人和钉钉机器人的key配置

企业微信机器人配置如下(通知AWVS信息):

打开企业微信点击权限创建企业,选择其他,填写后就可以看到一个你自己命名的企业微信群,打开点击设置找到群机器人,添加一个自定义机器人,然后会生成一个webhook地址,复制后面的key参数的值复制到配置文件

[webhook]下即可如:
[webhook]
webhook_key = 2a3798d4-6111111111-99b0-8c59c0b6e223

钉钉通知配置如下(通知新资产,fscan,nuclei,ffuf,hostscan等扫描结果):

需要使用PC端钉钉,点击右上角+号创建一个群聊:随意拉几个人,点击右上角群设置,找到机器人设置,添加机器人,添加自定义机器人,加签,
复制webhook后的access_token的值和上面的加签的值配置到配置文件即可

[dingding]
access_token = d6fe340ac0e0f4f4c5e1fa74837e28bb41111111eaa1a318f3dcc9b4f9324b0
dsecret = SEC808449753d4b6e45da8c4263afc5a3333333333aaa0c2b6a0e750e70a10fb16

消息发送有点之后,耐心等待即可,超过24h没有消息,可以看看用下面的脚本在vps运行调试一下看看能收到不123消息不,dingding_hook和Desecret记得换自己的

from dingtalkchatbot.chatbot import DingtalkChatbot

def dingtalk(c):
    dingding_hook = '6468cb8da42de8fa6a60d5a00xxxxxxxxxxxxxxxx1c23936d95bbbbb1'    
    Dsecret = 'SEC558210df194b1dc02f62c66a5xxxxxxxxxxxxxxxcd468b080f709a0f2bc'  # 可选:创建机器人勾选“加签”选项时使用    
    # 钉钉WebHook地址    
    DWebHook = 'https://oapi.dingtalk.com/robot/send?access_token=' + str(dingding_hook)    
    # 初始化机器人小丁    
    # xiaoding = DingtalkChatbot(webhook)  
    # 方式一:通常初始化方式    
    xiaoding = DingtalkChatbot(DWebHook, secret=Dsecret)  
    # 方式二:勾选“加签”选项时使用(v1.5以上新功能)    
    # xiaoding = DingtalkChatbot(webhook, pc_slide=True)  
    # 方式三:设置消息链接在PC端侧边栏打开(v1.5以上新功能)    
    # Text消息@所有人    
    xiaoding.send_text(msg=c, is_at_all=True)

dingtalk('123')

三、laoyue使用方法

python3 laoyue.py -h

-h, --help  : 显示帮助信息
-d, --domain: 指定单个域名或包含多个域名的文件(如:src.txt)。
-m, --ml    : 使用ffuf扫描目录。可在./inifile/dict目录下添加字典。
-n, --nl    : 使用nuclei进行漏洞扫描。
-f, --fs    : 使用fscan进行漏洞扫描。
-a, --av    : 使用awvs进行漏洞扫描。
-z, --hostz : 进行host碰撞。
-N, --notauto: 启用被动扫描模式,手动收集URL资产后使用(资产放在./result/notautolist/notautolist.txt里)。
 单域名扫描: nohup python3 laoyue.py -d example.com  -m -f -n -z -a  > laoyue.out 2>&1 &
 多域名扫描: nohup python3 laoyue.py -d "SRC.txt"  -m -f -n -z -a  > laoyue.out 2>&1 &

被动扫描功能 -N,这个功能方便我们在一些比如众测给了固定资产的情况下,或者hvv红蓝对抗需要快速收集全资产扫描,靠自己收集了很多url,或者ip资产的情况下,将搜集的文件放到./result/notautolist/notautolist.txt里然后运行命令。

nohup python3 laoyue.py -m -n -f -a -N &

检测效果如下:

钉钉机器人检测结果

微信机器人检测结果:

服务器目录下生成文件信息

一个总的excel(./result/baolumian)

四、注意事项

1.使用git拉取项目到vps(centos7/ubutu20)服务器,python3以上即可,java需要1.8环境

git clone https://github.com/Soufaker/laoyue.git

2.在config.ini中填入自己的各种key,包括某查的cookie,某fa的key,某图的key,钉钉的key(可以搞多个账号白嫖每天的500积分)

3.注意你自己使用的python3表示方式,有的师傅服务器python3用的是pyhon或者python3.x啥标识,自行更改build.sh中和laoyue.py中的python表示方式.默认为python3

4.使用chmod 777 biuld.sh加权限安装所需依赖,根据系统环境安装,如果是centos安装build_centos7.sh得,如果是ubutu,就按照build_ubutu.sh

./build_centos7.sh or ./build_ubutu.sh

5.新增自动化定时检测是否卡死的功能代码,请在执行上述自动化指令后手动执行该代码(运行该命令之前,请先运行build.sh文件或者手动在shell执行命令:sed -i “s/\r//” check_nohup_size.sh,定时检查nohup.out是否变化防止卡死导致自动化停止)

nohup ./check_nohup_size.sh >check_size.out 2>&1 &

6. ffuf的目录文件默认使用./inifile/dict/file_top_200.txt,可以自行代码里更改或者改变这个文件的内容

小知识

依据《刑法》第285条第3款的规定,犯提供非法侵入或者控制计算机信息系统罪的,处3年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处3年以上7年以下有期徒刑,并处罚金。

声明

本文提供的技术参数仅供学习或运维人员对内部系统进行测试提供参考,未经授权请勿用本文提供的技术进行破坏性测试,利用此文提供的信息造成的直接或间接损失,由使用者承担。

欢迎 
在看

留言

分享至朋友圈
 三连

好文推荐****