
Ein Plugin für DataSurgeon, das CVE-Nummern aus Text extrahiert (z.B.: CVE-2021-56789)
Ein Plugin für DataSurgeon, das CVE-Nummern aus Text extrahiert (z.B.: CVE-2021-56789)
Wenn Sie Windows nutzen, finden Sie die Plugin-Datei im Verzeichnis C:\ds\. Wenn Sie Linux nutzen, suchen Sie die Plugin-Datei hier: ~/.DataSurgeon/plugins.json. Und falls die Plugin-Datei in keinem dieser Verzeichnisse gefunden wird, überprüfen wir automatisch das aktuelle Arbeitsverzeichnis.
Jedes Feld im JSON-Objekt ist wichtig. Um sicherzustellen, dass Ihr Plugin nahtlos mit den DataSurgeon-Optionen --add und --remove funktioniert, denken Sie daran, Ihre plugins.json-Datei in ein GitHub-Repository hochzuladen. Bitte stellen Sie sicher, dass der Dateiname plugins.json bleibt und Sie nur die Plugin-Optionen enthalten, die Sie hochladen möchten. Hier ist eine kurze Übersicht über die Felder:
| Feld | Beschreibung |
|---|---|
| content_type | Dies sollte eine einwortige Beschreibung des gesuchten Inhalts sein (keine Leerzeichen). Dies ist das Wort, das zusammen mit dem gefundenen Inhalt ausgegeben wird. |
| arg_long_name | Dies ist der eindeutige Argumentname für die Befehlszeilenschnittstelle. Er muss über alle Plugins hinweg eindeutig sein. |
| help_message | Dies ist eine kurze und prägnante Beschreibung dessen, was Ihr Plugin tut. Sie wird in der Hilfemeldung des Tools erscheinen. |
| version | Dies ist die Versionsnummer Ihres Plugins (z.B.: 1.0.0) |
| regex | Dies ist der reguläre Ausdruck, der zum Abgleichen des Inhalts verwendet wird. Um die Kompatibilität mit der Option --clean zu gewährleisten, sollte Ihr Regex so gestaltet sein, dass der gesamte Treffer ($0) den genauen Inhalt enthält, an dem Sie interessiert sind. Dies ermöglicht es der Option --clean, nur den relevanten Treffer zu extrahieren. Zum Testen Ihrer Regex-Muster empfehlen wir https://regexr.com/ |
| source_url | Dies ist die URL zum GitHub-Repository, das Ihr Plugin hostet |
Hier ist ein Beispiel:
[
{
"content_type": "windows_registry",
"arg_long_name": "winregistry",
"version": "1.0.0",
"help_message": "Extracts windows registry paths",
"regex": "^(HKEY_(?:LOCAL_MACHINE|CURRENT_USER|CLASSES_ROOT|CURRENT_CONFIG|USERS)\\\\[\\w\\-\\.\\\\]*)",
"source_url": "https://github.com/DataSurgeon-ds/ds-cve-plugin/"
}
]
Sobald Ihre Plugin-Datei geladen ist, wird die Option als zusätzliches Argument hinzugefügt. Wie Sie sehen, ist der Name des Arguments der arg_long_name.
drew@DESKTOP-A5AO3TO$ ds -h
Options:
......
-a, --aws Extract AWS keys
--cve Extracts CVE Identifiers
-V, --version Print version
Und so können Sie es ausführen:
┌──(drew㉿IT-DREW)-[~]
└─$ ds --cve -f cves.txt
cve: The first one is CVE-2023-1234. This is a hypothetical vulnerability that was supposedly discovered in 2023.
cve: Here's another one: CVE-2021-56789. This one was supposedly discovered in 2021.
cve: And here's a third one: CVE-2020-1234567. This one was supposedly discovered in 2020.
cve: But not all strings that look like CVE identifiers are actual CVE identifiers. For example, CVE-23-1234 is not a valid identifier because the year part only has two digits. Similarly, CVE-2023-123 is not valid because the identifier part only has three digits. And CVE-2023-12345678 is not valid because the identifier part has eight digits, which is too many.
cve: Finally, note that not all CVE identifiers are associated with actual vulnerabilities. For example, CVE-2023-9999 might not be associated with any known vulnerability. To check if a CVE identifier is real, you would need to look it up in a CVE database.
┌──(drew㉿IT-DREW)-[~]
└─$ ds --cve -f cves.txt --clean
cve: CVE-2023-1234
cve: CVE-2021-56789
cve: CVE-2020-1234567
cve: CVE-2023-1234567
cve: CVE-2023-9999
Um ein neues Plugin hinzuzufügen, müssen Sie die Option --add <URL> verwenden. Die URL muss ein entferntes GitHub-Repository sein, das eine plugins.json-Datei hostet. So verwenden Sie Ihr neues Plugin.
drew@DESKTOP-A5AO3TO:~$ ds --add https://github.com/DataSurgeon-ds/ds-cve-plugin/
[*] Download and added plugin: https://github.com/DataSurgeon-ds/ds-cve-plugin/
Um alle Plugins aufzulisten, können Sie die Option --list verwenden.
drew@DESKTOP-A5AO3TO$ ds --list
Plugin File: /home/drew/.DataSurgeon/plugins.json
Source URL | Argument Long Name
https://raw.githubusercontent.com/DataSurgeon-ds/ds-cve-plugin | cve
Um ein Plugin zu entfernen, das Sie nicht mehr möchten, können Sie die Option --remove verwenden.
drew@DESKTOP-A5AO3TO:~$ ds --remove https://github.com/DataSurgeon-ds/ds-cve-plugin//
[*] Removed plugin: https://github.com/DataSurgeon-ds/ds-cve-plugin//