CVE-Reporter: Mail bei neuen Sicherheitslücken

Gerade habe ich den CVE-Reporter fertig gestellt und die erste öffentliche Version zum Download bereitgestellt. Den CVE-Reporter setze ich für mich schon etwas länger ein, damit ich bei neuen Schwachstellen oder Sicherheitslücken eine E-Mail erhalte und somit schnell auf mögliche Sicherheitslücken reagieren kann.

Bisher hatte ich den CVE-Reporter nicht öffentlich zur Verfügung gestellt, da bisher nur eine relativ unschöne Nur-Text E-Mail versendet wurde. Ich habe das Script aber etwas überarbeitet, sodass die Mail nun im HTML Format versendet wird und somit auch besser lesbar ist.

Der CVE-Reporter ist ein PowerShell Script, welches den „NIST NVD Recent Feed“ runterlädt und nach bestimmten Keywords durchsucht. Der NIST Feed enthält sehr zeitnah alle neuen Schwachstellen oder Sicherheitslücken. Keywords könnten beispielsweise „Exchange Server“ und/oder „Windows Server“ sein. Wenn eines der Keywords Feed gefunden wird, wird eine E-Mail erzeugt und der Admin entsprechend benachrichtigt.

Hier mal ein Beispiel für den CVE-Reporter:

CVE-Reporter Beispiel

Weitere Details finden sich auf der CVE-Reporter Seite:

Das Script erfordert nur wenige Anpassungen und lässt sich via geplanten Task ausführen. So kann man sich beispielsweise jeden Morgen über neue Schwachstellen informieren lassen (wenn erforderlich auch mehrmals täglich). Sehr hilfreich war das Script bei den letzten Exchange Server Sicherheitslücken… Vielleicht kann ja der CVE-Reporter helfen, schneller auf bekannte Sicherheitslücken zu reagieren, Zeit spielt ja oft eine große Rolle, wenn es mal hart auf hart kommt.

Ich habe auch bereits ein paar weitere Ideen, welche Funktionen noch zusätzlich eingebaut werden sollen. Beispielsweise habe ich auch ein Modul für den Exchange Reporter geplant, sowie weitere Möglichkeiten zum Filtern der CVE Einträge. Auch die Anbindung weiterer Quellen für Sicherheitslücken ist geplant, hier würde ich mir über entsprechende Vorschläge freuen.

Über das Formular unter den oben angegebenen Link könnt ihr natürlich auch Verbesserungsvorschläge oder Bugs melden. Ich würde mich über Feedback sehr freuen.

10 Gedanken zu „CVE-Reporter: Mail bei neuen Sicherheitslücken“

  1. Hi Frank,
    eine tolle Sache ;-)
    Aber wenn man sich bei Deinem Newsletter angemeldet hat, bekommt man schon auch noch von Dir wie bisher neue Sicherheitslücken gemeldet, oder?
    Greets

    Antworten
  2. Hallo Frank,

    um einen Fehler „407 Proxyauthentifizierung erforderlich“ zu vermeiden
    beim Download 2 Zeilen einfügen. Hat bei mir funktioniert.

    #Download JSON Feed
    try {
    [System.Net.WebRequest]::DefaultWebProxy = [System.Net.WebRequest]::GetSystemWebProxy()
    [System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
    write-output „Downloading CVE Feed“
    $DownloadFeed = Invoke-WebRequest $NISTFeedURL -OutFile „$PSScriptRoot\jsonfeed.zip“
    }
    catch {
    Report-DownloadFailure $_.Exception.Message $NISTFeedURL
    }

    Gruß
    Andreas

    Antworten
  3. Yo Frank und Com,

    wie kann ich das ganze jetzt mitbekommen habe, versucht das Script die Mail über Port 25 zu verschicken, allerdings meckert da der google SMTP-Server rum, der möchte nur über SSL oder STARTTLS die daten bekommen. Ich hatte bereits eniges versucht bspw.: Ports oder auch „-UseSsl“ anzugeben und bekomme immer wieder neue Fehlermeldungen, die mich im Kreis führen.
    Da wollte ich einfach mal auch hier in die Runde fragen, ob jemand eine lösung mit dem google SMTP-Server gefunden hat, oder einen anderen zum testen empfehlen kann.

    Vielen dank im voraus schonmal!

    Antworten
    • Yo,

      ich habs hinbekommen. Hab im endeffekt mit freesmtp gearbeitet und noch im Script den gleichen Port wie im SMTP definiert bspw.: port 465, danach hat’s funktioniert. Zudem habe ich den Parameter „-UseSsl“ wieder entfernt.

      Also alles was ich gemacht habe ist hinter dem SMTP Server (ganz unten im Script) einen Port zu definieren.

      mfg

      Antworten
  4. Hallo Frank,

    beim ersten Aufruf bekomme ich
    Reporting CVEs
    The variable ‚$ReportedCSVs‘ cannot be retrieved because it has not been set.
    In Zeile 332 wird $ReportedCSVs.count benutzt. Das ist die Anzahl Zeilen in $PSScriptRoot\ReportedCVEs.csv. Diese Datei wird aber beim ersten Mal noch gar nicht angelegt. Zumindest habe ich vor 323 nichts gefunden, was daraufhindeutet. Erst in 381 wird diese Datei erzeugt.
    Was ist bei mir falsch?

    Danke Steffen

    Antworten

Schreibe einen Kommentar