aakashalihyder/python-security-toolkit
GitHub: aakashalihyder/python-security-toolkit
一套基于 Python 标准库的网络与密码安全工具集,集端口扫描、密码分析和哈希识别于一体。
Stars: 0 | Forks: 0
# 🔐 Python 安全工具包
**作者:** Aakash Ali
**LinkedIn:** https://www.linkedin.com/in/aakashali/
**地点:** 悉尼,澳大利亚

## 📋 概述
一系列基于 Python 的网络安全工具,旨在展示实用的安全技能,包括网络侦察、密码分析、哈希识别和字典攻击。所有工具均仅使用 Python 标准库构建——无需任何外部依赖。
## 🛠️ 包含的工具
### 1. `network_scanner.py` — 网络端口扫描器
一个多线程网络扫描器,可执行快速端口扫描和服务枚举。
**功能:**
- 在 3 种扫描模式(快速 / 标准 / 完整)下扫描目标 IP 的开放端口
- 识别每个开放端口上运行的服务
- 抓取服务指纹横幅
- 按风险等级(严重 / 高 / 中 / 低)对每个发现进行评级
- 标记常被利用的端口(SMB、RDP、Telnet、FTP)
- 多线程扫描——同时扫描 100 个端口以保证速度
- 将格式化的安全报告保存到文件
**展示的技能:**
- TCP/IP 网络基础
- 使用 Python `threading` 模块进行多线程处理
- 网络侦察方法论
- 安全风险评估与报告
### 2. `password_checker.py` — 密码强度检查器
根据多个安全标准分析密码强度,并生成安全的替代密码。
**功能:**
- 对照前 50 个最常见密码进行检查(一旦命中即判定不合格)
- 分析长度、字符多样性、序列和重复项
- 以 10 分制对密码进行评分,并附带可视化强度条
- 提供具体的改进建议
- 生成加密安全的随机强密码
**展示的技能:**
- 身份验证安全原则
- 正则表达式模式匹配
- 暴力破解和字典攻击防范意识
- 安全密码生成
### 3. `hash_identifier.py` — 哈希识别与分析器
识别加密哈希类型,分析其安全强度,并模拟字典攻击。
**功能:**
- 识别 MD5、SHA-1、SHA-256、SHA-512、bcrypt、NTLM 哈希
- 解释每种算法的强度和已知漏洞
- 使用常见字典模拟字典攻击
- 从明文生成哈希以进行比较
- 参考现实世界中的工具(Hashcat、rockyou.txt)
**展示的技能:**
- 密码学与哈希基础
- 数字取证与事件响应 (DFIR) 概念
- 字典攻击方法论
- 理解 NTLM、bcrypt 及密码存储安全
### 4. `security_toolkit.py` — 综合安全工具包 ⭐
一个统一的菜单驱动界面,将上述三款工具整合到一个专业应用中。
**功能:**
- 简洁的终端 UI,带有模块选择菜单
- 具备线程扫描功能的完整网络扫描器
- 带有评分和建议的密码强度检查器
- 具备字典攻击和哈希生成功能的哈希识别器
- 所有模块均可统一保存报告
- 跨平台(Windows / Linux / macOS)
**展示的技能:**
- 软件架构与模块化设计
- CLI 工具中的用户体验
- 多种安全功能的整合
- 专业工具开发
## ⚙️ 要求
- Python 3.x
- 无需外部库
- 仅使用内置模块:`socket`、`threading`、`hashlib`、`re`、`datetime`、`random`、`string`、`os`、`sys`
## 🚀 快速开始
```
# Clone 代码库
git clone https://github.com/aakashali/python-security-toolkit
cd python-security-toolkit
# 运行 combined toolkit(推荐)
python3 security_toolkit.py
# 或运行单个 tools
python3 network_scanner.py
python3 password_checker.py
python3 hash_identifier.py
```
## 📸 示例输出
### 网络扫描器
```
============================================================
AAKASH ALI — PYTHON NETWORK PORT SCANNER
Threaded — Fast Scanning Edition
============================================================
[?] Enter target IP address: 192.168.1.1
[*] Scanning 192.168.1.1 — Quick Scan
[+] Port 22 OPEN — SSH
[+] Port 80 OPEN — HTTP
[+] Port 443 OPEN — HTTPS
Duration : 1.8 seconds
Open Ports : 3 found
Critical : 0 | High : 0 | Medium : 2
```
### 密码检查器
```
Score : 8/10 [████████░░]
Rating : STRONG
Good length (16+)
Has uppercase, lowercase, numbers, special characters
```
### 哈希识别器
```
Algorithm : MD5
Strength : WEAK
Crackable : Yes
[*] Running dictionary attack...
CRACKED: 'password'
```
## 🗺️ 涵盖的概念
| 概念 | 工具 |
| ------------------------------------- | ---------------- |
| TCP/IP 端口扫描 | Network Scanner |
| 服务枚举和横幅抓取 | Network Scanner |
| 利用多线程提升性能 | Network Scanner |
| 身份验证安全 | Password Checker |
| 暴力破解防范意识 | Password Checker |
| 加密哈希算法 | Hash Identifier |
| 字典攻击模拟 | Hash Identifier |
| NTLM / bcrypt / MD5 安全 | Hash Identifier |
| DFIR 基础 | Hash Identifier |
| CLI 工具架构 | Security Toolkit |
## 🗺️ 路线图
- [x] 具备多线程的网络端口扫描器
- [x] 密码强度检查器
- [x] 哈希识别与字典攻击
- [x] 综合安全工具包
- [ ] 子域名枚举器
- [ ] CVE 查询工具(通过 NVD API)
- [ ] 自动化漏洞报告生成器
## 📚 参考文献与进阶学习
- [OWASP 密码存储备忘单](https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html)
- [MITRE ATT&CK — 侦察技术](https://attack.mitre.org/tactics/TA0007/)
- [Hashcat 文档](https://hashcat.net/wiki/)
- [NIST 密码指南 (SP 800-63B)](https://pages.nist.gov/800-63-3/sp800-63b.html)
## 📬 联系方式
**Aakash Ali** — 网络安全分析师
https://www.linkedin.com/in/aakashali/
悉尼,澳大利亚
标签:Banner Grabbing, IT安全, Python, TCP/IP, VEH, 反取证, 哈希识别, 字典攻击, 安全工具包, 安全脚本, 安全评估, 密码安全, 密码强度检测, 插件系统, 数据统计, 无后门, 服务枚举, 本地模型, 端口扫描, 纯标准库, 网络安全, 网络安全演练, 网络扫描器, 逆向工具, 隐私保护