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
cve-2018-1335 — CENG 325 - Grundlagen der Informationssicherheit und Privatsphäre | Kitploit
Tools/GitHubGitHub/canumay/cve-2018-1335
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlLernen & Bildung
GitHubcanumay/cve-2018-1335

cve-2018-1335

CENG 325 - Grundlagen der Informationssicherheit und Privatsphäre

Repository anzeigen
1vor 5 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Ankara Yildirim Beyazit University Computer Engineering Department

CENG 325 - Principles of Information Security And Privacy

CENG201 OOP Project

Gruppenmitglieder

@canumay @aslihann @ezgigucuyener @mburakdonmez

Referenzen

NVD - CVE-2018-1335

Exploit DB - Apache Tika-server < 1.18 - Command Injection

Rhino Security Labs - Exploiting CVE-2018-1335: Command Injection in Apache Tika

Metasploit

Haftungsausschluss

Der Exploit-Code wurde vom Cybersicherheitsforscher David Yesland @Daveysec geschrieben und sollte nur für Bildungszwecke verwendet werden.

Meilenstein 1 – Schwachstellenforschung

a. Eine kurze Beschreibung der Schwachstelle

  • Der Typ: Command Injection
  • Der Auswirkungsfaktor: Der Auswirkungs-Score der Schwachstelle beträgt 5,9 gemäß den CVSS-Auswirkungsmetriken. Alle drei Aspekte – Vertraulichkeit, Integrität und Verfügbarkeit – sind hoch.
  • Der Schweregrad-Score: Der Schweregrad-Score der Schwachstelle beträgt 8,1 gemäß den CVSS-Basisscore-Metriken. (CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)
  • Betroffene Versionen der anfälligen Anwendung: Von Apache Tika Version 1.7 bis 1.17
  • Was der Typ der Schwachstelle bedeutet
    • Stellen Sie den Typ der Schwachstelle vor und erläutern Sie, warum er sich von anderen Arten von Schwachstellen unterscheidet Der Schwachstellentyp ist Command Injection. Dies liegt daran, dass anfällige Anwendungen unbereinigte Benutzerdaten an die System-Shell übergeben, was die Ausführung von schädlichem Code ermöglicht. Wenn wir diese Schwachstelle mit Code Injection vergleichen, stellen wir einige Unterschiede fest. Beispielsweise ermöglicht Code Injection dem Angreifer, eigenen Code zu verwenden, der von der Anwendung ausgeführt wird. Bei Command Injection hingegen verändert der Angreifer die Funktionalität der Anwendung, sodass Benutzer Systembefehle ausführen können.

b. Die Art und Weise, wie die Schwachstelle ausgenutzt wird

  • Welche Arten von Angriffen können nach dem Auslösen der Schwachstelle durchgeführt werden: Nach dem Auslösen der Schwachstelle können wir leicht eine Reverse Shell erstellen, und mit dieser Shell können wir im Grunde alle Befehle ausführen, die dem Benutzer des Apache Tika-Servers zur Verfügung stehen.

  • Wie nutzt ein Angreifer mit der Schwachstelle anfällige Systeme aus: Zunächst sollte der Angreifer feststellen, ob der Server eine anfällige Version des Apache Tika-Servers ausführt. Dann erstellt der Angreifer einen bösartigen HTTP-Header und den Jscript-Code, bevor er eine PUT-Anfrage an den anfälligen HTTP-Endpunkt sendet, was dazu führt, dass der Apache Tika-Server den schädlichen Code mit seiner eigenen Funktionalität ausführt.

  • Wird die Schwachstelle in Exploit-Kits verwendet: Ja, diese Schwachstelle ist im Metasploit-Exploit-Kit verfügbar.

Meilenstein 2 – Exploit-Code

a. Finden oder erstellen Sie einen Exploit-Code, der die Schwachstelle ausnutzt

b. Heben Sie die anfälligen Code-Teile hervor und erklären Sie, warum sie anfällig sind

Der Apache Tika-Server erstellt einen auszuführenden Befehl mit den vom Benutzer in der Anfrage bereitgestellten Werten, um OCR auf Bildern auszuführen. Dies ermöglicht es Benutzern, den Befehl zu manipulieren und schädlichen Code auszuführen. In diesem Fall holt „config.getTesseractPath()“ den „X-Tika-OCRTesseractPath“- Header und fügt ihn an den Anfang des Befehls. Obwohl die Zeichenkette „tesseract.exe“ an das Ende des vom Benutzer bereitgestellten Pfades angehängt wird, kann der Benutzer seinen Pfad mit „ “ “ (doppelte Anführungszeichen) umschließen, um die nachfolgende Zeichenkette „tesseract.exe“ zu verwerfen. Dies ermöglicht es dem Benutzer, jede ausführbare Datei auf dem Server auszuführen.

Der erstellte Befehl:

root@kitploit:~
"calc.exe"tesseract.exe C:\Users\Test\AppData\Local\Temp\apache-tika3299124493942985299.tmp C:\Users\Test\AppData\Local\Temp\apache-tika7317860646082338953.tmp -l eng -psm 1 txt -c preserve_interword_spaces=0

Die in Windows integrierte CScript.exe ist eine Skriptsprache, die einen Dateinamen für ein Skript entgegennimmt, es ausführt und die anderen Argumente ignoriert. Wenn wir ein für das CScript erstelltes Skript bereitstellen können, können wir es auf dem Server ausführen. Der Apache Tika-Server nimmt unser im Body bereitgestelltes Bild und speichert es in einer temporären Datei, um die OCR auszuführen. Anstatt also ein Bild-Binary zu senden, können wir direkt eine Zeichenkette senden, und die Zeichenkette wird so gespeichert, als ob sie ein Binary wäre. Der Tika-Server prüft das Binary jedoch darauf, ob es ein Bild ist, außer beim Dateityp jp2, in diesem Fall wird es direkt gespeichert. Dies wird dann als Argument an die CScript-Ausführbare übergeben. Aber die Dateierweiterung wird immer noch „.tmp“ sein, aber wir benötigen eine „.JScript“- oder „.vbs“-Erweiterung. Um dies zu umgehen, können wir dem CScript sagen, dass es „JScript“ unabhängig von der Dateierweiterung ausführen soll. Der Tika-Server übergibt außerdem „config.getPageSetMode()“ an den Befehl, der vom Benutzer im Header „X-Tika-OCRLanguage“ gesendet wird. Wenn wir ihn durch die Zeichenkette „//E:Jscript“ ersetzen, führt das CScript das Skript als JScript aus, unabhängig von der Dateierweiterung. Und schließlich wird die im Body bereitgestellte Zeichenkette die Nutzlast sein, die ausgeführt wird. Sie kann auch eine weitere Konsole aufrufen, um vollen Zugriff auf die System-Shell zu erhalten.

Der endgültig erstellte Befehl:

root@kitploit:~
"cscript.exe"tesseract.exe C:\Users\Test\AppData\Local\Temp\apache-tika3299124493942985299.tmp C:\Users\Test\AppData\Local\Temp\apache-tika7317860646082338953.tmp -l //E:Jscript -psm 1 txt -c preserve_interword_spaces=0

Eine einfache Nutzlast zum Aufrufen der Shell in Jscript:

root@kitploit:~
var oShell = WScript.CreateObject("WScript.Shell");
var oExec = oShell.Exec('cmd /c calc.exe');

Meilenstein 3 – Die Ausführung

a. Führen Sie den von Ihnen gefundenen oder erstellten Exploit-Code aus:

Apache Tika Server 1.17 läuft innerhalb der Ziel-VM.

Wir können vom Host-Rechner aus mit der IP „192.168.233.167“ auf den Server zugreifen.

Dann haben wir den erstellten Exploit-Code mit der Nutzlast „calc.exe“ ausgeführt, um den Rechner auf dem Zielrechner zu starten, um zu zeigen, dass wir in der Lage sind, beliebigen schädlichen Code auf dem Zielrechner auszuführen. Auch mit der Kraft einer Reverse Shell können wir eine interaktive Shell-Sitzung auf dem Zielrechner erstellen.

b. Was sind die Ergebnisse der Ausführung des Exploit-Codes:

Wie oben erläutert, führen wir mit diesem Exploit im Grunde das Rechnerprogramm auf dem Zielrechner aus, aber mit der Fähigkeit zur Remote Code Execution können wir im Zielrechner alles tun, was wir wollen, mit den Berechtigungen des Benutzers, der den Apache Tika Server ausführt. Beispielsweise können wir auf Benutzerdateien zugreifen, die Benutzeraktivität überwachen und sogar einen Screenshot machen oder ein Foto mit der Webcam aufnehmen, falls vorhanden.

c. Woran erkennt man, dass die Schwachstelle tatsächlich existiert:

Diese Schwachstelle wurde bereits von zuverlässigen Quellen wie dem NIST gemeldet, sogar von Apache selbst bestätigt und gepatcht. Aber um dies zu beweisen, können wir einen weiteren PoC mit Metasploit durchführen.

Zuerst haben wir bestätigt, dass die installierte Version eine anfällige Version ist.

Nachdem wir die Version bestätigt haben, können wir unsere Metasploit-Sitzung mit der richtigen IP und Port konfigurieren und den Befehl „check“ ausführen, um zu überprüfen, ob das Ziel anfällig ist.

Schließlich können wir den Befehl „exploit“ ausführen, um den Exploit zu starten, und bestätigen, dass die Shell aktiv ist, indem wir „dir“ in die Shell eingeben. Von hier aus ist die einzige Einschränkung die Benutzerberechtigung des Benutzers, der den Apache Tika-Server ausführt.

Tool herunterladen