Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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
ShellSweep — ShellSweeping il male. | Kitploit
Strumenti/GitHubGitHub/splunk/shellsweep
Analisi StaticaScanner di VulnerabilitàSicurezza WebAnalisi MalwareApprendimento e FormazioneRilevamento di Anomalie
GitHubsplunk/shellsweep

ShellSweep

ShellSweeping il male.

Vedi Repository
1842029 giorni 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

ShellSweep

ShellSweep: alla caccia del male

Perché ShellSweep

"ShellSweep" è uno strumento PowerShell/Python/Lua progettato per rilevare potenziali file web shell in una directory specificata.

ShellSweep e la sua suite di strumenti calcolano l'entropia del contenuto dei file per stimare la probabilità che un file sia una web shell. Un'entropia elevata indica una maggiore casualità, caratteristica di codice crittografato o offuscato spesso presente nelle web shell.

  • Elabora solo file con determinate estensioni (.asp, .aspx, .asph, .php, .jsp), comunemente usate nelle web shell.
  • Alcune directory possono essere escluse dalla scansione.
  • I file con determinati hash possono essere ignorati durante la scansione.

Come fa ShellSweep a trovare le shell?

L'entropia, nel contesto della teoria dell'informazione o della scienza dei dati, è una misura dell'imprevedibilità, casualità o disordine in un insieme di dati. Il concetto è stato introdotto da Claude Shannon nel suo articolo del 1948 "A Mathematical Theory of Communication".

Applicata a un file o a una stringa di testo, l'entropia può aiutare a valutare la casualità dei dati. Ecco come funziona: Se un file è composto da dati completamente casuali (ogni byte ha la stessa probabilità di essere un qualsiasi valore tra 0 e 255), l'entropia è alta, vicino a 8 (poiché log2(256) = 8).

Se un file è composto da dati altamente strutturati (ad esempio, un file di testo in cui la maggior parte dei byte sono caratteri ASCII), l'entropia è più bassa. Nel contesto della ricerca di web shell o file dannosi, l'entropia può essere un indicatore utile:

  • Molti script offuscati o payload crittografati possono avere un'entropia elevata poiché il processo di offuscamento o crittografia rende i dati casuali.
  • Un normale file di testo o HTML avrebbe generalmente un'entropia più bassa poiché il testo leggibile da un umano ha schemi e struttura (certe lettere sono più comuni, le parole sono solitamente separate da spazi, ecc.). Pertanto, un file con entropia insolitamente alta potrebbe essere sospetto e meritevole di ulteriori indagini. Tuttavia, non è un indicatore infallibile di dannosità – esistono molte ragioni legittime per cui un file potrebbe avere alta entropia, e molti modi in cui il malware potrebbe evitare di causare alta entropia. È solo uno strumento in una cassetta degli attrezzi più ampia per rilevare potenziali minacce.

ShellSweep include una funzione Get-Entropy che calcola l'entropia del contenuto di un file:

  • Contando la frequenza di ogni carattere nel file.
  • Usando queste frequenze per calcolare la probabilità di ogni carattere.
  • Sommando -p*log2(p) per ogni carattere, dove p è la probabilità del carattere. Questa è la formula dell'entropia nella teoria dell'informazione.

Perché ShellSweepX?

ShellSweepX porta le funzionalità principali di ShellSweep al livello successivo, offrendo diversi vantaggi rispetto alle tradizionali soluzioni EDR (Endpoint Detection and Response):

  1. Focus Specializzato: A differenza delle soluzioni EDR che gettano una rete ampia, ShellSweepX è specificamente progettato per rilevare web shell. Questo focus specializzato consente un rilevamento più accurato ed efficiente di queste specifiche minacce.

  2. Basso Overhead delle Risorse: ShellSweepX è leggero e non richiede processi costanti in background o monitoraggio del sistema, a differenza di molte soluzioni EDR. Ciò significa un minore impatto sulle prestazioni del sistema.

  3. Personalizzabile e Trasparente: La natura open-source di ShellSweepX consente piena trasparenza nei suoi metodi di rilevamento. Puoi facilmente personalizzare e ottimizzare i parametri di rilevamento per adattarli al tuo ambiente specifico.

  4. Nessuna Dipendenza da Servizi Esterni: ShellSweepX opera localmente senza fare affidamento su analisi cloud o aggiornamenti costanti, garantendo che i tuoi dati sensibili rimangano sotto il tuo controllo.

  5. Rilevamento Multistrato: ShellSweepX impiega vari metodi di rilevamento tra cui analisi dell'entropia, pattern matching e analisi euristica, fornendo un approccio completo al rilevamento delle web shell.

  6. Reportistica Dettagliata: ShellSweepX fornisce informazioni approfondite sulle potenziali minacce, inclusi valori di entropia, metodi di rilevamento e punteggi di confidenza, consentendo decisioni più informate.

  7. Compatibilità Cross-Platform: Con versioni disponibili in PowerShell, Python e Lua, ShellSweepX può essere distribuito in vari ambienti.

Sebbene ShellSweepX non sostituisca una soluzione EDR completa, funge da potente strumento specializzato nel tuo arsenale di sicurezza, specialmente per ambienti in cui le web shell rappresentano una minaccia significativa.

Confronto delle Funzionalità

ShellScan

ShellScan fornisce la capacità di scansionare più directory note di web shell dannose e di restituire i valori medi, mediani, minimi e massimi di entropia per estensione di file.

Passa a ShellScan.ps1 alcune directory di web shell, di qualsiasi dimensione. Io ho usato:

  • https://github.com/tennc/web shell
  • https://github.com/BlackArch/web shells
  • https://github.com/tarwich/jackal/blob/master/libraries/

Questo darà un set di addestramento decente per ottenere i valori di entropia.

Esempio di output:

root@kitploit:~
Statistics for .aspx files:
Average entropy: 4.94212121048115
Minimum entropy: 1.29348709979974
Maximum entropy: 6.09830238020383
Median entropy: 4.85437969842084
Statistics for .asp files:
Average entropy: 5.51268104400858
Minimum entropy: 0.732406213077191
Maximum entropy: 7.69241278153711
Median entropy: 5.57351177724806

ShellCSV

Per prima cosa, analizziamo l'utilizzo di ShellCSV e come aiuta a identificare l'entropia dei file buoni sul disco. L'idea è che i difensori possano eseguirlo sui server web per raccogliere tutti i file e i valori di entropia, per comprendere meglio quali percorsi ed estensioni sono più prominenti nel loro ambiente di lavoro.

Vedi ShellCSV.csv come esempio di output.

ShellSweep

Blog: Ghost in the Web Shell: Introducing ShellSweep

Prima, scegli la tua versione: Python, PowerShell o Lua.

  • In base ai risultati di ShellScan o ShellCSV, modifica i valori di entropia come necessario.
  • Modifica le estensioni dei file come necessario. Non c'è bisogno di cercare ASPX su un'app non ASPX.
  • Modifica i percorsi. Non consiglio di scansionare semplicemente tutto C:, c'è molto da filtrare.
  • Modifica eventuali filtri necessari.
  • Eseguilo!

Se sei arrivato qui, questa è la parte in cui iteri sulla messa a punto. Hai trovato una nuova shell? Raccogli l'entropia e modifica secondo necessità.

ShellSweepPlus

Blog: Introducing ShellSweepPlus: Open-Source Web Shell Detection

ShellSweepPlus è uno script PowerShell avanzato progettato per rilevare e analizzare potenziali web shell in ambienti web. Si basa sulle funzionalità principali di ShellSweep, offrendo caratteristiche e capacità di rilevamento migliorate.

Caratteristiche principali:

  1. Scansioni Dinamiche: Parametri di scansione personalizzabili, inclusi percorsi di directory, esclusioni e ignoramento di hash.
  2. Soglie di Entropia di Precisione: Utilizza una sofisticata tabella hash nidificata per soglie di entropia su misura per varie estensioni di file.
  3. Rilevamento Multistrato: Integra metodi di rilevamento 'Basato su Entropia', 'Basato su Deviazione Standard', 'Modalità Mista' e 'Basato su Euristica' con pesi dinamici.
  4. Analisi Statica Avanzata del Codice: Impiega un elenco esteso di pattern sospetti per un rilevamento approfondito.
  5. Analisi dell'Entropia: Calcola e analizza l'entropia del contenuto del file per identificare contenuti potenzialmente offuscati o crittografati dannosi.
  6. Presentazione Dettagliata dei Risultati: Restituisce le potenziali minacce in un formato JSON strutturato per una facile analisi e parsing.
  7. Logging Completo: Include logging verboso per approfondimenti dettagliati sulle operazioni dello script.
  8. Analisi Euristica: Implementa il rilevamento basato su euristica per identificare anomalie e potenziali web shell zero-day.

Utilizzo:

  1. Specifica le directory da scansionare nella variabile $DirectoryPaths.
  2. Personalizza $suspiciousPatterns come necessario per il tuo ambiente.
  3. Usa $excludePaths per saltare directory specifiche.
  4. Utilizza $ignoreHashes o $ignoreHashesFilePath per escludere file noti e sicuri.
  5. Esegui lo script in PowerShell 5.1 o successivo.

Esempio di output:

root@kitploit:~
{
"TotalFilesScanned": 1000,
"Potential web shells": 5,
"ScanDuration": "00:05:30"
}

ShellSweepPlus fornisce una soluzione potente e flessibile per il rilevamento di web shell, combinando più tecniche di analisi per migliorare l'accuratezza e catturare anche minacce sofisticate.

Domande

Sentiti libero di aprire un issue su Git o di consultare la Wiki.

Grazie

Se questo progetto ti è piaciuto, assicurati di mettere una stella al progetto e condividerlo con la tua famiglia e i tuoi amici.

Scarica lo strumento
Funzionalità/AspettoShellSweepShellSweepPlusShellSweepX
Rilevamento di baseUtilizza valori di entropia fissi per estensioni di file specificheRilevamento dinamico di base che calcola l'entropia in tempo realeUtilizza una combinazione di rilevamento basato su entropia e previsione tramite apprendimento automatico
Estensioni dei fileElabora file con estensioni: .asp, .aspx, .asax, .jspx, .html, .ashxElabora file con estensioni: .asp, .ashx, .asax, .jspx, .html, .aspxEstensioni di file configurabili tramite API
Calcolo dell'entropiaCalcola l'entropia del contenuto dei file per rilevare potenziali web shellRilevamento avanzato basato su entropia, incrociato con parole chiave sospetteCalcolo avanzato dell'entropia con analisi basata su blocchi
Funzionalità di esclusionePuò escludere determinate directory dalla scansionePuò escludere determinate directory dalla scansioneEsclusioni configurabili tramite API
Ignorare hashIgnora file con hash specificiIgnora file con hash specificiIgnoramento di hash configurabile tramite API
OutputSe vengono trovate potenziali web shell, restituisce nome file, valore di entropia e hash. Altrimenti, stampa "No evil identified today."Se vengono trovate potenziali web shell, restituisce nome file, valore di entropia, hash, data ultima modifica, metodo di rilevamento e punteggio di confidenza in formato JSON. Altrimenti, stampa "No potential web shells detected."Output JSON dettagliato che include metadati del file, entropia, risultati della previsione e corrispondenze YARA
Entropia e Deviazione StandardUtilizza valori di entropiaCalcola la media e la deviazione standard dei valori di entropia per ogni estensione di fileCalcola sia l'entropia che la deviazione standard per un'analisi avanzata
Rilevamento in modalità mistaNon presenteUtilizza una combinazione di rilevamento basato su entropia, rilevamento basato su deviazione standard e rilevamento in modalità mista (che utilizza la deviazione standard con soglie fisse)Combina rilevamento basato su entropia, previsione tramite apprendimento automatico e corrispondenza di regole YARA
Analisi statica del codiceNon presenteMeccanismo di rilevamento basato su pattern che analizza staticamente il codice per identificare e segnalare pattern dannosi notiUtilizza regole YARA per il rilevamento basato su pattern
Analisi euristicaNon presenteIntroduce la funzione Perform-HeuristicAnalysis per rilevare anomalie basate su regole euristiche, migliorando il rilevamento di web shell zero-dayImplementa la previsione basata su apprendimento automatico per l'analisi euristica
Presentazione dettagliata dei risultatiNon presentePresenta le potenziali minacce in un formato JSON strutturato, includendo percorso file, entropia, deviazione standard, hash, data ultima modifica, metodo di rilevamento e punteggio di confidenzaFornisce risultati completi inclusi tutti i metodi di analisi in un formato JSON strutturato
Logging completoNon presenteIncorpora comandi Write-Verbose in tutto lo script per un logging dettagliato e trasparenza operativaImplementa un logging dettagliato sia nel componente agente che nel server
Punteggio di confidenzaNon presenteCalcola un punteggio di confidenza basato sul metodo di rilevamento e lo regola in base alla presenza di pattern sospettiUtilizza la confidenza della previsione dell'apprendimento automatico e la combina con altri metodi di rilevamento per un punteggio completo
Progettazione modulareNon presenteUtilizza funzioni separate per diversi compiti (es. Process-File, Create-ResultObject, Adjust-ConfidenceScore), promuovendo riusabilità e manutenibilità del codiceProgettazione altamente modulare con componenti separati per agente, server e funzioni di analisi
Supporto cross-platformSolo PowerShellSolo PowerShellSupporta implementazioni PowerShell, Python e Bash
Integrazione APINon presenteNon presenteAPI completa per configurazione, invio risultati e gestione
Analisi basata su IANon presenteNon presenteInclude capacità di triage e analisi basate su IA
Gestione regole YARANon presenteNon presenteConsente di aggiungere, aggiornare ed eliminare regole YARA tramite API
Interfaccia webNon presenteNon presenteFornisce un'interfaccia web per la visualizzazione e l'analisi dei risultati