
Offensive security tool for printer pentesting
Version 0.4.0 | Changelog
"Nmap pour imprimantes" - Outil de sécurité offensive pour pentest d'imprimantes.
Rapide. Ciblé. Sans fioritures.
PSO inclut des fonctionnalités d'évaluation et d'exploitation. Obtenez toujours une autorisation explicite avant utilisation.
--aggressive) : Exploitation du système de fichiers PJLLe scan réseau non autorisé est illégal. Utilisez-le de manière responsable.
443,631,5000-6000,9100 efficacement@PJL INFO ID--aggressive) - Teste l'accès non authentifié au système de fichierspip install -r requirements.txt
Prérequis : zeroconf, requests, pyyaml
python pso.py --scan 192.168.1.0/24
# Port unique
python pso.py --scan 10.0.0.0/24 --ports 8631
# Ports multiples
python pso.py --scan 10.0.0.0/24 --ports 443,631,9100
# Plages de ports (intelligent !)
python pso.py --scan 10.0.0.0/24 --ports 443,631,5000-6000,9100
python pso.py 192.168.1.50 --check-jobs
Nécessite une autorisation. Active les vérifications du système de fichiers PJL.
python pso.py 192.168.1.50 --aggressive
Sortie :
[!] 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
Scan réseau avec ports personnalisés :
python pso.py --scan 10.0.0.0/24 --ports 443,631,5000-6000,9100
Évaluation complète :
python pso.py 192.168.1.50 --check-jobs --aggressive --output json
Flux de travail d'automatisation :
# 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)'
Ports par défaut : 9100, 631, 515, 443 (ports d'imprimante standard)
Pourquoi des ports personnalisés ?
Syntaxe :
--ports 631 # Single
--ports 443,631,9100 # List
--ports 5000-6000 # Range
--ports 443,631,5000-6000,9100 # Mixed
Remarque : Pour des scans complets, utilisez d'abord nmap pour découvrir tous les ports ouverts, puis analysez les résultats avec PSO.
--aggressive)Ce qu'il fait :
@PJL FSDIRLIST aux ports compatibles PJLImpact : 🔥 CRITIQUE
Détection : Peut déclencher l'IDS/IPS
Légal : Nécessite une autorisation explicite
--check-jobs)Ce qu'il fait :
Get-JobsImpact : 🔴 ÉLEVÉ
Légal : Généralement acceptable dans les pentests autorisés
Nom IP Port Protocole Marque/Modèle Risque Niveau
---------------------------------------------------------------------------------------------------------
Canon-Office 192.168.1.50 631 IPP Canon imageRUNNER ADVANCE 85 🔥 CRITIQUE (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
Structure JSON :
{
"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 vérifie les imprimantes par rapport aux vulnérabilités connues dans cve_db/printers.yaml.
CVE incluses :
Ajoutez les vôtres :
vendors:
YourVendor:
models:
"Model XYZ":
cves:
CVE-2025-0001:
severity: CRITICAL
cvss: 9.8
description: "Your finding"
remediation: "Fix steps"
Mise à jour groupée :
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
Aucune imprimante trouvée ?
--ports 8631,19100Les demandes de fusion sont les bienvenues. Pour les modifications majeures, veuillez d'abord ouvrir un ticket pour discuter de ce que vous souhaitez changer.
MIT - Copyright © 2025 Hivesecurity
WWW: https://hivesecurity.gitlab.io/ REPO: https://gitlab.com/hivesecurity/pso-printer-security-offensive