Instructor: Hasta ahora, vimos varias cosas que
podemos hacer una vez que nos convertimos en el hombre intermedio.
Así que vimos cómo podemos ver todo lo que hace la computadora de destino
en la red.
Entonces pudimos ver los sitios web, los nombres de
usuario, las contraseñas, las imágenes, todo lo que
cargan en su navegador.
También vimos que, dado que somos
el intermediario, podemos redirigirlos a otros sitios web.
Entonces, siempre que soliciten
un dominio, podemos redirigirlos a otro
lugar mediante un ataque de suplantación de DNS.
Otra cosa realmente interesante que podemos
hacer es modificar el HTML, modificar las páginas, a medida
que se cargan en el navegador de destino.
Obviamente, todo esto es posible porque
somos el hombre del
medio, porque somos capaces de interceptar todos estos datos.
Entonces podemos esperar el código HTML,
que es el código responsable de cargar las páginas web.
Y a medida que fluye a
través de nuestra computadora, podemos insertar cualquier fragmento de código
que queramos, y el navegador ejecutará este código.
Ahora, HTML solo es responsable de representar los elementos que ves
en la página web.
Entonces es responsable de los botones, de
los foros, del texto,
realmente no nos permite hacer mucho.
Pero los navegadores modernos pueden ejecutar código JavaScript.
JavaScript es un poderoso lenguaje de programación que
podemos usar para hacer tantas cosas, podemos modificar
toda la página, eliminar
elementos o agregar elementos a la página,
podemos reemplazar enlaces.
Y esto es realmente lo
que hice cuando modifiqué el complemento HSTS.
Entonces agregué código que reemplazará HTTPS con HTTP.
Y también agregué código que reemplazará el enlace real, el nombre de dominio
real con el nombre de dominio falso, con el que tiene
el punto de maíz,
o lo que sea que lo establezca en el script.
Incluso puede usarlo para conectar el navegador a otros marcos
de explotación del navegador, que podemos
usar para explotar aún más el objetivo e
incluso obtener un control total sobre su computadora.
Y eso lo veremos más adelante en el curso.
Pero por ahora, les mostraré cómo inyectar un código
JavaScript muy simple en las páginas cargadas.
Y luego nos basaremos en eso en
futuras conferencias y veremos cuán poderoso y útil puede ser esto.
Así que aquí mismo tengo mi máquina Kali.
Y antes de ejecutar mejor cap y
mostrarle cómo inyectar JavaScript,
en primer lugar, necesitamos tener algo de código JavaScript
para inyectar en el navegador de destino.
Entonces voy a abrir un editor de texto.
Y voy a escribir un código JavaScript muy, muy simple.
Como dije, veremos cómo podemos usar esto para
ejecutar código más útil.
Pero por ahora, lo mantenemos simple
solo para ver cómo podemos ejecutar código JavaScript.
Así que todo lo que voy a hacer es alertar, abrir
un corchete, comillas y voy a decir prueba de JavaScript.
Cerraré las comillas, cerraré el corchete y
agregaré un punto y coma.
Así que aquí, este código, todo
lo que va a hacer es mostrar un mensaje de advertencia, un
mensaje de alerta que dice código JavaScript.
Entonces, dado que vamos a intentar inyectar este código en todas las páginas, cada
vez que cargamos una página
web, deberíamos ver un mensaje que diga prueba de JavaScript.
Ahora voy a salvar esto.
Así que voy a ir a Archivo, Guardar.
Y voy a poner esto en mi directorio raíz.
Y solo lo llamaré alerta. js, presionaré
Enter.
Y eso está guardado ahora en mi raíz, así
que si lo salgo, podemos ver que tenemos el archivo aquí mismo.
Entonces, este es el archivo que contiene el
código que queremos inyectar en cualquier página web que se cargue en
la computadora de destino.
El siguiente paso es ir a nuestro complemento de secuestro HSTS.
Entonces, como les mostré antes, esto fue en user,
local, share, bettercap, caplets, secuestro de HSTS, asegúrese de
usar el que incluí en los recursos,
no el que viene integrado con
bettercap, porque el integrado uno no funcionará como querías.
Así que aquí tenemos el hstshijack. archivo cap.
Este es el archivo de configuración para todo el complemento.
Así que haré clic derecho
en esto y lo abriré con mi editor de texto.
Y aquí, lo que queremos
modificar son las cargas útiles aquí.
Entonces, como
puede ver aquí, ya está inyectando
un archivo JavaScript llamado keylogger. js, pero también queremos inyectar
nuestro propio código.
Entonces voy a agregar una coma aquí.
Y agregaré una estrella seguida de dos puntos.
Agregamos esta estrella aquí mismo para decir que
quiero inyectar mi script en cualquier página que cargue el destino.
Si desea inyectar su código en dominios
específicos, puede eliminar la estrella y simplemente enumerar
los dominios en los que desea inyectar este código aquí.
Pero como dije, queremos inyectar esto en todas las páginas.
Así que voy a poner esto como una estrella.
Y después de los dos puntos, pondré la ubicación
del archivo JavaScript que quiero inyectar en
el navegador.
Entonces, si miramos hacia atrás aquí,
este es el archivo que acabamos de crear, que
está en la raíz de mi hogar, y se llama alerta. js.
Así que voy a poner aquí, solo diré raíz de
barra diagonal, seguida de alerta. js.
Y eso es.
Voy a guardar este Ctrl S y cerrarlo Ctrl Q,
y estamos listos para comenzar.
Así que voy a ir a mi terminal, voy a ejecutar bettercap usando
exactamente el mismo comando que hemos estado usando.
Así que le estamos dando la interfaz como eth0, y le estamos
dando nuestro archivo de cola para ejecutar automáticamente el ataque de suplantación
de identidad ARPX, colocándonos en el medio de la conexión.
Y como puede ver, esto funciona sin errores,
por lo que todo es perfecto.
Lo que también quiero hacer ahora
es ejecutar mi complemento de secuestro HSTS.
Y como saben, todo lo que tenemos que hacer es escribir H S
y tabulador, esto se completará automáticamente, presionaré Enter y todo
se está ejecutando sin ningún error.
Entonces todo es perfecto.
Y como puede ver aquí, está diciendo que las cargas
útiles, está cargando las cargas útiles de JavaScript son el registrador de teclas.
Este es el predeterminado que el archivo ya se estaba cargando.
Y el que acabamos de especificar, que está
en alertas de root. js.
Así que ahora, cada vez que nuestro objetivo carga cualquier página web, el código
que pongamos en la alerta. js debe
inyectarse en la página cargada
y debe ejecutarse.
El resultado de eso debería mostrarnos un mensaje
simple que dice probar JavaScript.
Así que vayamos al objetivo.
Y, como de costumbre, una buena idea es eliminar los
datos de navegación solo para asegurarse de que no se almacene en caché.
Y siempre me gusta probar primero con el caso más simple
y luego pasar a escenarios más complejos.
Primero que nada, lo probaré con una página HTTP
normal, de modo que no haya nada
que eludir, ningún cifrado.
Así que vamos a ir a volnweb. com.
Y perfecto, como puede ver, tenemos un
mensaje de alerta aquí diciéndonos prueba de JavaScript.
Básicamente, esto significa el código JavaScript
en mi alerta. js se inyectó en esta página.
Entonces, ahora que verificamos que funciona contra páginas HTTP normales, sigamos
adelante y probémoslo contra una página que usa HTTPS
como stackoverflow. com.
Perfecto, está funcionando como se esperaba.
Otro ejemplo sería linkedin. com.
Tenga en cuenta que estos sitios web utilizan HTTPS.
Y como puede ver, podemos cargarlos sin HTTPS aquí, por lo
que solo a través de HTTP.
Entonces, incluso si inicia sesión aquí mismo,
podrá obtener el nombre de
usuario y la contraseña como se muestra antes.
Finalmente, vayamos y probémoslo contra el sitio web de HSTS
utilizando el método de derivación parcial de HSTS que les mostré.
Entonces, para que eso funcione, primero tendremos que ir a
Google y debemos ir a un dominio de Google que
no use HSTS, similar a Google. es decir.
Este es en realidad el sitio web local de Google para Irlanda.
Y como puede ver, el código funciona.
Esto esta bien.
Google solo usa HTTPS de todos modos.
Pero busquemos Facebook.
Ahora sabemos que Facebook usa HSTS.
Y debido a que se usa HSTS, no deberíamos poder inyectar nada
en el sitio web, porque
el navegador solo lo cargará a través de HTTPS.
Pero usando nuestro método de bypass parcial.
Si hago clic en Facebook desde aquí, como puede ver,
el código se ejecuta.
Porque lo que estamos cargando ahora mismo es Facebook. maíz, no facebook.
com.
Y como puede ver, volvemos a tener una página normal de
Facebook, que parece idéntica.
Y si inicia sesión, podrá obtener el nombre de usuario
y la contraseña.
Como puede ver, esto funcionará contra
páginas HTTP y HTTPS e incluso HSTS si el objetivo busca
ese sitio web, no si ponen el nombre de dominio aquí.
Entonces, si el objetivo entra y literalmente escribe facebook. com manualmente y presione enter,
el navegador forzará la conexión HTTPS como puede ver aquí, porque como
dije, tiene una lista precargada de sitios
web que solo puede cargar a través de HTTPS
y debido a que el navegador está estableciendo una conexión HTTPS, el
los datos se cifrarán y, por
lo tanto, queremos poder inyectar cualquier cosa en ellos.