OWASP Maryam
Mark Zeman
So vereinfachen Sie Nmap-Scans
Die Grundidee ist, dass es die Benutzung von nmap vereinfacht, indem es in der Lage ist, Scans zu empfehlen und nützliche Voreinstellungen zur Verfügung zu stellen. Anstatt sich merken zu müssen, dass die Erkennung aller aktiven Hosts in einem Netzwerk sudo nmap -vvv --reason -e $INTERFACE $TIMING -sn -PS22-25,80,139,443,8080 -PU53,123,137,161 -PE -PP -PM -iL $ALL_TARGETS_FILE
ist, führt man einfach ./nmapAutomator.sh -H <Netzwerkadresse> -t network
aus und fertig!
Running a network scan on 192.168.0.10 Host is likely running Linux ---------------------Starting Network Scan--------------------- Found the following live hosts: 192.168.0.11 192.168.0.12 192.168.0.13 192.168.0.14 ---------------------Finished all scans------------------------ Completed in 2 seconds
Es speichert sogar automatisch die Ausgabe, sowohl von der Shell als auch im .nmap-Format, so dass ein Speichern nicht vergessen geht. Der Nachteil ist natürlich, dass es alle Optionen verbirgt. Wenn man also auf Hosts stosst, die sich seltsam verhalten, und ein Host-Timeout benötigen, müssen man sich wieder selbst in das Shell-Skript einarbeiten.
Da nmapAutomator als gut kommentiertes Shell-Skript geschrieben ist, das keine kryptischen Kurznamen verwendet, ist das glücklicherweise nicht allzu schwer zu bewerkstelligen. Die Einstellung, die für die Netzwerkerkennung verwendet wird, ist eine einfache Anpassung:
${nmapType} -T4 --max-retries 1 --max-scan-delay 20 -n -sn -oN nmap/Network_${HOST}.nmap ${subnet}/24
Dies ist ein viel einfacherer Scan als der oben vorgeschlagene, aber für viele Netzwerke wird er ausreichen, und wo dies nicht der Fall ist, ist es nicht schwer, ihn zu ändern. Dabei gibt es fünf zentrale nmap-basierte Scan-Typen:
Der *Vulns*-Scan nutzt ebenfalls nmap, wenn auch nur um über die nmap Scripting Engine (NSE) das Vulners-Skript auszuführen, welches dann nach Schwachstellen mit CVSS-Score von 7.0 oder höher sucht.
Running Vuln scan on common ports This may take a while, depending on the number of detected services.. PORT STATE SERVICE VERSION 25/tcp open smtp Postfix smtpd | smtp-vuln-cve2010-4344: |_ The SMTP server is not Exim: NOT VULNERABLE 80/tcp open http nginx (reverse proxy) |_http-stored-xss: Couldn't find any stored XSS vulnerabilities. |_http-dombased-xss: Couldn't find any DOM based XSS. |_http-csrf: Couldn't find any CSRF vulnerabilities. 143/tcp open imap Dovecot imapd 443/tcp open ssl/http nginx (reverse proxy) |_http-stored-xss: Couldn't find any stored XSS vulnerabilities. |_http-dombased-xss: Couldn't find any DOM based XSS. |_http-csrf: Couldn't find any CSRF vulnerabilities. 465/tcp open ssl/smtp Postfix smtpd | smtp-vuln-cve2010-4344: |_ The SMTP server is not Exim: NOT VULNERABLE 587/tcp open smtp Postfix smtpd | smtp-vuln-cve2010-4344: | The SMTP server is not Exim: NOT VULNERABLE 993/tcp open imaps? 8090/tcp open rtsp | fingerprint-strings: | FourOhFourRequest, GetRequest, HTTPOptions: | HTTP/1.0 404 Not Found | content-type: text/html; charset=utf-8 | content-length: 53 | <html><body><h1>Resource not found</h1></body></html> | RTSPRequest: | RTSP/1.0 501 Not Implemented | content-length: 0 | SIPOptions: | SIP/2.0 501 Not Implemented | content-length: 0
Trotz des Namens automatisiert nmapAutomator nicht nur nmap, sondern nutzt es auch, um verschiedene andere Tools zu befüllen. Der eigentliche Stolz von nmapAutomator ist jedoch der Scan-Typ Recon, bei dem er verschiedene Tools zur Durchführung weiterer Scans vorschlägt.
Bevor wir darauf eingehen, was dieser Modus alles kann, müssen wir festhalten, dass hier sein grösstes UX-Versagen liegt. Es wird versucht, dem Benutzer 25 Sekunden Zeit zu geben, um auszuwählen, welches Tool er ausführen möchte oder ob er irgendetwas überspringen möchte, aber wegen des Countdowns wird die Befehlszeile jede Sekunde aktualisiert und löscht Ihre Eingaben, um Ihnen freudig mitzuteilen, dass smtp-
eine “Falsche Wahl” war. Natürlich, aber leider war es nicht möglich, schnell genug in die Tasten zu hauen, um smtp-user-enum
innerhalb von 1s richtig einzugeben.
Die Vorschläge sind relativ einfach, aber nützlich. Es gibt kein maschinelles Lernen oder ähnliches, nur eine einfache Liste, die z.B. dnsrecon ausführt, wenn Port 53/tcp als offen entdeckt wurde oder SNMPscan, wenn Port 161/udp offen ist. Gleichzeitig wird ein Nicht-Standard-Port wie 8090 nicht als Web-Port erkannt und es wird kein weiterer Scan durchgeführt.
Which commands would you like to run? All (Default), ffuf, nikto, smtp-user-enum, sslscan, Skip <!> Running Default in (1)s: ---------------------Running Recon Commands--------------------- Starting smtp-user-enum scan Starting smtp-user-enum v1.2 ( http://pentestmonkey.net/tools/smtp-user-enum ) ---------------------------------------------------------- | Scan Information | ---------------------------------------------------------- Mode ..................... VRFV Worker Processes ......... 5 Usernames file ........... /usr/share/wordlists/metasploit/unix_users.txt Target count ............. 1 Username count ........... 168 Target TCP port .......... 25 Query timeout ............ 5 secs Target domain ............ ######## Scan started at Fri Apr 8 16:38:29 2022 ######## ######## Scan completed at Fri Apr 8 16:38:32 2022 ######## 0 results. 168 queries in 3 seconds (56.0 queries / sec) Finished smtp-user-enum scan ========================= Starting nikto scan - Nikto v2.1.6 Dazu kommt noch der *All*-Modus, welcher alle anderen Varianten kombiniert. Dieser nutzt die Informationen, welche mit jedem Schritt gesammelt werden, um die Zielliste für den nächsten Schritt zu verfeinern, wodurch dies die zuverlässigste und umfangreichste Art ist, nmapAutomator zu benutzen.
Eine weitere positive Sache an nmapAutomator ist, dass er nicht viele Abhängigkeiten benötigt. Wenn Kali Linux verwendet wird, ist die einzige fehlende Abhängigkeit gobuster oder ffuf (beides funktioniert), da alle anderen verwendeten Tools bereits installiert sind. Beide Tools dienen dem Bruteforcing von Verzeichnissen und Dateien in Webseiten, ähnlich wie dirbuster oder dirb. Gobuster kann auch DNS-Subdomains, virtuelle Hostnamen auf Webservern und Amazon S3-Buckets durchnummerieren, wenn es unabhängig davon verwendet wird.
ffuf (Fuzz Faster U Fool) ist ein Fuzzing-Tool, das auch eine Menge zusätzlicher Fuzzing-Massnahmen durchführen kann, einschliesslich POST-Daten oder GET-Parameter. Es kann sogar Daten, die von anderen Tools generiert wurden, für sein Fuzzing verwenden. Es gibt einen recht umfassenden Artikel über ffuf, der alle seine verschiedenen Funktionen erklärt, einschliesslich eines Videos von Codingo.
Insgesamt ist nmapAutomator ein nettes kleines Tool, das einfach zu benutzen ist und den Einstieg in das Scannen erleichtert. Leider sind seine Scans nicht sehr detailliert, und insbesondere bietet nmapAutomator keine guten Werkzeuge, wenn viele Hosts über mehrere Subnetze hinweg gescannt werden müssen. Ausserdem bieten sowohl gobuster als auch ffuf eine Menge zusätzlicher Funktionen, auch für passive Scans, welche nicht Daten per POST senden oder ähnliches, die integriert werden könnten. Mit ein wenig Anpassung und Arbeit an seinen Erkundungsvorschlägen könnte nmapAutomator ein grossartiges Tool werden. Es ist aber schon jetzt ein weiteres Beispiel dafür, wie viele coole Open-Source-Tools es da draussen gibt, die von der Infosec-Community bereitgestellt werden.
Unsere Spezialisten kontaktieren Sie gern!
Mark Zeman
Mark Zeman
Mark Zeman
Unsere Spezialisten kontaktieren Sie gern!