一个综合资产收集和漏洞扫描工具
2023-9-17 09:26:5 Author: 黑白之道(查看原文) 阅读量:18 收藏

介绍

Komo是一个综合资产收集和漏洞扫描工具,并且支持进度记录,通过多种方式对子域进行获取,收集域名,邮箱,子域名存活探测,域名指纹识别,域名反查ip,ip端口扫描,web服务链接爬取并发送给xray扫描,对web服务进行POC扫描,web弱口令扫描,对主机进行主机POC扫描,常见端口弱口令扫描。

Komo集成了oneforall,subfinder,ksubdomain,amass,ctfr,emailall,httpx,naabu,TxPortMap,ehole,goon3,crawlergo,rad,hakrawler,gau,gospider,URLfinder,vscan,nuclei,afrog,vulmap,SweetBabyScan,xray等20多款工具,全自动化、智能化工具。本工具依托各工具特色,进行模块化构建。

Komo的目的为了一键化,便捷性,可移植性,便于打点和红队外围渗透工作,所以将基于模块化开发,所有工具都汇总到统一接口,以便于下一个模块调用和后续某模块新增工具。

Komo可以自动下载所需的所有工具,不用使用者自己下载每个工具,使用python3 Komo.py install 即可,同时也便于移动,这保证了Komo的体积足够精简。

Komo目前已经适配window、linux。

使用

1. 初始化

安装python3(python2暂时不支持)

安装相应的库文件pip3 install -r requirements.txt

第一次使用下载所需工具,以及部分工具初始化(goon,vulmap,afrog)

注:国内访问github可能存在超时问题,推荐使用代理下载工具进行初始化。

python3 Komo.py installpython3 Komo.py  --proxy http://127.0.0.1:10809 installpython3 Komo.py  --proxy socks5://127.0.0.1:10809 install

如下图所示,如果下载失败,则需要手动去下载对应工具到对应目录。

注意:使用v2ray的开全局不一定能行,可以使用clash开TUN。

2. 配置

配置文件config/config.yaml

部分配置讲解

修改有runtime字段的工具的runtime字段,设置工具的运行时间,如果超时则kill掉,推荐设置600-1200s

crawlergo:      toolname: crawlergo      runtime: 900rad:      toolname: rad      runtime: 900

修改xray的监听端口

other:    xray:      toolname: xray      listenport: 7777 #修改监听端口

其他配置为以后扩充开发预留配置,暂时不用修改。

oneforall等工具的配置,要在初始化之后进入到对应工具目录进行修改,比如oneforall:core/tools/domain/Oneforall

3. Komo 支持多种模式

install:下载所有工具
all: 资产收集+攻击,多种方式收集域名,收集域名邮箱,域名存活探测,域名反查ip,域名指纹识别,ip端口扫描,web服务链接爬取,将爬取的链接发送给xray进行扫描,POC漏洞扫描,反查的ip进行其他端口漏洞扫描,弱口令扫描
all2: 资产收集+攻击,提供子域名,域名存活探测,域名反查ip,域名指纹识别,ip端口扫描,web服务链接爬取,将爬取的链接发送给xray进行扫描,POC漏洞扫描,反查的ip进行其他端口漏洞扫描,弱口令扫描
collect:只资产收集,多种方式收集域名,收集域名邮箱,域名存活探测,域名反查ip,域名指纹识别,ip端口扫描,web服务链接爬取
subdomain: 通过多种方式进行域名收集,dns爬取,爆破,证书获取,DNS运营商处获取。
finger: 对收集到的域名或域名文件进行存活探测和指纹识别(Ehole+wapplyzer)
portscan:对反查的ip列表或ip文件进行端口扫描
sensitive:对收集到的存活域名或域名文件进行url爬取
webattack:对收集到的存活域名或域名文件进行url爬取,然后发送给xray进行扫描,同时也调用nuclei,afrog,vulmap,vscan进行漏洞扫描
hostattack:对反查的ip列表或ip文件进行常见服务弱口令扫描和漏洞扫描

4. 完整使用

    Komo help summary page
Komo is an automated scanning tool set
mode: install Download the required tools --proxy Set proxy all all scan and attack:subdomain, survival detection, finger, portscan, email collect, sensitive(crawl urls), pocscan, Weak password scanning, to_xray --domain one domain --domains a domain file all2 run scan and attack except domain collection: survival detection, finger, portscan, email collect, sensitive(crawl urls), pocscan, Weak password scanning, to_xray --subdomain one subdomain --subdomains a subdomain file collect run all collection modules :subdomain, survival detection, finger, port, email collect, sensitive(crawl urls), pocscan, to_xray --domain one domain --domains a domain file collect1 run collection modules :subdomain, survival detection, finger --domain one domain --domains a domain file collect2 run collection modules :subdomain, survival detection, finger, portscan --domain one domain --domains a domain file subdomain only collect subdomain --domain one domain --domains a domains file finger only collect the survival URL and fingerprint --url one url --urls an urls file portscan only collect port from ip or ips --ip one ip --ips an ips file sensitive only collect directory with crawl,email --url one url --urls an urls file webattack only attack web from url or urls: pocscan, Weak password scanning, crawl urls to xray --url one url --urls an urls file webattack2 only poc scan from url or urls: pocscan, Weak password scanning --url one url --urls an urls file hostattack only attack ip from ip or ips --ip one ip --ips an ips file attack run webattack and hostattack: crawl url to xray, pocscan, Weak password scanning

Example: python3 Komo.py install python3 Komo.py --domain example.com all python3 Komo.py --domains ./domains.txt all python3 Komo.py --domain example.com collect python3 Komo.py --domains ./domains.txt collect python3 Komo.py --domain example.com collect1 python3 Komo.py --domains ./domains.txt collect1 python3 Komo.py --domain example.com collect2 python3 Komo.py --domains ./domains.txt collect2 python3 Komo.py --domain example.com subdomain python3 Komo.py --domains ./domains.txt subdomain
python3 Komo.py --subdomain aaa.example.com all2 python3 Komo.py --subdomains ./subdomains.txt all2
python3 Komo.py --url http://example.com finger python3 Komo.py --urls ./urls.txt finger python3 Komo.py --url http://example.com sensitive python3 Komo.py --urls ./urls.txt sensitive python3 Komo.py --url http://example.com webattack python3 Komo.py --urls ./urls.txt webattack python3 Komo.py --url http://example.com webattack2 python3 Komo.py --urls ./urls.txt webattack2
python3 Komo.py --ip example.com portscan python3 Komo.py --ips ./domains.txt portscan python3 Komo.py --ip example.com hostattack python3 Komo.py --ips ./domains.txt hostattack

结果

Komo会将输出结果记录到result/{date} 目录下

该目录下会有多个文件夹,分别对应各个模块的输出:

domain_log

fingerlog

portscan_log

sensitive_log

vulscan_log

result/{date} 根目录下会有输出结果文件:

target 为domain或date

{target}.final.subdomains.txt 最终找到的所有子域名

{target}.links.csv 多个工具爬取到的所有link

{target}.many.tools.subdomains.txt 除oneforall之外的其他子域名收集工具收集到的域名

{target}.subdomains.ips.txt 域名反查的ip

{target}.subdomains.with.http.txt 存活的子域名并且带http(s)

项目地址:

https://github.com/komomon/Komo

文章来源:HACK之道

黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!

如侵权请私聊我们删文

END

多一个点在看多一条小鱼干


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=2650577971&idx=4&sn=e0e9839c3a406afbe42d1abc8f38510f&chksm=83bdf9d7b4ca70c18a9bef5516a678c4c6b11e7e930000e7ccd9d7b80b783ad7b4f1f764c743&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh