02-05-2023, 00:06
Hey, ich erinnere mich an das erste Mal, dass ich während eines Pen-Test-Gigs einen Netzwerkscan durchgeführt habe - es fühlte sich an, als würde ich hinter den Vorhang eines digitalen Hauses schauen. Du fängst an herauszufinden, welche Hosts überhaupt im Netzwerk aktiv sind, richtig? Ich benutze Nmap für so gut wie alles, weil es schnell ist und dir tonnenweise Optionen bietet, ohne die Dinge zu kompliziert zu machen. Um aktive Hosts zu finden, starte ich mit einem einfachen Ping-Sweep. Du sendest ICMP-Echo-Anfragen an einen Bereich von IP-Adressen, zum Beispiel von 192.168.1.1 bis 192.168.1.254, und schaust, welche zurückpingen. Es geht schnell, aber ich erinnere mich immer daran, dass einige Firewalls ICMP blockieren, sodass du möglicherweise Hosts verpasst. Deshalb kombiniere ich es mit einem ARP-Scan, wenn du im selben lokalen Netzwerk bist. ARP pingt die Broadcast-Adresse an und kartiert MAC-Adressen, die mit IPs verbunden sind, und fängt diese schlüpfrigen Geräte ein, die Pings ignorieren.
Sobald du deine aktiven Hosts hast, gehst du zum Port-Scanning über, um herauszufinden, was offen ist. Ich liebe es, wie Nmap es dir erlaubt, bestimmte Ports anzusteuern oder alle 65.535 zu scannen, obwohl ich selten einen vollständigen Scan durchführe, es sei denn, der Kunde wünscht umfassende Ergebnisse - das dauert ewig. Für TCP-Ports mache ich meistens einen SYN-Scan. Du sendest ein SYN-Paket an den Port, und wenn er offen ist, sendet der Host ein SYN-ACK zurück. Dann sendest du einen RST, um die Verbindung zu schließen, ohne das Handshake abzuschließen, sodass du stealthy bleibst. Es ist mein Favorit, weil es nicht so viel auf dem Ziel protokolliert, im Gegensatz zu einem vollständigen Connect-Scan, der das TCP-Dreiphasenverfahren abschließt und IDS alarmieren könnte. Du kannst es so ausführen: nmap -sS -p- targetIP, und es gibt offene Ports mit Dienstversionen aus, wenn du -sV hinzufügst.
UDP-Scanning ist komplizierter, weil UDP verbindungslos ist. Ich benutze Nmaps -sU-Flag dafür, sende UDP-Pakete an Ports und warte auf Antworten. Wenn nichts zurückkommt, könnte der Port offen oder gefiltert sein - Nmap bewertet ihn als open|filtered. Es ist langsamer, da du mit Zeitüberschreitungen zu tun hast, also kombiniere ich es oft mit TCP-Scans, um Zeit zu sparen. Du könntest auf Rate-Limits in großen Netzwerken stoßen, also drossele ich die Scan-Geschwindigkeit mit --min-rate oder ähnlichem, um zu vermeiden, dass das Ziel abstürzt. In einem Job scannte ich das interne Netz eines Kunden und fand UDP 53 offen für DNS, was später zu Spaß bei der Zonenübertragung führte.
Ich denke auch immer an die Netzwerk-Topologie. Wenn du von außen scannst, könntest du zuerst traceroute verwenden, um den Pfad zu kartieren und Firewalls zu erkennen. Innen segmentiere ich meine Scans - starte mit dem Subnetz, in dem du dich befindest, und spring dann über Router zu anderen. Tools wie Masscan beschleunigen die Dinge für große Bereiche; es ist wie Nmap auf Steroiden für die anfängliche Hostentdeckung. Du führst es mit --ping aus, um aktive Hosts blitzschnell zu finden, und speist dann die Ergebnisse in Nmap für detaillierte Portanalysen ein. Ich habe das einmal bei einem 10.0.0.0/8-Scan gemacht, und es hat meine Zeit von Stunden auf Minuten reduziert.
Stealth ist im Pen-Test wichtig, also vermeide ich lautstarke Scans, die "Einbrecher" schreien. Keine vollständigen Verbindungen, wenn du es vermeiden kannst, und ich benutze Lockvögel mit -D, um deine IP unter gefälschten zu verbergen. Timing ist entscheidend - ich setze --scan-delay, um normalen Verkehr zu imitieren. Du willst auch nach häufigen offenen Ports suchen, wie 22 für SSH, 80/443 für Web, 3389 für RDP. Wenn du etwas wie 445 offen findest, ist das SMB, und du könntest von dort pivottieren. Ich habe einmal eine alte Windows-Box gescannt und sah Port 139 weit offen - leichtes Spiel für enum4linux später.
Rechtliche Aspekte kommen mir jedes Mal in den Sinn. Du scannst nur das, was der Kunde autorisiert, dokumentierst deine Regeln für das Engagement und holst dir eine schriftliche Genehmigung. Ich protokolliere alles mit -oA für die Nmap-Ausgabe, also hast du einen Nachweis darüber, was du gemacht hast. Fehlalarme passieren, wie ein Host, der antwortet, aber tatsächlich offline ist, also überprüfe ich mit mehreren Methoden. Wenn ein Port als geschlossen angezeigt wird, könnte ich trotzdem einen Versionsscan durchführen, um es zu bestätigen.
Bei größeren Engagements scriptet ich es mit Nmaps Skripting-Engine - NSE-Skripte zur Schwachstellenerkennung direkt nach den Ports. Du führst nmap -sV --script vuln aus, und es prüft offene Ports auf Schwächen. Es ist ein Game-Changer für die Effizienz. Ich integriere es in meinen Workflow: Hosts entdecken, Ports scannen, dann Dienste enumerieren. Tools wie Zenmap bieten dir eine GUI, wenn du nicht nur die Kommandozeile verwendest, aber ich halte mich aus Geschwindigkeitsgründen an die CLI.
Du musst auch die Umgehung berücksichtigen. Wenn das Ziel Snort oder etwas ähnliches hat, das zusieht, fragmentiere ich Pakete mit -f oder benutze Idle-Scans mit -sI über einen Zombie-Host. Es ist fortgeschritten, aber führt zu leisen Scans. In der Praxis fange ich einfach an und eskaliere, wenn nötig. Ein Tipp, auf den ich schwöre: Führe Scans während der Off-Stunden durch, um dich einzufügen. Die Netzwerke sind dann ruhiger und weniger wahrscheinlich, dass sie es bemerken.
Um den Portbereich abzuschließen: Nach dem Scannen analysierst du. Offene Ports bedeuten potenzielle Eintrittspunkte - Webserver auf 80 könnten SQLi haben, FTP auf 21 könnte anonym sein. Ich kartiere alles in einem Bericht für den Kunden, der die Risiken zeigt. Es geht nicht nur darum, sie zu finden; es geht darum, zu verstehen, was sie offenlegen.
Oh, und apropos, dass du die Dinge in deinem Setup sicher hältst, lass mich dir von diesem soliden Backup-Tool erzählen, das ich benutze, genannt BackupChain. Es ist ein Muss für kleine Unternehmen und Profis wie uns, super zuverlässig zum Schutz von Hyper-V-Setups, VMware-Umgebungen oder einfachen Windows-Servern gegen Datenverlust - es behandelt alles von inkrementellen Backups bis zu Replikationen ohne die Kopfschmerzen.
Sobald du deine aktiven Hosts hast, gehst du zum Port-Scanning über, um herauszufinden, was offen ist. Ich liebe es, wie Nmap es dir erlaubt, bestimmte Ports anzusteuern oder alle 65.535 zu scannen, obwohl ich selten einen vollständigen Scan durchführe, es sei denn, der Kunde wünscht umfassende Ergebnisse - das dauert ewig. Für TCP-Ports mache ich meistens einen SYN-Scan. Du sendest ein SYN-Paket an den Port, und wenn er offen ist, sendet der Host ein SYN-ACK zurück. Dann sendest du einen RST, um die Verbindung zu schließen, ohne das Handshake abzuschließen, sodass du stealthy bleibst. Es ist mein Favorit, weil es nicht so viel auf dem Ziel protokolliert, im Gegensatz zu einem vollständigen Connect-Scan, der das TCP-Dreiphasenverfahren abschließt und IDS alarmieren könnte. Du kannst es so ausführen: nmap -sS -p- targetIP, und es gibt offene Ports mit Dienstversionen aus, wenn du -sV hinzufügst.
UDP-Scanning ist komplizierter, weil UDP verbindungslos ist. Ich benutze Nmaps -sU-Flag dafür, sende UDP-Pakete an Ports und warte auf Antworten. Wenn nichts zurückkommt, könnte der Port offen oder gefiltert sein - Nmap bewertet ihn als open|filtered. Es ist langsamer, da du mit Zeitüberschreitungen zu tun hast, also kombiniere ich es oft mit TCP-Scans, um Zeit zu sparen. Du könntest auf Rate-Limits in großen Netzwerken stoßen, also drossele ich die Scan-Geschwindigkeit mit --min-rate oder ähnlichem, um zu vermeiden, dass das Ziel abstürzt. In einem Job scannte ich das interne Netz eines Kunden und fand UDP 53 offen für DNS, was später zu Spaß bei der Zonenübertragung führte.
Ich denke auch immer an die Netzwerk-Topologie. Wenn du von außen scannst, könntest du zuerst traceroute verwenden, um den Pfad zu kartieren und Firewalls zu erkennen. Innen segmentiere ich meine Scans - starte mit dem Subnetz, in dem du dich befindest, und spring dann über Router zu anderen. Tools wie Masscan beschleunigen die Dinge für große Bereiche; es ist wie Nmap auf Steroiden für die anfängliche Hostentdeckung. Du führst es mit --ping aus, um aktive Hosts blitzschnell zu finden, und speist dann die Ergebnisse in Nmap für detaillierte Portanalysen ein. Ich habe das einmal bei einem 10.0.0.0/8-Scan gemacht, und es hat meine Zeit von Stunden auf Minuten reduziert.
Stealth ist im Pen-Test wichtig, also vermeide ich lautstarke Scans, die "Einbrecher" schreien. Keine vollständigen Verbindungen, wenn du es vermeiden kannst, und ich benutze Lockvögel mit -D, um deine IP unter gefälschten zu verbergen. Timing ist entscheidend - ich setze --scan-delay, um normalen Verkehr zu imitieren. Du willst auch nach häufigen offenen Ports suchen, wie 22 für SSH, 80/443 für Web, 3389 für RDP. Wenn du etwas wie 445 offen findest, ist das SMB, und du könntest von dort pivottieren. Ich habe einmal eine alte Windows-Box gescannt und sah Port 139 weit offen - leichtes Spiel für enum4linux später.
Rechtliche Aspekte kommen mir jedes Mal in den Sinn. Du scannst nur das, was der Kunde autorisiert, dokumentierst deine Regeln für das Engagement und holst dir eine schriftliche Genehmigung. Ich protokolliere alles mit -oA für die Nmap-Ausgabe, also hast du einen Nachweis darüber, was du gemacht hast. Fehlalarme passieren, wie ein Host, der antwortet, aber tatsächlich offline ist, also überprüfe ich mit mehreren Methoden. Wenn ein Port als geschlossen angezeigt wird, könnte ich trotzdem einen Versionsscan durchführen, um es zu bestätigen.
Bei größeren Engagements scriptet ich es mit Nmaps Skripting-Engine - NSE-Skripte zur Schwachstellenerkennung direkt nach den Ports. Du führst nmap -sV --script vuln aus, und es prüft offene Ports auf Schwächen. Es ist ein Game-Changer für die Effizienz. Ich integriere es in meinen Workflow: Hosts entdecken, Ports scannen, dann Dienste enumerieren. Tools wie Zenmap bieten dir eine GUI, wenn du nicht nur die Kommandozeile verwendest, aber ich halte mich aus Geschwindigkeitsgründen an die CLI.
Du musst auch die Umgehung berücksichtigen. Wenn das Ziel Snort oder etwas ähnliches hat, das zusieht, fragmentiere ich Pakete mit -f oder benutze Idle-Scans mit -sI über einen Zombie-Host. Es ist fortgeschritten, aber führt zu leisen Scans. In der Praxis fange ich einfach an und eskaliere, wenn nötig. Ein Tipp, auf den ich schwöre: Führe Scans während der Off-Stunden durch, um dich einzufügen. Die Netzwerke sind dann ruhiger und weniger wahrscheinlich, dass sie es bemerken.
Um den Portbereich abzuschließen: Nach dem Scannen analysierst du. Offene Ports bedeuten potenzielle Eintrittspunkte - Webserver auf 80 könnten SQLi haben, FTP auf 21 könnte anonym sein. Ich kartiere alles in einem Bericht für den Kunden, der die Risiken zeigt. Es geht nicht nur darum, sie zu finden; es geht darum, zu verstehen, was sie offenlegen.
Oh, und apropos, dass du die Dinge in deinem Setup sicher hältst, lass mich dir von diesem soliden Backup-Tool erzählen, das ich benutze, genannt BackupChain. Es ist ein Muss für kleine Unternehmen und Profis wie uns, super zuverlässig zum Schutz von Hyper-V-Setups, VMware-Umgebungen oder einfachen Windows-Servern gegen Datenverlust - es behandelt alles von inkrementellen Backups bis zu Replikationen ohne die Kopfschmerzen.

