1
00:00:00,510 --> 00:00:06,620
Bienvenidos a esta nueva clase en la cual estaremos haciendo un nuevo ataque de C. s R.F.

2
00:00:07,370 --> 00:00:12,540
Y en esta ocasión vamos a hablar un poco acerca de lo que son los topen se crf.

3
00:00:13,140 --> 00:00:20,640
Para ello iremos a nuestro por su Viguer Academy y vamos a buscar los laboratorios de ese R.F.

4
00:00:21,150 --> 00:00:22,480
Los tenemos por acá.

5
00:00:24,540 --> 00:00:31,680
Luego vamos a bajar un poco para encontrar el laboratorio, quedamos estar resolviendo y vamos a estar

6
00:00:31,680 --> 00:00:36,510
resolviendo el laboratorio número 3.

7
00:00:37,320 --> 00:00:43,370
Ahora, antes de empezar a resolver este laboratorio, me gustaría que vea acá arriba un poco más de

8
00:00:43,380 --> 00:00:45,240
otros laboratorios disponibles.

9
00:00:47,100 --> 00:00:55,620
Y por ejemplo, acá tenemos un laboratorio que es ataques CRF sin defensas cuando estás indefensa.

10
00:00:55,970 --> 00:00:59,970
Esto es un ejemplo como el que hicimos en la clase anterior.

11
00:01:00,620 --> 00:01:07,160
Nosotros pudimos hacer un ataque sin tener ningún problema porque no había una defensa contra este tipo

12
00:01:07,160 --> 00:01:07,700
de ataque.

13
00:01:08,130 --> 00:01:11,180
Entonces eso ya lo cubrimos por acá abajo.

14
00:01:11,180 --> 00:01:16,680
Tenemos un baipás que le podríamos hacer a todos los top 15 CRF.

15
00:01:17,510 --> 00:01:24,080
Y es que tal vez el token está siendo validado dependiendo del método utilizado.

16
00:01:24,440 --> 00:01:24,920
Qué pasa?

17
00:01:24,990 --> 00:01:31,700
Quizá la verificación de la existencia del token o la verificación de que token sea correcto sólo se

18
00:01:31,700 --> 00:01:37,450
verifica cuando se hace una petición por medio de post, pero no se hace por medio de GIT.

19
00:01:39,800 --> 00:01:46,700
También podría pasar que la verificación dependa de que si el token está o no está.

20
00:01:46,940 --> 00:01:54,260
Eso quiere decir que un atacante podría ejecutar un ataque como el que hicimos en el vídeo pasada.

21
00:01:54,740 --> 00:02:02,720
Tal vez la aplicación sí está implementando tokens, pero esta aplicación solamente hace un chequeo

22
00:02:02,930 --> 00:02:09,980
cuando ve que está el token y si el token ve que incorrecto, entonces impide que el ataque se ejecuta

23
00:02:09,980 --> 00:02:10,550
con éxito.

24
00:02:11,180 --> 00:02:16,940
Pero si la petición no lleva el token del todo, entonces va a ocurrir que no hay ningún proceso de

25
00:02:16,940 --> 00:02:19,820
verificación porque no encuentra ningún token que verificar.

26
00:02:19,830 --> 00:02:21,940
Entonces dice bueno, no hay nada que verificar.

27
00:02:21,950 --> 00:02:24,080
Está bien que la petición sigue.

28
00:02:25,580 --> 00:02:29,120
Y luego tenemos por acá el laboratorio que estaremos haciendo.

29
00:02:29,150 --> 00:02:36,800
Cuando el token no le pertenece exactamente a la sesión del usuario, entonces vamos a abrir este laboratorio

30
00:02:36,890 --> 00:02:39,500
y vamos a ver cómo hacerlo baipás a esto.

31
00:02:41,180 --> 00:02:45,860
Desde que estamos viendo que todo le pertenece al usuario, una cosa que debería de venir a la mente

32
00:02:45,860 --> 00:02:51,170
de ustedes es que podrían ocupar un token que nos pertenezca a nosotros.

33
00:02:51,270 --> 00:02:57,050
Ya si el toque no le pertenece exactamente al usuario, quiere decir que no hay un proceso que verifique

34
00:02:57,140 --> 00:03:01,910
algo como el token 1-2-3 le pertenece al usuario.

35
00:03:02,270 --> 00:03:03,590
No hay una verificación así.

36
00:03:03,920 --> 00:03:06,560
Simplemente está ocurriendo una verificación del tipo.

37
00:03:06,790 --> 00:03:19,610
El toque 1-2-3 está dentro de un gran listado de tokens que nosotros tenemos y si hay un token que tal

38
00:03:19,610 --> 00:03:26,570
vez nos pertenece a nosotros, ese token obviamente pertenece al gran listado de tokens que son generados

39
00:03:26,570 --> 00:03:27,860
por parte de la aplicación.

40
00:03:28,000 --> 00:03:32,960
Y mientras nosotros brindemos un token que está dentro de esa gran lista, vamos a poder hacer un baipás

41
00:03:33,160 --> 00:03:34,340
que ahorita no es muy claro.

42
00:03:34,370 --> 00:03:36,290
Pero no se preocupen, ya lo vamos a ver.

43
00:03:36,290 --> 00:03:42,480
En la práctica vamos a acceder al laboratorio y ahora vamos a ir a la parte de Accounts Lobby.

44
00:03:43,070 --> 00:03:47,360
Y aquí empieza la cuestión con los token se crf.

45
00:03:47,900 --> 00:03:51,980
Vean qué ocurre si nosotros inspeccionamos el código fuente.

46
00:03:53,030 --> 00:03:57,290
Van a ver que si hacen una búsqueda de ese R.F.

47
00:03:57,740 --> 00:04:02,150
Vamos a encontrar un token que está oculto dentro de este código.

48
00:04:02,430 --> 00:04:10,430
Como pueden ver, aquí está como Hippo Oculto y hay un token CRF cuyo valor es este.

49
00:04:11,420 --> 00:04:14,820
Entonces, qué pasa cuando nosotros no lo vimos?

50
00:04:15,110 --> 00:04:18,580
La petición del lobby debe contener este token.

51
00:04:19,040 --> 00:04:26,180
Si no contiene este token va a haber problemas con la petición que vamos a ver como esto pasa.

52
00:04:26,570 --> 00:04:32,340
Así que vamos a encender Oxy Proxy y vamos a habilitar nuestro switch.

53
00:04:32,680 --> 00:04:37,760
Bueno, lo que haremos ahora es lo guiarnos con las credenciales que nos están dando para el laboratorio,

54
00:04:37,760 --> 00:04:41,300
las cuales son Wiesner y Pirar.

55
00:04:41,360 --> 00:04:45,830
Y fíjense que también tenemos otras credenciales que son Carlos y Montoya.

56
00:04:46,400 --> 00:04:48,530
Ya luego veremos para qué son otras credenciales.

57
00:04:48,620 --> 00:04:50,150
Vamos a ocupar estas por ahora.

58
00:04:50,930 --> 00:04:55,280
Entonces vamos a decir acá Wiesner y pítcher.

59
00:04:56,470 --> 00:04:58,990
íbamos a interceptar la petición.

60
00:05:01,680 --> 00:05:08,060
Vean qué pasa, quiero hacer una comparación de los toquín que tenemos una comparación entre Hocking

61
00:05:08,070 --> 00:05:15,110
que está en el código y entre el Hocking que viaja en la petición, van a ver que son los mismo.

62
00:05:17,780 --> 00:05:23,610
Ahora a copiar el que está por acá y van a ver que son exactamente iguales.

63
00:05:25,220 --> 00:05:26,810
Como pueden ver, son los mismos.

64
00:05:27,590 --> 00:05:30,920
Ahora qué pasaría si yo edito este token?

65
00:05:31,940 --> 00:05:35,960
Vean que estoy dando Arnheim y el hardware correctos.

66
00:05:36,420 --> 00:05:39,740
Será que vaya a haber problemas por no brindar el toque incorrecto?

67
00:05:39,950 --> 00:05:42,610
Bueno, eso ya lo veremos hacer.

68
00:05:42,620 --> 00:05:45,830
Un forward y de chamas a pagar en Intercept.

69
00:05:48,060 --> 00:05:50,830
Como pueden ver, dice que hay un token inválido.

70
00:05:51,200 --> 00:05:58,020
Entonces esta una protección que es que el sitio web está implementando para que no puedan ocurrir ataques

71
00:05:58,020 --> 00:05:58,860
como el anterior.

72
00:05:59,370 --> 00:06:05,340
Y es que un ataque como al anterior, la aplicación hubiese dicho que la petición está bien formada.

73
00:06:06,600 --> 00:06:13,860
Te voy a dar permiso de cambiar contraseña, pero antes de eso dejame ver si el token que le pertenece

74
00:06:13,920 --> 00:06:20,670
al usuario que quiere cambiar la contraseña y si la aplicación hubiese visto que no existía el token

75
00:06:20,670 --> 00:06:23,800
que le pertenece a ese usuario en específico, hubiese dicho no.

76
00:06:24,660 --> 00:06:27,880
Vos no sos el usuario que tenés que tiene este token.

77
00:06:28,020 --> 00:06:28,740
Entonces?

78
00:06:31,230 --> 00:06:37,430
Entonces eso quiere decir que no te puedo dejar cambiar la contraseña a menos que tenga el token de

79
00:06:37,440 --> 00:06:45,030
que el usuario y que lo que pasa para que un atacante pueda obtener acceso a ese token va a tener que

80
00:06:45,030 --> 00:06:49,750
resultar que el atacante pueda ver el código fuente de la página en la que está navegando, como lo

81
00:06:49,750 --> 00:06:50,940
vimos en el caso anterior.

82
00:06:51,310 --> 00:06:56,730
Y esa es una de las potencias más geniales que tiene este tipo de protección.

83
00:06:57,240 --> 00:06:59,250
Así que continuemos con nuestro ataque.

84
00:06:59,700 --> 00:07:04,340
Vamos a cerrar, estoy acá y voy a volver a abrir el laboratorio.

85
00:07:07,840 --> 00:07:16,420
Ahora por acá nos vamos a ir a la parte del lobby y primero vamos a entrar como Wiesner y luego como

86
00:07:16,750 --> 00:07:24,010
el usuario Carlos, solo vamos a estar haciendo en una pestaña en modo incógnito, así que presionamos

87
00:07:24,010 --> 00:07:25,370
contra el chip Axpe.

88
00:07:26,930 --> 00:07:35,710
Y ahora vamos con las credenciales de Carlos y Montoya, entonces por acá escribimos Carlos Montoya.

89
00:07:36,360 --> 00:07:38,580
Bien, ahora quiero que veamos algo.

90
00:07:38,580 --> 00:07:46,510
Si nosotros examinamos el código fuente en la parte de acá vamos a ver que no se encuentra ningún token

91
00:07:46,550 --> 00:07:47,970
se crf.

92
00:07:48,900 --> 00:07:55,020
Y es que en esta página que estamos viendo no hay alguna cosa que pueda ser del interés de el atacante.

93
00:07:55,560 --> 00:08:01,590
No hay alguna cosa que el atacante le interese, que nosotros ejecutemos alguna petición.

94
00:08:01,980 --> 00:08:06,400
Pero qué pasaría en la parte de cambiar y meil la parte de cambiar email?

95
00:08:06,450 --> 00:08:09,360
Puede ser algo que un atacante le gustaría que nosotros hagamos.

96
00:08:09,540 --> 00:08:15,690
Entonces eso quiere decir que esta página de acá sí debería de tener protección de CRF.

97
00:08:16,320 --> 00:08:22,830
Vamos a examinar el código fuente y vamos a volver a buscar esto y vamos a ver si hay.

98
00:08:22,900 --> 00:08:25,620
Y en efecto, por acá tenemos un token.

99
00:08:25,710 --> 00:08:32,940
Entonces esta parte si está siendo asegurada y es excelente porque aquí sí se necesita seguridad, ya

100
00:08:32,940 --> 00:08:37,990
que si un atacante falsifica la petición de cambio de correo podría ser algo fatal.

101
00:08:38,980 --> 00:08:45,040
Bien, ahora vamos a hacer lo siguiente voy a regresar a mi usuario de Warner.

102
00:08:45,240 --> 00:08:51,270
Voy a ir a la parte de cambiar correo y luego vamos a inspeccionar el código fuente.

103
00:08:51,540 --> 00:08:53,070
Ahora qué más vamos a hacer?

104
00:08:53,700 --> 00:08:59,750
Lo que haremos es intentar hacer un cambio de correo para interceptar la petición.

105
00:08:59,760 --> 00:09:06,990
Vamos a escribir o la arroba Hola.com sea el Intercept y Taichí Meio.

106
00:09:08,010 --> 00:09:12,650
Ahora estoy acá, lo vamos a copiar y lo vamos a votar.

107
00:09:13,980 --> 00:09:23,970
Y lo próximo va a ser utilizar lo del ataque del vídeo pasado a nuestra carpeta de scripts y luego nuestra

108
00:09:23,970 --> 00:09:25,580
carpeta de CRF.

109
00:09:26,520 --> 00:09:36,280
Y ahora para qué vamos a decir sudo Payton 3 menos m http: punto server para generar nuestra plantilla.

110
00:09:37,290 --> 00:09:49,800
Olvidé describir al puerto 80 Calí y entonces ahora vamos a venir a generar nuestra plantilla.

111
00:09:52,190 --> 00:09:53,600
Pagamos el Intercept.

112
00:09:55,500 --> 00:10:02,810
Por acá vamos a pegar esto y generar, entonces esta es la plantilla que vamos a utilizar para nuestro

113
00:10:02,810 --> 00:10:10,160
ataque, vamos a recuperarlo y a diferencia del video anterior, no voy a estar montando mi servidor

114
00:10:10,160 --> 00:10:10,640
local.

115
00:10:10,970 --> 00:10:15,140
En esta ocasión voy a ocupar un servidor que ya me está dando por Swaggart.

116
00:10:15,530 --> 00:10:23,720
Si vamos a la parte de acá vamos a ver que hay algo que hice Kotex Exploit Server y Podemos Sinaia y

117
00:10:23,720 --> 00:10:25,010
utilizar este servidor.

118
00:10:25,880 --> 00:10:30,170
Entonces vamos a bajar un poco, vamos a borrar esto y vamos a pegar.

119
00:10:30,380 --> 00:10:39,230
Ahora necesitamos cambiar esto de acá, ya que es muy posible que este toquen, ya haya sido utilizado

120
00:10:39,230 --> 00:10:46,130
cuando mandé la petición y estos token son generados una vez por petición y eso es muy bueno, ya que

121
00:10:46,130 --> 00:10:53,250
si hubiese un token fijo, entonces el atacante en caso de ser capaz de robar un token, podría estarlo

122
00:10:53,360 --> 00:10:58,400
utilizando en contra de nosotros y eso no nos conviene ahora antes de continuar.

123
00:10:58,490 --> 00:11:06,650
Me gustaría que entendamos lo que estoy haciendo y es que esta parte es la del ataque del video anterior,

124
00:11:06,920 --> 00:11:14,620
pero fíjense que acá estoy ubicando el token que le pertenece al usuario Wiesner.

125
00:11:15,050 --> 00:11:19,740
Yo no estoy utilizando el token que le pertenece al usuario Carlos.

126
00:11:19,830 --> 00:11:24,830
Y qué ocurre si esta aplicación estuviera protegida de manera correcta?

127
00:11:25,370 --> 00:11:30,590
Entonces no sería posible ejecutar mi ataque con el token de otra persona.

128
00:11:31,280 --> 00:11:37,670
Sin embargo, esta aplicación tiene una falla y lo que está haciendo es simplemente verificar si este

129
00:11:37,670 --> 00:11:41,950
token pertenece a los tokens que han sido generados por la aplicación.

130
00:11:42,380 --> 00:11:47,720
Y como este token sí ha sido generado por nuestra aplicación, entonces lo va a aceptar.

131
00:11:48,590 --> 00:11:53,960
Ahora vamos hacer un pequeño arreglo para que nuestro ataque luzca un poco mejor.

132
00:11:54,440 --> 00:12:02,690
Entonces vamos a hacer lo siguiente vamos a escribir un pequeño párrafo que diga Hola, si has visitado

133
00:12:02,830 --> 00:12:12,800
este sitio web Koma, tu cuenta ha sido hackeada y cerramos el párrafo por acá.

134
00:12:15,110 --> 00:12:23,810
Ahora vamos a añadir un pequeño script en esa parte de acá para que se ejecute una vez descargado nuestra

135
00:12:23,810 --> 00:12:24,320
página.

136
00:12:25,080 --> 00:12:34,370
Iba a ocurrir lo siguiente vamos a decir documents, punto fórums y vamos añadir esto de acá y un 0.

137
00:12:35,240 --> 00:12:36,560
Ahora que estoy diciendo acá.

138
00:12:37,540 --> 00:12:45,870
Bueno, yo quiero que entre todos los forums que se encuentren aquí en mi código tomes el número cero

139
00:12:46,200 --> 00:12:47,660
y por qué el número cero.

140
00:12:48,250 --> 00:12:50,320
Eso es bastante simple.

141
00:12:50,680 --> 00:12:56,740
Recuerden que cuando hablamos de computación en computación uno empieza a contar desde el cero.

142
00:12:57,140 --> 00:12:59,020
El cero representa el primer elemento.

143
00:12:59,470 --> 00:13:06,100
Entonces, cuando yo acá digo el cero, estoy diciendo quiero que me mandes a llamar al primer foram,

144
00:13:06,810 --> 00:13:09,550
que es este de acá el que contiene nuestra petición.

145
00:13:10,300 --> 00:13:12,320
Y qué quiero que pase con ese follón?

146
00:13:12,870 --> 00:13:15,770
Yo quiero que automáticamente me lagash submit.

147
00:13:16,360 --> 00:13:18,710
Entonces ahora va a lucir como esto.

148
00:13:20,010 --> 00:13:24,940
Luego lo que vamos a hacer es decir estor para que sea almacenado en el servidor.

149
00:13:25,480 --> 00:13:30,850
Y por acá, como podemos ver, dice que el laboratorio ha sido resuelto.

150
00:13:31,420 --> 00:13:38,050
Excelente, ni siquiera tuve que decirle ver exploits, así que ahora los que podríamos hacer es decir,

151
00:13:38,050 --> 00:13:42,060
ver exploit para ver cómo se veía nuestro ataque en realidad.

152
00:13:42,520 --> 00:13:49,210
Entonces vamos a decir ver exploits y esperemos, por ahí está nuestro mensaje.

153
00:13:49,300 --> 00:13:52,070
Y ahora dice Token invalido.

154
00:13:52,800 --> 00:13:57,820
Bueno, entonces vamos a buscar un nuevo token para volver a lanzar nuestro ataque.

155
00:13:59,360 --> 00:14:04,660
Atrás, una vez más íbamos a venir a esta parte de donde habíamos cargado el código fuente.

156
00:14:05,110 --> 00:14:11,290
Solo presionamos F5 para recargar y ahora iremos hacia la parte de abajo.

157
00:14:11,980 --> 00:14:13,860
Copiamos el nuevo token.

158
00:14:13,900 --> 00:14:20,500
Regresamos acá y vamos a reemplazar en anterior pegamos.

159
00:14:21,700 --> 00:14:26,010
Y voy a decir en video exploits directamente.

160
00:14:26,200 --> 00:14:30,860
También podía encender el Intercept y ahora veamos como marcha esto.

161
00:14:31,510 --> 00:14:39,670
Aquí se está mandando el post con esta información, todavía no con una petición de cambiar el correo.

162
00:14:41,040 --> 00:14:46,560
Continuamos con la petición, ahora vemos que hay un jet hacia el exploit.

163
00:14:48,180 --> 00:14:56,790
Ya van a entender esto más adelante por acá, si se fijan sería la web R.L.

164
00:14:56,820 --> 00:14:59,100
Del sitio controlado por el atacante.

165
00:14:59,760 --> 00:15:07,890
Entonces, cuando una víctima venga a visitar este sitio va a ver este mensaje y automáticamente la

166
00:15:07,890 --> 00:15:12,480
petición de cambiar el correo electrónico va a haber sido lanzada.

167
00:15:13,020 --> 00:15:19,800
Y eso es bastante interesante, porque con el simple hecho de visitar el sitio sin necesidad de hacer

168
00:15:19,800 --> 00:15:24,990
clic en algún voto o con algún lace, ya va a haber sido lanzado al ataque.

169
00:15:25,980 --> 00:15:28,290
Entonces, ahora vamos a continuar con esto.

170
00:15:29,670 --> 00:15:31,710
Y la taquilla va a estar hecho.

171
00:15:31,780 --> 00:15:38,320
Es más, si se fijaron en la petición anterior, estaba el post a la parte de Dime y Ingemmet.

172
00:15:38,700 --> 00:15:44,640
Se quiere decir que cuando había cargado esto de acá ya se había cargado directamente la petición de

173
00:15:44,640 --> 00:15:46,500
Post para cambiar correo electrónico.

174
00:15:47,020 --> 00:15:57,210
Entonces continuemos con esto y pueden ver que ya nos redirigió hacia este lugar de aquí donde el correo

175
00:15:57,210 --> 00:15:57,950
fue cambiado.

176
00:15:58,580 --> 00:16:00,690
Entonces nuestro ataque ha sido un éxito.

177
00:16:01,170 --> 00:16:07,610
Espero que haya gustado la clase en esta ocasión para la sección, no una tarea específica asignada,

178
00:16:08,130 --> 00:16:12,780
pero les voy a aconsejar que intenten resolver los otros laboratorios.

179
00:16:13,670 --> 00:16:16,380
Laboratorio de acá está bastante sencillo.

180
00:16:16,830 --> 00:16:21,600
Lo único que van a tener que hacer es cambiar el método.

181
00:16:22,690 --> 00:16:24,490
Bueno, déjeme ver bien.

182
00:16:24,840 --> 00:16:27,420
Hay tres laboratorios arriba del que acabamos de resolver.

183
00:16:28,310 --> 00:16:29,620
Está el primero por acá.

184
00:16:30,100 --> 00:16:35,910
Este laboratorio es exactamente el mismo que la práctica que hicimos antes.

185
00:16:36,420 --> 00:16:39,210
En el vídeo pasado seguimos bajando.

186
00:16:39,210 --> 00:16:46,080
Tenemos este laboratorio en el cual es la misma práctica del vídeo pasado, pero esta vez cuidado con

187
00:16:46,080 --> 00:16:46,620
el método.

188
00:16:47,310 --> 00:16:54,510
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

189
00:16:54,870 --> 00:16:56,600
en la parte de acá.

190
00:16:57,330 --> 00:17:00,500
Solamente cambiarían por acá post Foguet.

191
00:17:01,530 --> 00:17:09,120
Por otra parte, tenemos el siguiente laboratorio donde van a ser exactamente el mismo ataque.

192
00:17:09,160 --> 00:17:13,950
El video pasado, pero en esta ocasión tendrían que borrar la parte de Token.

193
00:17:15,000 --> 00:17:17,500
Entonces les quedaría algo así.

194
00:17:18,740 --> 00:17:29,540
Y también como consejo intenté hacer de la manera en la cual mostré por acá que con esta nueva línea

195
00:17:30,380 --> 00:17:37,220
para que el ataque se vea mejor, bastante más realista, entonces esto ha sido todo.

196
00:17:37,220 --> 00:17:43,820
Por ahora en la próxima sección vamos a descansar un poco de la rutina y vamos a hacer un ejercicio

197
00:17:43,850 --> 00:17:44,960
bastante interesante.

198
00:17:45,050 --> 00:17:47,000
Así que los veo en la próxima sección.
