small changes

This commit is contained in:
Adrien MALINGREY 2025-02-10 11:35:09 +01:00
parent 6d94778307
commit 175cc9392f
8 changed files with 55 additions and 34 deletions

View File

@ -1,14 +1,12 @@
<?php <?php
$NMAP = "sudo nmap"; # nmap command, E.g. 'nmap', 'sudo nmap' for root privileges or '/usr/bin/nmap' if not in PATH
$NMAPDIR = dirname(`which nmap`) . "/../share/nmap";
$port = (($_SERVER['REQUEST_SCHEME'] == "http" && $_SERVER['SERVER_PORT'] == 80) || ($_SERVER['REQUEST_SCHEME'] == "https" && $_SERVER['SERVER_PORT'] == 443)) ? "" : ":{$_SERVER['SERVER_PORT']}"; $port = (($_SERVER['REQUEST_SCHEME'] == "http" && $_SERVER['SERVER_PORT'] == 80) || ($_SERVER['REQUEST_SCHEME'] == "https" && $_SERVER['SERVER_PORT'] == 443)) ? "" : ":{$_SERVER['SERVER_PORT']}";
$BASEDIR = "{$_SERVER['REQUEST_SCHEME']}://{$_SERVER['SERVER_NAME']}$port" . dirname($_SERVER['SCRIPT_NAME']); $BASEDIR = "{$_SERVER['REQUEST_SCHEME']}://{$_SERVER['SERVER_NAME']}$port" . dirname($_SERVER['SCRIPT_NAME']);
$SCANSDIR = "scans"; $SCANSDIR = "scans";
$STYLESHEETSDIR = "stylesheets"; $STYLESHEETSDIR = "stylesheets";
$NMAP = "sudo nmap"; # nmap command, E.g. 'nmap', 'sudo nmap' for root privileges or '/usr/bin/nmap' if not in PATH
$NMAPDIR = dirname(`which nmap`) . "/../share/nmap";
$DATADIR = "."; $DATADIR = ".";
$SCRIPTARGSFILE = "script-args.ini"; $SCRIPTARGSFILE = "script-args.ini";
$LANSCANOPTIONS = "-PSmicrosoft-ds -F -T5 --datadir '$DATADIR' --script http-info,smb-shares-size --script-args-file '$SCRIPTARGSFILE'";
$HOSTSCANOPTIONS = "-A -T5 --datadir '$DATADIR' --script http-info,smb-shares-size --script-args-file '$SCRIPTARGSFILE'";
$COMMONOPTIONS = [ $COMMONOPTIONS = [
"--datadir" => $DATADIR, "--datadir" => $DATADIR,
"--script-args-file" => $SCRIPTARGSFILE, "--script-args-file" => $SCRIPTARGSFILE,

View File

@ -48,10 +48,10 @@
<form id="scanForm" class="ui large form initial inverted" action="scan.php" method="get"> <form id="scanForm" class="ui large form initial inverted" action="scan.php" method="get">
<div class="ui left aligned raised segment inverted"> <div class="ui left aligned raised segment inverted">
<h4 class="ui header">Découvrir ou superviser un réseau</h4> <h2 class="ui header">Découvrir ou superviser un réseau</h2>
<div class="inverted field"> <div class="inverted field">
<div class="ui large input"> <div class="ui large input">
<input id="nameInput" type="text" name="target" placeholder="<?= $_SERVER['REMOTE_ADDR']; ?>" <input id="nameInput" type="text" name="target" placeholder="<?= $_SERVER['REMOTE_ADDR']; ?>/24"
list="targetList" pattern="[a-zA-Z0-9._\/ \-]+" required title="Les cibles peuvent être spécifiées par des noms d'hôtes, des adresses IP, des adresses de réseaux, etc. list="targetList" pattern="[a-zA-Z0-9._\/ \-]+" required title="Les cibles peuvent être spécifiées par des noms d'hôtes, des adresses IP, des adresses de réseaux, etc.
Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10.0-255.0-255.1-254" /> Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10.0-255.0-255.1-254" />
</div> </div>

View File

@ -41,7 +41,7 @@
<div class="inverted field"> <div class="inverted field">
<label for="targetInput" title="Les cibles peuvent être spécifiées par des noms d'hôtes, des adresses IP, des adresses de réseaux, etc. <label for="targetInput" title="Les cibles peuvent être spécifiées par des noms d'hôtes, des adresses IP, des adresses de réseaux, etc.
Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10.0-255.0-255.1-254">Cibles</label> Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10.0-255.0-255.1-254">Cibles</label>
<input id="targetInput" type="text" name="target" placeholder="Cibles" spellcheck="false" <input id="targetInput" type="text" name="target" placeholder="Cibles" spellcheck="false" required
pattern="[a-zA-Z0-9._\/ \-]+" list="targetList" title="Les cibles peuvent être spécifiées par des noms d'hôtes, des adresses IP, des adresses de réseaux, etc. pattern="[a-zA-Z0-9._\/ \-]+" list="targetList" title="Les cibles peuvent être spécifiées par des noms d'hôtes, des adresses IP, des adresses de réseaux, etc.
Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10.0-255.0-255.1-254" /> Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10.0-255.0-255.1-254" />
</div> </div>
@ -544,10 +544,19 @@ Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10.
<div class="title"><i class="icon dropdown"></i>Évitement de pare-feux/IDS et mystification</div> <div class="title"><i class="icon dropdown"></i>Évitement de pare-feux/IDS et mystification</div>
<div class="content"> <div class="content">
<div class="inverted field">
<div class="ui toggle inverted checkbox"> <div class="two inverted fields">
<input id="fInput" type="checkbox" name="-f"> <div class="inverted field">
<label for="fInput" title="-f">Fragmentation des paquets</label> <div class="ui toggle inverted checkbox">
<input id="fInput" type="checkbox" name="-f">
<label for="fInput" title="-f">Fragmentation des paquets</label>
</div>
</div>
<div class="inverted field">
<div class="ui toggle inverted checkbox">
<input id="badsumCheckbox" type="checkbox" name="--badsum">
<label for="badsumCheckbox" title="--badsum">Checksum incorrect</label>
</div>
</div> </div>
</div> </div>
@ -563,11 +572,6 @@ Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10.
</div> </div>
</div> </div>
<div class="inverted field">
<label for="gInput" title="-g">Port source</label>
<input id="gInput" type="number" name="-g" min="0" max="65535">
</div>
<div class="inverted field"> <div class="inverted field">
<label for="dataLengthInput" title="--data-length">Longueur des données</label> <label for="dataLengthInput" title="--data-length">Longueur des données</label>
<input id="dataLengthInput" type="number" name="--data-length" min="0"> <input id="dataLengthInput" type="number" name="--data-length" min="0">
@ -575,12 +579,18 @@ Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10.
<div class="inverted field"> <div class="inverted field">
<label for="DInput" title="-D">Leurre</label> <label for="DInput" title="-D">Leurre</label>
<input id="DInput" type="text" name="-D"> <input id="DInput" type="text" name="-D" pattern="[a-zA-Z0-9._,\-]*"
placeholder="decoy1[,decoy2][,ME],..." title="decoy1[,decoy2][,ME],...">
</div> </div>
<div class="inverted field"> <div class="inverted field">
<label for="SInput" title="-S">Usurpation d'adresse IP</label> <label for="SInput" title="-S">Usurpation d'adresse IP</label>
<input id="SInput" type="text" name="-S"> <input id="SInput" type="text" name="-S" pattern="[0-9.]*">
</div>
<div class="inverted field">
<label for="gInput" title="-g">Port source</label>
<input id="gInput" type="number" name="-g" min="0" max="65535">
</div> </div>
<div class="inverted field"> <div class="inverted field">
@ -592,13 +602,6 @@ Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10.
<label for="scanDelayInput" title="--scan-delay">Délai entre les scans</label> <label for="scanDelayInput" title="--scan-delay">Délai entre les scans</label>
<input id="scanDelayInput" type="number" name="--scan-delay" min="0"> <input id="scanDelayInput" type="number" name="--scan-delay" min="0">
</div> </div>
<div class="inverted field">
<div class="ui checkbox">
<input id="badsumCheckbox" type="checkbox" name="--badsum">
<label for="badsumCheckbox" title="--badsum">Checksum incorrect</label>
</div>
</div>
</div> </div>
</div> </div>
@ -736,6 +739,7 @@ Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10.
new TagsInput(scriptArgsInput, { new TagsInput(scriptArgsInput, {
delimiters: ',' delimiters: ','
}) })
new TagsInput(DInput)
newScanForm.onsubmit = function (event) { newScanForm.onsubmit = function (event) {
if (this.checkValidity()) { if (this.checkValidity()) {

View File

@ -29,6 +29,7 @@
<body class="inverted"> <body class="inverted">
<xsl:apply-templates select="." mode="nav"> <xsl:apply-templates select="." mode="nav">
<xsl:with-param name="target" select="$target" />
<xsl:with-param name="name" select="$name" /> <xsl:with-param name="name" select="$name" />
</xsl:apply-templates> </xsl:apply-templates>
@ -39,6 +40,11 @@
</xsl:apply-templates> </xsl:apply-templates>
</main> </main>
<footer class="ui footer inverted segment">
Résultat de la commande :<br/>
<code><xsl:value-of select="@args"/></code>
</footer>
<script src="script.js"></script> <script src="script.js"></script>
<script> <script>
$('.ui.tree.accordion').accordion() $('.ui.tree.accordion').accordion()

View File

@ -28,6 +28,7 @@
<body class="inverted"> <body class="inverted">
<xsl:apply-templates select="." mode="nav"> <xsl:apply-templates select="." mode="nav">
<xsl:with-param name="target" select="$target" />
<xsl:with-param name="name" select="$name" /> <xsl:with-param name="name" select="$name" />
</xsl:apply-templates> </xsl:apply-templates>
@ -71,6 +72,11 @@
</table> </table>
</main> </main>
<footer class="ui footer inverted segment">
Résultat de la commande :<br/>
<code><xsl:value-of select="@args"/></code>
</footer>
<script src="script.js"></script> <script src="script.js"></script>
<script> <script>
var table = $('#scanResultsTable').DataTable({ var table = $('#scanResultsTable').DataTable({
@ -89,7 +95,7 @@ var table = $('#scanResultsTable').DataTable({
'print', 'print',
{ {
extend: 'collection', extend: 'collection',
text: 'Exporter', text: 'Export',
buttons: ['csv', 'excel', 'pdf'] buttons: ['csv', 'excel', 'pdf']
}, },
], ],
@ -167,9 +173,11 @@ $('.ui.dropdown').dropdown()
<xsl:value-of select="substring-after(hostnames/hostname/@name, '.')" /> <xsl:value-of select="substring-after(hostnames/hostname/@name, '.')" />
</xsl:if> </xsl:if>
</td> </td>
<td> <xsl:if test="../host/address[@addrtype='mac']/@vendor">
<xsl:value-of select="address[@addrtype='mac']/@vendor" /> <td>
</td> <xsl:value-of select="address[@addrtype='mac']/@vendor" />
</td>
</xsl:if>
<td> <td>
<xsl:apply-templates select="ports/port | $initHost/ports/port[not(state/@state='closed')][not(@portid=$currentHost/ports/port/@portid)]" mode="service"> <xsl:apply-templates select="ports/port | $initHost/ports/port[not(state/@state='closed')][not(@portid=$currentHost/ports/port/@portid)]" mode="service">
<xsl:with-param name="initHost" select="$initHost" /> <xsl:with-param name="initHost" select="$initHost" />
@ -181,7 +189,8 @@ $('.ui.dropdown').dropdown()
</td> </td>
<td> <td>
<a class="ui mini icon teal icon button" target="_blank" title="Scan intensif"> <a class="ui mini icon teal icon button" target="_blank" title="Scan intensif">
<xsl:attribute name="href">scan.php?target=<xsl:value-of select="$hostAddress" />&amp;preset=host</xsl:attribute> <xsl:attribute name="href">scan.php?target=<xsl:value-of select="$hostAddress" />
&amp;preset=host</xsl:attribute>
<i class="search plus icon"></i> <i class="search plus icon"></i>
</a> </a>
</td> </td>

View File

@ -28,6 +28,7 @@
<xsl:value-of select="$target" /> <xsl:value-of select="$target" />
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
<xsl:text> - lanScan</xsl:text>
</title> </title>
<link rel="icon" href="favicon.ico" /> <link rel="icon" href="favicon.ico" />
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/fomantic-ui@2.9.3/dist/semantic.min.css" /> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/fomantic-ui@2.9.3/dist/semantic.min.css" />

View File

@ -3,6 +3,7 @@
xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.1"> xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.1">
<xsl:template match="nmaprun" mode="nav"> <xsl:template match="nmaprun" mode="nav">
<xsl:param name="target" />
<xsl:param name="name" /> <xsl:param name="name" />
<nav class="ui inverted secondary menu"> <nav class="ui inverted secondary menu">
@ -58,10 +59,12 @@
<div class="ui right aligned category search item"> <div class="ui right aligned category search item">
<form id="scanForm" action="scan.php" method="get"> <form id="scanForm" action="scan.php" method="get">
<div class="ui inverted icon input" id="targetInputDiv"> <div class="ui inverted icon input" id="targetInputDiv">
<input name="lan" class="prompt" type="text" placeholder="Scanner un réseau" pattern="[a-zA-Z0-9._\/ \-]+" title="Les cibles peuvent être spécifiées par des noms d'hôtes, des adresses IP, des adresses de réseaux, etc. <input name="target" class="prompt" type="text" placeholder="Scanner un réseau" pattern="[a-zA-Z0-9._\/ \-]+" value="{$target}"
title="Les cibles peuvent être spécifiées par des noms d'hôtes, des adresses IP, des adresses de réseaux, etc.
Exemples: 192.168.1.0/24 scanme.nmap.org 10.0-255.0-255.1-254" /> Exemples: 192.168.1.0/24 scanme.nmap.org 10.0-255.0-255.1-254" />
<i class="satellite dish icon"></i> <i class="satellite dish icon"></i>
</div> </div>
<input type="hidden" name="preset" value="lanScan" />
</form> </form>
<a class="ui icon button item" href="options.php" title="Options avancées"> <a class="ui icon button item" href="options.php" title="Options avancées">
<i class="settings icon"></i> <i class="settings icon"></i>

View File

@ -14,7 +14,7 @@ $.toast({
showIcon : 'calendar', showIcon : 'calendar',
displayTime: 0, displayTime: 0,
closeIcon : true, closeIcon : true,
position : 'bottom right', position : 'bottom left',
}) })
</xsl:if> </xsl:if>
<xsl:if test="finished/@summary"> <xsl:if test="finished/@summary">
@ -24,7 +24,7 @@ $.toast({
showIcon : 'satellite dish', showIcon : 'satellite dish',
displayTime: 0, displayTime: 0,
closeIcon : true, closeIcon : true,
position : 'bottom right', position : 'bottom left',
}) })
</xsl:if> </xsl:if>
<xsl:if test="finished/@errormsg"> <xsl:if test="finished/@errormsg">
@ -35,7 +35,7 @@ $.toast({
class : 'error', class : 'error',
displayTime: 0, displayTime: 0,
closeIcon : true, closeIcon : true,
position : 'bottom right', position : 'bottom left',
}) })
</xsl:if> </xsl:if>
</script> </script>