
Un plugin per DataSurgeon che estrae i numeri CVE dal testo (ad es.: CVE-2021-56789)
Un plugin per DataSurgeon che estrae i numeri CVE dal testo (es: CVE-2021-56789)
Se sei un utente Windows, troverai il file plugin nella directory C:\ds\. Se sei su Linux, cerca il file plugin qui: ~/.DataSurgeon/plugins.json. E se per caso il file plugin non viene trovato in nessuna di queste directory, controlleremo automaticamente la directory di lavoro corrente.
Ogni campo nell'oggetto json è importante. Per garantire che il tuo plugin funzioni perfettamente con le opzioni --add e --remove di DataSurgeon, ricordati di caricare il tuo file plugins.json in un repository GitHub. Assicurati che il nome del file rimanga plugins.json e includi solo le opzioni del plugin che desideri caricare. Ecco una guida rapida ai campi:
Ecco un esempio:
[
{
"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/"
}
]
Una volta caricato il file del tuo plugin, l'opzione verrà aggiunta come argomento aggiuntivo. Come puoi vedere, il nome dell'argomento è arg_long_name.
drew@DESKTOP-A5AO3TO$ ds -h
Options:
......
-a, --aws Extract AWS keys
--cve Extracts CVE Identifiers
-V, --version Print version
Ed ecco come puoi eseguirlo:
┌──(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
Per aggiungere un nuovo plugin devi usare l'opzione --add <URL>. L'URL deve essere un repository GitHub remoto che ospita un file plugins.json. Come usare il tuo nuovo 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/
Per elencare tutti i plugin puoi usare l'opzione --list.
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
Per rimuovere un plugin che non vuoi più puoi usare l'opzione --remove.
drew@DESKTOP-A5AO3TO:~$ ds --remove https://github.com/DataSurgeon-ds/ds-cve-plugin//
[*] Removed plugin: https://github.com/DataSurgeon-ds/ds-cve-plugin//
| Field | Description |
|---|
| content_type | Questa dovrebbe essere una descrizione di una sola parola del contenuto che stai cercando (senza spazi). È la parola che viene stampata accanto al contenuto corrispondente. |
| arg_long_name | Questo è il nome univoco dell'argomento per l'interfaccia a riga di comando. Deve essere univoco tra tutti i plugin. |
| help_message | Questa è una descrizione breve e concisa di cosa fa il tuo plugin. Apparirà nel messaggio di aiuto dello strumento. |
| version | Questo è il numero di versione del tuo plugin (es: 1.0.0) |
| regex | Questa è l'espressione regolare utilizzata per trovare il contenuto. Per garantire la compatibilità con l'opzione --clean, la tua regex dovrebbe essere progettata in modo che l'intera corrispondenza ($0) contenga esattamente il contenuto che ti interessa. Ciò consente all'opzione --clean di estrarre solo il contenuto corrispondente pertinente. Per testare i tuoi pattern regex, ti consigliamo di usare https://regexr.com/ |
| source_url | Questo è l'URL del repository GitHub che ospita il tuo plugin |