
Auditor difensivo delle esposizioni per Plex2Shell e php2shell — trova le tue prima che lo facciano loro.
____ _ _ _____ _ _ ____ ____ _____ ______
/ ___|| | | | ____| | | | / ___| / ___|| _ \| ____|
\___ \| |_| | _| | | | | \___ \| | | |_) | |__
___) | _ | |___| |___ | |___ ___) | |___ | _ <| __|
|____/|_| |_|_____|_____|_____||____/ \____||_| \_\_____|
2shell exposure auditor — trova le tue prima che lo facciano loro.
shellscope controlla una rete autorizzata alla ricerca di due cluster di CVE del 2026:
session.upload_progress)Legge i banner di versione e le intestazioni HTTP. Non sfrutta, autentica, carica o attiva il bug di memoria.
pipx install shellscope
# or
python -m pip install shellscope
Il sistema è composto da diversi componenti chiave:
Clona il repository:
git clone https://github.com/example/cybersecurity-tool.git
cd cybersecurity-tool
Installa le dipendenze Python:
pip install -r requirements.txt
Configura il database MongoDB e aggiorna il file di configurazione config.yaml.
Avvia il server:
python server.py
Installa le dipendenze della dashboard e avviala:
cd dashboard
npm install
npm start
Per avviare l'agente su un sistema di destinazione, esegui:
python agent.py --server http://localhost:5000 --interval 60
Apri il browser e vai all'indirizzo http://localhost:3000 per accedere alla dashboard.
Il file config.yaml contiene le impostazioni principali del sistema:
server:
host: 0.0.0.0
port: 5000
database:
uri: mongodb://localhost:27017
name: cybersecurity
agent:
interval: 60
modules:
- process_monitor
- network_monitor
- file_monitor
Il sistema include i seguenti moduli:
I contributi sono benvenuti! Segui questi passaggi:
git checkout -b feature/nuova-funzionalita).git commit -am 'Aggiungi nuova funzionalità').git push origin feature/nuova-funzionalita).Questo progetto è distribuito con licenza MIT. Consulta il file LICENSE per ulteriori dettagli.
python -m pip install -e ".[dev]"
# prove the install works, no network traffic
shellscope --self-test
# see what would be scanned
shellscope --cidr 192.168.1.0/24 --dry-run
# audit your network
shellscope --cidr 10.0.0.0/24 --authorized
# inventory CSV: host,port,owner,environment
shellscope --inventory-csv assets.csv --authorized --html report.html
# CI gate
shellscope --inventory-csv assets.csv --authorized --fail-on high --quiet
--authorized è obbligatorio per una scansione reale. È la tua dichiarazione di possedere la
rete o di avere il permesso scritto di testarla.
| Set CVE | Sonda | Verdetto |
|---|---|---|
| Plex2Shell | GET /identity → version | < 1.43.3.10861 → CRITICAL |
| php2shell | GET / → Server, X-Powered-By, PHPSESSID | Apache + PHP inferiore alla versione corretta → HIGH |
| php2shell | idem | nginx/LiteSpeed + inferiore alla versione corretta → MEDIUM |
| php2shell | idem | Apache + versione nascosta → MEDIUM (verificare) |
| — | porta aperta, nessuna fingerprint | INFO |
Versioni PHP corrette (basate su leak fino all'advisory ufficiale): 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12.
La suddivisione HIGH/MEDIUM è intenzionale: il bug php2shell ancora presente è segnalato come
Apache prefork + mod_php soltanto, non come RCE PHP generica.
--out audit.csv — una riga per ogni rilevamento (predefinito shellscope-results.csv)--json audit.json — metadati + rilevamenti--html audit.html — report scuro e autonomo con filtro e ordinamento$ shellscope --cidr 127.0.0.1/32 --ports 32400,8888 --force-checks --authorized
[scope] 1 assets / 2 checks
CRITICAL 127.0.0.1:32400 Plex Media Server 1.43.2.10664 Vulnerable to Plex2Shell
HIGH 127.0.0.1:8888 PHP 8.2.34 PHP 8.2.34 < 8.2.35 on Apache
SUMMARY
CRITICAL 1 #
HIGH 1 #
TOTAL 2
--authorized è obbligatorio per una scansione reale.--allow-public.--max-hosts, --workers e --delay limitano la scansione.Usalo solo su reti di tua proprietà o per cui hai un permesso scritto di test. Un ambito di bug bounty non è una licenza per scansionare internet; autorizza gli asset elencati secondo le regole di quel programma.
Server può descrivere Cloudflare, non la build PHP.X-Powered-By è spesso disabilitato. Un header mancante non è prova di una patch.| Codice | Significato |
|---|---|
| 0 | Scansione completata, nessun risultato a/oltre --fail-on |
| 1 | Risultati a/oltre --fail-on |
| 2 | Guardia di utilizzo o autorizzazione |
python -m pip install -e ".[dev]"
python -m pytest
python -m ruff check src tests
python -m shellscope --self-test
MIT. Solo uso autorizzato.