Detectar y neutralizar una máquina infectada DDoS

DDoS (Denegación de servicio) es un ataque muy común, que hace que muchos ordenadores infectados lancen peticiones contra una página web hasta colapsarla y tumbarla. Cuando te infectan un ordenador para poder hacer luego estos ataques, hay gente que es cuidadosa y sustituye los comandos “netstat”, “ss”, “lsof”… Por si se te ocurre mirar a ver que pasa, que solo te muestre lo que el atacante quiere que veas, es decir, esconde todos los procesos de ataque para que no te des cuenta de que estas atacando. Esto se podría detectar si se tuviese un Firewall externo por el que pasase todo el trafico.

En este post voy a explicar como se podría detectar estas cosas con Iptables y en el caso que se detecte que se esta atacando a una página web poder detener este ataque. Esto se puede aplicar a mas situaciones pero como ejemplo para explicar y entender el proceso he optado esta situación.

Para empezar, lo que se va ha hacer es logar el tráfico de la máquina que nos interese. En este caso se va a logar por usuario ya que no se sabe que fichero/servicio puede ser el infectado, ni que puertos se están utilizando, ni a que puertos puede estar atacando.

Para ver los usuarios del sistema:

Aquí saldrán todos los usuarios creados tanto los de usuarios normales como los del sistema.

Una vez localizados los usuarios que se quieren monitorizar usar el siguiente comando

Syntaxis: iptables –append OUTPUT -m owner –uid-owner <usuario> –jump LOG –log-prefix “<prefijo para poder diferenciar los logs>

Una vez ejecutados estos comandos empezaran a logar todo el tráfico que se genere por esos usuarios y guardarlo en /var/log/syslog

Para verlo en tiempo real

Después de detectar las conexiones que se están estableciendo, lo siguiente es bloquearlas con iptables. Normalmente cuando se hace un ataque de DDoS suele ser a puertos: 80, 443, 8080 y 8443 es decir, a puertos web. Para eso hay que bloquear el trafico que vaya a dichos puertos.

Y una vez hecho esto todo el tráfico que vaya con destino a esos puertos será bloqueado. Para verlo usar el siguiente comando:

En este caso se ve que en el puerto 80 se está generando tráfico

Una vez subsanado el problema se pueden quitar todas las reglas aplicadas de la siguiente manera

También se pueden detectar si una máquina esta siendo atacada contando las conexiones que se están realizando al apache.

One comment

  1. Muy guay el artículo, ignoraba esas reglas de iptables. No obstante, pienso que las de la tabla OUTPUT son demesiadas agresivas ya que te quedarías sin tráfico WEB.

    Yo primero discriminaria el tráfico UDP que es el más utilizado para D.o.S 🙂

    Un saludo!

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *