Inicio | Favoritos | Recomendar


Remote File Inclusion por Phantom Lord

En este tuto voy a explicar en que consiste este fallo.
Esta vulnerabilidad permite incluir archivos remotos desde otros servidores en paginas que tengan algo asi como:

www.pagina.com/index.php?file=inicio.php

Por ejemplo para buscar en el google este tipo de fallos tendriamos que poner algo asi.

allinurl: index.php?*=*

Pero de esta manera creo que google ya esta filtrando este tipo de busquedas entonces tendriamos que probar con otra cosa como por ejemplo:

allinurl: index.php?page=historia.php

o

allinurl: index.php?pagina=inicio.php

y probar con lo que se les ocurra .

Ahora veamos si la pagina que elejimos es vulnerable. Le podemos meter el google por ejemploo ya que sirve para todo jeje, entonces hacemos esto.

si vemos como la pagina del google se carga dentro de la pagina eso quiere decir que estamos frente a una posible web vulnerable a rfi. Tengamos en cuenta que hay que hacer referencia al protocolo http a la hora de incluir sino no sirve (page=http://www.google.com)

Ya dijimos que esta vulnerabilidad permite incluir archivos remotos desde otros servidores en paginas y casi todas las vulnerabilidades se dan por este codigo:

Código:

y se explotaria de esta manera.
Abres el explorador y pones esto.

Pero lo mejor seria incluir un codigo que nos permita ejecutar comandos en el servidor.
Ahora veremos unos codigos para esto.

exec();

system();

passthru();

Bueno ya tenemos los codigos ahora los guardamos con extencion .gif o .jpg y los subimos a nuestro servidor.
Pero ojo si le ponemos extencion .php se ejecuta nuestro pripio server y no nos serviria porque nosotros necesitamos ejecutarlo en otro server y no en el nuestro por supuesto.

Bueno ya tenemos los codigos en nuestro server guardados como por ejemplo exp1.gif, exp2.gif y asi con los 3 codigos ya que alguna de esta variable (exec();,system();, passthru() puede estar bloqueada en el server y tendremos que probar con las 3.

O.k Ahora para ejecutar el codigo en el server demos hacerlo de esta manera.

Hay que tener en cuenta que page es un caso cualquiera y que puede variar segun la web.

Tenemos el exploit ejecutado ahora que podemos hacer ?

Lo que podemos hacer es por medio del comando cat ver archivos de configuracion para sacar informacion, ls para listar directorios, cd para moverse, y otras cosas con mas comandos.

Por ejemplo:

Pero cuando ejecuto esto no me da nada.
Que pasa?
Y bueno si ejecutaste los 3 codigos y el server no te deja ver los archivos es porqeu no tenes permisos y por eso no podes ejecutar archivos.
Para esto tendriamos que utilizar un exploit que nos de permisos, que no son de root pero podremos ejecutar archivos tranquilamente, como puede ser el w00t.
w00t:Este exploit aprovecha un bug en el kernel 2.4 y paso a explicar brevemente como ejecutarlo.
1. Iremos a la carpeta /tmp del server victima hay podemos ejecutar exploits desde nobody (cd /tmp).
2. Subiremos el w00t al server por medio de wget, para esto subi el archivo w00t a tu server y ejecuta lo siguiente, dentro la carpeta tmp
Código:

Esto agarrara el archivo w00t de tu server y lo pasara a la carpeta del orto server en la que estes ,que era (/tmp).
3. ahora le daremos permisos chmod 777 al w00t para poder ejecutarlo.
Seria de esta manera

Código:

Ahora para para ver si hicimos todo bien debemos escribir "id" y tendremos nuestro id, si nos da otro id que no sea el nobody es porque funciono ojo que no seremos root sino que tendremos vastantes permisos como para movernos y sacar buena info. Si nuestro id nos da nobody tendremos que hacer todo de nuevo y bien.
Luego de esto podriamos ejecutar algun backdoor para poder entrar con una shell sin tener que hacer todo esto de nuevo la proxima vez. Uno de estos backdoor se llama r0nin.

Esto sera explicado en el proximo capitulo de este tutorial.
Nota:Aqui les dejo una recopilacion de exploits de la internet para hacer distintas cosas mediante rfi.

1) Cambiar el index en 2 segundos

Código:

2) Otro sencillo ejemplo. Guardar com .gif, .jpg, o .txt y hacer el remote file inclusion con la variable vulnerable y la url de este archivo.

Código:

Código:

Código:

Código:

Algunos en perl de Hackzatan.
Funcionan de la misma manera
http://host/cgi-bin/nst.cgi?p=uname -a
Donde:
nst.cgi >> Es el nombre del archivo
p es el comando que esta en el nst.cgi que nos da shell
1 Código:

2 Código:

3 Código:

Eso es todo a practicar.

Phantom Lord.


© 1997-2005 hackersdelocos