
CVE-2021-3441 CVE Check는 CVE-2021-3441과 관련된 침해 지표(IoC)를 대상에서 검색하는 파이썬 스크립트입니다.
CVE-2021-3441에 대한 IoC 탐지를 자동화하는 Python 위협 인텔리전스 도구입니다. 표적에서 침해 지표를 쉽게 검색할 수 있습니다.
________________
_/_______________/|
/___________/___//|| CVE-2021-3441 Check
|=== |----| ||
| | �| || Author: Tyler Butler
|___________| �| || @tbutler0x90
| ||/.�---.|| | ||
|-||/_____\||-. | |�
|_||==HP===||_|__|/
CVE-2021-3441 CVE Check는 표적에서 CVE에 대한 침해 지표를 검색하는 Python 도구입니다. 이 스크립트는 표적의 HTTP 응답 헤더에서 제품 버전을 가져옵니다. 제품 버전이 취약하고 해당 버전에 대한 모듈이 생성된 경우, 스크립트는 익스플로잇 페이로드를 포함할 수 있는 리소스를 요청합니다. 익스플로잇을 포함할 수 있는 HTML 엔티티가 로드되면 일반적인 XSS 문자가 검색됩니다. 프로그램은 익스플로잇 페이로드가 발견되면 콘솔을 통해 사용자에게 경고하고, 발견 항목을 출력 파일에 기록할 수 있습니다.

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]
| 옵션 | 설명 | 사용 예 |
|---|---|---|
| -i | 대상 IP | -i 192.168.223.1 |
| -I | 대상 파일 | -i targets.txt |
IoC가 발견되면 출력 파일에 grep 가능한 형식인 [target ip]:[payload]로 기록됩니다. 페이로드 개체가 발견되지 않으면 None이 사용됩니다.
➜ hp-cve-check git:(master) ✗ cat ./test/output.txt
192.168.223.1:<script>alert('XSS 2');</script>
192.168.223.1:None
침해 지표는 제품 버전에 따라 서로 다른 리소스에서 발견되므로, modules는 버전별 구성 옵션을 저장하는 데 사용됩니다. 모듈은 modules 폴더에 YAML 형식으로 저장됩니다. 지원되는 각 버전에 대해 하나의 모듈 yml 파일이 생성되며, 파일에는 다음 옵션이 포함됩니다.
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 및 tags는 취약점 보고서에 설명된 IoC Discovery Table을 기반으로 세분화됩니다. 아래를 참조하십시오.

HP CVE Check는 core와 util 패키지로 구성됩니다.
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
| -O | 출력 파일 | -O output.txt |