Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ShellSweep — ShellSweeping das Böse. | Kitploit
Tools/GitHubGitHub/splunk/shellsweep
Statische AnalyseSchwachstellenscannerWebsicherheitMalware-AnalyseLernen & BildungAnomalieerkennung
GitHubsplunk/shellsweep

ShellSweep

ShellSweeping das Böse.

Repository anzeigen
18420vor 29 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

ShellSweep

Das Böse wegfegen

Warum ShellSweep

"ShellSweep" ist ein PowerShell/Python/Lua-Tool, das entwickelt wurde, um potenzielle Web-Shell-Dateien in einem angegebenen Verzeichnis zu erkennen.

ShellSheep und seine Suite von Tools berechnen die Entropie des Dateiinhalts, um die Wahrscheinlichkeit abzuschätzen, dass eine Datei eine Web-Shell ist. Hohe Entropie deutet auf mehr Zufälligkeit hin, was ein Merkmal von verschlüsseltem oder obfuskiertem Code ist, der oft in Web-Shells vorkommt.

  • Es verarbeitet nur Dateien mit bestimmten Erweiterungen (.asp, .aspx, .asph, .php, .jsp), die häufig in Web-Shells verwendet werden.
  • Bestimmte Verzeichnisse können von der Überprüfung ausgeschlossen werden.
  • Dateien mit bestimmten Hashes können während des Scans ignoriert werden.

Wie findet ShellSweep die Shells?

Entropie ist im Kontext der Informationstheorie oder Datenwissenschaft ein Maß für die Unvorhersagbarkeit, Zufälligkeit oder Unordnung in einem Datensatz. Das Konzept wurde von Claude Shannon in seinem 1948 veröffentlichten Artikel "A Mathematical Theory of Communication" eingeführt.

Wenn auf eine Datei oder einen Textstring angewendet, kann Entropie helfen, die Zufälligkeit der Daten zu bewerten. So funktioniert es:

  • Besteht eine Datei aus vollständig zufälligen Daten (jedes Byte kann mit gleicher Wahrscheinlichkeit jeder Wert zwischen 0 und 255 sein), ist die Entropie hoch, nahe 8 (da log2(256) = 8).
  • Besteht eine Datei aus hochgradig strukturierten Daten (z. B. eine Textdatei, in der die meisten Bytes ASCII-Zeichen sind), ist die Entropie niedriger. Im Zusammenhang mit der Suche nach Web-Shells oder bösartigen Dateien kann Entropie ein nützlicher Indikator sein:
  • Viele obfuskierte Skripte oder verschlüsselte Payloads können eine hohe Entropie aufweisen, da der Obfuskierungs- oder Verschlüsselungsprozess die Daten zufällig erscheinen lässt.
  • Eine normale Textdatei oder HTML-Datei hätte im Allgemeinen eine niedrigere Entropie, da menschenlesbarer Text Muster und Strukturen aufweist (bestimmte Buchstaben sind häufiger, Wörter werden normalerweise durch Leerzeichen getrennt usw.). Eine Datei mit ungewöhnlich hoher Entropie könnte also verdächtig sein und eine weitere Untersuchung wert. Es ist jedoch kein todsicherer Indikator für Bösartigkeit – es gibt viele legitime Gründe, warum eine Datei hohe Entropie haben könnte, und viele Möglichkeiten, wie Malware eine hohe Entropie vermeiden kann. Es ist nur ein Werkzeug in einem größeren Werkzeugkasten zur Erkennung potenzieller Bedrohungen.

ShellSweep enthält eine Get-Entropy-Funktion, die die Entropie des Dateiinhalts berechnet, indem:

  • gezählt wird, wie oft jedes Zeichen in der Datei vorkommt.
  • diese Häufigkeiten verwendet werden, um die Wahrscheinlichkeit jedes Zeichens zu berechnen.
  • für jedes Zeichen -p*log2(p) summiert wird, wobei p die Wahrscheinlichkeit des Zeichens ist. Dies ist die Formel für Entropie in der Informationstheorie.

Warum ShellSweepX?

ShellSweepX bringt die Kernfunktionalität von ShellSweep auf die nächste Stufe und bietet mehrere Vorteile gegenüber herkömmlichen EDR-Lösungen (Endpoint Detection and Response):

  1. Spezialisierter Fokus: Im Gegensatz zu EDR-Lösungen, die ein breites Netz auswerfen, ist ShellSweepX speziell darauf ausgelegt, Web-Shells zu erkennen. Dieser spezialisierte Fokus ermöglicht eine genauere und effizientere Erkennung dieser speziellen Bedrohungen.

  2. Niedriger Ressourcenverbrauch: ShellSweepX ist leichtgewichtig und erfordert keine ständigen Hintergrundprozesse oder Systemüberwachung, im Gegensatz zu vielen EDR-Lösungen. Dies bedeutet weniger Auswirkungen auf die Systemleistung.

  3. Anpassbar und transparent: Der Open-Source-Charakter von ShellSweepX ermöglicht volle Transparenz seiner Erkennungsmethoden. Sie können die Erkennungsparameter einfach an Ihre spezifische Umgebung anpassen und optimieren.

  4. Keine Abhängigkeit von externen Diensten: ShellSweepX arbeitet lokal ohne Abhängigkeit von cloudbasierter Analyse oder ständigen Updates und stellt sicher, dass Ihre sensiblen Daten in Ihrer Kontrolle bleiben.

  5. Mehrschichtige Erkennung: ShellSweepX verwendet verschiedene Erkennungsmethoden, darunter Entropieanalyse, Mustervergleich und heuristische Analyse, und bietet so einen umfassenden Ansatz zur Web-Shell-Erkennung.

  6. Detaillierte Berichterstattung: ShellSweepX liefert detaillierte Informationen über potenzielle Bedrohungen, einschließlich Entropiewerte, Erkennungsmethoden und Konfidenzwerte, was fundiertere Entscheidungen ermöglicht.

  7. Plattformübergreifende Kompatibilität: Mit Versionen in PowerShell, Python und Lua kann ShellSweepX in verschiedenen Umgebungen eingesetzt werden.

Obwohl ShellSweepX kein Ersatz für eine vollwertige EDR-Lösung ist, dient es als leistungsstarkes, spezialisiertes Werkzeug in Ihrem Sicherheitsarsenal, insbesondere in Umgebungen, in denen Web-Shells eine erhebliche Bedrohung darstellen.

Funktionsvergleich

ShellScan

ShellScan bietet die Möglichkeit, mehrere bekannte bösartige Web-Shell-Verzeichnisse zu scannen und die durchschnittlichen, medianen, minimalen und maximalen Entropiewerte nach Dateierweiterung auszugeben.

Übergeben Sie ShellScan.ps1 einige Verzeichnisse mit Web-Shells, beliebige Größe. Ich habe verwendet:

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

Dies ergibt einen anständigen Trainingssatz, um Entropiewerte zu erhalten.

Ausgabebeispiel:

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

Lassen Sie uns zunächst die Verwendung von ShellCSV aufschlüsseln und wie es dabei hilft, die Entropie der guten Dateien auf der Festplatte zu identifizieren. Die Idee ist, dass Verteidiger dies auf Webservern ausführen können, um alle Dateien und Entropiewerte zu sammeln und besser zu verstehen, welche Pfade und Erweiterungen in ihrer Arbeitsumgebung am häufigsten vorkommen.

Siehe ShellCSV.csv als Beispielausgabe.

ShellSweep

Blog: Geist in der Web-Shell: Einführung von ShellSweep

Wählen Sie zunächst Ihre bevorzugte Variante: Python, PowerShell oder Lua.

  • Basierend auf den Ergebnissen von ShellScan oder ShellCSV passen Sie die Entropiewerte nach Bedarf an.
  • Passen Sie die Dateierweiterungen nach Bedarf an. Es ist nicht nötig, nach ASPX zu suchen, wenn die Anwendung keine ASPX verwendet.
  • Passen Sie die Pfade an. Ich empfehle nicht, einfach das gesamte Laufwerk C:\ zu scannen, da es viel zu filtern gibt.
  • Passen Sie alle erforderlichen Filter an.
  • Führen Sie es aus!

Wenn Sie hier angekommen sind, ist dies der Teil, in dem Sie durch Iterieren optimieren. Neue Shell gefunden? Entropie erfassen und nach Bedarf anpassen.

ShellSweepPlus

Blog: Einführung von ShellSweepPlus: Open-Source-Web-Shell-Erkennung

ShellSweepPlus ist ein erweitertes PowerShell-Skript, das entwickelt wurde, um potenzielle Web-Shells in Webumgebungen zu erkennen und zu analysieren. Es baut auf der Kernfunktionalität von ShellSweep auf und bietet erweiterte Funktionen und Erkennungsfähigkeiten.

Hauptfunktionen:

  1. Dynamische Scans: Anpassbare Scan-Parameter einschließlich Verzeichnispfade, Ausschlüsse und Hash-Ignorierung.
  2. Präzise Entropieschwellenwerte: Verwendet eine ausgeklügelte verschachtelte Hashtabelle für maßgeschneiderte Entropieschwellenwerte über verschiedene Dateierweiterungen hinweg.
  3. Mehrschichtige Erkennung: Integriert entropiebasierte, standardabweichungsbasierte, Mixed-Mode- und heuristische Erkennungsmethoden mit dynamischen Gewichtungen.
  4. Erweiterte statische Code-Analyse: Verwendet eine umfangreiche Liste verdächtiger Muster für eine eingehende Erkennung.
  5. Entropieanalyse: Berechnet und analysiert die Entropie des Dateiinhalts, um potenziell obfuskierte oder verschlüsselte bösartige Inhalte zu identifizieren.
  6. Detaillierte Ergebnisdarstellung: Gibt potenzielle Bedrohungen in einem strukturierten JSON-Format aus, das einfach zu parsen und zu analysieren ist.
  7. Umfassende Protokollierung: Enthält ausführliche Protokollierung für detaillierte Einblicke in die Skriptoperationen.
  8. Heuristische Analyse: Implementiert heuristische Erkennung zur Identifizierung von Anomalien und potenziellen Zero-Day-Web-Shells.

Verwendung:

  1. Geben Sie die zu scannenden Verzeichnisse in der Variablen $DirectoryPaths an.
  2. Passen Sie $suspiciousPatterns nach Bedarf für Ihre Umgebung an.
  3. Verwenden Sie $excludePaths, um bestimmte Verzeichnisse zu überspringen.
  4. Nutzen Sie $ignoreHashes oder $ignoreHashesFilePath, um bekannte sichere Dateien auszuschließen.
  5. Führen Sie das Skript in PowerShell 5.1 oder höher aus.

Beispielausgabe:

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

ShellSweepPlus bietet eine leistungsstarke und flexible Lösung zur Web-Shell-Erkennung, die mehrere Analysetechniken kombiniert, um die Genauigkeit zu verbessern und selbst ausgefeilte Bedrohungen zu erkennen.

Fragen

Öffnen Sie gerne ein Git-Issue oder schauen Sie im Wiki nach.

Danke

Wenn Ihnen dieses Projekt gefallen hat, geben Sie ihm bitte einen Stern und teilen Sie es mit Ihrer Familie und Freunden.

Tool herunterladen
Funktion/AspektShellSweepShellSweepPlusShellSweepX
Basislinien-ErkennungVerwendet fest codierte Entropiewerte für bestimmte DateierweiterungenDynamische Basislinien-Erkennung, die Entropie spontan berechnetVerwendet eine Kombination aus entropiebasierter Erkennung und maschinellem Lernen
DateierweiterungenVerarbeitet Dateien mit Erweiterungen: .asp, .aspx, .asax, .jspx, .html, .ashxVerarbeitet Dateien mit Erweiterungen: .asp, .ashx, .asax, .jspx, .html, .aspxKonfigurierbare Dateierweiterungen über API
EntropieberechnungBerechnet die Entropie des Dateiinhalts, um potenzielle Web-Shells zu erkennenVerbesserte entropiebasierte Erkennung, Abgleich mit verdächtigen SchlüsselwörternErweiterte Entropieberechnung mit abschnittsbasierter Analyse
AusschlussfunktionKann bestimmte Verzeichnisse vom Scannen ausschließenKann bestimmte Verzeichnisse vom Scannen ausschließenKonfigurierbare Ausschlüsse über API
Hash-IgnorierungIgnoriert Dateien mit bestimmten HashesIgnoriert Dateien mit bestimmten HashesKonfigurierbare Hash-Ignorierung über API
AusgabeWenn potenzielle Web-Shells gefunden werden, werden Dateiname, Entropiewert und Hash ausgegeben. Andernfalls wird "Heute wurde nichts Böses identifiziert" ausgegeben.Wenn potenzielle Web-Shells gefunden werden, werden Dateiname, Entropiewert, Hash, letztes Änderungsdatum, Erkennungsmethode und Konfidenzwert im JSON-Format ausgegeben. Andernfalls wird "Keine potenziellen Web-Shells erkannt" ausgegeben.Detaillierte JSON-Ausgabe mit Dateimetadaten, Entropie, Vorhersageergebnissen und YARA-Übereinstimmungen
Entropie & StandardabweichungVerwendet EntropiewerteBerechnet den Mittelwert und die Standardabweichung der Entropiewerte für jede DateierweiterungBerechnet sowohl Entropie als auch Standardabweichung für fortgeschrittene Analysen
Mixed-Mode-ErkennungNicht vorhandenVerwendet eine Kombination aus entropiebasierter Erkennung, standardabweichungsbasierter Erkennung und Mixed-Mode-Erkennung (unter Verwendung der Standardabweichung mit fest codierten Schwellenwerten)Kombiniert entropiebasierte Erkennung, maschinelles Lernen und YARA-Regelabgleich
Statische Code-AnalyseNicht vorhandenMusterbasierter Erkennungsmechanismus, der Code statisch analysiert, um bekannte bösartige Muster zu identifizieren und zu markierenNutzt YARA-Regeln für die musterbasierte Erkennung
Heuristische AnalyseNicht vorhandenFührt die Funktion Perform-HeuristicAnalysis ein, um Anomalien basierend auf heuristischen Regeln zu erkennen, was die Erkennung von Zero-Day-Web-Shells verbessertImplementiert maschinelles Lernen für die heuristische Analyse
Detaillierte ErgebnisdarstellungNicht vorhandenStellt potenzielle Bedrohungen in einem strukturierten JSON-Format dar, einschließlich Dateipfad, Entropie, Standardabweichung, Hash, letztem Änderungsdatum, Erkennungsmethode und KonfidenzwertLiefert umfassende Ergebnisse, die alle Analysemethoden in einem strukturierten JSON-Format enthalten
Umfassende ProtokollierungNicht vorhandenIntegriert Write-Verbose-Befehle im gesamten Skript für detaillierte Protokollierung und operationelle TransparenzImplementiert ausführliche Protokollierung in Agent- und Serverkomponenten
KonfidenzbewertungNicht vorhandenBerechnet einen Konfidenzwert basierend auf der Erkennungsmethode und passt ihn basierend auf dem Vorhandensein verdächtiger Muster anVerwendet die Konfidenz des maschinellen Lernens und kombiniert sie mit anderen Erkennungsmethoden für einen umfassenden Wert
Modulares DesignNicht vorhandenVerwendet separate Funktionen für verschiedene Aufgaben (z. B. Process-File, Create-ResultObject, Adjust-ConfidenceScore), fördert Code-Wiederverwendbarkeit und WartbarkeitHochmodulares Design mit separaten Komponenten für Agent, Server und Analysefunktionen
Plattformübergreifende UnterstützungNur PowerShellNur PowerShellUnterstützt PowerShell-, Python- und Bash-Implementierungen
API-IntegrationNicht vorhandenNicht vorhandenUmfassende API für Konfiguration, Ergebnisübermittlung und Verwaltung
KI-gestützte AnalyseNicht vorhandenNicht vorhandenIntegriert KI-basierte Triage- und Analysefähigkeiten
YARA-RegelverwaltungNicht vorhandenNicht vorhandenErmöglicht das Hinzufügen, Aktualisieren und Löschen von YARA-Regeln über API
WeboberflächeNicht vorhandenNicht vorhandenBietet eine webbasierte Oberfläche zur Ergebnisvisualisierung und -analyse