
Offensive security tool for printer pentesting
Version 0.4.0 | Änderungsprotokoll
"Nmap für Drucker" - Offensives Sicherheitswerkzeug für Drucker-Pentesting.
Schnell. Fokussiert. Kein Ballast.
PSO umfasst Bewertungs- und Ausnutzungsfunktionen. Holen Sie vor der Verwendung stets eine ausdrückliche Genehmigung ein.
--aggressive): PJL-Dateisystem-AusnutzungUnbefugtes Netzwerkscannen ist illegal. Verwenden Sie es verantwortungsbewusst.
443,631,5000-6000,9100 effizient@PJL INFO ID--aggressive) - Testet nicht authentifizierten Dateisystemzugriffpip install -r requirements.txt
Voraussetzungen: zeroconf, requests, pyyaml
python pso.py --scan 192.168.1.0/24
# Single port
python pso.py --scan 10.0.0.0/24 --ports 8631
# Multiple ports
python pso.py --scan 10.0.0.0/24 --ports 443,631,9100
# Port ranges (smart!)
python pso.py --scan 10.0.0.0/24 --ports 443,631,5000-6000,9100
python pso.py 192.168.1.50 --check-jobs
Erfordert Genehmigung. Aktiviert PJL-Dateisystemprüfungen.
python pso.py 192.168.1.50 --aggressive
Ausgabe:
[!] AGGRESSIVE MODE ENABLED
[!] PJL file system checks are EXPLOITATION.
[!] Ensure you have explicit authorization.
[*] 192.168.1.50 (JETDIRECT)...
└─ PJL ID: Canon imageRUNNER ADVANCE
🔥 PJL FS ACCESS CONFIRMED (Exploitable)
Risk: 🔥 CRITICAL (Exploitable)
nmap -p- 10.0.0.0/16 -oX scan.xml
python pso.py --nmap scan.xml --aggressive --output json
python pso.py [target] [options]
Positional:
target IP or CIDR (e.g., 192.168.1.0/24)
Options:
--scan CIDR Scan network range
--ports PORTS Ports: single (631), list (443,631,9100), ranges (5000-6000)
--nmap FILE Parse nmap XML
--check-jobs Check for stored print jobs
--aggressive Enable PJL FS checks (requires authorization)
--output FORMAT table | csv | json (default: table)
--timeout SEC mDNS timeout (default: 5)
--no-probe Skip active probing
Netzwerkscan mit benutzerdefinierten Ports:
python pso.py --scan 10.0.0.0/24 --ports 443,631,5000-6000,9100
Umfassende Bewertung:
python pso.py 192.168.1.50 --check-jobs --aggressive --output json
Automatisierungs-Workflow:
# 1. Discovery
nmap -sV -p- 10.0.0.0/16 -oX scan.xml
# 2. PSO analysis
python pso.py --nmap scan.xml --aggressive --output json > results.json
# 3. Filter critical findings
cat results.json | jq '.printers[] | select(.risk_score > 80)'
Standard-Ports: 9100, 631, 515, 443 (Standard-Druckerports)
Warum benutzerdefinierte Ports?
Syntax:
--ports 631 # Single
--ports 443,631,9100 # List
--ports 5000-6000 # Range
--ports 443,631,5000-6000,9100 # Mixed
Hinweis: Für umfassende Scans verwenden Sie zunächst nmap, um alle offenen Ports zu entdecken, und parsen Sie dann die Ergebnisse mit PSO.
--aggressive)Was es tut:
@PJL FSDIRLIST an PJL-fähige PortsAuswirkung: 🔥 KRITISCH
Erkennung: Kann IDS/IPS auslösen
Rechtlich: Erfordert ausdrückliche Genehmigung
--check-jobs)Was es tut:
Get-Jobs-OperationAuswirkung: 🔴 HOCH
Rechtlich: In der Regel akzeptabel in autorisierten Pentests
Name IP Port Proto Make/Model Risk Level
---------------------------------------------------------------------------------------------------------
Canon-Office 192.168.1.50 631 IPP Canon imageRUNNER ADVANCE 85 🔥 CRITICAL (Exploitable)
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-Struktur:
{
"printers": [
{
"id": "printer_192_168_1_50",
"ip": "192.168.1.50",
"risk_score": 85,
"risk_level": "🔥 CRITICAL (Exploitable)",
"fs_access": true,
"vulnerabilities": [...],
"findings": [...]
}
]
}
PSO prüft Drucker gegen bekannte Schwachstellen in cve_db/printers.yaml.
Enthaltene CVEs:
Eigene hinzufügen:
vendors:
YourVendor:
models:
"Model XYZ":
cves:
CVE-2025-0001:
severity: CRITICAL
cvss: 9.8
description: "Your finding"
remediation: "Fix steps"
Massenaktualisierung:
python cve_db_builder.py --export
# 1. Discovery
nmap -sV -p- 10.0.0.0/16 -oX nmap_scan.xml
# 2. Assessment
python pso.py --nmap nmap_scan.xml --check-jobs --output json > assessment.json
# 3. Exploitation (authorized only)
python pso.py <target_ip> --aggressive --output json > exploit.json
# 4. Reporting
python pso.py --nmap nmap_scan.xml --output csv > client_report.csv
ModuleNotFoundError?
python -m pip install -r requirements.txt
Keine Drucker gefunden?
--ports 8631,19100Pull-Requests sind willkommen. Bei größeren Änderungen öffnen Sie bitte zuerst ein Issue, um zu besprechen, was Sie ändern möchten.
MIT - Copyright © 2025 Hivesecurity
WWW: https://hivesecurity.gitlab.io/ REPO: https://gitlab.com/hivesecurity/pso-printer-security-offensive