XML ); $xml->addChild("scan path='scans/$site.xml'"); foreach ($yaml as $siteName => $groups) { $xml->addAttribute("name", $siteName); if ($groups) foreach ($groups as $groupName => $hosts) { $xmlGroup = $xml->addChild("group"); $xmlGroup->addAttribute("name", $groupName); if ($hosts) foreach($hosts as $hostaddress => $servicesList) { $targets[$hostaddress] = true; $xmlHost = $xmlGroup->addChild("host"); $xmlHost->addAttribute("address", $hostaddress); if ($servicesList) foreach ($servicesList as $service) { $services[$service] = true; $xmlService = $xmlHost->addChild("service"); $xmlService->addAttribute("name", $service); } } } } $targets = join(array_keys($targets), " "); $services = join(array_keys($services), ","); exec("nmap -v -Pn -p $services --script smb-enum-shares,./http-get.nse,./http-favicon-url.nse -oX '".__DIR__."/scans/$site.xml' $targets\n"); $xml->asXML(__DIR__."/site/$site.xml"); } } ?>