EduardoNobre-Cyb/Security-Toolkit

GitHub: EduardoNobre-Cyb/Security-Toolkit

一个基于Python的容器化综合安全工具包,集成密码泄露检测、杀毒扫描、SSH日志分析、URL安全验证和端口发现等功能,支持CLI和交互式菜单操作。

Stars: 0 | Forks: 0

# 安全工具包 一个基于 Python 的综合安全工具包,用于密码检查、防病毒扫描、SSH 日志分析、URL 安全验证和网络端口扫描。 **由 Eduardo Nobre 创建** ## 功能 - **密码检查器** - 使用 PwnedPasswords API 检查密码是否已泄露 - **防病毒扫描器** - 使用 VirusTotal API 扫描文件中的恶意软件 - 检查文件哈希(快速、私密) - 上传并扫描文件(针对未知/新文件) - **SSH 日志分析器** - 分析 SSH 身份验证日志中的失败登录尝试 - 检测可疑活动 - 失败尝试的地理位置追踪 - 高风险国家标记 - **URL 安全检查器** - 使用 VirusTotal 检查 URL 是否包含恶意内容 - **端口扫描器** - 扫描目标主机的开放端口 - 扫描常见端口(快速) - 自定义端口范围 - 将结果保存到文件 - 多线程扫描以提升性能 ## 环境要求 - Python 3.8+ - 网络连接(用于 API 调用) - API 密钥: - **VirusTotal API 密钥**(可在 https://www.virustotal.com/gui/home/upload 获取免费版本) - 可选:**AbuseIPDB API 密钥**(用于增强 IP 信誉查询) ## 安装说明 ### 本地设置 1. 克隆仓库: ``` git clone cd SecurityToolKit\ Python ``` 2. 创建配置文件: ``` cp config.example.ini config.ini ``` 3. 在 `config.ini` 中填入你的 API 密钥: ``` [API_KEYS] avScanner = YOUR_VIRUSTOTAL_API_KEY [SETTINGS] threshold = 5 ``` 4. 安装 Python 依赖: ``` pip install -r requirements.txt ``` 5. 运行工具包: ``` python sec-tool.py ``` ### Docker 设置 1. 构建容器: ``` docker build -t security-toolkit:latest . ``` 2. 配置 `config.ini`: ``` cp config.example.ini config.ini # 使用你的 API key 编辑 config.ini ``` 3. 交互式运行: ``` docker-compose run --rm toolkit ``` 或者运行特定命令: ``` docker-compose run --rm toolkit --check-password "YourPassword" docker-compose run --rm toolkit --scan-ports 192.168.1.1 --save-results ``` ## 使用说明 ### 交互式菜单 不带参数运行即可访问交互式菜单: ``` python sec-tool.py ``` 然后从以下选项中选择: 1. 检查密码 (Pwned) 2. 使用 VirusTotal 扫描文件 3. 分析 SSH 日志 4. URL 安全检查 5. 端口扫描器 6. 退出 ### 命令行界面 #### 检查密码 ``` python sec-tool.py --check-password "your_password" ``` #### 扫描文件(检查哈希) ``` python sec-tool.py --scan-file /path/to/file ``` #### 上传并扫描文件 ``` python sec-tool.py --scan-file /path/to/file --upload ``` #### 分析 SSH 日志 ``` python sec-tool.py --analyze-logs /var/log/auth.log --threshold 5 ``` #### 检查 URL ``` python sec-tool.py --check-url "https://example.com" ``` #### 扫描端口 ``` python sec-tool.py --scan-ports 192.168.1.1 ``` #### 扫描自定义端口范围 ``` python sec-tool.py --scan-ports 192.168.1.1 --port-range 1-1000 --save-results ``` #### 显示版本 ``` python sec-tool.py --version ``` ## 配置 ### config.ini 基于 `config.example.ini` 创建 `config.ini`: ``` [API_KEYS] # 你的 VirusTotal API key(从 https://www.virustotal.com 获取) avScanner = YOUR_API_KEY_HERE [SETTINGS] # SSH 日志分析阈值(标记为可疑的失败尝试次数) threshold = 5 ``` ## Docker 使用 ### 使用 docker-compose 运行交互式菜单: ``` docker-compose run --rm toolkit ``` 运行特定命令: ``` docker-compose run --rm toolkit --check-password "test123" ``` ### Docker 运行 密码检查: ``` docker run --rm \ -v $(pwd)/config.ini:/app/config.ini \ security-toolkit:latest \ --check-password "password" ``` 文件扫描: ``` docker run --rm \ -v $(pwd)/config.ini:/app/config.ini \ -v /path/to/file:/app/file \ security-toolkit:latest \ --scan-file /app/file ``` 端口扫描(保存结果): ``` docker run --rm \ -v $(pwd)/config.ini:/app/config.ini \ -v $(pwd)/results:/app/results \ security-toolkit:latest \ --scan-ports 192.168.1.1 --save-results ``` ## 数据卷 使用 Docker 时,可以使用以下目录: - `./config.ini` - 从主机挂载(配置) - `./results/` - 扫描结果和报告 - `./logs/` - 日志文件 ## 示例 ### 示例 1:检查你的密码是否已泄露 ``` python sec-tool.py --check-password "MyPassword123!" ``` ### 示例 2:分析 SSH 日志中的可疑活动 ``` python sec-tool.py --analyze-logs /var/log/auth.log --threshold 3 ``` ### 示例 3:扫描文件以查找恶意软件 ``` python sec-tool.py --scan-file ~/Downloads/suspicious.exe ``` ### 示例 4:检查网站安全性 ``` python sec-tool.py --check-url "https://example.com" ``` ### 示例 5:查找服务器上的开放端口 ``` python sec-tool.py --scan-ports 192.168.1.1 --save-results ``` ## API 集成 ### VirusTotal - **免费版**:每分钟 4 个请求 - **高级版**:更高的频率限制 - 获取 API 密钥:https://www.virustotal.com/gui/home/upload ### Pwned Passwords - **免费**:无需 API 密钥 - 使用 SHA-1 哈希保护隐私 - 数据来自 https://haveibeenpwned.com ### IP 地理位置 - **免费**:ip-api.com(限制为每分钟 45 个请求) - 返回:国家、城市、ISP 信息 ## 安全注意事项 1. **API 密钥**:妥善保管你的 VirusTotal API 密钥。在生产环境中请使用环境变量或安全的配置管理。 2. **密码隐私**:密码检查器使用 SHA-1 哈希,并且仅将前 5 个字符发送到 API。 3. **网络**:部分 API 调用需要网络访问。 4. **日志权限**:确保你拥有读取 SSH 日志的适当权限(可能需要 sudo)。 ## 故障排除 ### "未找到 config.ini" 创建配置文件: ``` cp config.example.ini config.ini ``` ### "未设置 API Key" 编辑 `config.ini` 并添加你的 VirusTotal API 密钥: ``` [API_KEYS] avScanner = YOUR_KEY_HERE ``` ### Docker 容器立即退出 在交互模式下,请使用 `docker-compose run --rm toolkit` 代替 `docker-compose up`。 ### 日志文件 "Permission denied" 确保你拥有日志文件的读取权限,或者以相应的特权运行: ``` sudo python sec-tool.py --analyze-logs /var/log/auth.log ``` ### API 频率限制超限 请等待后再发出额外请求,或者升级你的 API 级别以获取更高的限制。 ## 独立工具 每个安全工具也可以作为独立脚本运行。每个工具的独立版本可在 `Tools/` 文件夹中找到: - **check-leaked-pass.py** - 独立的密码泄露检查器 - **check-av-files.py** - 独立的防病毒文件扫描器 - **log-analyzer-basic.py** - 独立的 SSH 日志分析器 - **secure-pass-tkinter.py** - 用于安全密码生成的 Tkinter GUI - **test.py** - 测试工具 这些可以独立运行或作为模块导入: ``` python Tools/check-leaked-pass.py "password" python Tools/check-av-files.py /path/to/file python Tools/log-analyzer-basic.py /var/log/auth.log python Tools/secure-pass-tkinter.py ``` ## 文件结构 ``` SecurityToolKit Python/ ├── README.md # This file ├── DOCKER_README.md # Detailed Docker documentation ├── Dockerfile # Container definition ├── docker-compose.yml # Docker Compose orchestration ├── requirements.txt # Python dependencies ├── config.example.ini # Configuration template ├── config.ini # Actual configuration (created from template) ├── sec-tool.py # Main toolkit application ├── Tools/ # Individual tool scripts │ ├── check-leaked-pass.py # Standalone password checker │ ├── check-av-files.py # Standalone AV scanner │ ├── log-analyzer-basic.py # Standalone log analyzer │ ├── secure-pass-tkinter.py # Password generator with GUI │ └── test.py # Testing utilities ├── auth_sample.log # Sample SSH log └── auth_real.log # Real SSH log example ``` ## 开发 要修改或扩展此工具包: 1. **主工具包**:编辑 `sec-tool.py` 以修改核心功能和集成特性 2. **独立工具**:在 `Tools/` 文件夹中添加或修改脚本以实现独立功能 3. **配置**:更新 `config.example.ini` 以增加新的配置选项 4. **依赖项**:如果添加了新依赖,请更新 `requirements.txt` 5. **Docker**:重新构建 Docker 镜像:`docker build -t security-toolkit:latest .` 6. **测试**:使用 `Tools/test.py` 测试各个组件 ## 许可证 由 Eduardo Nobre 创建 ## 贡献 欢迎贡献!请注意: 1. 在本地测试更改 2. 更新文档 3. 确保不要将 API 密钥提交到版本控制中 4. 使用 `.gitignore` 排除 config.ini ## 支持 如遇问题或有疑问: 1. 查看故障排除部分 2. 对于 Docker 相关问题,请查看 `DOCKER_README.md` 3. 验证 API 密钥和权限 4. 检查 API 调用的网络连接情况 ## 相关项目 - **threat-defense-system**:综合威胁检测与响应系统 - SecurityToolKit 生态系统的一部分 ## 参考资料 - VirusTotal:https://www.virustotal.com - Pwned Passwords:https://haveibeenpwned.com - IP API:https://ip-api.com
标签:AMSI绕过, API集成, Ask搜索, DAST, Docker, NIDS, PE 加载器, PwnedPasswords, Python, SSH日志分析, URL安全检查, VirusTotal, 云存储安全, 交互式菜单, 可观测性, 地理位置追踪, 威胁检测, 安全防御评估, 容器化, 密码泄露检测, 恶意软件分析, 插件系统, 攻击路径可视化, 数据统计, 文件哈希扫描, 无后门, 无线安全, 版权保护, 端口扫描, 网络安全, 网络扫描, 请求拦截, 逆向工具, 防病毒扫描, 隐私保护, 黑客工具