Bienvenidos a esta nueva clase en la cual estaremos haciendo un nuevo ataque de C. s R.F.
Y en esta ocasión vamos a hablar un poco acerca de lo que son los topen se crf.
Para ello iremos a nuestro por su Viguer Academy y vamos a buscar los laboratorios de ese R.F.
Los tenemos por acá.
Luego vamos a bajar un poco para encontrar el laboratorio, quedamos estar resolviendo y vamos a estar
resolviendo el laboratorio número 3.
Ahora, antes de empezar a resolver este laboratorio, me gustaría que vea acá arriba un poco más de
otros laboratorios disponibles.
Y por ejemplo, acá tenemos un laboratorio que es ataques CRF sin defensas cuando estás indefensa.
Esto es un ejemplo como el que hicimos en la clase anterior.
Nosotros pudimos hacer un ataque sin tener ningún problema porque no había una defensa contra este tipo
de ataque.
Entonces eso ya lo cubrimos por acá abajo.
Tenemos un baipás que le podríamos hacer a todos los top 15 CRF.
Y es que tal vez el token está siendo validado dependiendo del método utilizado.
Qué pasa?
Quizá la verificación de la existencia del token o la verificación de que token sea correcto sólo se
verifica cuando se hace una petición por medio de post, pero no se hace por medio de GIT.
También podría pasar que la verificación dependa de que si el token está o no está.
Eso quiere decir que un atacante podría ejecutar un ataque como el que hicimos en el vídeo pasada.
Tal vez la aplicación sí está implementando tokens, pero esta aplicación solamente hace un chequeo
cuando ve que está el token y si el token ve que incorrecto, entonces impide que el ataque se ejecuta
con éxito.
Pero si la petición no lleva el token del todo, entonces va a ocurrir que no hay ningún proceso de
verificación porque no encuentra ningún token que verificar.
Entonces dice bueno, no hay nada que verificar.
Está bien que la petición sigue.
Y luego tenemos por acá el laboratorio que estaremos haciendo.
Cuando el token no le pertenece exactamente a la sesión del usuario, entonces vamos a abrir este laboratorio
y vamos a ver cómo hacerlo baipás a esto.
Desde que estamos viendo que todo le pertenece al usuario, una cosa que debería de venir a la mente
de ustedes es que podrían ocupar un token que nos pertenezca a nosotros.
Ya si el toque no le pertenece exactamente al usuario, quiere decir que no hay un proceso que verifique
algo como el token 1-2-3 le pertenece al usuario.
No hay una verificación así.
Simplemente está ocurriendo una verificación del tipo.
El toque 1-2-3 está dentro de un gran listado de tokens que nosotros tenemos y si hay un token que tal
vez nos pertenece a nosotros, ese token obviamente pertenece al gran listado de tokens que son generados
por parte de la aplicación.
Y mientras nosotros brindemos un token que está dentro de esa gran lista, vamos a poder hacer un baipás
que ahorita no es muy claro.
Pero no se preocupen, ya lo vamos a ver.
En la práctica vamos a acceder al laboratorio y ahora vamos a ir a la parte de Accounts Lobby.
Y aquí empieza la cuestión con los token se crf.
Vean qué ocurre si nosotros inspeccionamos el código fuente.
Van a ver que si hacen una búsqueda de ese R.F.
Vamos a encontrar un token que está oculto dentro de este código.
Como pueden ver, aquí está como Hippo Oculto y hay un token CRF cuyo valor es este.
Entonces, qué pasa cuando nosotros no lo vimos?
La petición del lobby debe contener este token.
Si no contiene este token va a haber problemas con la petición que vamos a ver como esto pasa.
Así que vamos a encender Oxy Proxy y vamos a habilitar nuestro switch.
Bueno, lo que haremos ahora es lo guiarnos con las credenciales que nos están dando para el laboratorio,
las cuales son Wiesner y Pirar.
Y fíjense que también tenemos otras credenciales que son Carlos y Montoya.
Ya luego veremos para qué son otras credenciales.
Vamos a ocupar estas por ahora.
Entonces vamos a decir acá Wiesner y pítcher.
íbamos a interceptar la petición.
Vean qué pasa, quiero hacer una comparación de los toquín que tenemos una comparación entre Hocking
que está en el código y entre el Hocking que viaja en la petición, van a ver que son los mismo.
Ahora a copiar el que está por acá y van a ver que son exactamente iguales.
Como pueden ver, son los mismos.
Ahora qué pasaría si yo edito este token?
Vean que estoy dando Arnheim y el hardware correctos.
Será que vaya a haber problemas por no brindar el toque incorrecto?
Bueno, eso ya lo veremos hacer.
Un forward y de chamas a pagar en Intercept.
Como pueden ver, dice que hay un token inválido.
Entonces esta una protección que es que el sitio web está implementando para que no puedan ocurrir ataques
como el anterior.
Y es que un ataque como al anterior, la aplicación hubiese dicho que la petición está bien formada.
Te voy a dar permiso de cambiar contraseña, pero antes de eso dejame ver si el token que le pertenece
al usuario que quiere cambiar la contraseña y si la aplicación hubiese visto que no existía el token
que le pertenece a ese usuario en específico, hubiese dicho no.
Vos no sos el usuario que tenés que tiene este token.
Entonces?
Entonces eso quiere decir que no te puedo dejar cambiar la contraseña a menos que tenga el token de
que el usuario y que lo que pasa para que un atacante pueda obtener acceso a ese token va a tener que
resultar que el atacante pueda ver el código fuente de la página en la que está navegando, como lo
vimos en el caso anterior.
Y esa es una de las potencias más geniales que tiene este tipo de protección.
Así que continuemos con nuestro ataque.
Vamos a cerrar, estoy acá y voy a volver a abrir el laboratorio.
Ahora por acá nos vamos a ir a la parte del lobby y primero vamos a entrar como Wiesner y luego como
el usuario Carlos, solo vamos a estar haciendo en una pestaña en modo incógnito, así que presionamos
contra el chip Axpe.
Y ahora vamos con las credenciales de Carlos y Montoya, entonces por acá escribimos Carlos Montoya.
Bien, ahora quiero que veamos algo.
Si nosotros examinamos el código fuente en la parte de acá vamos a ver que no se encuentra ningún token
se crf.
Y es que en esta página que estamos viendo no hay alguna cosa que pueda ser del interés de el atacante.
No hay alguna cosa que el atacante le interese, que nosotros ejecutemos alguna petición.
Pero qué pasaría en la parte de cambiar y meil la parte de cambiar email?
Puede ser algo que un atacante le gustaría que nosotros hagamos.
Entonces eso quiere decir que esta página de acá sí debería de tener protección de CRF.
Vamos a examinar el código fuente y vamos a volver a buscar esto y vamos a ver si hay.
Y en efecto, por acá tenemos un token.
Entonces esta parte si está siendo asegurada y es excelente porque aquí sí se necesita seguridad, ya
que si un atacante falsifica la petición de cambio de correo podría ser algo fatal.
Bien, ahora vamos a hacer lo siguiente voy a regresar a mi usuario de Warner.
Voy a ir a la parte de cambiar correo y luego vamos a inspeccionar el código fuente.
Ahora qué más vamos a hacer?
Lo que haremos es intentar hacer un cambio de correo para interceptar la petición.
Vamos a escribir o la arroba Hola.com sea el Intercept y Taichí Meio.
Ahora estoy acá, lo vamos a copiar y lo vamos a votar.
Y lo próximo va a ser utilizar lo del ataque del vídeo pasado a nuestra carpeta de scripts y luego nuestra
carpeta de CRF.
Y ahora para qué vamos a decir sudo Payton 3 menos m http: punto server para generar nuestra plantilla.
Olvidé describir al puerto 80 Calí y entonces ahora vamos a venir a generar nuestra plantilla.
Pagamos el Intercept.
Por acá vamos a pegar esto y generar, entonces esta es la plantilla que vamos a utilizar para nuestro
ataque, vamos a recuperarlo y a diferencia del video anterior, no voy a estar montando mi servidor
local.
En esta ocasión voy a ocupar un servidor que ya me está dando por Swaggart.
Si vamos a la parte de acá vamos a ver que hay algo que hice Kotex Exploit Server y Podemos Sinaia y
utilizar este servidor.
Entonces vamos a bajar un poco, vamos a borrar esto y vamos a pegar.
Ahora necesitamos cambiar esto de acá, ya que es muy posible que este toquen, ya haya sido utilizado
cuando mandé la petición y estos token son generados una vez por petición y eso es muy bueno, ya que
si hubiese un token fijo, entonces el atacante en caso de ser capaz de robar un token, podría estarlo
utilizando en contra de nosotros y eso no nos conviene ahora antes de continuar.
Me gustaría que entendamos lo que estoy haciendo y es que esta parte es la del ataque del video anterior,
pero fíjense que acá estoy ubicando el token que le pertenece al usuario Wiesner.
Yo no estoy utilizando el token que le pertenece al usuario Carlos.
Y qué ocurre si esta aplicación estuviera protegida de manera correcta?
Entonces no sería posible ejecutar mi ataque con el token de otra persona.
Sin embargo, esta aplicación tiene una falla y lo que está haciendo es simplemente verificar si este
token pertenece a los tokens que han sido generados por la aplicación.
Y como este token sí ha sido generado por nuestra aplicación, entonces lo va a aceptar.
Ahora vamos hacer un pequeño arreglo para que nuestro ataque luzca un poco mejor.
Entonces vamos a hacer lo siguiente vamos a escribir un pequeño párrafo que diga Hola, si has visitado
este sitio web Koma, tu cuenta ha sido hackeada y cerramos el párrafo por acá.
Ahora vamos a añadir un pequeño script en esa parte de acá para que se ejecute una vez descargado nuestra
página.
Iba a ocurrir lo siguiente vamos a decir documents, punto fórums y vamos añadir esto de acá y un 0.
Ahora que estoy diciendo acá.
Bueno, yo quiero que entre todos los forums que se encuentren aquí en mi código tomes el número cero
y por qué el número cero.
Eso es bastante simple.
Recuerden que cuando hablamos de computación en computación uno empieza a contar desde el cero.
El cero representa el primer elemento.
Entonces, cuando yo acá digo el cero, estoy diciendo quiero que me mandes a llamar al primer foram,
que es este de acá el que contiene nuestra petición.
Y qué quiero que pase con ese follón?
Yo quiero que automáticamente me lagash submit.
Entonces ahora va a lucir como esto.
Luego lo que vamos a hacer es decir estor para que sea almacenado en el servidor.
Y por acá, como podemos ver, dice que el laboratorio ha sido resuelto.
Excelente, ni siquiera tuve que decirle ver exploits, así que ahora los que podríamos hacer es decir,
ver exploit para ver cómo se veía nuestro ataque en realidad.
Entonces vamos a decir ver exploits y esperemos, por ahí está nuestro mensaje.
Y ahora dice Token invalido.
Bueno, entonces vamos a buscar un nuevo token para volver a lanzar nuestro ataque.
Atrás, una vez más íbamos a venir a esta parte de donde habíamos cargado el código fuente.
Solo presionamos F5 para recargar y ahora iremos hacia la parte de abajo.
Copiamos el nuevo token.
Regresamos acá y vamos a reemplazar en anterior pegamos.
Y voy a decir en video exploits directamente.
También podía encender el Intercept y ahora veamos como marcha esto.
Aquí se está mandando el post con esta información, todavía no con una petición de cambiar el correo.
Continuamos con la petición, ahora vemos que hay un jet hacia el exploit.
Ya van a entender esto más adelante por acá, si se fijan sería la web R.L.
Del sitio controlado por el atacante.
Entonces, cuando una víctima venga a visitar este sitio va a ver este mensaje y automáticamente la
petición de cambiar el correo electrónico va a haber sido lanzada.
Y eso es bastante interesante, porque con el simple hecho de visitar el sitio sin necesidad de hacer
clic en algún voto o con algún lace, ya va a haber sido lanzado al ataque.
Entonces, ahora vamos a continuar con esto.
Y la taquilla va a estar hecho.
Es más, si se fijaron en la petición anterior, estaba el post a la parte de Dime y Ingemmet.
Se quiere decir que cuando había cargado esto de acá ya se había cargado directamente la petición de
Post para cambiar correo electrónico.
Entonces continuemos con esto y pueden ver que ya nos redirigió hacia este lugar de aquí donde el correo
fue cambiado.
Entonces nuestro ataque ha sido un éxito.
Espero que haya gustado la clase en esta ocasión para la sección, no una tarea específica asignada,
pero les voy a aconsejar que intenten resolver los otros laboratorios.
Laboratorio de acá está bastante sencillo.
Lo único que van a tener que hacer es cambiar el método.
Bueno, déjeme ver bien.
Hay tres laboratorios arriba del que acabamos de resolver.
Está el primero por acá.
Este laboratorio es exactamente el mismo que la práctica que hicimos antes.
En el vídeo pasado seguimos bajando.
Tenemos este laboratorio en el cual es la misma práctica del vídeo pasado, pero esta vez cuidado con
el método.
Van a tener que probar si es post o si es el método que nos ayuda a ser baipás y eso lo van a cambiar
en la parte de acá.
Solamente cambiarían por acá post Foguet.
Por otra parte, tenemos el siguiente laboratorio donde van a ser exactamente el mismo ataque.
El video pasado, pero en esta ocasión tendrían que borrar la parte de Token.
Entonces les quedaría algo así.
Y también como consejo intenté hacer de la manera en la cual mostré por acá que con esta nueva línea
para que el ataque se vea mejor, bastante más realista, entonces esto ha sido todo.
Por ahora en la próxima sección vamos a descansar un poco de la rutina y vamos a hacer un ejercicio
bastante interesante.
Así que los veo en la próxima sección.