Beispiel #1
0
$levels = array("1" => "Serious:", "2" => "High:", "3" => "Medium:", "6" => "Low:", "7" => "Info:");
$db = new ossim_db();
$dbconn = $db->connect();
// select data for specified job_id
if (!($result = $dbconn->Execute(ossim_query("SELECT vj.report_id, vns.name as profile, vj.meth_VSET as profile_id, vj.name, vj.username, vj.fk_name, vj.scan_SUBMIT, vj.scan_START, vj.scan_END, TIMESTAMPDIFF(MINUTE, vj.scan_START, vj.scan_END) as duration, vj.meth_TARGET\n                            FROM vuln_jobs as vj, vuln_nessus_settings as vns WHERE vj.id={$job_id} and vj.meth_VSET=vns.id")))) {
    echo $dbconn->ErrorMsg() . "\n";
    $dbconn->close();
} else {
    $report_id = $result->fields["report_id"];
    $username = $result->fields["username"];
    if (intval($report_id) != 0 || $message != "") {
        $data = Session::get_user_info($dbconn, 'admin', TRUE);
        // API Login to read email settings
        //
        $cc = new Alienvault_client();
        $cc->auth()->login('admin', $data->get_pass());
        $attachments = array();
        $subject = _('Scan Job Notification: ') . $result->fields["name"];
        $width = 115;
        $body = '<html>
                    <head>
                        <title>' . $subject . '</title>
                        </head>
                        <body>' . '<table width="100%" cellspacing="0" cellpadding="0" style="border:0px;">' . '<tr><td colspan="2" style="text-decoration: underline;">' . _('Email scan summary') . '</td></tr>' . '<tr><td colspan="2">&nbsp;</td></tr>' . '<tr><td width="' . $width . '">' . _('Scan Title:') . '</td><td>' . $result->fields["name"] . '</td></tr>' . '<tr><td width="' . $width . '">' . _('Profile:') . '</td><td>' . $result->fields["profile"] . '</td></tr>';
        $body .= '<tr><td width="' . $width . '">' . _('Submit Date:') . '</td><td>SCAN_SUBMIT</td></tr>' . '<tr><td width="' . $width . '">' . _('Start Date:') . '</td><td>SCAN_START</td></tr>';
        $body .= '<tr><td width="' . $width . '">' . _('Duration:') . '</td><td>' . (intval($result->fields["duration"]) == 0 ? "< 1 min" : $result->fields["duration"] . " mins") . '</td></tr>' . '<tr><td colspan="2">&nbsp;</td></tr>' . '<tr><td width="' . $width . '">' . _('Launched By:') . '</td><td>' . ($result->fields["fk_name"] != "" ? $result->fields["fk_name"] : _("Unknown")) . '</td></tr>';
        if (valid_hex32($username)) {
            $visible_for = Acl::get_entity_name($dbconn, $username);
        } else {
            $visible_for = $username;
        }
Beispiel #2
0
 //Database connection
 list($db, $conn) = Ossim_db::get_conn_db();
 $db = new Ossim_db();
 $conn = $db->connect();
 $user_obj = Session::get_user_info($conn, $user, TRUE, FALSE);
 $pass = $user_obj->get_pass();
 $session = new Session($user, $pass, '');
 $session->login(TRUE);
 $db->close();
 $is_disabled = $session->is_user_disabled();
 if ($is_disabled == TRUE) {
     $e_msg = _('Error! Scan cannot be completed: Scan owner is disabled');
     Av_exception::throw_error(Av_exception::USER_ERROR, $e_msg);
 }
 $client = new Alienvault_client($user);
 $client->auth()->login($user, $pass);
 //Launching scan
 $autodetect = $autodetect == 1 ? 'true' : 'false';
 $rdns = $rdns == 1 ? 'true' : 'false';
 $timing_template = empty($timing_template) ? 'T3' : $timing_template;
 $scan_options = array('scan_type' => $scan_type, 'scan_timing' => $timing_template, 'autodetect_os' => $autodetect, 'reverse_dns' => $rdns, 'scan_ports' => $custom_ports, 'idm' => 'false');
 $av_scan = new Av_scan($targets_p, $sensor, $scan_options);
 $av_scan->run();
 echo "Asset scan:\n";
 echo "\tTargets: " . $av_scan->get_targets('scan_format') . "\n";
 echo "\tSensor: " . $av_scan->get_sensor() . "\n";
 echo "\tScan Options: \n";
 $sc_options = $av_scan->get_scan_options();
 foreach ($sc_options as $sc_type => $sc_value) {
     echo "\t\t{$sc_type}: {$sc_value}\n";
 }