lunes, 10 de febrero de 2014

Cuando tus aplicaciones web seguras no sirven de nada!

Hoy que he tenido un poco de tiempo libre y el gimnasio no me ha dejado demasiado cansado empece a visitar algunos sitios web de Guatemala, para buscar algún tipo de falla o vulnerabilidad que me permitiera divertirme un poco.

Buscando un poco en la red, me encontré con sitio que presentaba vulnerabilidades de SQL Injection. Tras un momento de estar probando con sqlmap saque las bases de datos y los usuarios y password's del panel de administración.

  Figura 1: Bases de datos obtenidas con sqlmap

Figura 2: usuarios y passwords del panel de administración.

Desde el panel de administración fácilmente era posible realizar un defacement, ya que contaba con muchas opciones para la redacción y publicación de contenido en el sitio web. Pero ademas de esto contaba con una opción para incluir una imagen o fichero, el cual padecía de Unrestricted File Upload, permitiendo subir cualquier tipo de fichero.

       Figura 3: Formulario para cargar archivos

Aprovechando esto, subí una webshell c99 al servidor para poder realizar mas acciones dentro de este, ya que el panel de administración se limita unicamente a modificaciones del sitio web como tal.

 Figura 4: WebShell subida al servidor.

En muchos casos al momento de subir una webshell a un servidor, encuentras algunas limitaciones, que pueden ser el safe mode habilitado en el php.ini, el cual por seguridad suele bloquear un conjunto de funciones peligrosas, como lo son exec, system, etc., adicional a esto también se puede encontrar con el mod security habilitado en un Apache, estas son algunas medidas utilizadas en muchos servidores y que pueden fácilmente se pueden bypassear. El servidor donde se aloja el sitio de vulnerado, no cuenta con estas protecciones como aparece en la figura 4 el safe mode no esta habilitado, lo cual permite a un atacante moverse con facilidad por todo el servidor.

Llegado a este punto, configure el RAT DarkComet, y cree un server, el cual lo subir al servidor y posteriormente lo ejecute.

Figura 5: Conexión utilizando DarkComet al servidor web.

Después eso, ya logre tener un mejor panorama del servidor, y al ser este un servidor compartido, visualizar el demás contenido de las webs alojadas en dicho servidor, por supuesto tras notificarle esto al administrador, seguro que lo solucionara lo mas pronto posible.

Para cualquier administrador de sistemas siempre es importante mantener la seguridad de la información y por ello tienden a restringir los recursos en las organizaciones, instalando IDS, DLP, estableciendo buenas politicas de seguridad,actualizando los sistemas, analizando el red trafico de la red, capacitando a los empleados y muchas tareas mas con las cuales debe cargar todo buen administrador.

Actualmente la mayoría de transacciones se manejar por internet por medio de aplicaciones web, en las cuales, muchas empresas por mayor comodidad, ya sea por ahorro de costes, falta de recursos tecnológicos como puede ser el bajo ancho de banda que hay en determinados países, etc, optan por contratar servicios de terceros, ya sea contratando un servidor compartido o un servidor dedicado para montar sus servicios y aplicaciones web, que ofrecerán a sus clientes o empleados de la organización.

Cuando una organización se costea un servidor dedicado la gestión de la seguridad esta divida 50-50, ya que el administrador de la organización debe velar por la seguridad lógica del servidor y en la cual para cualquier tipo de evento que surge, puede echar mano al servidor para solucionar cualquier problema. El otro 50% corresponde a la empresa que presta el servicio de rentar el servidor o servidores y quien es la que asume el papel de administradora física del servidor, esta es quien debe velar por que el servidor este bajo un ambiente regulado, físicamente seguro, en los cuales nadie mas que personal autorizado ingrese al data center. Todo esto es muy bueno, siempre y cuando se tomen las medidas de seguridad por ambas partes. Aunque se adopten buenas practicas y medidas de seguridad nunca se esta 100% seguro y existe un riego latente ante los diversos ataques que se pueden recibir.

El riesgo se incrementa al hablar de servidores compartidos, como el expuesto en el caso ya que el administrador de la organización no sera quien este involucrado en securizar tanto a nivel físico y lógico el servidor, puedes tener todas tus aplicaciones web aseguradas perfectamente e incluso el administrador del servidor compartido, puede establecer un conjunto de medidas de seguridad que permitan mantener lejos a un buen grupo de atacantes, pero si alguna web alojada en el mismo servidor es vulnerable, no servirá de mucho las medidas que se adopten y que tus aplicaciones si estén seguras.

Algunas veces, algunos atacantes quieren ingresar a algún sitio web, el cual se encuentra bien desarrollado, y tras buscar fallos y no encontrarlos, buscan sitios alojados en el mismo servidor, que si presenten fallas y mediante estas, dar con tu sitio.

Si utilizas un servidor compartido, mas vale que empieces a pedirle a la empresa que te provee el servicio que realice auditorias frecuentes y por tu parte asegúrate de que tus aplicaciones web son seguras, no vaya ser que por tu culpa o culpa de alguien mas, comprometan dicho servidor y la información de todos quede expuesta. 

Saludos.
Lexer Pars.

Payoneer US Payment Service Approval   

No hay comentarios:

Publicar un comentario