FTP scan anonymous user

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

[ Hits: 4.892 ]

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

Multi Security Scan

Script para encontrar vulnerabilidades no BIND

Testando multiplos servers a ataque DoS

Port Scan

Ossec2MySQL


  

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