Linux – Treason Uncloacked.Windows repaired.

Llevo viendo esto por los mensajes de los servidores de Linux durante tiempo. No existe mucha documentación y la que existe, normalmente nos dice o nos tranquiliza al respecto, de la forma que, esto es un intento de ataque que no tiene repercusión.

En teoría no causa lentitud o caídas. Se trataría de un bug del kernel, cuando un cliente trata de hacer un “shrink” de la ventana TCP. El kernel debe ignorar/prevenir esto porque lo que no tendría efecto en absoluto. Por eso el mensaje que vemos es “Repaired”.


TCP: Treason uncloaked! Peer 200.88.237.19:60450/80
shrinks window 2492736652:2492739572. Repaired.

Como D.Toribio me dijo, este mensaje no es sólo un intento de conexión o ataque, es un cúmulo de intentos de conexión o ataques que finalmente activan ese comportamiento en el kernel. Con lo que varios de estos mensajes suponen que están haciendo algo que no deben.

Puede tratarse de un error, algún router estropeado o una máquina hackeada que se usa para el escaneo de puertos. Como decimos, aún tratándose de un ataque no tendría efecto, incluso si el kernel no se anticipase a este ataque lo único que se produciría sería lentitud de los servicios.

Sin embargo, basta hacer una repasada de las ips que se relacionan con esta incidencia para tener claro de que se trata de un tipo de ataque que, sea o no peligroso, es mejor evitar.


http://www.google.es/search?q=200.88.237.19

David Toribio me aconsejó implementar algo para al menos, devolverles la pelota a los bots de escaneo de puertos, porque la práctica dice que cuando los baneas, dejan de tocarte los @webs.


http://shebangme.blogspot.com/2010/03/tcp-treason-uncloaked-peer-shrinks.html

Este script realiza una batida por el /var/log/messages o dmesg y encuentra las ips que se han “excedido” en su interés hacia nosotros y la añade a nuestro firewall.

1. Crear reglas en iptables

# iptables -F TREASON
# iptables -X TREASON
# iptables -N TREASON

2. Creamos script y lo ejecutamos. El tema es dejarlo en el cron.hourly

#!/bin/bash
# Stupid shell script to stop stupid TCP Treason attacks
# Setup cronjob to stop them
# First, flush and clean Treason rules
iptables -F TREASON
#iptables -X TREASON
#iptables -N TREASON
for ATTACKER_IP in $(dmesg | grep 'Treason uncloaked!'
| cut -d' ' -f5 | cut -d':' -f1 | sort --unique)
do
FOUNDIT=0
for DONTBLOCK in $(route -n | grep -v Destination
| grep -v Kernel | awk '{print $2}' | sort
| uniq && ifconfig -a | grep inet | cut -f 2 -d ':'
| cut -f 1 -d ' ' | sort | uniq)
do
# echo "Checking $DONTBLOCK against $ATTACKER_IP ..."
if [ "$DONTBLOCK" = "$ATTACKER_IP" ]; then
# echo "UHOH! Hacker using forged local IP! Don't block it!"
FOUNDIT=1
fi
done
if [ "$FOUNDIT" = "0" ]; then
# echo "Hacker IP $ATTACKER_IP not found in don't block list... Dropping"
iptables -A TREASON -s $ATTACKER_IP/32 -j DROP
fi
done
iptables -A TREASON -j RETURN

Leave a Reply

Your email address will not be published. Required fields are marked *