MrIncognito7/OSINT-Master

GitHub: MrIncognito7/OSINT-Master

将多个无 API 依赖的 OSINT 工具整合为统一命令行界面,实现邮箱与用户名的自动化跨平台查询和结果合并。

Stars: 3 | Forks: 0

# OSINT CLI 格式化的 README 一个统一的命令行界面,将多个 OSINT 工具整合在一个一致的接口之后。每个工具都是一个独立的模块,无论是子进程调用、Python 库,还是(未来的)API 封装,都能以相同的标准化格式报告结果。 此版本特意**仅包含非 API 工具**,范围限定于 **email** 和 **username** 查询——这里的所有功能都可以在无需注册、无需密钥、无需计费的情况下运行。更多类别和基于 API 的工具(Shodan、Censys、Hunter.io 等)将设计为在日后以相同的模式无缝集成,无需重构任何内容。 ## 包含的工具(无需 API key) | 工具 | 类别 | 功能 | |---|---|---| |`userscan` | email | 本地目标扫描和交叉比对,以从 email 中查找匹配的资料 | | `holehe` | email | 检查 email 注册了哪些平台(基于公开的账户存在信号,而非访问私人账户) | | `sherlock` | username | 跨社交平台搜索 username | | `maigret` | username | 更深度的 username 搜索 + 资料提取 | ``` original repos of tools used - userscan - https://github.com/kaifcodec/user-scanner holehe - https://github.com/megadose/holehe sherlock - https://github.com/sherlock-project/sherlock ``` ## 即将推出的功能 ``` Google OSiNT PhoneNumber OSiNT (Maybe an AI compiler to compile all the results for all round information of the target) Stay Tuned! ``` ## 结构 ``` osint_cli/ ├── cli.py # entrypoint — auto-discovers all modules ├── core/ │ ├── base_module.py # BaseModule interface + ModuleResult │ ├── config.py # loads API keys (unused for now, ready for later) │ └── output.py # table / json / csv rendering ├── modules/ │ ├── email/ │ │ └── holehe_module.py │ └── username/ │ ├── sherlock_module.py │ └── maigret_module.py ├── requirements.txt ├── .env.example └── README.md ``` ## 设置 ``` pip install -r requirements.txt ``` 某些模块还需要在 PATH 中包含系统二进制文件(已在 `requirements.txt` 中逐行注明): - `holehe`、`sherlock`、`maigret` —— 当你 `pip install` 它们时,会作为 CLI 入口点自动安装 ## 用法 ``` # 查看每个 tool、其 category 以及它是否已准备好运行 python cli.py list-tools # 运行 lookup - 你只需指定你拥有的信息,而不是指定运行哪个 tool python cli.py lookup -e someone@example.com # runs holehe + userscanner python cli.py lookup -u johnsmith # runs sherlock + maigret python cli.py lookup -e someone@example.com --format json ``` `-e`/`--email` 和 `-u`/`--username` 是互斥的 - 每次运行只能选择一个。 在后台,`-e` 会运行 `EMAIL_TOOLS` 中列出的每个工具,而 `-u` 会运行 `USERNAME_TOOLS` 中列出的每个工具(两者均在 `cli.py` 顶部附近定义),将它们的所有结果合并为一个单一的组合输出。 ## 添加新的非 API 工具 1. 在正确的类别下创建一个文件,例如 `modules/email/emailrep_module.py` 2. 继承 `BaseModule`: ``` from core.base_module import BaseModule, ModuleResult class NewToolModule(BaseModule): name = "newtool" category = "email" requires_api_key = False description = "What this tool does" def run(self, target: str, options: dict = None) -> ModuleResult: try: # ... your logic ... return ModuleResult(tool=self.name, target=target, status="success", data={...}) except Exception as e: return ModuleResult(tool=self.name, target=target, status="error", error=str(e)) ``` 3. 完成 —— `cli.py` 会在下次运行时自动发现它,并且它会出现在 `list-tools` 中。要让它在 `-e` 或 `-u` 下实际运行,请将其 `name` 字符串添加到 `cli.py` 顶部附近的 `EMAIL_TOOLS` 或 `USERNAME_TOOLS` 中。 ## ⚠️ 法律/道德声明 仅扫描、查询或探测您拥有或获得明确授权进行测试的系统和账户。未经授权的扫描或数据收集可能违反计算机欺诈法律(例如美国的 CFAA、英国的 Computer Misuse Act)以及这些工具所查询平台的服务条款。本项目汇总了公开可用的开源工具,仅供教育和授权的安全研究使用。
标签:ESC4, OSINT, Python, 反射式DLL注入, 实时处理, 情报搜集, 文档结构分析, 无后门, 聚合工具, 逆向工具