
Offensive security tool for printer pentesting
버전 0.4.0 | 변경 로그
"프린터용 Nmap" - 프린터 침투 테스트를 위한 공격 보안 도구.
빠름. 집중됨. 불필요한 기능 없음.
PSO에는 평가(assessment) 및 익스플로잇(exploitation) 기능이 포함되어 있습니다. 사용 전에 항상 명시적 승인을 받으십시오.
--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
# 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
승인이 필요합니다. PJL 파일 시스템 검사를 활성화합니다.
python pso.py 192.168.1.50 --aggressive
출력:
[!] 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
사용자 정의 포트로 네트워크 스캔:
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. 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)'
기본 포트: 9100, 631, 515, 443 (표준 프린터 포트)
사용자 정의 포트를 사용하는 이유?
구문:
--ports 631 # Single
--ports 443,631,9100 # List
--ports 5000-6000 # Range
--ports 443,631,5000-6000,9100 # Mixed
참고: 포괄적인 스캔을 위해서는 먼저 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 🔥 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 구조:
{
"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는 cve_db/printers.yaml에 있는 알려진 취약점을 기준으로 프린터를 확인합니다.
포함된 CVE:
직접 추가:
vendors:
YourVendor:
models:
"Model XYZ":
cves:
CVE-2025-0001:
severity: CRITICAL
cvss: 9.8
description: "Your finding"
remediation: "Fix steps"
일괄 업데이트:
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
프린터를 찾을 수 없나요?
--ports 8631,19100풀 리퀘스트를 환영합니다. 주요 변경 사항은 먼저 이슈를 열어 변경할 내용을 논의해 주십시오.
MIT - 저작권 © 2025 Hivesecurity
WWW: https://hivesecurity.gitlab.io/ REPO: https://gitlab.com/hivesecurity/pso-printer-security-offensive