
CVE-2021-3441 CVE Check è uno script Python per cercare nei target indicatori di compromissione relativi a CVE-2021-3441.
Uno strumento Python di threat intelligence per automatizzare la scoperta di IoC per CVE-2021-3441. Ricerca facilmente nei target gli indicatori di compromissione
________________
_/_______________/|
/___________/___//|| CVE-2021-3441 Check
|=== |----| ||
| | �| || Author: Tyler Butler
|___________| �| || @tbutler0x90
| ||/.�---.|| | ||
|-||/_____\||-. | |�
|_||==HP===||_|__|/
CVE-2021-3441 CVE Check è uno strumento Python per cercare nei target gli indicatori di compromissione relativi alla CVE. Lo script ricava le versioni dei prodotti dall'header della risposta HTTP del target. Se la versione del prodotto è vulnerabile ed è stato creato un modulo per quella versione, lo script richiede la risorsa che potrebbe contenere un payload di exploit. Una volta caricata l'entità HTML che potrebbe contenere un exploit, vengono ricercati i caratteri XSS comuni. Il programma avvisa l'utente tramite console se vengono trovati payload di exploit e può registrare i risultati in un file di output.

python3 hp-cve-check.py -i [target ip] -O ./test/output.txt
➜ hp-cve-check git:(master) ✗ python3 hp-cve-check.py -i 192.168.223.1 -O output.txt
________________
_/_______________/|
/___________/___//|| HP CVE Check
|=== |----| ||
| | �| || Author: Tyler Butler
|___________| �| || @tbutler0x90
| ||/.�---.|| | ||
|-||/_____\||-. | |�
|_||==HP===||_|__|/
{!} Starting hp-cve-check
{!} -------- {INFO} Product Version is Supported
{!} -------- {INFO} IoC ID: A1 Path: /DevMgmt/ProductConfigDyn.xml Tag: dd:deviceLocation
{!} Scanning target: 192.168.223.1 for CVE
{!} -------- {INFO} Requesting http://192.168.223.1/DevMgmt/ProductConfigDyn.xml
{!} -------- {INFO}: OK Response, Status Code: 200
{!} -------- {INFO}: Found Something in DeviceLocation Field
{!} -------- {INFO}: Checking for Suspicious characters
{!} -------- {WARNING}: Found Indicator of Compromise
{!} -------- {WARNING}: Field Setting :<script>alert('XSS 2');</script>
{!} -------- {INFO} IoC ID: A2 Path: /DevMgmt/NetAppsDyn.xml Tag: dd:ApplicationServiceName
{!} Scanning target: 192.168.223.1 for CVE
{!} -------- {INFO} Requesting http://192.168.223.1/DevMgmt/NetAppsDyn.xml
{!} -------- {INFO}: OK Response, Status Code: 200
{!} -------- {INFO}: Found Something in DeviceLocation Field
{!} -------- {INFO}: Checking for Suspicious characters
{!} -------- {OK}: No IoCs Detected
{!} -------- {OK}: Payload: test
{!} Ending hp-cve-check ....
python3 hp-cve-check.py -i [target list] -o [output file]
| Opzione | Descrizione | Uso |
|---|---|---|
| -i | ip del target | -i 192.168.223.1 |
| -I |
Se vengono trovati IoC, questi vengono registrati nel file di output in un formato greppable, [target ip]:[payload]. Quando non vengono trovati oggetti payload, viene usato None.
➜ hp-cve-check git:(master) ✗ cat ./test/output.txt
192.168.223.1:<script>alert('XSS 2');</script>
192.168.223.1:None
Poiché gli indicatori di compromissione si trovano in risorse diverse a seconda della versione del prodotto, i modules vengono usati per memorizzare opzioni di configurazione specifiche della versione. I moduli sono memorizzati nella cartella modules in formato yaml. Viene creato un file yml di modulo per ogni versione supportata e contiene le seguenti opzioni,
Modulo hp-officejet-4630.yml
---
product: 'HP Officejet 4630'
path: '/DevMgmt/ProductConfigDyn.xml'
tag: 'dd:deviceLocation'
paths:
- A1: '/DevMgmt/ProductConfigDyn.xml'
A2: '/DevMgmt/NetAppsDyn.xml'
tags:
- A1: 'dd:deviceLocation'
A2: 'dd:ApplicationServiceName'
Paths e tags sono suddivisi in base alla tabella di scoperta degli IoC descritta nel report della vulnerabilità, vedi sotto.

HP CVE Check è suddiviso nei pacchetti core e util.
Pacchetti di HP CVE Check
➜ hp-cve-check git:(master) ✗ tree
├── lib
│ ├── core
│ │ ├── constants.py
│ │ ├── iocCheck.py
│ │ ├── module_parser.py
│ │ └── requests.py
│ └── utils
│ ├── printer.py
│ └── help.py
├── modules
│ └── hp-officejet-4630.yml
| file dei target |
-i targets.txt |
| -O | file di output | -O output.txt |