elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 05:42  


Tema destacado:


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits
| | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | |-+  Exploitation of Cpanel PHP Restriction Bypass Vulnerability
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Exploitation of Cpanel PHP Restriction Bypass Vulnerability  (Leído 1,603 veces)
tragantras


Desconectado Desconectado

Mensajes: 466


Ver Perfil
Exploitation of Cpanel PHP Restriction Bypass Vulnerability
« en: 5 Septiembre 2010, 19:32 »

Bueno, he pensado que estaría bien hacer una contribución a esta comunidad, asi que aprovechando el disclosure de esta vuln que han hecho los chicos de abysssec ( link! ) para el recien estrenado MOAUB  (Month Of Abysssec Undisclosed Bugs) voy a hacer una puesta en escena de como se realizaría la explotación y de paso traduciré algunos fragmentos del texto expuesto en la web apuntada.

0x01: INFO

      Versiones afectadas: cPanel <= 11.25
      Efectos: Atacantes debidamente logueados pueden conseguir acceso a archivos restringidos, bypasseando mod_security, Safemod, y funciones desabilitadas.
      Impacto: Critico, explotable localmente y una vez logueados.


0x02: Finalidad

      Usuarios de hosts compartidos (/virtuales) pueden acceder a otras webs del sistema, así como ejecutar funciones prohibidas (exec, system, passthru... ).
      Defacing múltiples, acceso a otros servidores internos etc...


0x03: Código vulnerable
Código
 
Line 529 :
 function Show_Notice ( $Script , $Version_Numbers )
   {
       $Home_Directory = $GLOBALS['enc_cpanel_homedir'] ;
       if ( substr ( $Home_Directory , -1 ) != '/' )
       {
           $Home_Directory = $Home_Directory . '/' ;
       }
       $Files = Array ( ) ;
       $Directory = $Home_Directory . '.fantasticodata/' . $Script . '/' ;  // AQUI!
       $Files = Get_Files ( $Directory ) ;
       if ( !empty ( $Files ) AND is_array ( $Files ) )
       {
           $Temporary = natcasesort ( $Files ) ;
       }
       foreach ( $Files As $File )
       {
           $Name    = '' ;
           $Path    = '' ;
           if ( strstr ( $File , "|" ) )
           {
               $Name = explode ( "|" , $File ) ;
               $Name = $Name[1] ;
           }
           else
           {
               $Name = $File ;
           }
           /* Debugging */ // echo $Directory . $File . '<br/>' ;
           if ( is_file ( $Directory . $File ) )
           {
               include $Directory . $File ;
               if ( !empty ( $thisscriptpath ) )
               {
                   $Path = $thisscriptpath ;
               }
               else
               {
                   $Path = $Home_Directory . 'public_html/' . $Name . '/' ;
               }
               if ( substr ( $Path , -1 ) != '/' )
               {
                   $Path = $Path . '/' ;
               }
               /* Debugging */ // echo $Path . 'fantversion.php<br/><br/>' ;
               if ( is_file ( $Path . 'fantversion.php' ) )
               {
                   include $Path . 'fantversion.php' ;
                   if ( !empty ( $version ) )
                   {
                       if ( in_array ( $version , $Version_Numbers ) )
                       {
                           return 'Yes' ;
                       }
                   }
               }
           }
       }
       return 'No' ;
   }

0x04: Explotación

Yo tuve que primero entrar en http ://www.[MIWEB].com:2082/frontend/x3/fantastico/index.php, instalar un script cualquiera para que así se creara el archivo necesario en el ftp, suponemos que instalamos el phpFormGenerator, accediendo a: http ://www.[MIWEB].com:2082/frontend/x3/fantastico/autoinstallhome.php?app=phpFormGenerator.

Una vez instalado accedemos mediante el ftp o el filemanager del cPanel a "/home/.fantasticodata/phpFormGenerator/" y subimos nuestro archivo que podrá bypassear la seguridad del host, supongamos una shell, c99.php, tenemos que nombrarla de la siguiente manera:
Código:
web.com|archivo
, por ejemplo si mi web es www.tragantras.com debería crear un archivo que se llamase:  tragantras.com|c99  (puede llamarse c99.php sii..., pero al caso da igual).

Con el archivo ya subido al ftp, tan solo tenemos que entrar de nuevo en http ://www.[MIWEB].com:2082/frontend/x3/fantastico/autoinstallhome.php?app=phpFormGenerator para que mediante el código expuesto anteriormente se haga el include y se cargue sin restricciones nuestro archivo.

0x05: Why?

Bueno, para poder modificar los archivos del host es necesario que el mod fantastico del cpanel no esté restringido por funciones, mod_security o safemod, por ello, podemos hacer uso de esta práctica relajada para hacernos con el sistema. En hosts compartidos podemos llegar a tener acceso a más de 1000 webs con tan solo tener una cuenta en el host...

0x06: DECLINACIÓN DE RESPONSABILIDAD

Como simple usuario de internet no me hago responsable de lo que vosotros, almas corrompibles podeis llegar a hacer con esta info, yo, por mi parte, ya avisé a mi proveedor de servicios en todas las webs de que dispongo.




Sin más un saludo!

En línea

Colaboraciones:
1 2
-el director del cole-

Desconectado Desconectado

Mensajes: 49



Ver Perfil
Re: Exploitation of Cpanel PHP Restriction Bypass Vulnerability
« Respuesta #1 en: 7 Septiembre 2010, 17:09 »

Si señor ,esto es lo que andaba buscando hace tiempo  ;)

saludos!
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Hacking, the art of exploitation
Hacking Avanzado
Fastolfe 1 654 Último mensaje 6 Enero 2012, 09:56
por Ov4d0ze
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines