[Tutorial] RFI By ShadinessDark

Iniciado por dracko.rx, Febrero 24, 2010, 03:24:23 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.


Tutorial remote file inclusion

1.) Presentación

2.) Que es RFI

3.) Dorks RFI

4.) Testeando la vulnerabilidad

5.) Sacando una conclusión a todo

6.) Como cuidar nuestra Web de este tipo de ataques

7.) Despedida


1.) Presentación

Primero que nada este tutorial va dedicado a mis amigos de BugDox  y a todo los Lectores especialmente a los que no les caigo bien, muchos me harán criticas Y eso es Bueno porque Uds. Me corrigen como muchos saben yo me retire del DEFACING no Es que yo sea conocido ni nada por el estilo este tutorial lo he hecho de manera especial
Para dar la diferencia de otros tutoriales que he visto en la red...

¿Por qué diferente?

Porque la mayoría de los tutoriales visto en la red son poco explicados para iniciados

¿A que se debe este tutorial?

Bueno este tutorial no puedo decir que lo hago con el fin de bien lo hago para bien y Para mal lo hago con concepto de cómo explotarlo y concepto de cómo arreglarlo
No es mi culpa que un Web Master no me haga caso ¿Verdad?

Los saludos más especiales para mis compañeros:

Zero Bits
KuTer
Jeferx
Darki113r
_84kur10_
Z1z30f
Kozmic.Kizz

2.) Que es RFI

RFI tiene como nombre Remote File Inclusión en español inclusión remota de archivo
Como ya saben que dice en la wikipedia esta vulnerabilidad se encuentra en páginas
Dinámicas ósea echas en PHP no en todo tipo de Web como saben siempre es depende
Del buen programador esta vulnerabilidad se encuentra en include()  casi siempre
Buscamos en los códigos de fuentes por eso es bueno estar pendiente de nuestra Programación cuando tenemos un sitio Web, Un atacante puede inyectar su código
En un programa PHP en su servidor, Cuando acceden al servidor pueden acceder a Cualquier que tiene el programa PHP por ejemplo:

Base de datos
Archivos de contraseña
Y otras cosas

Pueden instalar sus propios servidores que lo ejecutan con los privilegios de la victima
Del servidor Web como {apache o httpd} Y si el servidor no lo han modificado en algunos locales de la vulnerabilidad de escalada de privilegios el atacante que monto
La shell puede ser usada para convertirse en root... 

3.) Dorks RFI

Con un dork podemos conseguir las vulnerabilidades al azar con solo visitar
Www.Google.com y poner lo siguiente:


/index.inc.php?PATH_Includes=

/ashnews.php?pathtoashnews=

Uno de estos dos les servirá si no visiten No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


4.) Testeando la vulnerabilidad


Bueno ya hemos encontrado una Web ahora vamos a testearla  haber si es vulnerable
Primero que nada muchas veces esto se encuentra con solo revisar en los códigos de Fuente siempre se encuentra lo siguiente:


Código: php
<?php

include"#bugdox";

?>


Recordemos que esta vulnerabilidad se presenta cuando se intenta meter una página
Remota adentro de la otra y se utilizan lo códigos que di como ejemplo cuando se Encuentra la Vulnerabilidad.include() lo que hace es incluir una pagina remota por ejemplo $Bugdox

Se puede utilizar una url bajo argumento y eso es lo que hace explotar RFI por ejemplo:
Código: php

http://vulnerable.com/badcode?ejemplo=


tenemos ?ejemplo.php cuando el atacante introduce su codigo malicioso.
Citar
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta 

Www.xD.com es la Web donde subí mi SHELL con el nombre c99.jpg

Al ejecutar esto en la Web de la victima ¿Qué pasa? No recoge ejemplo.php
Si no que el sistema agarra la url maligna que es la que le da una CONEXIÓN REMOTA que es cuando introducimos nuestra shell ¿Me entienden?.Un atacante
Puede saber controlar las variables de PHP se hace mediante:

Código: php
mis-PHP register_globals función.


Cuando register_globals esta habilitado en PHP el lenguaje automagicamente
Hace una instancia con los valores de las variables de la petición en http, y los pone
En el espacio de nombres del programa PHP.

Cuando se activa se le permite a un atacante inyectar un valor para cualquier variable Sin inicializar en cualquier programa solo el atacante añade un parámetro GET al final De la url es decir después de "="

Ejemplo hemos entrado en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta hemos mirado el código de fuente
Hemos observado que tiene include() hacemos la prueba:
Código: php

http://vulnerable.com/badcode?ejemplo=http://Www.google.com


Resulta que al darle clic nos redirección a GOOGLE de una vez ya sabemos que la Web Es vulnerable a RFI.

Luego que encontramos nuestra Web vulnerable buscamos nuestra SHELL
Ya sea c99 o r57 y hay otras mas.

Buscamos un hosting gratuito que soporte PHP y guardamos nuestra shell en un
Jpg.php o con gif.php no importa el formato porque tampoco que vamos a poner
Cualquier formato a veces muchas Web no permiten extracciones como gif y otras...

5.) Sacando una conclusión a todo

Como pueden ver la lógica rfi no es muy difícil es un ataque muy básico
Trata de que No tienes permitido ver los links. Registrarse o Entrar a mi cuenta es la Web vulnerable bugdox.php esta es la que
Incluirá el redireccionamiento ?ejemplo= Esta es la que le permite a un atacante
Introducir códigos maliciosos por ejemplo la SHELL y No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Este sitio es el que almacena la shell...

6.) Como cuidar nuestra Web de este tipo de ataques

Para evitar este tipo de ataques en nuestros sitios podemos ir al FTP y buscar
La configuración index.php lo editamos y agregamos lo siguiente:

Antes de continuar este CODIGO de seguridad no es hecho por mi lo pueden ver
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta...

Codigo:

if (file_exists($_GET['id'].".php")) {
include ($_GET['id'].".php");
} else {
echo "El acceso a este lugar lo tiene denegado o no existe";
}

Ejemplo de codigo:

echo "El acceso a este lugar lo tiene denegado o no existe";

Este if funciona de la manera que si al colocar:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No te redireccionara si no que te dirá El acceso a este lugar lo tiene desnegado o no Existe pero si por ejemplo agregamos:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Y si existe pasara normalmente sin dar el error para que no de el Error este archivo debe existir.

7.) Despedida

Otro tutorial mas que hago no es la gran cosa a lo mejor tengo errores por hay
Si los tengo me gustarian las {Criticas} Son muy importante para correjir a los
Demas...

No pongo mi sitio Web porque siempre los Web Master andan con el trauma de que
Hacemos Spam como si con eso piensan que acabaran el Spam sueñen un rato.

By ShadinessDark
Venta de diseños - Contactar por MP

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta