
Offensive security tool for printer pentesting
版本 0.4.0 | 更新日志
“打印机的 Nmap” - 用于打印机渗透测试的攻击性安全工具。
快速。专注。无冗余。
PSO 包含评估和利用功能。使用前务必获得明确授权。
--aggressive):PJL 文件系统利用未经授权的网络扫描是违法的。请负责任地使用。
443,631,5000-6000,9100@PJL INFO ID 识别打印机--aggressive) - 测试未经身份验证的文件系统访问pip install -r requirements.txt
依赖项:zeroconf, requests, pyyaml
python pso.py --scan 192.168.1.0/24
# 单个端口
python pso.py --scan 10.0.0.0/24 --ports 8631
# 多个端口
python pso.py --scan 10.0.0.0/24 --ports 443,631,9100
# 端口范围(智能!)
python pso.py --scan 10.0.0.0/24 --ports 443,631,5000-6000,9100
python pso.py 192.168.1.50 --check-jobs
需要授权。 启用 PJL 文件系统检查。
python pso.py 192.168.1.50 --aggressive
输出:
[!] 攻击模式已启用
[!] PJL 文件系统检查属于利用行为。
[!] 请确保您已获得明确授权。
[*] 192.168.1.50 (JETDIRECT)...
└─ PJL ID: Canon imageRUNNER ADVANCE
🔥 确认 PJL FS 访问(可被利用)
风险:🔥 严重(可被利用)
nmap -p- 10.0.0.0/16 -oX scan.xml
python pso.py --nmap scan.xml --aggressive --output json
python pso.py [目标] [选项]
位置参数:
target IP 或 CIDR(例如 192.168.1.0/24)
选项:
--scan CIDR 扫描网络范围
--ports PORTS 端口:单个 (631)、列表 (443,631,9100)、范围 (5000-6000)
--nmap FILE 解析 nmap XML
--check-jobs 检查已存储的打印作业
--aggressive 启用 PJL FS 检查(需要授权)
--output FORMAT table | csv | json(默认:table)
--timeout SEC mDNS 超时时间(默认:5)
--no-probe 跳过主动探测
使用自定义端口进行网络扫描:
python pso.py --scan 10.0.0.0/24 --ports 443,631,5000-6000,9100
全面评估:
python pso.py 192.168.1.50 --check-jobs --aggressive --output json
自动化工作流:
# 1. 发现
nmap -sV -p- 10.0.0.0/16 -oX scan.xml
# 2. PSO 分析
python pso.py --nmap scan.xml --aggressive --output json > results.json
# 3. 筛选严重发现
cat results.json | jq '.printers[] | select(.risk_score > 80)'
默认端口: 9100, 631, 515, 443(标准打印机端口)
为什么需要自定义端口?
语法:
--ports 631 # 单个
--ports 443,631,9100 # 列表
--ports 5000-6000 # 范围
--ports 443,631,5000-6000,9100 # 混合
注意: 对于全面扫描,建议先使用 nmap 发现所有开放端口,然后用 PSO 解析结果。
--aggressive)功能:
@PJL FSDIRLIST影响: 🔥 严重
检测: 可能触发 IDS/IPS
法律: 需要明确授权
--check-jobs)功能:
Get-Jobs 操作影响: 🔴 高
法律: 在授权的渗透测试中通常可接受
Name IP Port Proto Make/Model Risk Level
---------------------------------------------------------------------------------------------------------
Canon-Office 192.168.1.50 631 IPP Canon imageRUNNER ADVANCE 85 🔥 严重(可被利用)
python pso.py --scan 10.0.0.0/24 --output csv > findings.csv
python pso.py --scan 10.0.0.0/24 --output json > results.json
JSON 结构:
{
"printers": [
{
"id": "printer_192_168_1_50",
"ip": "192.168.1.50",
"risk_score": 85,
"risk_level": "🔥 严重(可被利用)",
"fs_access": true,
"vulnerabilities": [...],
"findings": [...]
}
]
}
PSO 对照 cve_db/printers.yaml 中已知的漏洞检查打印机。
包含的 CVE:
添加自定义 CVE:
vendors:
YourVendor:
models:
"Model XYZ":
cves:
CVE-2025-0001:
severity: 严重
cvss: 9.8
description: "您的发现"
remediation: "修复步骤"
批量更新:
python cve_db_builder.py --export
# 1. 发现
nmap -sV -p- 10.0.0.0/16 -oX nmap_scan.xml
# 2. 评估
python pso.py --nmap nmap_scan.xml --check-jobs --output json > assessment.json
# 3. 利用(仅限授权)
python pso.py <target_ip> --aggressive --output json > exploit.json
# 4. 报告
python pso.py --nmap nmap_scan.xml --output csv > client_report.csv
ModuleNotFoundError?
python -m pip install -r requirements.txt
未发现打印机?
--ports 8631,19100欢迎提交 Pull Request。对于重大更改,请先开启一个 Issue 讨论您想要更改的内容。
MIT - 版权所有 © 2025 Hivesecurity
WWW: https://hivesecurity.gitlab.io/ 仓库: https://gitlab.com/hivesecurity/pso-printer-security-offensive