HackfutSec/Shell-Finder

GitHub: HackfutSec/Shell-Finder

Shell Finder 是一款 Python 编写的安全工具,通过批量扫描网站常见目录来检测是否存在已知的恶意 Web Shell 文件。

Stars: 12 | Forks: 3

# Shell 查找器 ## 描述 **Shell Finder** 是一款旨在识别网站上**恶意 shell** 的安全工具。它通过扫描用户提供的 URL 列表,并检查常见 Web 目录中是否存在已知的 shell 文件来工作。该工具会发送 HTTP 请求来检测这些文件,如果存在 shell,则会返回 HTTP 200 状态码。结果可以保存到文件中,或者在配置后直接发送到 Telegram。 该工具提供了一个简单的命令行界面,允许用户在预定义的 shell 列表或自定义文件之间进行选择以进行搜索。 ## 功能 - **快速 Shell 扫描**:在常见的 Web 目录中搜索恶意 shell。 - **灵活的输入选项**:手动或通过文件提供 URL。你也可以使用默认或自定义的 shell 列表。 - **Telegram 支持**:如果提供了 bot token 和 chat ID,会自动将结果发送到 Telegram。 - **多线程执行**:通过使用线程同时发出 HTTP 请求来加快执行速度。 - **代理支持**:允许在搜索 shell 时使用代理来隐藏你的 IP。 ## 要求 - **Python 3.x**:该工具兼容 Python 3.6 及更高版本。 - **Python 库**:需要 `requests`、`time`、`os`、`re`、`concurrent.futures`。 ``` pip install requests ``` ## 安装说明 克隆仓库并进入该目录: ``` git clone https://github.com/HackfutSec/Shell-Finder.git cd Shell-Finder ``` ## 使用说明 1. **运行工具**: 只需运行 Python 脚本即可开始该过程: python3 shell_finder.py 2. **横幅显示**: 工具启动时,将显示一个包含作者信息和许可证详细信息的横幅。 3. **提供 Shell 列表**: 系统将提示你在两个选项之间进行选择: - 使用已知 shell 的默认列表。 - 提供一个包含 shell 路径的文件,每行一个。 4. **提供要扫描的网站列表**: 系统将要求你: - 手动输入 URL。 - 加载一个包含 URL 列表的文件。 5. **通过 Telegram 发送结果的选项**: 工具会询问你是否希望通过 Telegram 发送结果。如果你选择**是**,你需要输入一个 **Telegram bot token** 和一个 **chat ID**。一条包含找到的 shell 列表的消息将被发送到指定的聊天中。 6. **结果**: 扫描结果将连同每个请求的 HTTP 状态码一起在控制台上实时显示。如果找到了 shell,它将被保存在当前目录下名为 `found.txt` 的文件中。 7. **结果文件**: 在扫描过程中找到的 shell 将保存在当前目录的 `found.txt` 中。 ## 示例执行 ``` [+] Choose how to provide the websites for shell search: 1. Enter a list of URLs manually (separated by new lines). 2. Provide a file containing URLs (one per line). Your choice (1 or 2): 1 [+] Enter the URLs (one per line). Type 'done' when you are finished. [+] Enter URL: http://example.com [+] Enter URL: http://anotherexample.com [+] Enter URL: done [+] Choose how to provide the shell list: 1. Use the default list of shells. 2. Provide a file containing shells (one per line). Your choice (1 or 2): 1 [+] Scanning http://example.com for shells... [+] Shell found: http://example.com/wp-admin/js/widgets/about.php [Code: 200] [+] Shell found: http://anotherexample.com/wp-content/themes/aahana/json.php [Code: 200] [+] Found shells saved in: /home/user/Shell-Finder/found.txt [+] Press enter to exit... ``` ## 通过 Telegram 发送结果 如果你希望通过 Telegram 接收扫描结果,工具将提示你提供以下信息: - **Bot Token**:你可以通过 [BotFather](https://core.telegram.org/bots#botfather) 创建 bot 来获取 token。 - **Chat ID**:这是你的聊天标识符。你可以通过向你的 bot 发送消息并使用 Telegram API 的 `getUpdates` 方法来获取它。 通过 Telegram API 发送消息的示例命令: ``` https://api.telegram.org/bot/sendMessage?chat_id=&text= ``` ## 高级功能 - **代理使用**:如果配置了代理,工具将尝试使用它们进行 HTTP 请求。如果未提供代理,工具将尝试直接连接。 - **请求延迟**:在每个请求之间添加了 1 秒的延迟,以避免被网站阻止。 - **错误处理**:该工具处理各种类型的 HTTP 错误,包括超时(`Timeout`)、禁止访问(`403`)和一般连接错误。 ## 安全与责任 **Shell Finder** 是一款功能强大的工具,应负责任地使用。此脚本仅应用于对你拥有明确分析权限的网站进行合法的安全测试。作者对任何恶意使用此工具的行为不承担责任。 ## 许可证 **MIT License** 你可以根据 MIT 许可证的条款使用、修改和分发此软件。有关更多详细信息,请参阅 `LICENSE` 文件。 ## 支持 如果你在使用该工具时遇到任何问题,可以在 GitHub 仓库上提出一个 **issue**,或者通过 [Telegram](https://t.me/HackfutS3c) 直接联系我。 ## 免责声明 Shell Finder 仅应用于教育目的或合法场景,例如对你拥有明确授权的系统进行渗透测试。严禁任何恶意使用。
标签:Python, Web安全, 扫描器, 无后门, 蓝队分析, 逆向工具