ICWR-TEAM/R-AScan
GitHub: ICWR-TEAM/R-AScan
R-AScan 是一个用 Python 编写的模块化多线程漏洞扫描框架,通过动态加载检测模块对目标进行自动化安全扫描并将结果输出为 JSON。
Stars: 5 | Forks: 2






# R-AScan (Rusher Automatic Scanner)
## 概述
R-AScan 是一个使用 Python 编写的模块化、多线程漏洞扫描器框架。它会动态加载 `scanners/` 目录下的所有 `.py` 扫描模块,并针对目标执行它们。每个模块都会返回结构化的输出,并保存到 JSON 文件中以供分析。
## 功能特点
- 模块化架构(支持直接放入 `.py` 模块)
- 使用线程池进行多线程执行
- 从 GitHub 自动更新扫描模块
- JSON 输出格式
- 带有多个选项的 CLI 执行方式
- 内置以下扫描器:
- 本地文件包含 (LFI)
- 远程代码执行 (RCE)
- 跨站脚本攻击 (XSS)
- 服务端请求伪造 (SSRF)
- SQL 注入 (SQLi)
- 开放重定向
- 安全 Header
- 敏感文件
- 指纹识别
- 后台管理面板查找
- 频率限制
- SSTI
- LDAP 注入
- 以及其他
## 环境要求
- Python 3.8 或更高版本
- `requests` 库
## 安装
克隆仓库:
```
git clone https://github.com/ICWR-TEAM/R-AScan
cd R-AScan
pip install -r requirements.txt
python3 R-AScan.py --help
```
使用 PIP 安装:
```
python3 -m pip install R-AScan
```
## 使用方法
```
python3 R-AScan.py -x [options]
```
或者 (使用 PIP 安装)
```
R-AScan -x [options]
```
```
$$$$$$$\ $$$$$$\ $$$$$$\
$$ __$$\ $$ __$$\ $$ __$$\
$$ | $$ | $$ / $$ |$$ / \__| $$$$$$$\ $$$$$$\ $$$$$$$\
$$$$$$$ |$$$$$$\ $$$$$$$$ |\$$$$$$\ $$ _____|\____$$\ $$ __$$\
$$ __$$< \______|$$ __$$ | \____$$\ $$ / $$$$$$$ |$$ | $$ |
$$ | $$ | $$ | $$ |$$\ $$ |$$ | $$ __$$ |$$ | $$ |
$$ | $$ | $$ | $$ |\$$$$$$ |\$$$$$$$\\$$$$$$$ |$$ | $$ |
\__| \__| \__| \__| \______/ \_______|\_______|\__| \__|
===================================================================
[+] R-AScan (Rusher Automatic Scan) | HarshXor - incrustwerush.org
===================================================================
[-] [A target must be specified unless the --update option is used]
usage: R-AScan.py [-h] [-x TARGET] [-t THREADS] [-o OUTPUT] [-p PORT] [--path PATH] [--update] [--verbose] [--optimize]
options:
-h, --help show this help message and exit
-x, --target TARGET Target host (domain or IP)
-t, --threads THREADS
Number of threads to use (default: 5)
-o, --output OUTPUT Custom output file path (optional)
-p, --port PORT Custom PORT HTTP/S (optional)
--path PATH Custom PATH URL HTTP/S (optional)
--update Only update scanner modules without scanning
--verbose Verbose detail log
--optimize Optimize result with machine learning
```
### 示例
```
python3 R-AScan.py -x example.com
python3 R-AScan.py -x 192.168.1.1 -t 10 -o output.json
python3 R-AScan.py --update
```
或者 (使用 PIP 安装)
```
R-AScan -x example.com
R-AScan -x 192.168.1.1 -t 10 -o output.json
R-AScan --update
```
### 参数
* `-x`, `--target` — 目标域名或 IP 地址(必需,除非使用 `--update`)
* `-t`, `--threads` — 线程数(默认值:5)
* `-o`, `--output` — 保存 JSON 结果的路径(可选)
* `-p`, `--port` - 自定义 HTTP/S 端口(可选)
* `--path` - 自定义 HTTP/S URL 路径(可选)
* `--update` — 从 GitHub 更新扫描模块并退出
* `--verbose` — 打印每个模块的详细输出
* `--optimize` - 通过机器学习优化结果
## 输出
扫描结果将被保存为:
```
scan_output-.json
```
如果指定了 `-o` 选项,结果将保存到指定的自定义路径中。
每个扫描模块都会在 JSON 输出中提供一个字典条目,并归类在 `result` 键下。
## 编写自定义模块
1. 在 `scanners/` 目录中创建一个新的 Python 文件,例如 `my_scan.py`
2. 定义一个返回字典或列表的 `scan(args)` 函数
3. 通过 `args.target` 访问目标
### 示例
```
import requests
def scan(args):
url = f"http://{args.target}/test"
try:
response = requests.get(url, timeout=10)
return {
"url": url,
"status_code": response.status_code
}
except Exception as e:
return {"error": str(e)}
```
主框架会自动发现并执行此模块。
## 更新模块
直接从 GitHub 仓库更新扫描模块:
```
python3 R-AScan.py --update
```
或者 (使用 PIP 安装)
```
python3 R-AScan.py --update
```
`scanners/` 目录中的所有 `.py` 文件都将被下载并替换。
## 许可证
该项目基于 MIT 许可证授权。
由 HarshXor 开发 — [https://incrustwerush.org](https://incrustwerush.org)
标签:CISA项目, Python, Web安全, 内存取证对抗, 加密, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具