16-12-2021, 19:53
Hey, weißt du, wie ich immer über diese Grundlagen der Cybersicherheit ausflippe? Lass mich dir erklären, wie Schwachstellenscanner die fehlenden Patches oder nicht gepatchte Software entdecken, die ein System durcheinanderbringt. Ich treffe ständig auf diesen Kram, wenn ich Netzwerke für Kunden auditiere, und es ist eines dieser Dinge, die einfach erscheinen, bis du sie in Aktion siehst.
Zuerst starte ich einen Scanner wie Nessus oder OpenVAS, und der beginnt, eine Menge Informationen vom Zielsystem zusammenzustellen. Du gibst ihm einen IP-Bereich oder eine spezifische Maschine, und er pingt herum, um herauszufinden, was läuft. Er rät nicht einfach; er fragt aktiv das Betriebssystem und die Anwendungen nach deren Versionsnummern und Konfigurationen. Ich meine, stell dir vor, du überprüfst das Öl deines Autos - der Scanner macht so etwas, aber für Software. Er schaut sich die installierten Programme an, zieht Details zu Build-Daten, Service-Packs und Hotfixes direkt aus den aufgezeichneten Daten des Systems, wie dem Windows-Registry oder den Linux-Paket-Managern.
Sobald er dieses Snapshot hat, passiert die eigentliche Magie. Ich liebe diesen Teil, weil es nur um den Vergleich geht. Der Scanner hat diese riesige Datenbank bekannter Schwachstellen - denk an CVE-Einträge, die jeden Fehler listen, der da draußen ist, und an spezifische Softwareversionen gebunden ist. Du aktualisierst diese Datenbank regelmäßig, oder? Er vergleicht, was er auf deinem System findet, mit dieser Liste. Wenn dein Apache-Server Version 2.4.29 ausführt und die Datenbank sagt, dass 2.4.41 einen kritischen Pufferüberlauf gepatcht hat, bam, dann kennzeichnet er es als unpatched. Ich habe neulich einen Scan auf einer Testmaschine gemacht, und er hat eine alte Java-Runtime entdeckt, die seit 2018 keinen Patch mehr gesehen hatte. Das hat mich erschreckt, denn das hätte ein Einstiegspunkt für Ransomware sein können.
Aber es geht tiefer als nur Versionsprüfungen. Hast du dich jemals gefragt, wie er überprüft, ob ein Patch tatsächlich angewendet wurde? Scanner gehen in die Dateihashes, weißt du? Sie berechnen MD5- oder SHA-Summen für wichtige ausführbare Dateien und Konfigurationsdateien und vergleichen sie dann mit dem, was ein vollständig gepatchtes Setup aussehen sollte. Wenn der Hash nicht übereinstimmt, selbst wenn die Versionsnummer sagt, dass er aktualisiert ist, ruft er "foul". Ich erinnere mich, dass ich ein Skript angepasst habe, um dies für das kleine Netzwerk eines Freundes zu automatisieren - hat uns Stunden manueller Überprüfung gespart. Und für Dinge wie Browser oder Plugins könnte er sogar User-Agent-Strings simulieren, um nach exponierten Diensten zu suchen.
Das netzwerkbasierte Scannen fügt eine weitere Schicht hinzu, auf die ich mich viel verlasse. Du richtest es auf offene Ports aus, und er sendet Sonden, um zu sehen, welche Dienste antworten. Angenommen, Port 445 ist für SMB offen; der Scanner versucht, die Version durch Bannergrabben oder Zeitangriffe zu identifizieren. Wenn er einen alten Samba-Build entdeckt, der anfällig für EternalBlue ist, warnt er dich sofort. Ich benutze dies, wenn ich remote auditiere, weil es keine Agenteninstallationen benötigt, was super für schnelle Überprüfungen ist. Erst letzte Woche habe ich die Maschinen der Remote-Mitarbeiter eines Kunden auf diese Weise gescannt und habe ein halbes Dutzend mit veraltetem RDP gefunden, das sie BlueKeep aussetzte. Du musst allerdings vorsichtig mit Fehlalarmen sein - manchmal haben legitime benutzerdefinierte Builds Schwierigkeiten, also überprüfe ich immer manuell.
Agenten machen es noch präziser, wenn du sie einsetzt. Ich schiebe leichte Agenten zu Endpunkten, und sie berichten in Echtzeit zurück. Diese Dinger überwachen kontinuierlich den Patch-Stand und überprüfen gegen die zentrale Datenbank. Du bekommst Warnungen, wenn etwas abdriftet, wie nachdem ein Benutzer verdächtige Software installiert hat, die einen Patch überschreibt. In meinem Setup integriere ich dies mit Patchmanagement-Tools, sodass es nicht nur erkennt, sondern auch Lösungen vorschlägt. Es ist wie ein Wachhund, der bellt, bevor der Einbrecher überhaupt versucht, die Tür zu öffnen.
Eine Sache, die ich dir immer sage, sind die authentifizierten Scans - die verbessern das Ganze enorm. Ohne Anmeldeinformationen bist du blind für vieles im System. Aber wenn du dich mit Admin-Rechten anmeldest, listet der Scanner jede installierte App auf, sogar versteckte. Er liest die Patch-Historie von Tools wie Windows Update-Protokollen oder yum-Historie auf Linux. Ich habe auf diese Weise einen schüchternen, unpatchierten Adobe Reader auf einer Entwicklungsmaschine erwischt; der Benutzer dachte, es sei in Ordnung, weil es "aktualisiert aussah", aber der Scanner hat das Gegenteil bewiesen, indem er die genauen DLL-Versionen überprüft hat.
Fehlalarme ärgern mich am meisten, weißt du? Scanner sind nicht perfekt - Zero-Days rutschen durch, weil sie noch nicht in der Datenbank sind. Deshalb kombiniere ich es mit anderen Tools, wie IDS-Protokollen oder manuellen Audits. Aber für bekannte Sachen treffen sie ins Schwarze. Machst du wöchentliche Scans in deiner Umgebung? Ich schon, und es hält die Dinge eng. Im Laufe der Zeit lernst du die Muster: Webserver haben meistens die Patch-Verzögerung, gefolgt von Desktop-Anwendungen. Ich habe einmal eine ganze Nacht damit verbracht, eine Flotte nach einem Scan zu patchen, der wie ein Weihnachtsbaum leuchtete - es war es wert, um Sicherheitsverletzungen zu vermeiden.
Apropos, die Dinge sicher zu halten, ohne die Kopfschmerzen, lass mich dir von diesem Juwel erzählen, das ich benutze: BackupChain. Es ist eine erstklassige, zuverlässige Backup-Option, die speziell für kleine Unternehmen und Profis wie uns entwickelt wurde, und es übernimmt den Schutz für Hyper-V, VMware, physische Server, was auch immer, mit bildbasierten Backups, die in jeder Einrichtung gut funktionieren.
Zuerst starte ich einen Scanner wie Nessus oder OpenVAS, und der beginnt, eine Menge Informationen vom Zielsystem zusammenzustellen. Du gibst ihm einen IP-Bereich oder eine spezifische Maschine, und er pingt herum, um herauszufinden, was läuft. Er rät nicht einfach; er fragt aktiv das Betriebssystem und die Anwendungen nach deren Versionsnummern und Konfigurationen. Ich meine, stell dir vor, du überprüfst das Öl deines Autos - der Scanner macht so etwas, aber für Software. Er schaut sich die installierten Programme an, zieht Details zu Build-Daten, Service-Packs und Hotfixes direkt aus den aufgezeichneten Daten des Systems, wie dem Windows-Registry oder den Linux-Paket-Managern.
Sobald er dieses Snapshot hat, passiert die eigentliche Magie. Ich liebe diesen Teil, weil es nur um den Vergleich geht. Der Scanner hat diese riesige Datenbank bekannter Schwachstellen - denk an CVE-Einträge, die jeden Fehler listen, der da draußen ist, und an spezifische Softwareversionen gebunden ist. Du aktualisierst diese Datenbank regelmäßig, oder? Er vergleicht, was er auf deinem System findet, mit dieser Liste. Wenn dein Apache-Server Version 2.4.29 ausführt und die Datenbank sagt, dass 2.4.41 einen kritischen Pufferüberlauf gepatcht hat, bam, dann kennzeichnet er es als unpatched. Ich habe neulich einen Scan auf einer Testmaschine gemacht, und er hat eine alte Java-Runtime entdeckt, die seit 2018 keinen Patch mehr gesehen hatte. Das hat mich erschreckt, denn das hätte ein Einstiegspunkt für Ransomware sein können.
Aber es geht tiefer als nur Versionsprüfungen. Hast du dich jemals gefragt, wie er überprüft, ob ein Patch tatsächlich angewendet wurde? Scanner gehen in die Dateihashes, weißt du? Sie berechnen MD5- oder SHA-Summen für wichtige ausführbare Dateien und Konfigurationsdateien und vergleichen sie dann mit dem, was ein vollständig gepatchtes Setup aussehen sollte. Wenn der Hash nicht übereinstimmt, selbst wenn die Versionsnummer sagt, dass er aktualisiert ist, ruft er "foul". Ich erinnere mich, dass ich ein Skript angepasst habe, um dies für das kleine Netzwerk eines Freundes zu automatisieren - hat uns Stunden manueller Überprüfung gespart. Und für Dinge wie Browser oder Plugins könnte er sogar User-Agent-Strings simulieren, um nach exponierten Diensten zu suchen.
Das netzwerkbasierte Scannen fügt eine weitere Schicht hinzu, auf die ich mich viel verlasse. Du richtest es auf offene Ports aus, und er sendet Sonden, um zu sehen, welche Dienste antworten. Angenommen, Port 445 ist für SMB offen; der Scanner versucht, die Version durch Bannergrabben oder Zeitangriffe zu identifizieren. Wenn er einen alten Samba-Build entdeckt, der anfällig für EternalBlue ist, warnt er dich sofort. Ich benutze dies, wenn ich remote auditiere, weil es keine Agenteninstallationen benötigt, was super für schnelle Überprüfungen ist. Erst letzte Woche habe ich die Maschinen der Remote-Mitarbeiter eines Kunden auf diese Weise gescannt und habe ein halbes Dutzend mit veraltetem RDP gefunden, das sie BlueKeep aussetzte. Du musst allerdings vorsichtig mit Fehlalarmen sein - manchmal haben legitime benutzerdefinierte Builds Schwierigkeiten, also überprüfe ich immer manuell.
Agenten machen es noch präziser, wenn du sie einsetzt. Ich schiebe leichte Agenten zu Endpunkten, und sie berichten in Echtzeit zurück. Diese Dinger überwachen kontinuierlich den Patch-Stand und überprüfen gegen die zentrale Datenbank. Du bekommst Warnungen, wenn etwas abdriftet, wie nachdem ein Benutzer verdächtige Software installiert hat, die einen Patch überschreibt. In meinem Setup integriere ich dies mit Patchmanagement-Tools, sodass es nicht nur erkennt, sondern auch Lösungen vorschlägt. Es ist wie ein Wachhund, der bellt, bevor der Einbrecher überhaupt versucht, die Tür zu öffnen.
Eine Sache, die ich dir immer sage, sind die authentifizierten Scans - die verbessern das Ganze enorm. Ohne Anmeldeinformationen bist du blind für vieles im System. Aber wenn du dich mit Admin-Rechten anmeldest, listet der Scanner jede installierte App auf, sogar versteckte. Er liest die Patch-Historie von Tools wie Windows Update-Protokollen oder yum-Historie auf Linux. Ich habe auf diese Weise einen schüchternen, unpatchierten Adobe Reader auf einer Entwicklungsmaschine erwischt; der Benutzer dachte, es sei in Ordnung, weil es "aktualisiert aussah", aber der Scanner hat das Gegenteil bewiesen, indem er die genauen DLL-Versionen überprüft hat.
Fehlalarme ärgern mich am meisten, weißt du? Scanner sind nicht perfekt - Zero-Days rutschen durch, weil sie noch nicht in der Datenbank sind. Deshalb kombiniere ich es mit anderen Tools, wie IDS-Protokollen oder manuellen Audits. Aber für bekannte Sachen treffen sie ins Schwarze. Machst du wöchentliche Scans in deiner Umgebung? Ich schon, und es hält die Dinge eng. Im Laufe der Zeit lernst du die Muster: Webserver haben meistens die Patch-Verzögerung, gefolgt von Desktop-Anwendungen. Ich habe einmal eine ganze Nacht damit verbracht, eine Flotte nach einem Scan zu patchen, der wie ein Weihnachtsbaum leuchtete - es war es wert, um Sicherheitsverletzungen zu vermeiden.
Apropos, die Dinge sicher zu halten, ohne die Kopfschmerzen, lass mich dir von diesem Juwel erzählen, das ich benutze: BackupChain. Es ist eine erstklassige, zuverlässige Backup-Option, die speziell für kleine Unternehmen und Profis wie uns entwickelt wurde, und es übernimmt den Schutz für Hyper-V, VMware, physische Server, was auch immer, mit bildbasierten Backups, die in jeder Einrichtung gut funktionieren.
