FTP scan anonymous user

Publicado por Perfil removido (última atualização em 09/10/2013)

[ Hits: 4.592 ]

Download ftp-scan.pl




Esse script procura por servidores FTPs que usuários anônimos podem logar, ele gera uma lista de IPs e vai procurando...

  



Esconder código-fonte

#!/usr/bin/env perl -w

use strict;
use Socket;
use threads;
use Net::FTP;
use Getopt::Long;
use threads::shared;

our(@ip,$tmp_file,$out);
my($ini,$fin,@threads,$tn,$i,$ips,$ipe,$output);
my $stop :shared = 0;

sub banner {
    print "\n\n(*) FTP-SCAN Anonymous User by MMxM\n";
    print "(+) Options:\n\n";
    print "\t-s|--start     [the ip to start]\n";
    print "\t-e|--end       [the ip to end]\n";
    print "\t-o|--output    [the output file]\n";
    print "\t-t|--threads   [number of threads]\n\n";
    exit(1);
}

sub ip2long {
    return unpack("l*", pack("l*", unpack("N*", inet_aton(shift))));
}

sub long2ip {
    return inet_ntoa(pack("N*", shift));
}

sub check {
    my $id = threads->tid();
    $id--;
    if(!defined($ip[$id])){
        $stop = 1;
        return;
    }

    my $ftp = Net::FTP->new($ip[$id],Timeout => 15);
    print "\r(+) Number of IP's checked => ".($id + 1);
    if(!$ftp){
        return;
    }

    if($ftp->login("anonymous",'[email protected]')){
        print $out $ip[$id]."\n";
        $ftp->quit();
        return;
    } else {
        $ftp->quit();
        return;
    }
}

GetOptions(
    's|start=s' => \$ips,
    'e|end=s' => \$ipe,
    't|threads=i' => \$tn,
    'o|output=s' => \$output
) or die(&banner);

if(!defined($ips) || !defined($ipe) || !defined($tn) || !defined($output)){
    &banner;
}

open($out,'>>'.$output) || die($!);

my $ip1 = &ip2long($ips);
my $ip2 = &ip2long($ipe);

&banner if($ip1 > $ip2);

while($ip1 <= $ip2){
    push(@ip,&long2ip($ip1));
    $ip1++;
}

@ip = grep { !/(255)|^\d+\.\d+\.\d+\.0$/ } @ip;

print "\n\n(+) ".scalar(@ip)." IP's To Scan\n";

$ini = 0;
$fin = $tn - 1;

while(1){
    @threads = ();

    for($i=$ini;$i<=$fin;$i++){
        push(@threads,$i);
    }

    foreach(@threads){
        $_ = threads->create(\&check);
    }

    foreach(@threads){
        $_->join();
    }

    close($out) if $stop;
    last if $stop;

    $ini = $fin + 1;
    $fin = $fin + $tn;
}

print "\n(+) 100% complete\n\n";

Scripts recomendados

Code que "brinca" com senhas

Scanner TCP/ping

Gerador de Senhas Aleatórias VERSÃO 2.0

Monitor de portas

Script para encontrar vulnerabilidades no BIND


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts