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, 云存储安全, 交互式菜单, 可观测性, 地理位置追踪, 威胁检测, 安全防御评估, 容器化, 密码泄露检测, 恶意软件分析, 插件系统, 攻击路径可视化, 数据统计, 文件哈希扫描, 无后门, 无线安全, 版权保护, 端口扫描, 网络安全, 网络扫描, 请求拦截, 逆向工具, 防病毒扫描, 隐私保护, 黑客工具