15 nov 2022

Robo de contraseñas infosec #Mastodon, sin saltear CSP

Todo el mundo en Twitter parece estar saltando al servidor infosec.exchange de Mastodon, así que el investigador Gareth Heyes @garethheyes de Portswigger decidió ver de qué se trataba.

Primero, comenzó a probar para ver si HTML o Markdown eran admitidos y luego @ret2bed señaló que podía cambiar sus preferencias para habilitar HTML. Así es, una red social que te permite publicar HTML. ¿Qué podría salir mal?

De todos modos Markdown parecía bastante limitado. Principalmente esperaba bloques de código, pero no se materializaron. Al probar HTML, las cosas básicas como etiquetas en negrita, parecían funcionar en la web pero no en dispositivos móviles. Mientras estaba probando, @securitymb brindó un enlace al código fuente de los filtro HTML y apareció un vector muy interesante donde estaban decodificando entidades: La sensación es que el filtro HTML de esta plataforma no era el mejor.

Estudiando el código fuente, Gareth descubrió que admitía algunos atributos diferentes y el que parecía más prometedor era el atributo "title", ¿tal vez se puedan incrustar etiquetas allí y saltearlo?

Entrada:

<abbr title="<img src=1 onerror=alert(1)>">test</abbr>

Salida:

<abbr title="<img src=1 onerror=alert(1)>">test</abbr>

El contenido del atributo se mantuvo tal cual, pero después de muchos "toots" privados diferentes, no parecía encontrar una manera de saltar la validación del atributo.

De todos modos, observó que algunas personas utilizaban el ícono azul de "Verificado" en su nombre y, después de hacer algunas preguntas y pruebas, descubrió que si utilizabas el texto: :verified:, el mismo es reemplazado por una imagen tipo ícono. ¿Qué sucede si se cambia por lo siguiente?

<abbr title="<a href='https://blah'>:verified:</a><iframe src=//foo.com/>">

Para su sorpresa, ¡funcionó! Al inspeccionar el HTML se puede ver que el iframe cargando el sitio web completo, gracias a una directiva frame-src demasiado laxa para los iframes, los cuales permitían cualquier URL con HTTPS.

Luego, el usuario @albinowax sugirió que se intentaran robar contraseñas usando formularios para falsificar el POST de inicio de sesión de la red social, lo cual también funcionaba sin problemas e incluso, Chrome completa las credenciales correctamente.

El investigador informó de esta vulnerabilidad a Mastodon, quienes lanzaron las versiones 4.0.1, 3.5.5 y 3.4.10 para mitigar el problema. Finalmente, no olviden activar la autenticación de dos factores.

Fuente: Portswigger

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!