前言
分享一个利用自动化工具来完成漏洞扫描的脚本,一个外国小哥哥利用这个脚本提交了40+漏洞,效果还不错,各位可以去试试
正文
本文用到的工具有:
Subfinder,Amass,github-subdomains,Sublist3r,naabu,httpx,nuclei,cent,xray,
查找子域名:
subfinder -d $1 -silent | anew /root/$1/subs.txt assetfinder -subs-only $1 | anew /root/$1/subs.txt amass enum -passive -d $1 | anew /root/$1/subs.txt python sublist3r.py -d $1| anew /root/$1/subs.txt github-subdomains -t <github token> -d $1 | anew /root/$1/subs.txt
检查开放的端口并获得活的主机:
cat /root/$1/subs.txt | naabu -p — -silent | anew open-ports.txt cat open-ports.txt | httpx -silent | anew alive.txt
最后检查漏洞
这里主要检查两种类型的漏洞。
1- CVEs和错误配置。
2- 一般性漏洞。
可以利用cent这个工具来寻找nuclei模板
cat alive.txt | nuclei -t /path/to/cent/ -es info | anew nuclei-results.txt
最后结合xRay
for i in $(cat /root/$1/alive.txt); do xray_linux_amd64 ws — basic-crawler $i — plugins xss,sqldet,xxe,ssrf,cmd-injection,path-traversal — ho $(date +”%T”).html ; done
完整脚本如下:
#!/bin/bash domain=$1 mkdir /root/$1 mkdir /root/$1/xray subfinder -d $1 -silent | anew /root/$1/subs.txt assetfinder -subs-only $1 | anew /root/$1/subs.txt amass enum -passive -d $1 | anew /root/$1/subs.txt cat /root/$1/subs.txt | httpx -silent | anew /root/$1/alive.txt ## Test by Xray for i in $(cat /root/$1/alive.txt); do xray_linux_amd64 ws --basic-crawler $i --plugins xss,sqldet,xxe,ssrf,cmd-injection,path-traversal --ho $(date +"%T").html ; done ## test for nuclei cat /root/$1/alive.txt | nuclei -t /root/cent-nuclei-templates -es info,unknown -etags ssl,network | anew /root/$1/nuclei.txt
写在最后
要想找到更加多的不重复的漏洞,可以把这个脚本进行优化,怎么优化,这里不多说,有兴趣的可以结合本公众号之前发过一些文章自己动动脑筋(友情提示:这里可以优化的地方还是蛮多的)