简介
通用平台枚举 (CPE) 是命名软件应用程序、操作系统和硬件平台的标准化方法,是NMAP对识别出来的软件、操作系统和硬件的一种命名方式。
CPE 名称结构
CPE 名称是对七个有序字段进行编码的 URL:
cpe:/<part>:<vendor>:<product>:<version>:<update>:<edition>:<language>
七个字段不一定都有,一般至少会写到 product
。
参数详解
参数字段 | 含义 |
---|---|
<part> | a:对于应用 h:对于硬件平台 o:对于操作系统 |
<vendor> | 厂商 |
<product> | 产品名称 |
<version> | 版本号 |
<update> | 更新包 |
<edition> | 版本 |
<language> | 语言 |
举例说明
见到的场景很多,对于威胁情报:Storm Cloud 组织使用新变体攻击 MacOS
,恶意软件 GIMMICK 通过木马后门攻击了 macos,攻击目标记为 cpe:/o:apple:macos:
。part
为o
,表示操作系统;vendor
是apple
公司;product
是macos
。
代码是提取几个字段用的,方便自己做实验。按需观看。
import re
str = 'cpe:/o:apple:macos:'
match_obj = re.search(r'((?<=cpe:/).):(.*?):(.*?):$', str, re.M | re.I)
part = match_obj.group(1)
vendor = match_obj.group(2)
product = match_obj.group(3)
if part == 'a':
str1 = '应用'
elif part == 'h':
str1 = '硬件平台'
elif part == 'o':
str1 = '操作系统'
else:
pass
str_aptAim = '攻击目标为' + vendor + '公司的' + product + str1