El pasado 20 de Agosto, al ingresar al portal de UDTecnoVirtual la Noticia principal (que originalmente informaba sobre el Curso de Ciudadano Digital) daba cuenta de que la seguridad del portal habia sido violada. Como nos recuperamos y que aprendimos de este evento?
Al verificar el cambio realizado en la página principal, procedimos a recuperarla accediendo como administradores, pero nuestro atacante logro acceder a la cuenta de administrador, cambiando la contraseña. De este modo es imposible realizar cambio alguno con la información que teniamos y nuestra labor ahora, además de recuperar la página principal, era recuperar la administración de nuestro portal.
Como lo Hicimos
Perdimos el control de nuestro Joomla, pero afortunadamente no perdimos el acceso a nuestras bases de datos de tal forma que logramos acceder a la tabla de ususarios de Joomla pero nos encontramos con los campos usuario y contraseña, donde las contraseñás son almacenadas encriptadas con MD5, además de un script que aplica Joomla para mayor seguridad. Con esto, imposible conocer la contraseña utilizada por el "Nuevo Administrador" del portal. Encontramos en la red algunos manuales para desencriptar esta contraseña, pero buscando agilizar el proceso verificamos si algun otro usuario tenia acceso al front-end del portal, encontrando que uno de nuestros conpañeros podia acceder con su contraseña de siempre.
Sabiendo esto nos dirijimos a la tabla de ususarios, copiamos HASH de la contraseña de nuestro compañero y lo reemplazamos en el usuario administrador de tal forma que pudimos acceder al portal como administradores, usando la contraseña de otro de los usuarios.
Pudimos haber utilizado otras técnicas como habilitar permisos a otro usuario desde la Base de Datos, pero esta fue la que llego primero a dar solución
.
Habiendo ingresado como administradores procedimos a recuperar la noticia alterada y a verificar en los logicos de nuestro hosting las solicitudes realizadas al portal para ver cual habia sido la vulnerabilidad explotada. Además procedimos a hacer una busqueda en google sobre las vulnerabilidades del sistema Joomla para tratar de cubrirlas y evitar que esto sucediera nuevamente.
Que aprendimos
Primero que todo que el usuario por defecto es un grave error (aún no se porque nunca lo cambiamos
) un atacante siempre usara los usuarios por defecto de cualquier tecnología para tratar de obtener acceso a ella.
Además nos dimos cuenta que junto a la actualización permanente del CMS, se debe estar verificando las páginas principales de los componentes que utilicemos en nuestras comunidades porque pueden ser objetivos de expertos en seguridad Informática en cualquier momento. Su actualización es necesaria y en algunos componentes no es automática, de tal forma que se debe verificar minimo mensualmente (preferiblemente semanal).
Hacerse lectores de comunidades encargadas de verificar la seguridad de nuestro CMS y sus componentes
Gracias a la Comunidad Dragonjar conicí el portal del Centro de Capacitación de Alta Tecnología donde constantemente publican Advisor's sobre vulnerabilidades en Joomla y sus componentes. Además buscando información sobre el Diplomado que desarrollan sobre Seguridad Informática, tuve la oportunidad de comunicarme con Pr@fEsOr X quien ha tenido la amabilidad de indicarme sobre un grave fallo de seguridad en el componente IDOBLOG.
Pues bien, por supuesto asumí que mi componente no se encontraba actualizado y procedí a la página principal de sus creadores donde encontré que la versión que uso actualmente es la última, y, que para poder actualizarme a una version mejorada debo hacer la compra del componente.
, mala noticia, pues la comunidad UDTecnoVirtual busca sostenerse sobre software gratuito y aún no hemos visto la necesidad de comprar software para su correcto funcionamiento, además que el componente IDOBLOG ha funcionado correctamente y es de nuestro agrado.
Informe de este percance a Pr@fEsOr X quien me ha indicado que realizará un advisor junto con el parche para sanear este problema, pero no me ha dejado tranquilo y me he puesto en la tarea de verificar el inconveniente el día de hoy.
Manos a la Obra
Primero que todo buscar la vulnerabilidad, sabemos que es una Inyeccion SQL, pero no sabemos por donde empezar. Probamos en algunos de los parámetros que son pasados a los archivos php pero la verdad no somos muy expertos en este tema, asi que fuimos a preguntarle a quien todo lo sabe.... google.
Realizando la busqueda de vulnerabilidades del componente llegamos a la base de datos de exploits Milw0rm, donde encontramos un exploit con ejemplos de como explotar esta vulnerabilidad (del año 2008) creimos que no seria el problema de nuestro caso porque fue un compoenente instalado a principios de este año, pero o sorpresa cuando aplicando el exploit empezamos a obtener resultados sorprendentes
... aterradores
.
Asi que nos dirigimos al codigo php que podría estar generando el inconveniente y nos encontramos con un filtrado Incorrecto de la forma:
$myid = JRequest::getVar('myid');
Parámetro que es utilizado en una consulta SQL en el componente IDOBLOG.
La solución, verificar el tipo de dato que se esta recibiendo:
$myid = JRequest::getVar('myid', 0, '', 'int');
De esta forma si el valor solicitado por la función no es un entero tomará como valor por defecto cero (0).
Para Finalizar
Vamos a verificar con Pr@fEsOr X si aún se encuentran otras vulnerabilidades en el componente y de la misma forma a seguir revisando nosotros mismos, de no encontrarse otro problema postearemos el parche en nuestro página para quienes hacen uso de este componente.
Agradecer a Pr@fEsOr X por informarnos del inconveniente e invitar a nuestros lectores usuarios de Joomla a leer periodicamente los advisor's publicados por el CCAT.
Finalmente recordar que el sistema completamente seguro depende del trabajo de sus administradores, pero siempre se encontrará un lugar por donde romperla y siempre existira alguien que quiera acceder sin permiso al sistema.
Parche:
Pueden descargar el componente arreglado aquí (instalador) o descargar el archivo profile.php y reemplazarlo en su portal por /components/com_idogoblog/site/models/profile.php.
IDOBLOG es un producto de IDOJOOMLA.
Twitter
Myspace
Mister Wong
Digg
Del.icio.us
Slashdot
Furl
Yahoo
Googlize this
Facebook











