Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Panoptic — Panoptic è uno strumento open source di penetration testing che automatizza il processo di ricerca e recupero di contenuti per file di log e configurazione comuni attraverso vulnerabilità di path traversal. | Kitploit
Strumenti/GitHubGitHub/lightos/panoptic
RicognizioneScanner di VulnerabilitàSfruttamento di Applicazioni WebRaccolta InformazioniPenetration Testing
GitHublightos/panoptic

Panoptic

Panoptic è uno strumento open source di penetration testing che automatizza il processo di ricerca e recupero di contenuti per file di log e configurazione comuni attraverso vulnerabilità di path traversal.

Vedi Repository
32574142 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Panoptic

Logo di Panoptic

License: MIT Python Versions Ruff mypy GitHub last commit CodeRabbit Pull Request Reviews

Panoptic è uno strumento open source di penetration testing che automatizza la ricerca e il recupero di file di log e di configurazione comuni tramite vulnerabilità di path traversal.

Demo di Panoptic

Funzionalità

  • Scansione asincrona concorrente con pool di worker configurabile (--concurrency)
  • Individuazione automatica di file di log e di configurazione comuni tramite injection basata su parametro, percorso, POST, cookie, header e corpo JSON
  • Marcatore FUZZ per punti di injection arbitrari: inserisci FUZZ in qualsiasi valore di --header o --data
  • Codifica Base64 per endpoint che decodificano i percorsi dei file (--base64)
  • Rilevamento automatico del sistema operativo con opzione per limitare ulteriori scansioni
  • Confronto euristico delle risposte con filtro dei codici di stato per ridurre i falsi positivi
  • Iniezione dinamica di casi: analizza /etc/passwd per i file delle home directory, mysql-bin.index per i file binlog
  • Formati di output multipli: testo (rich), JSON, CSV (--output-format)
  • Supporto di ripresa/checkpoint per scansioni di lunga durata (--resume-file)
  • File di configurazione TOML per impostazioni persistenti (--config)
  • Molteplici tecniche di bypass del traversal: prefissi, suffissi, moltiplicatore, sostituzione degli slash, doppia codifica
  • Supporto proxy HTTP/HTTPS e SOCKS5 con validazione
  • Supporto di User-Agent, cookie e header casuali o personalizzati
  • Oscuramento delle credenziali nel banner, nel log e nell'output machine-readable (inclusi valori numerici e booleani nel corpo JSON)
  • Artefatti sensibili protetti con permessi 0600 di sola proprietà su POSIX e protezione del symlink del componente finale dove il sistema operativo lo supporta
  • Aggiornamento automatico con verifica dell'URL remoto (--update)

Requisiti

  • Python 3.10+
  • Git
  • Dipendenze: httpx[socks], rich, rich-argparse e tomli su Python 3.10

Installazione

git clone https://github.com/lightos/Panoptic.git
cd Panoptic
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
panoptic --version

Nel Prompt dei comandi di Windows, attiva con .venv\Scripts\activate.bat; in PowerShell, usa .venv\Scripts\Activate.ps1. L'installazione in modalità editable mantiene Panoptic collegato a questa copia locale per --update, quindi tieni la directory al suo posto. Non eseguire pip install panoptic: quel nome su PyPI appartiene a un progetto non correlato.

Per lo sviluppo:

python -m pip install -e ".[dev]"

Utilizzo

panoptic --url "http://target/include.php?file=test.txt"

Esempi

LFI di base basato su parametro

panoptic --url "http://target/include.php?file=test.txt"
panoptic --url "http://target/include.php?file=test.txt&id=1" \
  --param file

Injection di dati POST

panoptic --url "http://target/include.php" \
  --data "file=test.txt&id=1" --param file

LFI basato su percorso

panoptic --url "http://target/view.php/test.txt" --path-based

Parametro codificato in Base64

panoptic --url "http://target/load.php?file=dGVzdC50eHQ=" \
  --base64 --auto

Injection tramite cookie (marcatore FUZZ)

panoptic --url "http://target/page.php" \
  --header "Cookie: lang=FUZZ" --auto

Injection nel corpo JSON (marcatore FUZZ)

panoptic --url "http://target/api/load" \
  --data '{"file":"FUZZ"}' --auto

Injection tramite header personalizzato (marcatore FUZZ)

panoptic --url "http://target/page.php" \
  --header "X-Template: FUZZ" --auto

Parametro di estensione

panoptic --url "http://target/view.php?file=test&type=txt" \
  --param file --ext-param type

Bypass del filtro con prefisso

panoptic --url "http://target/filtered.php?file=test.txt" \
  --prefix "....//....//....//....//"

Scansioni filtrate

panoptic --url "http://target/include.php?file=test.txt" \
  --os "*NIX" --type conf
panoptic --url "http://target/include.php?file=test.txt" \
  --software PostgreSQL

Output JSON con supporto alla ripresa

panoptic --url "http://target/include.php?file=test.txt" \
  --output-format json --output-file results.json \
  --resume-file scan.checkpoint

Proxy con errori SSL ignorati

panoptic --url "https://target/include.php?file=test.txt" \
  --proxy "socks5://127.0.0.1:9050" --invalid-ssl

Elenca i filtri disponibili

panoptic --list software
panoptic --list category
panoptic --list os

Scansione completa

panoptic --url "http://target/include.php?file=test.txt" \
  --auto --all-versions --concurrency 8

Marcatore FUZZ

Inserisci FUZZ in qualsiasi punto dei valori di --header o --data per marcare il punto di injection. Panoptic sostituisce FUZZ con ogni percorso di file durante la scansione. Ciò consente di testare punti di injection che --param non può raggiungere:

Tipo di injectionEsempio
Valore cookie--header "Cookie: theme=FUZZ"
Header personalizzato--header "X-Include: FUZZ"
Corpo JSON--data '{"template":"FUZZ"}'
Valore annidato--header "Cookie: sid=abc; lang=FUZZ"

Quando FUZZ è presente, --param non è richiesto.

Configurazione

Panoptic supporta file di configurazione TOML per impostazioni persistenti:

panoptic --url "http://target/include.php?file=test.txt" \
  --config ~/.config/panoptic/config.toml

Posizione predefinita della configurazione: ~/.config/panoptic/config.toml (caricata automaticamente se presente, anche senza --config).

[defaults]
# Any long option name (with dashes as underscores) is accepted here,
# including the target and output destinations.
url = "http://target/include.php?file=test.txt"
concurrency = 8
verbose = true
automatic = true
all_versions = true
output_format = "json"
output_file = "results.json"
log_file = "scan.log"
resume_file = "scan.checkpoint"

[proxy]
url = "socks5://127.0.0.1:9050"

[headers]
user_agent = "Mozilla/5.0"
cookie = "sid=foobar; auth=1"
values = ["X-Forwarded-For: 127.0.0.1"]

Priorità: argomenti CLI > file di configurazione > impostazioni predefinite.

Opzioni di destinazione e output supportate dalla configurazione

La tabella [defaults] accetta qualsiasi opzione di scansione, non solo ottimizzazioni delle prestazioni. In particolare puoi rendere persistenti:

  • url — la destinazione predefinita (sovrascrivibile a ogni esecuzione con --url)
  • output_format, output_file — dove vengono salvati i risultati machine-readable
  • log_file — rispecchia l'output della console su un file
  • resume_file — posizione del checkpoint per scansioni riprendibili
Scarica lo strumento