
Offensive security tool for printer pentesting
Versión 0.4.0 | Registro de cambios
"Nmap para Impresoras" - Herramienta de seguridad ofensiva para pentesting de impresoras.
Rápido. Enfocado. Sin bloat.
PSO incluye funciones de evaluación y explotación. Siempre obtenga autorización explícita antes de usarlo.
--aggressive): Explotación del sistema de archivos PJLEl escaneo de red no autorizado es ilegal. Úselo de manera responsable.
443,631,5000-6000,9100 eficientemente@PJL INFO ID--aggressive) - Prueba acceso no autenticado al sistema de archivospip install -r requirements.txt
Requisitos: 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
Requiere autorización. Habilita comprobaciones del sistema de archivos PJL.
python pso.py 192.168.1.50 --aggressive
Salida:
[!] 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
Escaneo de red con puertos personalizados:
python pso.py --scan 10.0.0.0/24 --ports 443,631,5000-6000,9100
Evaluación completa:
python pso.py 192.168.1.50 --check-jobs --aggressive --output json
Flujo de trabajo de automatización:
# 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)'
Puertos predeterminados: 9100, 631, 515, 443 (puertos de impresora estándar)
¿Por qué puertos personalizados?
Sintaxis:
--ports 631 # Single
--ports 443,631,9100 # List
--ports 5000-6000 # Range
--ports 443,631,5000-6000,9100 # Mixed
Nota: Para escaneos exhaustivos, use nmap primero para descubrir todos los puertos abiertos, luego analice los resultados con PSO.
--aggressive)Qué hace:
@PJL FSDIRLIST a puertos habilitados para PJLImpacto: 🔥 CRÍTICO
Detección: Puede activar IDS/IPS
Legal: Requiere autorización explícita
--check-jobs)Qué hace:
Get-JobsImpacto: 🔴 ALTO
Legal: Generalmente aceptable en pentests autorizados
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
Estructura 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 verifica impresoras contra vulnerabilidades conocidas en cve_db/printers.yaml.
CVEs incluidos:
Añadir los tuyos:
vendors:
YourVendor:
models:
"Model XYZ":
cves:
CVE-2025-0001:
severity: CRITICAL
cvss: 9.8
description: "Your finding"
remediation: "Fix steps"
Actualización masiva:
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
No printers found?
--ports 8631,19100Las solicitudes de extracción son bienvenidas. Para cambios importantes, abra un issue primero para discutir lo que le gustaría cambiar.
MIT - Copyright © 2025 Hivesecurity
WWW: https://hivesecurity.gitlab.io/ REPO: https://gitlab.com/hivesecurity/pso-printer-security-offensive