Dieses Tutorial zeigt zunächst, wie UDP-Scans durchgeführt und anfällige Kandidaten für RDDOS-Angriffe (Reflective Denial of Service) identifiziert werden. Dieses Tutorial ist für Leser optimiert, die eine schnelle Implementierung suchen. Für ein wenig theoretische Informationen über das UDP-Protokoll am Ende des Artikels überprüfen, können Sie auch Nmap Flags lesen und was sie tun, bevor Sie fortfahren.
Der RDDOS-Angriff nutzt die mangelnde Zuverlässigkeit des UDP-Protokolls aus, das vor der Paketübertragung keine Verbindung herstellt. Daher ist das Fälschen einer Quell-IP-Adresse ziemlich einfach, dieser Angriff besteht darin, die IP-Adresse des Opfers zu fälschen, wenn Pakete an anfällige UDP-Dienste gesendet werden, die ihre Bandbreite ausnutzen, indem sie aufgefordert werden, auf die IP-Adresse des Opfers zu antworten, das ist RDDOS.
Einige der anfälligen Dienste können:
- CLDAP (Verbindungsloses Lightweight Directory Access Protocol)
- NetBIOS
- Character Generator Protocol (CharGEN)
- SSDP(Simple Service Discovery Protocol)
- TFTP (Trivial File Transfer Protocol)
- DNS (Domain Name System)
- NTP (Network Time Protocol)
- SNMPv2 (Simple Network Management Protocol Version 2)
- RPC (Portmap/Remote Procedure Call )
- QOTD (Zitat des Tages)
- mDNS (Multicast Domain Name System ),
- Steam-Protokoll
- Routing Information Protocol Version 1 (RIPv1),
- Lightweight Directory Access Protocol (LDAP)
- Memcached,
- Dynamische Erkennung von Webdiensten (WS-Discovery).
Nmap Scan Spezifischer UDP-Port
Standardmäßig lässt Nmap den UDP-Scan aus, er kann durch Hinzufügen des Nmap-Flags -sU aktiviert werden. Wie oben durch das Ignorieren von UDP-Ports bekannten Schwachstellen aufgeführt kann für den Benutzer ignoriert bleiben. Nmap-Ausgänge für den UDP-Scan können offen, offen | gefiltert, geschlossen und gefiltert sein.
öffnen: UDP-Antwort.
offen/gefiltert: keine Antwort.
geschlossen: ICMP-Port nicht erreichbar Fehlercode 3.
gefiltert: Andere ICMP unerreichbare Fehler (Typ 3, Code 1, 2, 9, 10 oder 13)
Das folgende Beispiel zeigt einen einfachen UDP-Scan ohne zusätzliches Flag außer der UDP-Spezifikation und Ausführlichkeit, um den Prozess zu sehen:
Der obige UDP-Scan führte zu offenen / gefilterten und offenen Ergebnissen. Die Bedeutung von open / filtered ist, dass Nmap nicht zwischen offenen und gefilterten Ports unterscheiden kann, da offene Ports wie gefilterte Ports wahrscheinlich keine Antworten senden. Im Gegensatz zum open/filtered bedeutet das open Ergebnis, dass der angegebene Port eine Antwort gesendet hat.
Um Nmap zum Scannen eines bestimmten Ports zu verwenden, verwenden Sie das Flag -p<port>, um den Port zu definieren, gefolgt vom Flag -sU, um den UDP-Scan zu aktivieren, bevor Sie das Ziel angeben, um LinuxHint nach dem 123 UDP NTP-Port zu durchsuchen run:
Das folgende Beispiel ist ein aggressiver Scan gegen https://gigopen.com
Hinweis: Weitere Informationen zur Scanintensität mit dem Flag -T4 finden Sie unter https://books.google.com.ar/books?id=iOAQBgAAQBAJ&pg=PA106&lpg=PA106&d.
UDP-Scans machen die Scanaufgabe extrem langsam, es gibt einige Flags, die helfen können, die Scangeschwindigkeit zu verbessern. Die Flags -F (Fast), –version-intensity sind ein Beispiel.
Das folgende Beispiel zeigt eine Erhöhung der Scangeschwindigkeit durch Hinzufügen dieser Flags beim Scannen von LinuxHint.
Beschleunigung eines UDP-Scans mit Nmap:
Wie Sie sehen, war der Scan in 96,19 Sekunden gegen 1091,37 in der ersten einfachen Probe.
Sie können auch beschleunigen, indem Sie Wiederholungsversuche begrenzen und die Hosterkennung und Hostauflösung überspringen, wie im nächsten Beispiel:
Scannen nach RDDOS oder Reflective Denial Of Service-Kandidaten:
Der folgende Befehl enthält die NSE-Skripte (Nmap Scripting Engine) ntp-monlist, dns-recursion und snmp-sysdescr, um nach Zielen zu suchen, die für Reflective Denial of Service-Angriffe anfällig sind Kandidaten, um ihre Bandbreite auszunutzen. Im folgenden Beispiel wird der Scan für ein einzelnes spezifisches Ziel gestartet (linuxhint.com ):
dns-Rekursion,snmp-sysdescr linuxhint.com
Das folgende Beispiel scannt 50 Hosts von 64.91.238.100 bis 64.91.238.150, 50 Hosts aus dem letzten Oktett und definiert den Bereich mit einem Bindestrich:
snmp-sysdescr 64.91.238.100-150
Und die Ausgabe eines Systems, das wir für einen reflektierenden Angriff verwenden können, scheint wie:
Kurze Einführung in das UDP-Protokoll
Das UDP-Protokoll (User Datagram Protocol) ist Teil der Internet Protocol Suite und im Vergleich zu TCP (Transmission Control Protocol) schneller, aber unzuverlässig.
Warum ist das UDP-Protokoll schneller als TCP?
Das TCP-Protokoll baut eine Verbindung zum Senden von Paketen auf, der Verbindungsaufbau wird als Handshake bezeichnet. Es wurde bei Nmap Stealth Scan klar erklärt:
„Normalerweise, wenn zwei Geräte eine Verbindung herstellen, werden Verbindungen durch einen Prozess namens Three Way Handshake hergestellt, der aus 3 anfänglichen Interaktionen besteht: erstens aus einer Verbindungsanforderung durch den Client oder das Gerät, das die Verbindung anfordert, zweitens durch eine Bestätigung durch das Gerät, zu dem die Verbindung angefordert wird, und drittens eine endgültige Bestätigung durch das Gerät, das die Verbindung angefordert hat, etwa:
– „Hey, kannst du mich hören?, können wir uns treffen?“ (SYN-Paket fordert Synchronisation an)
-„Hallo!, Ich sehe dich!, wir können uns treffen“ (Wobei „Ich sehe dich“ ein ACK-Paket ist, „wir können uns treffen“ ein SYN-Paket)
-„Großartig!“ (ACK packet)“
Quelle: https://linuxhint.com/nmap_stealth_scan/
Im Gegensatz dazu sendet das UDP-Protokoll die Pakete ohne vorherige Kommunikation mit dem Ziel, wodurch die Übertragung der Pakete beschleunigt wird, da sie nicht auf das Senden warten müssen. Es ist ein minimalistisches Protokoll ohne erneute Übertragungsverzögerungen zum erneuten Senden fehlender Daten, das Protokoll nach Wahl, wenn hohe Geschwindigkeit benötigt wird, wie VoIP, Streaming, Spiele usw. Dieses Protokoll ist nicht zuverlässig und wird nur verwendet, wenn der Paketverlust nicht tödlich ist.