Listing 3 nessus.pl
#!/usr/bin/env perl
use Net::Nessus::ScanLite;
my $NESSUS_HOST = "localhost";
my $NESSUS_PORT = 1241;
my $NESSUS_SSL = 0;
my $NESSUS_USER = "nessus";
my $NESSUS_PASS = "nessus";
my $plugin = "10407;";
my $target_ip = $ARGV[0];
my $nessus = Net::Nessus::ScanLite -> new(host => $NESSUS_HOST,
port => $NESSUS_PORT,
ssl => $NESSUS_SSL);
$nessus -> preferences({ host_expansion => 'none',
safe_checks => 'yes',
checks_read_timeout => 1 } );
$nessus -> plugin_set($plugin);
if ($nessus -> login($NESSUS_USER, $NESSUS_PASS)) {
$nessus -> attack($target_ip);
# info
print "Total info = " . $nessus -> total_info . "\n";
foreach $info ($nessus -> info_list) {
print "Info:\n";
print "ID: " . $info -> ScanID . "\n";
print "Port: " . $info -> Port . "\n";
print "Description: " . $info -> Description . "\n";
}
# holes
print "Total holes = " . $nessus -> total_holes . "\n";
foreach $hole ($nessus -> hole_list) {
print "ID: " . $hole -> ScanID . "\n";
print "Port: " . $hole -> Port . "\n";
print "Description: " . $hole -> Description . "\n";
}
} else {
print "Nessus login failed!\n";
}
|