srcScan,subfinder域名爆破,ksubdomain验证,httpx资产存活验证:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 function  show_help {  echo  "Usage: $0  [-d DOMAIN] [-f FILE]"    echo  "  -d DOMAIN   The domain name to search for."    echo  "  -f FILE     A file containing a list of domains to search for, one per line."    echo  "  -h, --help  Show this help message and exit."  } while  getopts  ":d:f:h"  opt; do   case  $opt  in      d)       domain=$OPTARG        ;;     f)       file=$OPTARG        ;;     h | *)       show_help       exit  0       ;;   esac  done if  [ -z "$domain "  ] && [ -z "$file "  ]; then   echo  "No domain or file specified. Usage: $0  -d example.com OR $0  -f domains.txt"  >&2   exit  1 fi if  [ ! -z "$domain "  ]; then   ./subfinder -dL $domain  -silent | ./ksubdomain -verify -silent | ./httpx -mc 200,302 -t 200 --random-agent fi if  [ ! -z "$file "  ]; then   ./subfinder -dL $file  -silent | ./ksubdomain -verify -silent | ./httpx -mc 200,302 -t 200 -random-agent  fi 
域名收集加网址提取:
1 2 3 ./subfinder -dL domain.txt -silent | ./ksubdomain -verify -silent | ./naabu -top-ports 100 -silent | ./httpx -t 300 -mc 200,302 --random-agent -o url.txt    //省略-o参数-silent后面还可以继续拼接工具,例如nuclei xpoc等 
XSS Scan:
1 2 3 4 5 ./xray ws --listen 127.0.0.1:7777 -plugins xss --ho scan.html ./subfinder -dL domain.txt -silent | ./ksubdomain -verify -silent | ./httpx -t 300 -mc 200,302 --random-agent -p 80,8080,443,8090,9090 -silent | ./hakrawler -d 5 -dr -t 50 -u -proxy <http://127.0.0.1:7777> //xray监听本地端口扫描XSS漏洞,hakrawler对资产自动爬取通过代理推送给xray端口 
参数爬取:
1 2 3 4 5 6 7 cat  url.txt | ./hakrawler -d 5 -dr -t 50 -u//hakrawler通过网站sitemap.xml文件扫描参数,可配合xray代理推送 python3 paramspider.py -d domain //paramspider通过国外在线网站进行FUZZ参数 
paramspider.py使用过程需要增加一个代理,core/requester.py中
1 2 3 4 5 6 7 8 proxie = {     "http" : "127.0.0.1:7890" ,     "https" : "127.0.0.1:7890"  } · · · response = requests.get(url,headers=headers ,timeout =5,proxies=proxie) 
域名爆破+端口扫描+网址验证+poc扫描:
1 2 3 ./subfinder -dL domain.txt -silent | ./ksubdomain -verify -silent | ./naabu -top-ports 100 -silent | ./httpx -t 300 -mc 200,302 --random-agent -silent | ./nuclei -s medium,high,critical -rate-limit 100 -bulk-size 25 -concurrency 25 -stats -si 300 -retries 3 ./subfinder -dL domain.txt -silent | ./ksubdomain -verify -silent | ./naabu -top-ports 100 -silent | ./httpx -t 300 -mc 200,302 --random-agent -silent | ./xpoc -o scan.html 
FUZZ扫描,适合单个资产,yawf扫描速度慢:
1 2 3 rad --uf url.txt --json scan.json  python3 yawf_bulk.py -f scan.json 
通过ParamSpider爬取参数,推送给yawf让其对参数批量FUZZ扫描,yawf_file.py:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 from os import system import argparse def scan_file(file):     with open(file, encoding='utf-8' ) as f:         lines = f.readlines()         total_uris = len(lines)         for  index, uri in  enumerate(lines, 1):             print (f'[*] Processing ({index}/{total_uris}) {uri.strip()}' )             system(f'python yawf.py -u {uri.strip()}' ) def main():     parser = argparse.ArgumentParser(description='yawf File Mode Help' )     parser.add_argument('-f' , '--file' , help ='Yawf 批量扫描' , default='' )     args = parser.parse_args()     if  args.file:         file = args.file         scan_file(file)          if  __name__ == '__main__' :    main() 
FoFaX资产测绘推送给poc扫描工具:
1 2 3 4 5 6 7 8 ./fofax -q domain="baidu.com"  -silent | ./xpoc -o scan.html ./fofax -qf search.txt -silent | ./xpoc -o scan.html search.txt: domain="baidu.com"  ip="1.1.1.1"  title="系统"  
更进一步,域名爆破验证,shell命令自动将域名结果加入domain=””格式,再利用FoFaX批量扫描资产,推送给漏扫工具,下面是批量给域名加入domain=””格式,方便推送FoFaX批量查找:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # !/bin/bash #  读取domain.txt文件内容 while IFS= read -r line; do   #  将域名结果加入domain="" 格式   result="domain=\"$line\""   #  将结果写入临时文件   echo "$result" >> temp.txt done < domain.txt #  将临时文件覆盖原有文件 mv temp.txt domain.txt //简便命令: sed -i 's/^/domain="/;s/$/"/' domain.txt