Instructor: En la
lección anterior, vimos cómo degradar los sitios web HTTPS a HTTP.
Y esto nos permitió ver básicamente todo lo que hace un usuario en estos
sitios web porque los datos en HTTP se
envían en texto sin formato.
Por lo tanto, pudimos ver los nombres de
usuario, las contraseñas, las URL y todo lo que hacen en los sitios web HTTPS.
Al final de la conferencia, también les
mostré que el método no funcionará contra Facebook, Twitter y otros
sitios web que usan HSTS.
La razón por la que no funcionará contra estos
sitios web, porque los navegadores web modernos vienen con una lista de sitios web
que solo deben cargar a través de HTTPS.
Vea lo que estábamos haciendo en la conferencia anterior.
Siempre que un navegador solicita un sitio web, cargamos ese sitio web,
incluso si usa HTTPS, lo
que siempre le devolvemos la versión HTTP.
En HSTS, el navegador sabe que este sitio
web, por ejemplo, facebook. com, siempre debe cargarse a través de HTTPS.
Entonces, incluso antes de enviarnos esta solicitud,
siempre la enviará en HTTPS.
Y siempre solo se aceptará si vuelve como HTTPS.
Así que no hay nada que podamos hacer realmente, una vez
que nos convertimos en el hombre del medio.
Debido a que el navegador está haciendo esta verificación
localmente, lo está comparando con una lista que está
almacenada en la propia computadora.
Por lo tanto, la única solución práctica en este
momento para evitar HSTS es hacer que el navegador piense que
está cargando otro sitio web.
Para hacer esto, reemplazaremos todos los enlaces HSTS en
páginas cargadas por enlaces similares, pero
no son los mismos enlaces.
Por ejemplo, podemos reemplazar facebook. com con Facebook. maíz.
Ahora, sé que esto parece muy sospechoso, pero créanme
cuando entre en la barra de URL, el
RN aquí en el medio, se verá muy similar a
la letra M.
Otra forma de hacer esto es reemplazar twitter. com
con twitter. com, pero con una sola T aquí en
lugar de una doble T.
Sé que esto suena un poco confuso en
este momento, pero déjame hacerlo de manera práctica,
y verás cómo va a funcionar.
Así que aquí tengo mi máquina Kali.
Y de hecho usaremos la cápsula HSTS que usamos
en la conferencia anterior.
Como se mencionó en la
lección anterior, este comprimido ya está instalado en el
Kali personalizado, si desea usarlo con el
Kali original, deberá
descargarlo manualmente y colocarlo en
la ruta correcta, en usuario, local, compartir , bettercap, caplets.
Tengo la pastilla aquí mismo.
Como dije, este ya es el
correcto porque estoy usando el Kali personalizado, si
entramos en él, tenemos un archivo llamado hstshijack. gorra.
Este es el archivo de configuración del pareado.
Así que haré clic
derecho en él, lo abriré con otra
aplicación, haré clic en ver todas las aplicaciones.
Y desea elegir cualquier editor de texto que tenga.
Así que voy a mantener esto en Leafpad.
Puede que tengas que desplazarte hacia
abajo para encontrarlo, pero lo tengo aquí, voy a seleccionar.
Y como puede ver, tenemos un archivo de texto
normal con todas las configuraciones que podemos establecer.
Y ya lo he configurado previamente para ti.
Las principales cosas que desea comprender y tal vez
cambiar son los objetivos y los reemplazos.
Entonces, los objetivos son los dominios que usan HSTS
que desea reemplazar.
Por ejemplo, tengo twitter. com aquí, y también
tengo star. gorjeo. com.
Básicamente, cuando usa una estrella, este es un comodín.
Y básicamente significa cualquier subdominio. gorjeo. com también
es un objetivo.
Y el reemplazo, quiere decirle al programa,
con qué reemplazar este objetivo.
Por ejemplo, siempre que veamos twitter. com, lo
reemplazaremos con Twitter. maíz.
Lo mismo ocurre con Facebook y Apple, y
algunos otros dominios que dije.
También puedes jugar con las opciones
de ofuscar y codificar.
He configurado ambos en falso,
porque básicamente lo que
harán es ofuscar el código y codificarlo.
Pero noté que algunos navegadores como Firefox bloquean el
código ofuscado o codificado.
Es por eso que configuro ambos en falso para
que el código se deje como está.
Aquí, en la carga útil, puede configurar cualquier otro
código JavaScript que desee inyectar, déjelo
igual, hablaremos sobre la inyección de JavaScript en una conferencia futura.
Finalmente, desea asegurarse de que los dominios de
suplantación de DNS estén configurados exactamente igual que los reemplazos aquí.
Así que literalmente copio esta línea y la pego aquí.
Ahora voy a mantener todo esto igual,
no necesito modificar nada.
Pero como dije, si está apuntando a diferentes sitios
web, o si desea usar diferentes reemplazos, por ejemplo, si
desea usar un Twitter con una sola T
y mantener esto. com, puede hacerlo aquí.
Si desea utilizar un Facebook con una sola O,
conserve esto. com, nuevamente, en lugar de. maíz,
puedes hacerlo aquí.
Una vez hecho esto, asegúrese de guardar y salir de este archivo.
Y estamos listos para ejecutar el ataque.
Entonces, ejecutar este ataque será idéntico a lo
que hicimos en la
lección anterior, solo debes asegurarte de modificar este archivo correctamente.
Así que volviendo a bettercap, voy a borrar la pantalla, ejecutar
bettercap con el mismo comando, cargando
esta cápsula de prueba.
De modo que podemos ejecutar todos los comandos de suplantación de
identidad de AARP y ejecutar el rastreador de forma automática.
Y perfecto, como puede ver, todo funciona
como se esperaba sin errores.
Si ejecuta esto y obtiene
un error, simplemente salga y ejecute bettercap nuevamente.
A continuación, queremos ejecutar el pareado, el caplet de secuestro HSTS, exactamente como se
muestra en la lección anterior, todo
lo que tenemos que hacer es escribir la
pestaña HS, se autocompletará para nosotros y presionará enter para ejecutarlo.
Nuevamente, como no puede ver ningún
error, todo está funcionando como se esperaba.
Vayamos a la máquina
de destino y veamos cómo va a funcionar.
Así que tengo mi máquina con Windows aquí mismo.
Esta es Chrome, la última versión.
Y antes de hacer algo, como
dije, es una buena idea eliminar siempre los datos de navegación.
Y antes de que realmente cargue
cualquier sitio web, es muy importante comprender que incluso con todo
lo que estamos haciendo en este momento, si intenta ir
a Facebook y escribir. com al final aquí, no
funcionará, lo que estamos haciendo ahora mismo no funcionará.
Porque Chrome aquí mismo tiene una lista almacenada en esta computadora
que dice no cargar Facebook. com a menos que
se cargue a través de HTTPS.
Entonces, si le dice a Facebook aquí
mismo, no funcionará.
La única forma en que podemos hacer esto es si el usuario primero va
al motor de búsqueda, por ejemplo, google. es decir, para Irlanda.
Y luego en Google, como puede ver, Google no usa HSTS.
Por lo que omitimos esto usando el bypass HTTPS normal.
Y luego, si el usuario aquí busca su sitio web
objetivo, por ejemplo, Facebook,
entonces nuestro script se ejecutará en segundo plano.
Y reemplazará todos los enlaces de esta página
para Facebook. com con facebook. maíz.
Entonces, si realmente coloco el cursor sobre esto, verá
en la barra de estado, el sitio web
que se cargará es Facebook. maíz, no
facebook. com.
Esto está bien aquí, todavía dice facebook. com.
Pero solo en el código de la página
HTML de facebook. com fue reemplazado por facebook. maíz.
Entonces, si hago clic en este enlace, nuevamente, como puede ver, obtenemos
una página de Facebook normal.
Pero si miras aquí en la parte superior, verás que no hay HTTPS.
Y si miras el nombre de dominio,
verás que dice. maíz no. com.
Nuevamente, como dije, puedes quedarte con esto. com y usa
Facebook con una O o puedes agregar una O adicional,
puedes ser tan creativo como quieras con esto.
Este es solo un ejemplo que les estoy dando.
Ahora, una vez que estemos aquí, podemos iniciar sesión normalmente con mi nombre
de usuario, así que z @ zsecurity. org y pon mi contraseña 1234567890.
Presiona enter, y si regresamos, desplázate hacia arriba.
Perfecto, como puede ver, tenemos los nombres
de usuario, z @ zsecurity. org y la contraseña
hasta nueve cero.
Ahora, como dije, la única forma de que esto funcione
es si el usuario llega a Facebook a través de otro
sitio web que no usa HSTS.
Si van a la barra de URL y escriben facebook. com ellos mismos, no podremos
hacer esto, por eso esto
se considera una solución parcial y no una
solución completa.