pwnpilot/PwnScanner
GitHub: pwnpilot/PwnScanner
一款菜单驱动的轻量级 Python Nmap 自动化工具,用于简化网络侦察、端口扫描及渗透测试流程。
Stars: 1 | Forks: 0
**PwnScanner**
一款用于网络侦察和渗透测试的交互式 Nmap 自动化工具包。
**概述**
PwnScanner 是一个强大的、菜单驱动的 Python Nmap 包装器,旨在简化网络扫描操作。它提供了一个交互式界面,无需记忆复杂的命令行参数即可执行全方位的 Nmap 扫描技术。
专为需要快速、可重复且全面进行网络扫描的渗透测试人员、网络管理员和安全专业人员而构建。
**功能**
**1. 主机发现**
使用各种探测技术检测目标网络上的存活主机。
选项 技术 Nmap 命令
ICMP Echo 扫描 标准 ping 扫描 nmap -sn -PE
TCP SYN Ping 针对端口 80,443 的 SYN 探测 nmap -sn -PS80,443
TCP ACK Ping 针对端口 80 的 ACK 探测 nmap -sn -PA80
UDP Ping 针对端口 53 的 UDP 探测 nmap -sn -PU53
ARP 扫描 ARP 请求(本地子网) nmap -sn -PR
无 Ping 将所有主机视为在线 nmap -Pn
DNS 解析 仅限主机名到 IP 的查找 无 Nmap(使用 socket)
**2. 端口扫描**
涵盖所有主要扫描类型的综合端口检测。
选项 扫描类型 特征
SYN 隐秘扫描 半开 TCP 快速、隐蔽,默认选项
TCP Connect 完整握手 完整连接,隐蔽性较差
UDP 扫描 UDP 探测 检测 UDP 服务
FIN 扫描 FIN 标志 绕过部分防火墙
Xmas 扫描 FIN+PSH+URG TCP 头部操纵
Null 扫描 无标志位设置 防火墙规避
ACK 扫描 ACK 标志 映射防火墙规则集
Window 扫描 Window 字段分析 精细的防火墙映射
Maimon 扫描 FIN+ACK 小众规避技术
完整扫描 所有 65,535 个端口 全覆盖(较慢)
Top 100 最常见端口 快速侦察
常用端口 1-1000 标准范围 速度与覆盖率的平衡
HTTP/HTTPS 端口 80, 443 专注于 Web 服务器
自定义范围 用户自定义 灵活的目标定位
**3. 服务发现(版本检测)**
识别正在运行的服务及其软件版本。
选项 技术 用例
基本版本 -sV 标准服务识别
强度 9 深度探测 最高版本准确性
轻量级版本 快速检查 速度优于细节
服务 + 脚本 -sC -sV 信息收集组合
全面扫描 -A -T4 全面侦察
NSE 漏洞 --script vuln 已知 CVE 检查
NSE 安全脚本 --script safe 非侵入式枚举
HTTP 枚举 --script http-enum Web 目录/端点发现
**4. 操作系统发现(指纹识别)**
通过 TCP/IP 协议栈分析识别目标操作系统。
选项 描述
基本 OS 检测 默认指纹识别
详细 OS 检测 详细探测输出
OS + 版本 服务 + OS 组合
全面扫描 -A 包含 OS 在内的全套扫描
限制最佳猜测 单一最佳匹配
快速(1 次尝试) 快速,单次尝试
**5. 防火墙规避 / 绕过**
规避网络安全控制的技术。
选项 技术 Nmap 参数
数据包分片 分片 IP 数据包 -f
自定义 MTU 小数据包大小 --mtu 32
诱饵扫描 欺骗源地址 -D RND:10
Idle Zombie 通过 zombie 主机进行盲扫 -sI
源 IP 欺骗 伪造源地址 -S
源端口 53 DNS 端口欺骗 -g 53
随机数据填充 附加垃圾字节 --data-length 200
偏执定时 极度缓慢 -T0
随机化目标 打乱主机顺序 --randomize-hosts
MAC 欺骗 伪造 MAC 地址 --spoof-mac
代理扫描 通过 SOCKS4 代理路由 --proxies socks4://...
组合规避 慢速 + 分片 + 数据 全隐身协议栈
自定义参数 用户自定义 完全灵活性
**6. 全面一体化扫描**
nmap -A -T4 — 在单次扫描中完成主机发现、端口扫描、服务版本检测、OS 检测以及运行 NSE 默认脚本。
支持的目标格式
**PwnScanner 智能处理所有标准目标格式:**
格式 示例 描述
单一 IP 192.168.1.1 单台主机
多个 IP 192.168.1.1 192.168.1.2 以空格分隔
CIDR 表示法 192.168.1.0/24 子网范围
IP 范围 192.168.1.1-100 连续范围
主机名 example.com DNS 解析
URL https://example.com/path 自动剥离协议/路径
混合 192.168.1.1 example.com 10.0.0.0/28 任意组合
文本文件 targets.txt 每行一个目标
通配符 192.168.1.* Nmap 通配符扩展
注意:URL 和主机名在传递给 Nmap 之前会自动解析为 IP 地址。脚本会显示解析结果以确保透明度。
**安装**
前置条件:Python 3.6+
Nmap(通过包管理器安装)
安装 Nmap
bash
# Debian / Ubuntu / Kali Linux
sudo apt update && sudo apt install nmap -y
# Arch Linux
sudo pacman -S nmap
# macOS (Homebrew)
brew install nmap
# Windows
# 从以下网址下载:https://nmap.org/download.html
下载 PwnScanner
bash
# 克隆仓库
git clone https://github.com/PwnPilot/PwnScanner.git
# 导航至目录
cd PwnScanner
# 赋予执行权限(可选)
chmod +x PwnScanner.py
用法
bash
sudo python3 PwnScanner.py
注意:许多扫描类型(SYN 扫描、OS 检测、分片)需要 root 权限。请使用 sudo 运行以获取完整功能。
交互式工作流
1. 启动工具
2. 在提示符处输入目标
3. 从主菜单选择扫描类别
4. 选择特定的扫描技术
5. 查看实时 Nmap 输出
6. 可选择将结果保存到文件
7. 返回主菜单进行额外扫描
**示例会话**
**bash**
$ sudo python3 PwnScanner.py
[*] 输入目标:scanme.nmap.org 192.168.1.1
主菜单 - PwnScanner
[1] 主机发现
[2] 端口扫描
[3] 服务发现
[4] OS 发现
[5] 防火墙规避 / 绕过
[6] 运行全面扫描 (-A -T4)
[0] 退出
[?] 选择选项 [0-6]: 2
**端口扫描 - PwnScanner**
[1] SYN 隐秘扫描
[2] TCP Connect 扫描
[10] 扫描所有 65535 个端口
[11] 扫描 top 100 端口
[0] 返回主菜单
[?] 选择选项 [0-14]: 1
**文件结构**
PwnScanner.py # 主脚本(单文件,无依赖)
targets.txt # 可选:目标列表文件
PwnScanner_scan_*.txt # 保存的扫描结果(自动生成)
输出 / 结果
扫描结果将连同完整的 Nmap 输出实时流式传输到终端。此外,还可以选择将结果保存到具有以下结构的时间戳文本文件中:
# 作者:PwnPilot
GitHub: github.com/PwnPilot
PwnScanner 是一个强大的、菜单驱动的 Python Nmap 包装器,旨在简化网络扫描操作。它提供了一个交互式界面,无需记忆复杂的命令行参数即可执行全方位的 Nmap 扫描技术。
专为需要快速、可重复且全面进行网络扫描的渗透测试人员、网络管理员和安全专业人员而构建。
**功能**
**1. 主机发现**
使用各种探测技术检测目标网络上的存活主机。
选项 技术 Nmap 命令
ICMP Echo 扫描 标准 ping 扫描 nmap -sn -PE 标签:CTI, Facebook API, Nmap, Python, 二进制分析平台, 云存储安全, 插件系统, 无后门, 网络扫描, 网络调试, 自动化, 虚拟驱动器, 逆向工具