Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cve-2018-1335 — CENG 325 - Principes de sécurité de l'information et de la vie privée | Kitploit
Outils/GitHubGitHub/canumay/cve-2018-1335
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleApprentissage et Éducation
GitHubcanumay/cve-2018-1335

cve-2018-1335

CENG 325 - Principes de sécurité de l'information et de la vie privée

Voir le dépôt
14il y a 5 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Département de génie informatique de l’Université Ankara Yildirim Beyazut

CENG 325 - Principes de la sécurité de l’information et de la vie privée

CENG201 OOP Project

Membres du groupe

@canumay @aslihann @ezgigucuyener @mburakdonmez

Références

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

Avertissement

Le code d’exploitation est écrit par le chercheur en cybersécurité David Yesland @Daveysec et doit être utilisé à des fins éducatives.

Jalon 1 – Recherche de vulnérabilité

a. Une brève description de la vulnérabilité

  • Le type : injection de commande
  • Le facteur d’impact : Le score d’impact de la vulnérabilité est de 5,9 selon les métriques d’impact CVSS. Les trois critères que sont la confidentialité, l’intégrité et la disponibilité sont élevés.
  • Le score de gravité : Le score de gravité de la vulnérabilité est de 8,1 selon les métriques du score de base CVSS. (CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)
  • Versions affectées de l’application vulnérable : Des versions 1.7 à 1.17 d’Apache Tika
  • Que signifie le type de la vulnérabilité
    • Présentez le type de la vulnérabilité et expliquez en quoi il diffère des autres types de vulnérabilités Le type de vulnérabilité est l’injection de commande. Cela est dû au fait que les applications vulnérables transmettent des données utilisateur non assainies au shell du système, ce qui permet d’exécuter du code malveillant. Si l’on compare cette vulnérabilité à l’injection de code, on constate certaines différences. Par exemple, l’injection de code permet à l’attaquant d’utiliser son propre code, exécuté par l’application. Mais avec l’injection de commande, l’attaquant modifie les fonctionnalités de l’application, ce qui permet aux utilisateurs d’exécuter des commandes système.

b. La manière d’exploiter la vulnérabilité

  • Quels types d’attaques peuvent être menées après avoir déclenché la vulnérabilité : Après avoir déclenché la vulnérabilité, nous pouvons facilement créer un reverse shell, et avec ce shell, nous pouvons essentiellement exécuter toutes les commandes disponibles pour l’utilisateur qui exécute le serveur Apache Tika.

  • Comment un attaquant exploite-t-il les systèmes vulnérables à l’aide de cette vulnérabilité : Tout d’abord, l’attaquant doit déterminer si le serveur exécute une version vulnérable du serveur Apache Tika. Ensuite, il génère un en-tête HTTP malveillant et le code Jscript avant d’envoyer une requête PUT au point de terminaison HTTP vulnérable, ce qui amène le serveur Apache Tika à exécuter le code malveillant en utilisant ses propres fonctionnalités.

  • La vulnérabilité est-elle utilisée dans des kits d’exploitation : Oui, cette vulnérabilité est disponible dans le kit d’exploitation Metasploit.

Jalon 2 – Code d’exploitation

a. Trouvez ou créez un code d’exploitation qui exploite la vulnérabilité

b. Mettez en évidence les parties de code vulnérables et expliquez pourquoi elles sont vulnérables

Le serveur Apache Tika construit une commande à exécuter avec les valeurs fournies par l’utilisateur dans la requête pour exécuter l’OCR sur les images. Cela permet aux utilisateurs de manipuler la commande et d’exécuter du code malveillant. Dans ce cas, « config.getTesseractPath() » récupère l’en-tête « X-Tika-OCRTesseractPath » et l’ajoute au début de la commande. Bien que la chaîne « tesseract.exe » soit ajoutée à la fin du chemin fourni par l’utilisateur, celui-ci peut entourer son chemin avec des guillemets doubles pour ignorer la chaîne « tesseract.exe » qui suit. Cela permet à l’utilisateur d’exécuter n’importe quel exécutable sur le serveur.

La commande élaborée :

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

Le CScript.exe intégré à Windows est un langage de script qui prend un nom de fichier de script, l’exécute et ignore les autres arguments. Si nous pouvons fournir un script conçu pour cscript, nous pouvons l’exécuter sur le serveur. Le serveur Apache Tika prend l’image fournie dans le corps de la requête et l’enregistre dans un fichier temporaire pour exécuter l’OCR. Ainsi, au lieu d’envoyer un binaire d’image, nous pouvons directement envoyer une chaîne qui sera enregistrée comme s’il s’agissait d’un binaire. Mais le serveur Tika vérifie si le binaire est une image, à l’exception du type de fichier jp2, auquel cas il est enregistré directement. Ce fichier sera ensuite passé comme argument à l’exécutable cscript. Toutefois, l’extension du fichier sera toujours « .tmp », alors qu’il nous faut un « . JScript » ou « .vbs ». Pour contourner cela, nous pouvons demander à cscript d’exécuter « JScript » quel que soit le type d’extension. Le serveur Tika passe également « config.getPageSetMode() » à la commande, une valeur envoyée par l’utilisateur dans l’en-tête « X-TikaOCRLanguage ». Si nous la remplaçons par la chaîne « //E:Jscript », cscript exécutera le script en tant que JScript, quel que soit le type d’extension. Enfin, la chaîne fournie dans le corps sera le payload à exécuter, qui peut également appeler une autre console pour avoir un accès complet au shell du système.

La commande finale élaborée :

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

Un simple payload pour appeler le shell en Jscript :

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

Jalon 3 – L’exécution

a. Exécutez le code d’exploitation que vous avez trouvé ou créé :

Le serveur Apache Tika 1.17 s’exécute dans la machine virtuelle cible.

Nous pouvons accéder au serveur depuis notre machine hôte avec l’adresse IP « 192.168.233.167 ».

Ensuite, nous avons exécuté le code d’exploitation élaboré avec le payload « calc.exe » pour lancer la calculatrice dans la machine cible, afin de montrer que nous avons la capacité d’exécuter tout code malveillant dans la machine cible. De plus, grâce au reverse shell, nous pouvons créer une session shell interactive sur la machine cible.

b. Quels sont les résultats de l’exécution du code d’exploitation :

Comme expliqué plus haut, avec cet exploit, nous exécutons essentiellement le programme calculatrice dans la machine cible, mais grâce à la capacité d’exécution de code à distance, nous pouvons faire ce que nous voulons sur la machine cible avec les privilèges de l’utilisateur qui exécute le serveur Apache Tika. Par exemple, nous pouvons accéder aux fichiers de l’utilisateur, surveiller son activité et même prendre une capture d’écran ou une photo avec la webcam si elle existe.

c. Comment pouvez-vous savoir que la vulnérabilité existe réellement :

Cette vulnérabilité a déjà été signalée par des sources fiables comme le NIST, et même confirmée et corrigée par Apache lui-même. Mais pour le prouver, nous pouvons réaliser une autre preuve de concept (PoC) en utilisant Metasploit.

Tout d’abord, nous avons confirmé que la version installée est une version vulnérable.

Après avoir confirmé la version, nous pouvons configurer notre session Metasploit avec la bonne adresse IP et le bon port, puis exécuter la commande « check » pour vérifier si la cible est vulnérable.

Enfin, nous pouvons exécuter la commande « exploit » pour lancer l’exploit et confirmer que le shell est actif en tapant « dir » dans le shell. À partir de là, la seule limitation est celle des privilèges de l’utilisateur qui exécute le serveur Apache Tika.

Télécharger l’outil