Tag Archive for php

Web Hacking : Una línea para manejarlos a todos

¿Podría darte una línea de código acceso a un sitio Web completo? ¿Qué información obtendría un atacante si consiguiera llegar al nivel más bajo de tu página Web? es decir, a tu BBDD o SSOO. Dependiendo del objetivo de la misma podría encontrar seguramente información sobre la identidad de los usuarios, transacciones bancarias, compras online, usuarios, contraseñas y mucho más.

¿Cuánto vale tu información? Debemos de establecer unos controles de seguridad mínimos a nuestro sitio Web, llevar a cabo una serie de auditorías de seguridad que garanticen el buen funcionamiento de la misma. No sólo tener en regla la política de cookies y poco más, sino os puede ocurrir como la Web con la que me encontré hace unas semanas a la hora de preparar una charla. Antes de nada os muestro un disclaimer.


Aviso Legal y Descargo de Responsabilidad

  1. El objetivo de lo mostrado a continuación tiene fines educativos para aprender a mejorar la seguridad de nuestros sitios Web.
  2. No nos hacemos responsables del mal uso que se le pueda dar a las herramientas mostradas.
  3. Toda la auditoría Web mostrada a continuación se ha llevado a cabo con permisos de sus administradores según lo acordado en documento legal.

Vamos a llevar a cabo la auditoría de un sitio Web siguiente la metodología OWASP, concretamente seguiremos la OWASP Testing Guide V4. Los diferentes puntos que abarca dicha metodología los podéis ver detalladamente en el enlace anterior. A continuación nombramos los aspectos generales a tratar.

Read more

Exploit para SugarCRM y sus demos

En este artículo os hablaré sobre cómo detecté y corregí un pequeño “error” en un exploit para SugarCRM que no funcionaba correctamente. Mi charla en el pasado Hack&Beers de Tamarite (Huesca), trató precisamente sobre esto. Supongo que algo habrá cambiado en el tratamiento de URLs y Cookies de este CRM desde que se publicó su vulnerabilidad y exploit, exactamente el 25 de Junio de 2012, que a día de hoy cause el error en un exploit que se publicó al día siguiente de la publicación de la vulnerabilidad.

Enlace a información de la vulnerabilidad: http://www.securityfocus.com/bid/54169

Enlace al exploit: http://www.exploit-db.com/exploits/19403

SugarCRM es un sistema para la administración de la relación con los clientes (CRM) basado en LAMP (Linux-Apache-MySQL-PHP), desarrollado por la empresa SugarCRM, Inc. ubicada en Cupertino, California.

SugarCRM: Vulnerabilidad y Exploit

La vulnerabilidad que estamos tratando permite la ejecución de código remoto.

SugarCRM: Vulnerabilidad y Exploit

Para esta prueba de concepto, tenemos preparado un SugarCRM con una versión vulnerable, con un usuario creado con las siguientes credenciales: sugarcrm/sugarcrm.

Se requiere saber las credenciales de un usuario de SugarCRM para explotar esta vulnerabilidad. Esto puede hacer pensar que el número de exposición de sitios Web con SugarCRM vulnerables es muy limitado, sin embargo, hay que tener en cuenta que son muchos (muchísimos) los sitios Web que ofrecen probar SugarCRM en una demo, facilitando el usuario y contraseña para probar el CRM.

SugarCRM: Vulnerabilidad y Exploit

En la imagen anterior podemos ver una captura de una búsqueda en Google que muestra resultados de sitios Web con SugarCRM que ofrecen una demo y además facilitando un usuario y contraseña. Justo lo que nos requiere el exploit que vamos a usar.

El exploit para SugarCRM que vamos a utilizar es de Metasploit: sugarcrm_unserialize_exec.

SugarCRM: Vulnerabilidad y Exploit

Después de poner en uso el exploit, lo configuramos con las opciones requeridas: USERNAME (sugarcrm), PASSWORD (sugarcrm) y RHOST (192.168.1.39, dirección IP del servidor con SugarCRM). Los valores son los correctos para el sitio SugarCRM que tenemos preparado para la prueba de concepto. Como payload hemos seleccionado una sesión meterpreter vía PHP, mediante conexión inversa (reverse_tcp).

SugarCRM: Vulnerabilidad y Exploit

Al ejecutar el exploit, obtenemos un mensaje de error durante el “Login“, aún habiendo introducido las credenciales correctas (sugarcrm/sugarcrm). No se obtiene una ID de sesión. Procedemos a repasar el código del exploit y localizamos que el mensaje de error lo muestra cuando no se cumple una condición.

SugarCRM: Vulnerabilidad y ExploitPor alguna razón, con las credenciales correctas, la variable res.get.cookies no contiene la expresión regular que el código del exploit propone, para descubrir si se ha obtenido una sesión (PHP).

En primer lugar, con un proxy Web local como ZAP, comprobamos el formato de la cookie que se genera cuando hacemos “Login” en SugarCRM a través del navegador.

SugarCRM: Vulnerabilidad y Exploit

En principio, tal y como nos muestra ZAP Proxy, el formato de la Cookie generada cumple exactamente lo que la expresión regular del código intenta “matchear“. Falta comprobar cuál es el valor que recoge la variable. Para ello incluiremos una línea nueva en el código para hacer un “print” del contenido de la variable. Read more

PHP 5.4.0 – Vulnerabilidad remota permite DoS

Hace ya unas semanas, se encontró una vulnerabilidad grave en la versión 5.4.0 de PHP que permitiría a un atacante realizar una denegación de servicio (DoS) de forma remota.

Los chicos de packetstorm han publicado una prueba de concepto (PoC) para que probéis si vuestro servidor es vulnerable (está comprobado de todas formas).

Así que debido a su gravedad, y a su sencillez de explotación, desde hacking-etico.com aconsejamos actualizar lo antes posible nuestro PHP.

Según hemos podido investigar no se trata de una vulnerabilidad nueva, pero al hacerse pública la forma de explotarla, la urgencia en actualizar es máxima.

[Actualizado]: En exploit-db ya han publicado el exploit.

PD: Seguimiento de la vulnerabilidad en php.net https://bugs.php.net/bug.php?id=61509

Patch now!

PHP: múltiples vulnerabilidades

Múltiples vulnerabilidades han sido reportadas en PHP, algunos de los cuales tienen un impacto desconocido y otras que pueden ser explotadas por usuarios maliciosos para eludir ciertas restricciones de seguridad. A continuación se detallan las vulnerabilidades detectadas.

1) Errores de validación de entrada existentes en el tratamiento de los datos EXIF.

2) Un error en “tempnam ()” puede ser explotado para eludir la característica “safe_mode”.

3) Un error en “posix_mkfifo ()” puede ser aprovechado para eludir la característica “open_basedir”.

SOLUCIÓN: Actualizar a la versión 5.3.1.