Muy bien, chicos.
Bienvenido de nuevo.
En el último vídeo hemos visto cómo podemos establecer un ataque de hombre en el medio y esta configuración.
Esto es realmente impresionante porque no sólo estamos interceptando el tráfico https, podemos ver cada conexión que el cliente
está haciendo.
Increíble, ¿verdad?
También se restablece en cuestión de segundos, lo que es aún más asombroso.
Pero por ahora tenemos un problema.
El problema que tenemos es el siguiente.
Tenemos nuestro smartphone por aquí.
Y si el smartphone se conecta ahora a una página web, por ejemplo, ejemplo punto org, entonces el paquete
se precipitará a través de nuestra red.
Así que sí, podemos ver esto en Wireshark, pero no somos capaces de detener, interceptar, manipular
o redirigido.
Y esto es definitivamente algo que queremos tener también para la respuesta del servidor.
Es decir, sí, vemos los paquetes y el sitio web se carga en el smartphone.
Podemos ver todo el contenido relativo a http.
De acuerdo.
Más adelante veremos cómo tratar con https.
Pero por ahora, ciñámonos a la conexión.
Podemos ver esta conexión, pero sí, quiero decir, no podemos manipularla ahora mismo y esto es algo que definitivamente
queremos tener.
¿Verdad?
Al menos a mí me gustaría tener esta función y, por lo tanto, vamos a afinar aún más nuestra configuración.
Entonces, ¿cómo podemos establecer esto ahora mismo en lugar de apresurarnos a través de toda esta red?
Si vas a abrir una página web, queremos tener lo siguiente.
El paquete debería llegar a nuestra interfaz.
Luego también lo vemos en Wireshark absolutamente perfecto.
Pero después, no queremos que este paquete pase automáticamente esta interfaz y salga
a Internet.
El tipo de magia que estamos estableciendo ahora mismo es un proxy local.
Así que parece que este es flipante.
¿Verdad?
Así que estamos teniendo un servicio local escuchando en un puerto determinado y lo que estamos haciendo ahora es lo
siguiente En lugar de pasar este paquete a través de, toda esta interfaz, ser redirigido, ser redirigido a nuestro
servicio local.
En lugar de pasar por aquí, se redirige a nuestro proxy.
Aquí se detiene y podemos analizar, manipular y también reenviar después a Internet.
Al tener esto, ahora podemos inspeccionar y manipular paquetes, lo cual es realmente asombroso.
Esto también ocurre automáticamente con los paquetes de respuesta.
Así, si llega el paquete de respuesta, no se encamina automáticamente a través de nuestra interfaz de red.
Además, los paquetes de respuesta se detendrán.
En este punto podemos inspeccionarlos, manipularlos y reenviarlos al smartphone original.
Esto nos da muchas posibilidades.
Es decir, también podríamos intentar inyectar código JavaScript u otras cosas en estos paquetes que podrían tener algún
efecto secundario en el propio smartphone con respecto a las imágenes o el texto.
Quiero decir, puede ser super divertido todavía para manipular o interactuar con este, pero también podemos utilizar esto
para explotar ciertas características en esta aplicación móvil por ahí.
Así que ahora la pregunta es: ¿cómo podemos hacerlo?
¿Cómo podemos detener estos paquetes y redirigirlos a través de nuestra interfaz?
La respuesta para que éste establezca este tipo de magia en el fondo sólo requiere dos pasos.
La primera es que necesitamos habilitar el reenvío IP en nuestro kernel.
Esto se puede hacer con el siguiente comando.
Activar esta función significa simplemente que si tienes un paquete y varias interfaces, el paquete se redirige
automáticamente a través de ellas.
Por ejemplo, nuestro paquete llega a nuestro punto de interfaz, que es el 10. 40 2. 0. 1, la pasarela de nuestro adaptador
USB a Ethernet.
Pero el destino está en relación con el mundo exterior.
Por lo tanto, necesita ser redirigido a través de nuestro adaptador NAT de esta máquina virtual.
Nuestra interfaz para ello es nuestro acceso a Internet y, al activar esta función, este paquete puede desviarse
a través de esta interfaz.
Así que esta es una característica básica que necesita ser habilitada en nuestra Ubuntu VM, pero no realiza el redireccionamiento
de nuestro paquete a nuestro proxy listener local.
Y este tipo de magia puede hacerse con tablas IP.
Las mesas IP son una pasada.
Son una especie de filtros de paquetes, pero eso no significa que nos limitemos a soltar paquetes.
También podemos definir un conjunto de reglas para redirigir los paquetes en función de determinadas condiciones, por lo que podemos
hacer muchas cosas con las tablas IP.
Así que no dudes en echar un vistazo a las tablas IP si tienes algo de tiempo libre.
Muy bien.
De acuerdo.
Por ahora, sólo tenemos que ocuparnos de un comando.
Este comando de aquí.
Este comando realiza la métrica para el ID de puerto, por lo que parece absolutamente ridículo, pero tiene sentido.
Las tablas de IP siempre tienen sentido, pero es difícil de leer si es la primera vez que lo haces.
Por lo tanto, vamos a repasar esto juntos ahora mismo.
De acuerdo.
Así que aquí estamos de vuelta en la tableta gráfica.
Y esta es la configuración que ya tenemos.
Este es nuestro hombre básico en el medio de configuración en este video en este momento hemos añadido la suite burp,
un oyente proxy en 1040 20. 1. 88.
Entonces, ¿qué hace un cambio en esta configuración de aquí?
Bueno, en primer lugar, no mucho, pero sin embargo, vamos a insertarlo.
Así que aquí tenemos ahora nuestro proxy listener.
La velocidad perfecta en 1040 20. 1. 80.
Y esta es nuestra suite eructo.
Dulce apoderado.
De acuerdo.
Esto simplemente significa que en esta red de la cara de aquí, tenemos ahora un proxy listener en Pod 88.
Pero ahora mismo no redirigimos ningún tráfico a este proxy.
Sólo lo tenemos funcionando en esta parte de aquí.
De acuerdo.
Así que vamos a entrar en esta enorme regla de tabla IP y averiguar lo que hace.
Lo hacemos paso a paso, así que lo dividimos en trozos individuales.
Y luego vamos a aplicar esto en nuestro nuestro dibujo debajo de averiguar lo que cambia en el paquete.
Muy bien, vamos.
De acuerdo.
Así que nuestro comando comienza con tablas IP que RT no.
Eso significa que queremos aplicar nuestra regla de tabla IP para la tuerca de tabla.
También tenemos dos mesas diferentes.
Tenemos filtrado y también mangle, pero podemos ignorarlos por ahora.
Nut significa traducción de direcciones de red.
Y en el contexto de las reglas de tipo IP, significa simplemente cambiar o darnos la posibilidad de cambiar las direcciones
IP de un paquete.
Así que si tenemos aquí nuestro paquete, este de aquí.
Y este es nuestro paquete HTTP, por ejemplo, punto org.
Entonces queremos cambiar las direcciones IP en este paquete de aquí.
Así que queremos poder intercambiarlos.
Y cambiar las direcciones IP del paquete nos da la posibilidad de volver a redactar este paquete.
En nuestro caso, esto significa lo siguiente.
En lugar de ir directamente a través de esto desde aquí hasta aquí, queremos redirigir este paquete desde aquí
a la suite eructo.
Y sí, tenemos que definir un montón de parámetros más que la regla de la tabla IP sabe exactamente qué hacer.
Pero este es nuestro canal realmente tabla y aquí es donde nos donde añadimos nuestra entrada en este momento.
No significa simplemente traducción de direcciones de red.
Y esta es la tabla donde queremos añadir una nueva regla ahora mismo.
A continuación, tenemos este guión mayúsculo ocho.
Y esto significa simplemente añadir una nueva regla.
También tenemos el guión mayúsculo DX, que significa eliminar una regla existente en función de los parámetros de configuración
posteriores.
En nuestro caso, queremos añadir una nueva regla.
Por lo tanto usamos el comando dash a, y ahora tenemos alguna cadena.
Un cambio significa simplemente algún tipo de acción que queremos realizar.
En este caso tenemos el Dash A y queremos añadir una nueva pre-ruta.
Tenemos preenrutamiento, postenrutamiento y otras cosas, pero el preenrutamiento y el postenrutamiento
son los más importantes.
Preenrutamiento significa simplemente que si un paquete llega a una interfaz no importa la interfaz.
Así que podría ser esta interfaz de aquí o también esta interfaz de aquí.
Ahora estamos definiendo una nueva regla donde queremos enrutar este paquete.
Así que este ejemplo punto org ahora llega a nuestra interfaz.
Se trata, por ejemplo, del adaptador USB dos Ethernet.
Por aquí verás dos Ethernet, vamos a llamarlo vamos a escribirlo de esta manera.
Si llega a esta interfaz, queremos cambiar el enrutamiento de este paquete ahora mismo.
Y esto es exactamente lo que queremos tener, porque en lugar de ir en esta dirección, queremos cambiar
la ruta para ir en esta dirección.
Actualizaciones de nuestra suite de eructos.
Esta es la nueva ruta que queremos cambiar.
Muy bien.
Los siguientes parámetros se refieren al propio paquete.
Así que tenemos que ser muy precisos sobre qué tipo de paquete que queremos reformar, que de lo contrario vamos
a reenviar todos los de un tipo específico, por ejemplo, todos los paquetes TCP.
Y esto será un completo desastre.
Sólo queremos reenviar paquetes HTTP.
Así que también vamos a escribir esto aquí HTP.
Pickett dice.
De acuerdo.
Así que estos son los únicos tipos de paquetes que queremos prevenir.
Muy bien.
Por lo tanto, los siguientes parámetros relativos al protocolo.
Así que hay p y luego tenemos diferentes protocolos.
Tenemos TCP, tenemos UDP.
Tenemos ICMP.
Y mucho más.
Las solicitudes repetidas se refieren a TCP.
Por lo tanto, sólo queremos reenviar paquetes cuyo protocolo sea
del tipo TCP.
De acuerdo.
Pero al escribirlo de esta manera ahora, cada paquete, cada paquete TCP se verá afectado por esta regla.
Esto significa que si el teléfono inteligente está haciendo una conexión H, conexión a Internet y conexión FTP.
Cualquiera que sea la conexión que el smartphone esté realizando con respecto al protocolo TCP, estos paquetes
serán ahora reenviados.
Por lo tanto, tenemos que ser un poco más precisos sobre qué tipo de paquete.
Ahora tenemos el protocolo TCP.
Eso está bien.
Y ahora tenemos que definir sólo los paquetes HTTP.
Y podemos hacerlo aplicando un puerto de destino.
Este es el siguiente parámetro.
Dash.
Dash de puerto 80.
¿Qué significa esto?
Nuestro paquete ejemplo punto org.
Este de aquí.
Esto tiene una dirección de destino, que es ejemplo punto org.
Ese es el nombre DNS.
Pero este nombre DNS se traduce en una dirección IP.
Junto a esta dirección IP.
Este paquete también tiene un puerto de destino y si estás realizando una petición HTTP, el puerto de destino
es la mayoría de las veces el puerto 80.
De lo contrario, tendremos que incluir este puerto en nuestro UL.
Así, por ejemplo, como este de aquí.
Hmm.
Vamos a limpiar esto un poco.
Así que si quieres hacer una petición HTTP con respecto a otro puerto, tenemos que añadir este puerto al final.
Por ejemplo, supongamos que el servidor HTTP no se ejecuta en el puerto ID, sino en el puerto 8010.
Entonces tenemos que añadir punto o dos puntos.
Lo siento, dos puntos 8010.
Ahora el puerto de destino es 8010 en lugar de 80.
Pero tenemos que hacerlo manualmente.
Así que si hacemos una petición HTTP, el puerto de destino será por defecto el puerto 80.
De acuerdo.
Por lo tanto, aplicando esta regla aquí en el puerto de destino 80, sólo reenviamos paquetes que
se refieran a peticiones HTTP.
Así que exactamente lo que queremos tener aquí en caso de que si el teléfono inteligente está haciendo en la
solicitud a en diferentes puertos en el puerto ocho por ejemplo el puerto 1020.
Quiero decir que puede ser cada puerto.
El comportamiento por defecto de las peticiones HTTP es que se ejecutan en el puerto ocho.
Pero digamos que el smartphone está haciendo una petición a este de aquí, y también es una petición HTTP.
Entonces necesitamos también en este puerto a nuestro puerto de destino, y podemos hacer esto simplemente copiando pegando
esta regla.
Así que copiamos y pegamos todos los comandos aquí y en lugar del puerto de destino ocho, lo cambiamos a 1020.
Entonces también reenviamos todas estas peticiones con respecto a yea a este puerto de destino a nuestro proxy en más adelante.
Podemos observar esto con Wireshark.
Así que si ejecutas Wireshark, entonces olfateas todo el tráfico que el smartphone está generando con respecto a
la configuración de aquí.
Así podrá ver todas las peticiones relativas al menos a la IP y al puerto.
Quiero decir que si estos paquetes están siendo encriptados con respecto a la venta por lo que la solicitud de hpe estos están siendo encriptados,
pero la IP y el puerto estos son desconocidos para usted.
No se cifrarán en el paquete.
Y observando el tráfico de Wireshark, podemos simplemente resumir toda esta información
y luego podemos aplicar todas nuestras reglas de tabla IP que reenviamos todos estos extraños, oscuros puertos como quieras
llamarlos a nuestro proxy listener más tarde.
Muy bien, así que ahora tenemos el puerto de destino, y lo último que tenemos que hacer es el paquete
ahora llega a esta interfaz.
Dibujémoslo aquí.
Así que este llega ahora a esta interfaz, que es esta, por ejemplo, o también esta interfaz.
Y ahora si es un paquete HTTP de tipo TCP destino Puerto 80, queremos reenviarlo en lugar de ir de
esta manera.
Queremos reenviarlo por aquí a nuestro proxy Brexit y de ahí también hacia atrás a nuestra segunda interfaz
de nudo y a Internet por aquí.
Esta es la ruta que queremos seguir.
Hagámoslo un poco más claro.
Así que...
Muy bien.
Y esto es exactamente lo que hacen los últimos parámetros de nuestras reglas de tabla IP.
Así que tenemos los parámetros menos.
Tenemos la cadena, la red.
El net significa simplemente Destination Network Address translation, lo que significa simplemente cambiar la dirección
de destino de este paquete.
Y esto es exactamente lo que queremos tener si el paquete llega a la interfaz de red.
Así, por ejemplo, este de aquí, digamos que tenemos el paquete con respecto al destino ejemplo
punto org.
En el puerto TCP 80.
Ahora, en lugar de ir por aquí, queremos cambiar la dirección de destino a 1042 0. 1.
Así que debería ir hacia arriba.
Este de aquí.
Y este es el último parámetro que tenemos que proporcionar.
Queremos cambiar la dirección de destino a la nación.
1042 y cero uno.
Y ahora también tenemos que proporcionar el puerto, porque esto también se incluye en el destino de este
paquete de aquí.
Y el puerto es 80, 80.
Y al hacerlo, hemos conseguido todo lo que queríamos aquí.
Así que ahora cada paquete HDPE que llegue a cualquier interfaz, no importa si es esta o esta interfaz, serán ahora redirigidos
o la dirección de destino será cambiada a la dirección de nuestra lista proxy.
Ahora por aquí, lo que significa que serán redirigidos a nuestro proxy aquí, que está escuchando en
1040 a 0 . 1. 88.
De acuerdo.
En este punto, hemos terminado con nuestras reglas de la pestaña IP aquí.
Así que hemos averiguado exactamente lo que hace éste.
Hagamos un último resumen de todo ahora mismo.
Muy bien.
Hagamos esto un poco más desordenado de lo que ya es.
Así que elijamos.
Un buen color.
Veamos.
Supongo que es bueno darse cuenta de esto.
Recapitulemos.
Si, por ejemplo, realizamos una solicitud de HPE desde nuestro smartphone con respecto a esta dirección, el paquete
se dirigirá ahora a través del router al adaptador de USB a Ethernet.
Y aquí tenemos ahora nuestra interfaz de red y nuestra regla de pestaña IP establecida.
Cada paquete que llega, tenemos ahora una regla de pre-enrutamiento, esta de aquí.
Esto significa que si este paquete es de tipo TCP.
Sí, lo es.
Es TCP.
Y si este paquete tiene la parte de destino 80, también es cierto.
A continuación, cambie la dirección de destino de lo que es en este paquete y este de aquí a esta dirección
de destino.
Así que a este de aquí, lo que significa que el paquete llega a esta interfaz y que ahora será reenviado
a nuestra lista de proxy.
Quiero decir, ¿aún es posible dibujar aquí?
Sí.
Así que tenemos esta enorme redirección a través de esta lista de proxy.
Pero ahora tenemos un problema.
Esta lista de proxy ahora aquí no es automáticamente reenviar de nuevo a este de aquí, pero esto es muy burp
suite vienen super útil.
Aquí no tenemos que cambiar nada en la tabla IP.
Este, está completamente listo.
Podemos hacer esto dentro del propósito alimentar el por lo que tiene un modo que se llama invisible.
Y este modo actúa como los suburbios con este proxy.
Lesnar no está aquí, lo que significa que el paquete se desvía a la sala de eructos.
Sí, exactamente lo que queremos tener.
Pero después, el burp suite redirige este paquete automáticamente al destino que se ha proporcionado
antes.
Así que esa es la característica de tener un proxy invisible como la suite eructo.
Por lo tanto, no tenemos que configurar ni cambiar ni modificar nada ahora mismo.
Lo único que tenemos que hacer es configurar un eructo para que actúe como proxy invisible.
Y también tenemos la ruta al revés.
Muy bien, eso es todo por ahora.
En el siguiente video, vamos a configurar esta lista de proxy ahora, que es la suite de eructo.
Es un proxy super increíble si quieres tratar con servicios de eructos.
Y ahí también echaremos un vistazo una vez más a esta regla de tabla IP de aquí.
Muy bien.
Así que espero verte en el próximo vídeo.