Exemple #1
0
function alerts_list()
{
    //Go through all the hosts and determine if any alerts should be created
    global $hosts;
    $h = new Host();
    $hosts = $h->find();
    $alerts = new Alert();
    foreach ($hosts as $host) {
        foreach ($host->ports() as $port) {
            $status = $host->get_port_status($port, true);
            if ($status == 0) {
                if ($alert = $alerts->find("WHERE host_id = " . $host->id . " AND port = " . $port)) {
                    //There is already an alert for this, go through each user and see what their preference for this port is
                    send_user_alerts($host->id, $port, $alert->id, 'all');
                } else {
                    $alert = new alert();
                    $alert->message = "HOST: " . $host->name . "PORT: " . $port . "";
                    $alert->user_id = 1;
                    $alert->host_id = $host->id;
                    $alert->port = $port;
                    $alert->sent_on = time();
                    $alert->save();
                    send_user_alerts($host->id, $port, $alert->id, 'single');
                    //Go through each user and determine what their preference for this port is.
                }
            } else {
                //The port is up, but we need to set up reports if there is an existing one!
                if ($alert = $alerts->find("WHERE host_id = " . $host->id . " AND port = " . $port)) {
                    //There is already an alert for this, go through each user and see what their preference for this port is
                    send_user_alerts($host->id, $port, $alert->id, 'single');
                }
            }
        }
    }
    render();
}
 public function test_to_xml_include()
 {
     $xml = Host::find(4)->to_xml(array('include' => 'events'));
     $decoded = get_object_vars(new SimpleXMLElement($xml));
     $this->assert_equals(3, count($decoded['events']->event));
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     if (Session::token() != Input::get('_token') || !Request::ajax()) {
         App::abort(401, 'You are not authorized or using wrong request type or csrf token not provided.');
     }
     $host = Host::find($id);
     $host->delete();
     return "Host removed";
 }
Exemple #4
0
function update_scan_script()
{
    //We are going to create an nmap script for every host and all their ports, and save the results in XML
    global $hosts;
    $h = new Host();
    $hosts = $h->find();
    foreach ($hosts as $host) {
        $ports = $host->ports;
        $name = $host->name;
        $cmd[] = "#!/bin/bash\ncd /var/www/admin/scan/commands\n#SCAN for {$name}\nnmap -P0 -O -p {$ports} {$name} -oX ../results/{$name}.xml -oG ../results/{$name}.txt --stylesheet ../nmap.xsl > /dev/null\n";
    }
    $script = "#!/bin/bash\n\n#The nmap commands\n" . implode('', $cmd) . "\n### END of COMMANDS ###\n";
    file_put_contents('commands/run_scan.sh', $script);
}