FTP scan anonymous user

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

[ Hits: 4.895 ]

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",'-anonymous@')){
        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

Script de Analise do Syslog SNORT

Testando multiplos servers a ataque DoS

Script para encontrar vulnerabilidades no BIND

Crashing

Code que "brinca" com senhas


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts