NazmKurt/python-pentest-toolkit
GitHub: NazmKurt/python-pentest-toolkit
一套在学习渗透测试入门路线时编写的 Python 工具集,提供网络发现、Web 枚举和凭据暴力破解等基础安全测试脚本。
Stars: 0 | Forks: 0
# Python 渗透测试工具包
一套在学习 TryHackMe 的
**初级渗透测试工程师** 路线时编写的 Python 脚本集合,
涵盖基础的网络发现、Web
枚举和凭据攻击。每个脚本也可以独立运行,
在命令行中执行 `--help` 即可查看用法详情。
## 脚本
| 脚本 | 描述 |
|---|---|
| `arp_scanner.py` | 通过 ARP 请求发现本地网络中的活动主机(需要 root 权限 + scapy) |
| `port_scanner.py` | 具有服务名称猜测功能的多线程 TCP 端口扫描器 |
| `dir_enum.py` | 针对服务器的目录/文件暴力破解工具 |
| `subdomain_enum.py` | 通过 HTTP 探测进行子域名暴力破解 |
| `hash_cracker.py` | 基于字典的哈希破解工具 (md5, sha1, sha256, sha512, ...) |
| `ssh_brute_force.py` | 基于字典的 SSH 凭据暴力破解工具 (Paramiko) |
| `file_downloader.py` | 从 URL 列表中下载单个或批量文件 |
| `mini_toolkit.py` | 菜单驱动的封装工具,整合了子域名枚举、目录枚举和端口扫描功能 |
## 环境配置
```
git clone https://github.com/NazmKurt/python-pentest-toolkit.git
cd python-pentest-toolkit
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
## 用法示例
```
# Port 扫描
python3 port_scanner.py 10.10.10.5 -p 1024 -t 100
# ARP 扫描 (需要 root)
sudo python3 arp_scanner.py 10.10.10.0/24 -i eth0
# 目录枚举
python3 dir_enum.py http://10.10.10.5 wordlist.txt -e .php
# 子域名枚举
python3 subdomain_enum.py example.com subdomains.txt
# Hash 破解
python3 hash_cracker.py 5f4dcc3b5aa765d61d8327deb882cf99 rockyou.txt -a md5
# SSH 暴力破解
python3 ssh_brute_force.py 10.10.10.5 admin passwords.txt -d 0.5
# 文件下载 (单个或批量)
python3 file_downloader.py http://10.10.10.5/backup.zip
python3 file_downloader.py urls.txt -o loot/
# 一体化菜单
python3 mini_toolkit.py
```
## 注意事项
- 所有面向网络的脚本均使用多线程(`ThreadPoolExecutor`),
在保持代码可读性的同时实现了合理的扫描速度。
- `ssh_brute_force.py` 在设计上会信任未知主机密钥(`AutoAddPolicy`),
因为实验室目标没有已知的主机密钥——请勿在生产
基础设施中重用此模式。
- 作为初级渗透测试工程师学习路线(eJPT 考前准备)的一部分,针对 TryHackMe 实验室机器进行了构建和测试。
## 许可证
MIT
标签:PoC, Python, 云存储安全, 插件系统, 无后门, 暴力破解, 网络扫描, 逆向工具