
Offensive security tool for printer pentesting
Versione 0.4.0 | Registro modifiche
"Nmap for Printer" - Strumento di sicurezza offensiva per pentesting su stampanti.
Veloce. Mirato. Senza fronzoli.
PSO include funzionalità di valutazione e sfruttamento. Ottenere sempre un'autorizzazione esplicita prima dell'uso.
--aggressive): Sfruttamento del filesystem PJLLa scansione di rete non autorizzata è illegale. Usare responsabilmente.
443,631,5000-6000,9100 efficientemente@PJL INFO ID--aggressive) - Testa l'accesso al filesystem non autenticatopip install -r requirements.txt
Requisiti: zeroconf, requests, pyyaml
python pso.py --scan 192.168.1.0/24
# Porta singola
python pso.py --scan 10.0.0.0/24 --ports 8631
# Porte multiple
python pso.py --scan 10.0.0.0/24 --ports 443,631,9100
# Intervalli di porte (intelligente!)
python pso.py --scan 10.0.0.0/24 --ports 443,631,5000-6000,9100
python pso.py 192.168.1.50 --check-jobs
Richiede autorizzazione. Abilita i controlli sul filesystem PJL.
python pso.py 192.168.1.50 --aggressive
Output:
[!] MODALITÀ AGGRESSIVA ABILITATA
[!] I controlli sul filesystem PJL sono SFRUTTAMENTO.
[!] Assicurati di avere un'autorizzazione esplicita.
[*] 192.168.1.50 (JETDIRECT)...
└─ PJL ID: Canon imageRUNNER ADVANCE
🔥 ACCESSO FS PJL CONFERMATO (Sfruttabile)
Rischio: 🔥 CRITICO (Sfruttabile)
nmap -p- 10.0.0.0/16 -oX scan.xml
python pso.py --nmap scan.xml --aggressive --output json
python pso.py [target] [opzioni]
Posizionali:
target IP o CIDR (es. 192.168.1.0/24)
Opzioni:
--scan CIDR Scansiona un range di rete
--ports PORTE Porte: singola (631), lista (443,631,9100), intervalli (5000-6000)
--nmap FILE Analizza XML di nmap
--check-jobs Controlla la presenza di lavori di stampa memorizzati
--aggressive Abilita controlli FS PJL (richiede autorizzazione)
--output FORMATO table | csv | json (predefinito: table)
--timeout SEC Timeout mDNS (predefinito: 5)
--no-probe Salta il sondaggio attivo
Scansione di rete con porte personalizzate:
python pso.py --scan 10.0.0.0/24 --ports 443,631,5000-6000,9100
Valutazione completa:
python pso.py 192.168.1.50 --check-jobs --aggressive --output json
Flusso di lavoro di automazione:
# 1. Scoperta
nmap -sV -p- 10.0.0.0/16 -oX scan.xml
# 2. Analisi PSO
python pso.py --nmap scan.xml --aggressive --output json > results.json
# 3. Filtra risultati critici
cat results.json | jq '.printers[] | select(.risk_score > 80)'
Porte predefinite: 9100, 631, 515, 443 (porte standard per stampanti)
Perché porte personalizzate?
Sintassi:
--ports 631 # Singola
--ports 443,631,9100 # Lista
--ports 5000-6000 # Intervallo
--ports 443,631,5000-6000,9100 # Mista
Nota: Per scansioni complete, usa prima nmap per scoprire tutte le porte aperte, poi analizza i risultati con PSO.
--aggressive)Cosa fa:
@PJL FSDIRLIST alle porte abilitate a PJLImpatto: 🔥 CRITICO
Rilevamento: Può innescare IDS/IPS
Legale: Richiede autorizzazione esplicita
--check-jobs)Cosa fa:
Get-JobsImpatto: 🔴 ALTO
Legale: Generalmente accettabile in pentest autorizzati
Nome IP Porta Protocollo Marca/Modello Rischio Livello
-------------------------------------------------------------------------------------------------------------------
Canon-Office 192.168.1.50 631 IPP Canon imageRUNNER ADVANCE 85 🔥 CRITICO (Sfruttabile)
python pso.py --scan 10.0.0.0/24 --output csv > risultati.csv
python pso.py --scan 10.0.0.0/24 --output json > risultati.json
Struttura JSON:
{
"printers": [
{
"id": "printer_192_168_1_50",
"ip": "192.168.1.50",
"risk_score": 85,
"risk_level": "🔥 CRITICO (Sfruttabile)",
"fs_access": true,
"vulnerabilities": [...],
"findings": [...]
}
]
}
PSO confronta le stampanti con vulnerabilità note in cve_db/printers.yaml.
CVE incluse:
Aggiungi le tue:
vendors:
YourVendor:
models:
"Modello XYZ":
cves:
CVE-2025-0001:
severity: CRITICO
cvss: 9.8
description: "La tua scoperta"
remediation: "Passaggi per la risoluzione"
Aggiornamento in blocco:
python cve_db_builder.py --export
# 1. Scoperta
nmap -sV -p- 10.0.0.0/16 -oX nmap_scan.xml
# 2. Valutazione
python pso.py --nmap nmap_scan.xml --check-jobs --output json > valutazione.json
# 3. Sfruttamento (solo autorizzato)
python pso.py <target_ip> --aggressive --output json > sfruttamento.json
# 4. Reportistica
python pso.py --nmap nmap_scan.xml --output csv > report_cliente.csv
ModuleNotFoundError?
python -m pip install -r requirements.txt
Nessuna stampante trovata?
--ports 8631,19100I pull request sono benvenuti. Per modifiche significative, aprire prima un issue per discutere cosa si desidera cambiare.
MIT - Copyright © 2025 Hivesecurity
WWW: https://hivesecurity.gitlab.io/ REPO: https://gitlab.com/hivesecurity/pso-printer-security-offensive