From f8c4ea0903325b3951f36144c09185a957612183 Mon Sep 17 00:00:00 2001 From: adrien <adrien@malingrey.fr> Date: Tue, 11 Apr 2023 20:33:11 +0200 Subject: [PATCH] change yaml format --- init.sh | 11 ++++++--- .../http-favicon-url.nse | 0 http-get.nse => nmap/http-get.nse | 0 results.xsl | 23 +++++++++++++------ scan_all.php | 17 +++++++------- toyaml.xsl | 7 +++--- 6 files changed, 37 insertions(+), 21 deletions(-) rename http-favicon-url.nse => nmap/http-favicon-url.nse (100%) rename http-get.nse => nmap/http-get.nse (100%) diff --git a/init.sh b/init.sh index 473e645..a2c068f 100755 --- a/init.sh +++ b/init.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash ### # @@ -6,9 +6,14 @@ # ### +DIR="$(dirname -- "$0")" + echo "Nom du site ?" read site +filename="${site/ /_}" echo "Adresse réseau CIDR (xxx.xxx.xxx.xxx/xx) ?" read network -nmap --script smb-enum-shares.nse -oX "scans/$site.xml" $network -xsltproc --stringparam site "$site" --stringparam network $network toyaml.xsl "scans/$site.xml" > "confs/$site.yaml" + + +nmap --script smb-enum-shares.nse -oX "scans/$filename.xml" $network +xsltproc --stringparam site "$site" --stringparam network $network toyaml.xsl "$DIR/scans/$filename.xml" > "$DIR/confs/$filename.yaml" diff --git a/http-favicon-url.nse b/nmap/http-favicon-url.nse similarity index 100% rename from http-favicon-url.nse rename to nmap/http-favicon-url.nse diff --git a/http-get.nse b/nmap/http-get.nse similarity index 100% rename from http-get.nse rename to nmap/http-get.nse diff --git a/results.xsl b/results.xsl index f098d03..f2bdd51 100644 --- a/results.xsl +++ b/results.xsl @@ -5,12 +5,12 @@ version="1.1"> <xsl:output method="html" encoding="UTF-8" indent="yes" /> -<xsl:variable name="scan" select="document(string(lanScanConf/scan/@path))/nmaprun"/> +<xsl:variable name="scan" select="document(string(lanScanConf/@scanpath))/nmaprun"/> <xsl:template match="lanScanConf"> <html lang="fr"> <head> - <title>lanScan - <xsl:value-of select="@name"/></title> + <title>lanScan - <xsl:value-of select="@site"/></title> <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.3/dist/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/fomantic-ui@2.9.2/dist/semantic.min.css" /> <script src="https://cdn.jsdelivr.net/npm/fomantic-ui@2.9.2/dist/semantic.min.js"></script> @@ -41,7 +41,7 @@ <body> <header class="ui fixed blue inverted menu"> <a href="." class="header item">lan<img id="logo" src="../logo.svg" alt="S"/>can</a> - <div class="item"><xsl:value-of select="@name"/></div> + <div class="item"><xsl:value-of select="@site"/></div> </header> <div class="ui main container"> <p><xsl:value-of select="$scan/runstats/finished/@summary"/></p> @@ -133,9 +133,18 @@ <xsl:otherwise>red</xsl:otherwise> </xsl:choose> </xsl:variable> + <xsl:variable name="title"> + <xsl:value-of select="$scannedPort/@portid"/> + <xsl:text>/</xsl:text> + <xsl:value-of select="$scannedPort/@protocol"/> + <xsl:text> </xsl:text> + <xsl:value-of select="$scannedPort/service/@name"/> + <xsl:text> </xsl:text> + <xsl:value-of select="$scannedPort/state/@state"/> + </xsl:variable> <xsl:choose> <xsl:when test="($scannedPort/service/@name='microsoft-ds' or $scannedPort/service/@name='netbios-ssn' or $scannedPort/service/@name='smb') and $scannedHost/hostscript/script[@id='smb-enum-shares']/table[not(contains(@key, '$'))]"> - <div class="ui {$state} dropdown mini button" title="{$scannedPort/@protocol}/{$scannedPort/@portid} {$scannedPort/service/@name} {$scannedPort/state/@state}"> + <div class="ui {$state} dropdown mini button" title="{$title}"> <div class="text"><xsl:value-of select="@name"/></div> <i class="dropdown icon"></i> <div class="menu"> @@ -146,17 +155,17 @@ </div> </xsl:when> <xsl:when test="$scannedPort/service/@name='ms-wbt-server' or $scannedPort/service/@name='rdp'"> - <a class="ui {$state} mini button" href="../rdp.php?v={$scannedHostAddress}:{$scannedPort/@portid}" title="{$scannedPort/@protocol}/{$scannedPort/@portid} {$scannedPort/service/@name} {$scannedPort/state/@state}"> + <a class="ui {$state} mini button" href="../rdp.php?v={$scannedHostAddress}:{$scannedPort/@portid}" title="{$title}"> <xsl:value-of select="@name"/> </a> </xsl:when> <xsl:when test="$scannedPort/service/@name='ftp' or $scannedPort/service/@name='ssh' or $scannedPort/service/@name='http' or $scannedPort/service/@name='https'"> - <a class="ui {$state} mini button" href="{$scannedPort/service/@name}://{$scannedHostAddress}:{$scannedPort/@portid}" target="_blank" title="{$scannedPort/@protocol}/{$scannedPort/@portid} {$scannedPort/service/@name} {$scannedPort/state/@state}"> + <a class="ui {$state} mini button" href="{$scannedPort/service/@name}://{$scannedHostAddress}:{$scannedPort/@portid}" target="_blank" title="{$title}"> <xsl:value-of select="@name"/> </a> </xsl:when> <xsl:otherwise> - <a class="ui disabled {$state} mini button" title="{$scannedPort/@protocol}/{$scannedPort/@portid} {$scannedPort/service/@name} {$scannedPort/state/@state}"> + <a class="ui disabled {$state} mini button" title="{$title}"> <xsl:value-of select="@name"/> </a> </xsl:otherwise> diff --git a/scan_all.php b/scan_all.php index 98aa277..2a1a970 100644 --- a/scan_all.php +++ b/scan_all.php @@ -23,14 +23,15 @@ foreach (scandir(__DIR__."/confs") as $file) { <lanScanConf/> XML ); - $xml->addChild("scan path='scans/$site.xml'"); - - foreach ($yaml as $siteName => $groups) { - $xml->addAttribute("name", $siteName); - if ($groups) foreach ($groups as $groupName => $hosts) { + $xml->addAttribute("scanpath", "scans/$site.xml"); + + foreach ($yaml as $key => $value) { + if ($key == "site") { + $xml->addAttribute("site", $value); + } else { $xmlGroup = $xml->addChild("group"); - $xmlGroup->addAttribute("name", $groupName); - if ($hosts) foreach($hosts as $hostaddress => $servicesList) { + $xmlGroup->addAttribute("name", $key); + foreach($value as $hostaddress => $servicesList) { $targets[$hostaddress] = true; $xmlHost = $xmlGroup->addChild("host"); $xmlHost->addAttribute("address", $hostaddress); @@ -46,7 +47,7 @@ XML $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/tmp.xml' $targets\n"); + exec("nmap -v -Pn -p $services --script smb-enum-shares,".__DIR__."/nmap -oX '".__DIR__."/scans/tmp.xml' $targets\n"); rename(__DIR__."/scans/tmp.xml", __DIR__."/scans/$site.xml"); $xml->asXML(__DIR__."/site/$site.xml"); diff --git a/toyaml.xsl b/toyaml.xsl index 0315a50..215f592 100644 --- a/toyaml.xsl +++ b/toyaml.xsl @@ -10,14 +10,15 @@ <xsl:template match="nmaprun"> <xsl:text>--- +site: </xsl:text><xsl:value-of select="$site" /><xsl:text> + +</xsl:text><xsl:value-of select="$network" /><xsl:text>: </xsl:text> -<xsl:value-of select="$site" />: -<xsl:text> </xsl:text><xsl:value-of select="$network" />: <xsl:apply-templates select="host"/> </xsl:template> <xsl:template match="host"> -<xsl:text> </xsl:text> +<xsl:text> </xsl:text> <xsl:choose> <xsl:when test="hostnames/hostname/@name"><xsl:value-of select="hostnames/hostname/@name" /></xsl:when> <xsl:otherwise> <xsl:value-of select="address/@addr" /></xsl:otherwise>