evyatarmeged/Raccoon

GitHub: evyatarmeged/Raccoon

基于 Python asyncio 的高性能侦察工具,集成 DNS、端口扫描、子域名枚举、Web 指纹识别等多种功能,帮助安全研究人员在渗透测试前期快速全面地获取目标资产信息。

Stars: 3551 | Forks: 441

# Raccoon ![Racoon](https://image.ibb.co/dkAq4J/raccoon.png) #### 用于侦察和信息收集的 offensive security 工具 ![Build Status](https://travis-ci.org/evyatarmeged/Raccoon.svg?branch=master) ![license](https://img.shields.io/github/license/mashape/apistatus.svg) ![os](https://img.shields.io/badge/OS-Linux,%20macOS-yellow.svg) ![pythonver](https://img.shields.io/badge/python-3.5%2B-blue.svg) ![raccoonver](https://img.shields.io/badge/version-0.8.5-lightgrey.svg) ##### 功能 - [x] DNS 详情 - [x] 使用 DNS dumpster 进行 DNS 可视化映射 - [x] WHOIS 信息 - [x] TLS 数据 - 支持的密码套件、TLS 版本、 证书详情和 SAN - [x] 端口扫描 - [x] 服务和脚本扫描 - [x] URL 模糊测试及目录/文件检测 - [x] 子域名枚举 - 使用 Google dorking、DNS dumpster 查询、 SAN 发现和暴力破解 - [x] Web 应用数据检索:
- CMS 检测 - Web 服务器信息及 X-Powered-By - robots.txt 和 sitemap 提取 - Cookie 检查 - 提取所有可进行模糊测试的 URL - 发现 HTML 表单 - 获取所有电子邮件地址 - 扫描目标是否存在易受攻击的 S3 存储桶,并枚举它们 以查找敏感文件 - [x] 检测已知的 WAF - [x] 支持通过 Tor/代理进行匿名路由 - [x] 使用 asyncio 提升性能 - [x] 将输出保存至文件 - 按文件夹划分目标, 按文件划分模块 ##### 路线图和待办事项 - [ ] 扩展、测试并合并 "owasp" 分支,以增加更多 Web 应用攻击和扫描 ([#28](https://github.com/evyatarmeged/Raccoon/issues/28)) - [ ] 支持更多提供商以进行易受攻击的存储扫描 ([#27](https://github.com/evyatarmeged/Raccoon/issues/27)) - [ ] 添加更多 WAF 及更优的检测机制 - [ ] 支持多主机(从文件读取) - [ ] 限速规避 - [ ] IP 范围支持 - [ ] CIDR 表示法支持 - [ ] 更多输出格式(至少包括 JSON) ### 关于 Raccoon 是一款专为侦察和信息收集而设计的工具,注重简洁性。
它将执行从 获取 DNS 记录、检索 WHOIS 信息、获取 TLS 数据、检测 WAF 存在与否,一直到多线程目录爆破和 子域名枚举的所有操作。每次扫描的结果都会输出到相应的文件中。
由于 Raccoon 的大部分扫描是独立的,不依赖于彼此的结果, 因此它利用 Python 的 asyncio 异步运行大多数扫描。
Raccoon 支持 Tor/代理进行匿名路由。它使用令人惊叹的 [SecLists](https://github.com/danielmiessler/SecLists) 仓库中的默认词表(用于 URL 模糊测试和子域名发现), 但也可以传递不同的列表作为参数。
获取更多选项 - 请参见“用法”。 ### 安装 获取最新稳定版本:
``` pip install raccoon-scanner # 运行: raccoon [OPTIONS] ``` 请注意,Raccoon 需要 Python3.5+,因此可能需要使用 `pip3 install raccoon-scanner`。
你也可以克隆 GitHub 仓库以获取最新的功能和变更:
``` git clone https://github.com/evyatarmeged/Raccoon.git cd Raccoon python setup.py install # Subsequent changes to the source code will not be reflected in calls to raccoon when this is used # 或者 python setup.py develop # Changes to code will be reflected in calls to raccoon. This can be undone by using python setup.py develop --uninstall # 最后 raccoon [OPTIONS] [TARGET] ``` #### macOS 为了在 macOS 上支持 Raccoon,你的机器上需要安装 gtimeout。
可以通过运行 `brew install coreutils` 来安装 gtimeout。 #### Docker
``` # 构建 docker 镜像 docker build -t evyatarmeged/raccoon . # 运行扫描,由于这是一个非 root 容器,我们需要将输出保存在用户主目录即 /home/raccoon 下 docker run --name raccoon evyatarmeged/raccoon:latest example.com -o /home/raccoon ``` ##### 前置条件 Raccoon 使用 [Nmap](https://github.com/nmap/nmap) 扫描端口,并利用了其他一些 Nmap 脚本 和功能。在运行 Raccoon 之前必须安装它。
此外,[OpenSSL](https://github.com/openssl/openssl) 也用于 TLS/SSL 扫描,同样需要安装。 ### 用法 ``` Usage: raccoon [OPTIONS] TARGET Options: --version Show the version and exit. -d, --dns-records TEXT Comma separated DNS records to query. Defaults to: A,MX,NS,CNAME,SOA,TXT --tor-routing Route HTTP traffic through Tor (uses port 9050). Slows total runtime significantly --proxy-list TEXT Path to proxy list file that would be used for routing HTTP traffic. A proxy from the list will be chosen at random for each request. Slows total runtime -c, --cookies TEXT Comma separated cookies to add to the requests. Should be in the form of key:value Example: PHPSESSID:12345,isMobile:false --proxy TEXT Proxy address to route HTTP traffic through. Slows total runtime -w, --wordlist TEXT Path to wordlist that would be used for URL fuzzing -T, --threads INTEGER Number of threads to use for URL Fuzzing/Subdomain enumeration. Default: 25 --ignored-response-codes TEXT Comma separated list of HTTP status code to ignore for fuzzing. Defaults to: 302,400,401,402,403,404,503,504 --subdomain-list TEXT Path to subdomain list file that would be used for enumeration -sc, --scripts Run Nmap scan with -sC flag -sv, --services Run Nmap scan with -sV flag -f, --full-scan Run Nmap scan with both -sV and -sC -p, --port TEXT Use this port range for Nmap scan instead of the default --vulners-nmap-scan Perform an NmapVulners scan. Runs instead of the regular Nmap scan and is longer. --vulners-path TEXT Path to the custom nmap_vulners.nse script.If not used, Raccoon uses the built-in script it ships with. -fr, --follow-redirects Follow redirects when fuzzing. Default: False (will not follow redirects) --tls-port INTEGER Use this port for TLS queries. Default: 443 --skip-health-check Do not test for target host availability --no-url-fuzzing Do not fuzz URLs --no-sub-enum Do not bruteforce subdomains --skip-nmap-scan Do not perform an Nmap scan -q, --quiet Do not output to stdout -o, --outdir TEXT Directory destination for scan output --help Show this message and exit. ``` ### 截图 ![poc2](https://image.ibb.co/iyLreJ/aaaaaaaaaaaaa.png)
**包含易受攻击 S3 存储桶的 Web 应用数据:**
![somepoc](https://image.ibb.co/m6b3Jz/s3.png) **[HTB](https://www.hackthebox.eu/) 挑战示例扫描:**
![poc](https://image.ibb.co/bGKTRy/bbbbbbb.png)
**Nmap vulners 扫描结果:**
![vulnerspoc](https://image.ibb.co/iaOMyU/nmap_vulners_poc.png)
**扫描后的结果文件夹树:**
![poc3](https://image.ibb.co/iyaCJd/poc3.png) ### 贡献 欢迎任何和所有的贡献、问题提交、功能建议和提示。
标签:C2日志可视化, CDN识别, CTI, DNS查询, GitHub, Python, TLS分析, Tor匿名, WHOIS查询, 协议探测, 反取证, 大数据, 子域名枚举, 安全测试工具, 安全评估, 实时处理, 密码管理, 异步编程, 指纹识别, 插件系统, 攻击路径可视化, 数据统计, 无后门, 目录扫描, 端口扫描, 系统安全, 网络安全, 计算机取证, 请求拦截, 逆向工具, 隐私保护, 黑客工具