文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SSH Secure Shell 3.0.0 Vulnerability Scanner

SSH Secure Shell 3.0.0 Vulnerability Scanner

时间:2007-02-17  来源:PHP爱好者


The following tool will scan the network for hosts using the vulnerable SSH version 3.0 that allows attackers to login to accounts without prompting for a user when their password is shorter than two characters.

For more information about this vulnerability, please see our previous post:
SSH Secure Shell 3.0.0 Allows Passwordless Logons

Tool:
#!/usr/bin/perl
#
# A local SSH 3.0.0 vulnerability scanner for the
# SSH Short Password Login Vulnerability
#
# Note: You must have superuser access on the system to scan it.
#
# usage: ./ssh3.pl
# Optional: -e turn off error
# -h specify a different /etc/shadow file
# (Options must come before host name)
#
# Written by hypoclear [email protected] - http://hypoclear.cjb.net
#
# This and all of my programs fall under my disclaimer, which
# can be found at: http://hypoclear.cjb.net/hypodisclaim.txt

use IO::Socket; use Getopt::Std;
getopts('h:e');

die "nusage: $0 ntOptional: -e turn off errorntt -h specify a different /etc/shadow filenn" unless @ARGV > 0;
if (!defined $opt_h)
{ $opt_h = "/etc/shadow";
}

$out = &bannerGrab($ARGV[0],22);
sysread $out, $message,100;
close $out;

if (($message =~ /3.0.0/) || (defined $opt_e))
{ print "Running SSH 3.0.0, checking for vulnerabilities...nn";
open(SHADOW, "<$opt_h") || die "Cannot open $opt_h!nNote: You must have superuser access to run this script.nn";
while( )
{ $name = $_;
$name =~ s/:.*$//;
$_ =~ s/^.*?://;
$_ =~ s/:.*$//;
$name =~ s/s//g; $_=~s/s//g;
push(@name,$name);
push(@hash,$_);
push(@lnnum,$cnt++); $cnt++;
}
close(SHADOW);

foreach $hash (@hash)
{ @chars = split(//,$hash);
foreach $char (@chars)
{ $count++;
}
if ($count <= 2)
{ print "$name[$line]t(line $lnnum[$line]) may be vulnerable!n";
$vulnFlag = 1;
}
$count=0; $line++;
}
if ($vulnFlag != 1)
{ print "No accounts appear to be vulnerable.n";
}
}
else
{ if (!defined $opt_e)
{ print "You are not running SSH 3.0.0.n";
die "If you feel that this is an error run with the -e option.n";
}
}
print "n";

sub bannerGrab
{ $host = gethostbyname($_[0]) || warn "cannot connect to $ARGV[0]n";
$port = getservbyport($_[1], 'tcp');
$haddr = sockaddr_in($_[1], $host);
socket(OUT, PF_INET, SOCK_STREAM, getprotobyname('tcp')) || warn "$!n";
connect(OUT, $haddr) ;
return OUT;
}


php爱好者站 http://www.phpfans.net 为phper提供一切资讯.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载