Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2018-1335 — CENG 325 - Principios de Seguridad y Privacidad de la Información | Kitploit
Herramientas/GitHubGitHub/canumay/cve-2018-1335
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlAprendizaje y Educación
GitHubcanumay/cve-2018-1335

cve-2018-1335

CENG 325 - Principios de Seguridad y Privacidad de la Información

Ver Repositorio
1hace 5 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Universidad Ankara Yildirim Beyazit - Departamento de Ingeniería Informática

CENG 325 - Principios de Seguridad de la Información y Privacidad

CENG201 OOP Project

Miembros del Grupo

@canumay @aslihann @ezgigucuyener @mburakdonmez

Referencias

NVD - CVE-2018-1335

Exploit DB - Apache Tika-server < 1.18 - Inyección de Comandos

Rhino Security Labs - Explotación de CVE-2018-1335: Inyección de Comandos en Apache Tika

Metasploit

Descargo de responsabilidad

El código del exploit fue escrito por el investigador de ciberseguridad David Yesland @Daveysec y debe utilizarse únicamente con fines educativos.

Hito 1 – Investigación de Vulnerabilidades

a. Una breve descripción de la vulnerabilidad

  • El tipo: Inyección de Comandos
  • El factor de impacto: La puntuación de impacto de la vulnerabilidad es 5.9 según las métricas de impacto de CVSS. Las tres (confidencialidad, integridad y disponibilidad) son altas.
  • La puntuación de severidad: La puntuación de severidad de la vulnerabilidad es 8.1 según las métricas de la puntuación base de CVSS. (CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)
  • Versiones afectadas de la aplicación vulnerable: Desde Apache Tika versiones 1.7 hasta 1.17
  • Qué significa el tipo de la vulnerabilidad
    • Presenta el tipo de vulnerabilidad y analiza por qué es diferente de otros tipos de vulnerabilidades El tipo de vulnerabilidad es la inyección de comandos. Se debe a que las aplicaciones vulnerables pasan datos de usuario sin sanear al shell del sistema, lo que permite ejecutar código malicioso. Si comparamos esta vulnerabilidad con la inyección de código, encontramos algunas diferencias. Por ejemplo, la inyección de código permite al atacante usar su propio código, que es ejecutado por la aplicación. Pero con la inyección de comandos, el atacante modifica la funcionalidad de la aplicación, lo que permite a los usuarios ejecutar comandos del sistema

Hito 2 – Código del Exploit

a. Encuentra o crea un código de exploit que explote la vulnerabilidad

b. Resalta las piezas de código vulnerables y explica por qué son vulnerables

El servidor Apache Tika construye un comando para ejecutar, con los valores proporcionados por el usuario en la solicitud, para ejecutar OCR en imágenes. Esto permite a los usuarios manipular el comando y ejecutar código malicioso. En este caso, “config.getTesseractPath()” obtiene la cabecera “X-Tika-OCRTesseractPath” y la añade al principio del comando. Aunque la cadena “tesseract.exe” se añade al final de la ruta proporcionada por el usuario, este puede envolver su ruta con ‘ “ ’ (comillas dobles) para descartar la cadena “tesseract.exe” que sigue. Esto permite al usuario ejecutar cualquier ejecutable en el servidor.

El comando construido:

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

El CScript.exe integrado en Windows es un lenguaje de scripting que toma un nombre de archivo para un script y lo ejecuta, ignorando los demás argumentos. Si podemos proporcionar un script preparado para cscript, podemos ejecutarlo en el servidor. El servidor Apache Tika toma nuestra imagen proporcionada en el cuerpo y la guarda en un archivo temporal para ejecutar el OCR, por lo que, en lugar de enviar un binario de imagen, podemos enviar directamente una cadena y la cadena se guardará como si fuera un binario. Pero el servidor Tika comprueba si el binario es una imagen excepto para el tipo de archivo jp2, en cuyo caso se guarda directamente. Que se pasará como argumento al ejecutable cscript. Pero la extensión del archivo seguirá siendo “.tmp”, aunque necesitamos una “. JScript” o “.vbs”. Para superar esto, podemos indicar a cscript que ejecute “JScript” sin importar la extensión del archivo. El servidor Tika también pasa el “config.getPageSetMode()” al comando, que es enviado por el usuario en la cabecera “X-TikaOCRLanguage”. Si lo cambiamos por la cadena “//E:Jscript”, cscript ejecutará el script como JScript sin importar la extensión del archivo. Y finalmente, la cadena proporcionada en el cuerpo será el payload a ejecutar, que también puede invocar otra consola para tener acceso completo al shell del sistema.

El comando final construido:

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 payload simple para llamar a la shell en Jscript:

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

Hito 3 – La Ejecución

a. Ejecuta el código de exploit que encuentres o crees:

Apache Tika Server 1.17 se está ejecutando dentro de la máquina virtual objetivo.

Podemos acceder al servidor desde nuestra máquina anfitriona con la IP “192.168.233.167”.

Luego ejecutamos el código de exploit construido con el payload “calc.exe” para ejecutar la calculadora dentro de la máquina objetivo, para demostrar que tenemos la capacidad de ejecutar cualquier código malicioso dentro de la máquina objetivo. Además, con el poder de la reverse shell, podemos crear una sesión de shell interactiva en la máquina objetivo.

b. ¿Cuáles son los resultados de la ejecución del código de exploit?

Como explicamos anteriormente, con este exploit básicamente ejecutamos el programa de la calculadora dentro de la máquina objetivo, pero con la capacidad de ejecución remota de código podemos hacer lo que queramos en la máquina objetivo con los privilegios del usuario que ejecuta el servidor Apache Tika. Por ejemplo, podemos acceder a los archivos del usuario, monitorear su actividad e incluso tomar una captura de pantalla o una foto con la cámara web si existe.

c. ¿Cómo puedes saber que la vulnerabilidad realmente existe?

Esta vulnerabilidad ya ha sido reportada por fuentes confiables como NIST, e incluso confirmada y parcheada por Apache. Pero para demostrarlo, podemos hacer otra PoC usando metasploit.

Primero, confirmamos que la versión instalada es una versión vulnerable.

Después de confirmar la versión, podemos configurar nuestra sesión de metasploit con la IP y el puerto correctos y ejecutar el comando “check” para verificar si el objetivo es vulnerable.

Finalmente, podemos ejecutar el comando “exploit” para iniciar el exploit y confirmar que la shell está activa escribiendo “dir” en la shell. A partir de aquí, la única limitación son los privilegios del usuario que ejecuta el servidor Apache Tika.

Descargar herramienta