GhosCat la amenaza de servidores Tomcat
¿Qué es GhostCat?
Es una vulnerabilidad de nivel alto descubierta por Chaitin Tech el 20 de febrero. Debido a un falla en el protocolo Tomcat AJP, un atacante puede leer o incluir archivos locales y hacer deployment de aplicaciones.
Esta vulnerabilidad afecta a todas las versiones de Tomcat en la configuración predeterminada (cuando encontramos esta vulnerabilidad, se confirmó que afectaba a todas las versiones de Tomcat 8/9/7/6 y no se verificaron las versiones anteriores que eran demasiado antiguas), lo que significa que ha estado latente en Tomcat por más de una década.
¿Qué tan peligroso puede llegar a ser GhostCat?
GhostCat tiene permisos de lectura de archivos mediante explotación del protocolo AJP en su puerto por defecto 8009, y esta vulnerabilidad puede ser combinada con alguna vulnerabilidad file upload que pueda existir en el servidor para realizar ejecución de código remoto.
¿Qué versiones son actual mente vulnerables?
- Apache Tomcat 9.x < 9.0.31
- Apache Tomcat 8.x < 8.5.51
- Apache Tomcat 7.x < 7.0.100
- Apache Tomcat 6.x
¿Mexico que tan vulnerable es a este ataque?
Mediante una investigación en Zoomeye en México existen un aproximado de 14,627 y 50 objetivos probables en shodan.
¿Cómo puedo saber si soy vulnerable GhostCat?
Dentro de la pagina oficial de CHAITIN puedes encontrar una herramienta que permite escanear tu equipo online o usarla descargar la herramienta disponible para todas las plataformas de escritorio.
¿Cómo instalar esta aplicación?
Paso 1: Accedemos al github oficial de Chaitin https://github.com/chaitin/xray/releases.
Paso 2: Descargamos el archivo
curl -O https://github.com/chaitin/xray/releases/download/0.20.0/xray_darwin_amd64.zip
Paso 3: Descomprimir el archivo
unzip xray_darwin_amd64.zip
Paso 4: Ejecución
./xray_darwin_amd64 servicescan --target ip:port
Estos pasos pueden variar dependiendo del sistema operativo.
Tambien se encuntran las siguientes herramientas en github para escaneo:
- https://github.com/woaiqiukui/CVE-2020-1938TomcatAjpScanner
- https://github.com/delsadan/CNVD-2020-10487-Bulk-verification
- https://github.com/Kit4y/CNVD-2020-10487-Tomcat-Ajp-lfi-Scanner
- https://github.com/fatal0/tomcat-cve-2020-1938-check
- https://github.com/adeljck/CNVD-2020-10487_scanner
Explotando vulnerabilidad GhostCat
Esta vulnerabilidad ya cuenta con una gran variedad de exploits desarrollados en múltiples lenguajes, y entre los mas populares la mayoría son hechos en python.
- https://github.com/dacade/cve-2020-1938
- https://github.com/ze0r/GhostCat-LFI-exp
- https://github.com/laolisafe/CVE-2020-1938
- https://github.com/00theway/Ghostcat-CNVD-2020-10487
- https://github.com/xindongzhuaizhuai/CVE-2020-1938
- https://github.com/0nise/CVE-2020-1938
- https://github.com/nibiwodong/CNVD-2020-10487-Tomcat-ajp-POC
- https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
- https://github.com/LandGrey/ClassHound
- https://github.com/fairyming/CVE-2020-1938
- https://github.com/jiangsir404/POC-S
- https://github.com/w4fz5uck5/CVE-2020-1938-Clean-Version
Entre todas estas herramientas, se hara uso de la primer herramienta por contar con el código necesario y no necesitar instalación de librerías extra
curl -O https://raw.githubusercontent.com/dacade/cve-2020-1938/master/tomcat.py
una vez descargado lo ejecutamos con python3
python3 tomcat.py URL -f /WEB-INF/../../LICENSE -p 8009
y nos regresara lo siguiente:
Esto nos menciona que tenemos permiso de incluir archivos, lo cual parece ser algo sencillo, pero esto puede volverse mas complejo, si la aplicación cuenta con alguna sección que permita subir archivos, nos permitiría ejecutar el código y obtener una shell reversa.
Versiones reparadas ante esta vulnerabilidad:
- 2020/01/03:Chaitin Tech Reporto la vulnerabilidad a Apache Tomcat official
- 2020/02/11:Apache Tomcat released 9.0.31 and 8.5.51 fueron parchadas
- 2020/02/14:Apache Tomcat released 7.0.100 se parcho la vulneravilidad