searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Defender本地病毒库恶意代码名称数据分析

2024-07-15 09:44:35
166
0

0x00 简介

Defender是Windows系统自带的反病毒软件,从Vista开始直接内置在Windows系统中,默认处于开启状态,对大部分普通用户来说是其系统安全基础保障,因此也是安全研究者一个重要的研究目标。
Defender本地数据库主要包含四个文件:

  • mpasbase.vdm:AntiSpyware 模块的数据库
  • mpasdlta.vdm:更新到 AntiSpyware 数据库
  • mpavbase.vdm:防病毒模块的数据库
  • mpavdlta.vdm:更新防病毒数据库
    本次分析主要是通过对mpasbase.vdm、mpavbase.vdm这两个数据文件进行解码,提取出SIGNATURE_TYPE_ELFHSTR_EXT和SIGNATURE_TYPE_PEHSTR_EXT这两种特征码类型中的病毒名称,对病毒名称数据进行分析,具体提取数据名称的方法请查看参考链接。

0x01 Defender病毒名称命名规范

Defender病毒名称命名参考了Computer Antivirus Research Organization (CARO) 组织的恶意代码命名规范,一个完整的病毒名称包含了5个部分,包括:

  • 恶意代码类型 Type: 描述恶意代码类型信息,如蠕虫、病毒、木马、勒索软件等。
  • 平台 Platform: 主要包含操作系统、恶意代码脚本语言类型、恶意代码宏类型信息等。
  • 恶意代码家族 Family:主要包含恶意代码家族信息,将具有相同特征的恶意代码划分为同一家族,常见的如Mimikatz、CobaltStrike等。
  • 恶意代码变种信息 Variant: 标识同一恶意代码家族不同的变体,按字母顺序依次增加。
  • 恶意代码其他详细信息 Suffixes:提供恶意代码的其他详细信息
  • .dam: damaged malware
  • .dll: Dynamic Link Library component of a malware
  • .dr: dropper component of a malware
  • .gen: malware that is detected using a generic signature
  • .kit: virus constructor
  • .ldr: loader component of a malware
  • .pak: compressed malware
  • .plugin: plug-in component
  • .remnants: remnants of a virus
  • .worm: worm component of that malware
  • !bit: an internal category used to refer to some threats
  • !cl: an internal category used to refer to some threats
  • !dha: an internal category used to refer to some threats
  • !pfn: an internal category used to refer to some threats
  • !plock: an internal category used to refer to some threats
  • !rfn: an internal category used to refer to some threats
  • !rootkit: rootkit component of that malware
  • @m: worm mailers
  • @mm: mass mailer worm

0x02 Defender病毒名数据分析

根据之前的方式可提取SIGNATURE_TYPE_ELFHSTR_EXT病毒名数据47426条,SIGNATURE_TYPE_ELFHSTR_EXT病毒名数据1254条,使用正则[:/.!]对病毒名进行分离,分析名称各部分数据。

SIGNATURE_TYPE_PEHSTR_EXT

恶意代码类型数据分析

恶意代码类型Type数据总共47426,针对每项数据去重计数后的数据如下:

Trojan	28285
TrojanDownloader	3603
VirTool	3393
Ransom	2598
Backdoor	2503
TrojanSpy	1441
PWS	1407
Worm	1022
TrojanDropper	748
Rogue	400
BrowserModifier	335
HackTool	297
Adware	260
Virus	222
TrojanProxy	183
MonitoringTool	179
TrojanClicker	153
Exploit	81
SoftwareBundler	77
Spammer	73
Spyware	56
DDoS	31
DoS	20
Misleading	20
Constructor	7
PUA	7
SupportScam	2
Behavior	1
Joke	1
Program	1
PseudoThreat_c0000923	1

可以发现PE类特征码中针对木马Trojan的特征数量占比超过50%,在这我们再针对Trojan类型恶意代码分析下那些恶意代码家族特征码分布情况,这里展示下前20的Trojan家族信息。

AgentTesla	3588
Redline	1087
Emotet	1007
Formbook	724
Qakbot	668
IcedId	614
CobaltStrike	586
Trickbot	438
Remcos	428
Dridex	424
SmokeLoader	398
EmotetCrypt	391
Lokibot	373
Glupteba	351
CryptInject	340
Azorult	271
NSISInject	266
Ursnif	266
ClipBanker	254
RedLineStealer	246

平台 Platform数据分析

Win32	31226
BAT	11764
Win64	3119
MSIL	779
WinNT	502
Linux	6    :Mepos、Sejweek、Zitmo、StealthBot
UEFI	4    :VectorEDK、MoonBounce、Lojax
AndroidOS 2  :Skygofree、AndroRat
DOS	2
PowerShell	2
Win95	2

恶意代码家族 Family数据分析

AgentTesla	3753
RedLine	1115
Emotet	1016
Obfuscator	975
Formbook	744
Qakbot	679
CobaltStrike	648
IcedId	632
CeeInject	607
VBInject	578
Banload	535
Injector	473
Remcos	473
Trickbot	441
Dridex	431
SmokeLoader	400
EmotetCrypt	391
CryptInject	387
Lokibot	382
Ursnif	360

与直接Trojan类型数据差异不大,新出现的恶意代码家族大部分都是VirTool类型,如混淆加壳工具、注入工具等。

后缀 Suffixes

MTB	26639
bit	1458
dha	749
A	490
MSR	403
B	219
dll	187
C	137
D	92
E	58
F	55
ibt	47
G	45
rsm	45
H	39
I	33
sys	31
J	25
L	25
K	24
Q	21
M	18
N	16
R	16
eml	15
P	15
S	15
dr	14
O	13
sms	12

后缀代表一些针对该特征码的一些其他详细信息,如类型dll、eml,扫描方式sms内存扫描等。

SIGNATURE_TYPE_ELFHSTR_EXT

Defender本地病毒库中SIGNATURE_TYPE_ELFHSTR_EXT类型特征码比较少,总共只有1254条,但为了展示与PE类型的区别这里也对其进行简单分析。

恶意代码类型数据分析

Backdoor	585
Trojan	233
Exploit	144
Ransom	92
DDoS	61
HackTool	58
TrojanDownloader	21
TrojanDropper	20
Worm	7
Misleading	6
TrojanSpy	6
Virus	6
Adware	5
VirTool	5
MonitoringTool	2
DoS	1
PUA	1
TrojanProxy	1

SIGNATURE_TYPE_ELFHSTR_EXT类别与PE类型排名还是有比较大的不同,Exploit、Ransom、DDOS、HackTool类别恶意代码类型排名比较靠前。

平台 Platform数据分析

Linux	1178
AndroidOS	75
Win64	1

有一个异常数据是出现Win64类型数据,看了下对应的恶意代码家族是Zenbleed,可能是针对AMD处理器漏洞的利用代码。

恶意代码家族 Family数据分析

elf_family.png

Mirai	264
Gafgyt	191
Tsunami	32
SAgnt	23
Flooder	21
Filecoder	16
GetShell	13
Turla	13
Lotoor	12
CoinMiner	8
MsfShellBin	8
Dakkatoni	7
Lightaidra	7
Wroba	7
BPFDoor	6
Tusnami	6
Asacub	5
CVE-2017-17215	5
Gyfgyt	5
Local	5

恶意代码家族排名也不一样,主要家族都是些BOT类型恶意代码。

0x03 总结

对红队做免杀武器化:

  • 根据病毒名可以获取到很多信息,如果Type为Behavior大概率是动态行为触发,如果后缀包含sms可能是内存扫描到特征码
  • 根据Platform平台的特征码数量,可知Win32特征码是Win64特征码的10倍,如果编译为Win64是不是更容易绕过特征码扫描

对蓝队做样本运营:

  • 获取不同恶意代码家族tag
  • 可以针对不同恶意代码家族特征数量调整分析优先级
  • 可以根据本地病毒库不同家族新增感知外网恶意代码变化

0x04 参考

  • github.com/commial/experiments/tree/master/windows-defender/VDM
  • learn.microsoft.com/en-us/microsoft-365/security/intelligence/malware-naming?view=o365-worldwide
0条评论
0 / 1000
dump
2文章数
0粉丝数
dump
2 文章 | 0 粉丝
dump
2文章数
0粉丝数
dump
2 文章 | 0 粉丝
原创

Defender本地病毒库恶意代码名称数据分析

2024-07-15 09:44:35
166
0

0x00 简介

Defender是Windows系统自带的反病毒软件,从Vista开始直接内置在Windows系统中,默认处于开启状态,对大部分普通用户来说是其系统安全基础保障,因此也是安全研究者一个重要的研究目标。
Defender本地数据库主要包含四个文件:

  • mpasbase.vdm:AntiSpyware 模块的数据库
  • mpasdlta.vdm:更新到 AntiSpyware 数据库
  • mpavbase.vdm:防病毒模块的数据库
  • mpavdlta.vdm:更新防病毒数据库
    本次分析主要是通过对mpasbase.vdm、mpavbase.vdm这两个数据文件进行解码,提取出SIGNATURE_TYPE_ELFHSTR_EXT和SIGNATURE_TYPE_PEHSTR_EXT这两种特征码类型中的病毒名称,对病毒名称数据进行分析,具体提取数据名称的方法请查看参考链接。

0x01 Defender病毒名称命名规范

Defender病毒名称命名参考了Computer Antivirus Research Organization (CARO) 组织的恶意代码命名规范,一个完整的病毒名称包含了5个部分,包括:

  • 恶意代码类型 Type: 描述恶意代码类型信息,如蠕虫、病毒、木马、勒索软件等。
  • 平台 Platform: 主要包含操作系统、恶意代码脚本语言类型、恶意代码宏类型信息等。
  • 恶意代码家族 Family:主要包含恶意代码家族信息,将具有相同特征的恶意代码划分为同一家族,常见的如Mimikatz、CobaltStrike等。
  • 恶意代码变种信息 Variant: 标识同一恶意代码家族不同的变体,按字母顺序依次增加。
  • 恶意代码其他详细信息 Suffixes:提供恶意代码的其他详细信息
  • .dam: damaged malware
  • .dll: Dynamic Link Library component of a malware
  • .dr: dropper component of a malware
  • .gen: malware that is detected using a generic signature
  • .kit: virus constructor
  • .ldr: loader component of a malware
  • .pak: compressed malware
  • .plugin: plug-in component
  • .remnants: remnants of a virus
  • .worm: worm component of that malware
  • !bit: an internal category used to refer to some threats
  • !cl: an internal category used to refer to some threats
  • !dha: an internal category used to refer to some threats
  • !pfn: an internal category used to refer to some threats
  • !plock: an internal category used to refer to some threats
  • !rfn: an internal category used to refer to some threats
  • !rootkit: rootkit component of that malware
  • @m: worm mailers
  • @mm: mass mailer worm

0x02 Defender病毒名数据分析

根据之前的方式可提取SIGNATURE_TYPE_ELFHSTR_EXT病毒名数据47426条,SIGNATURE_TYPE_ELFHSTR_EXT病毒名数据1254条,使用正则[:/.!]对病毒名进行分离,分析名称各部分数据。

SIGNATURE_TYPE_PEHSTR_EXT

恶意代码类型数据分析

恶意代码类型Type数据总共47426,针对每项数据去重计数后的数据如下:

Trojan	28285
TrojanDownloader	3603
VirTool	3393
Ransom	2598
Backdoor	2503
TrojanSpy	1441
PWS	1407
Worm	1022
TrojanDropper	748
Rogue	400
BrowserModifier	335
HackTool	297
Adware	260
Virus	222
TrojanProxy	183
MonitoringTool	179
TrojanClicker	153
Exploit	81
SoftwareBundler	77
Spammer	73
Spyware	56
DDoS	31
DoS	20
Misleading	20
Constructor	7
PUA	7
SupportScam	2
Behavior	1
Joke	1
Program	1
PseudoThreat_c0000923	1

可以发现PE类特征码中针对木马Trojan的特征数量占比超过50%,在这我们再针对Trojan类型恶意代码分析下那些恶意代码家族特征码分布情况,这里展示下前20的Trojan家族信息。

AgentTesla	3588
Redline	1087
Emotet	1007
Formbook	724
Qakbot	668
IcedId	614
CobaltStrike	586
Trickbot	438
Remcos	428
Dridex	424
SmokeLoader	398
EmotetCrypt	391
Lokibot	373
Glupteba	351
CryptInject	340
Azorult	271
NSISInject	266
Ursnif	266
ClipBanker	254
RedLineStealer	246

平台 Platform数据分析

Win32	31226
BAT	11764
Win64	3119
MSIL	779
WinNT	502
Linux	6    :Mepos、Sejweek、Zitmo、StealthBot
UEFI	4    :VectorEDK、MoonBounce、Lojax
AndroidOS 2  :Skygofree、AndroRat
DOS	2
PowerShell	2
Win95	2

恶意代码家族 Family数据分析

AgentTesla	3753
RedLine	1115
Emotet	1016
Obfuscator	975
Formbook	744
Qakbot	679
CobaltStrike	648
IcedId	632
CeeInject	607
VBInject	578
Banload	535
Injector	473
Remcos	473
Trickbot	441
Dridex	431
SmokeLoader	400
EmotetCrypt	391
CryptInject	387
Lokibot	382
Ursnif	360

与直接Trojan类型数据差异不大,新出现的恶意代码家族大部分都是VirTool类型,如混淆加壳工具、注入工具等。

后缀 Suffixes

MTB	26639
bit	1458
dha	749
A	490
MSR	403
B	219
dll	187
C	137
D	92
E	58
F	55
ibt	47
G	45
rsm	45
H	39
I	33
sys	31
J	25
L	25
K	24
Q	21
M	18
N	16
R	16
eml	15
P	15
S	15
dr	14
O	13
sms	12

后缀代表一些针对该特征码的一些其他详细信息,如类型dll、eml,扫描方式sms内存扫描等。

SIGNATURE_TYPE_ELFHSTR_EXT

Defender本地病毒库中SIGNATURE_TYPE_ELFHSTR_EXT类型特征码比较少,总共只有1254条,但为了展示与PE类型的区别这里也对其进行简单分析。

恶意代码类型数据分析

Backdoor	585
Trojan	233
Exploit	144
Ransom	92
DDoS	61
HackTool	58
TrojanDownloader	21
TrojanDropper	20
Worm	7
Misleading	6
TrojanSpy	6
Virus	6
Adware	5
VirTool	5
MonitoringTool	2
DoS	1
PUA	1
TrojanProxy	1

SIGNATURE_TYPE_ELFHSTR_EXT类别与PE类型排名还是有比较大的不同,Exploit、Ransom、DDOS、HackTool类别恶意代码类型排名比较靠前。

平台 Platform数据分析

Linux	1178
AndroidOS	75
Win64	1

有一个异常数据是出现Win64类型数据,看了下对应的恶意代码家族是Zenbleed,可能是针对AMD处理器漏洞的利用代码。

恶意代码家族 Family数据分析

elf_family.png

Mirai	264
Gafgyt	191
Tsunami	32
SAgnt	23
Flooder	21
Filecoder	16
GetShell	13
Turla	13
Lotoor	12
CoinMiner	8
MsfShellBin	8
Dakkatoni	7
Lightaidra	7
Wroba	7
BPFDoor	6
Tusnami	6
Asacub	5
CVE-2017-17215	5
Gyfgyt	5
Local	5

恶意代码家族排名也不一样,主要家族都是些BOT类型恶意代码。

0x03 总结

对红队做免杀武器化:

  • 根据病毒名可以获取到很多信息,如果Type为Behavior大概率是动态行为触发,如果后缀包含sms可能是内存扫描到特征码
  • 根据Platform平台的特征码数量,可知Win32特征码是Win64特征码的10倍,如果编译为Win64是不是更容易绕过特征码扫描

对蓝队做样本运营:

  • 获取不同恶意代码家族tag
  • 可以针对不同恶意代码家族特征数量调整分析优先级
  • 可以根据本地病毒库不同家族新增感知外网恶意代码变化

0x04 参考

  • github.com/commial/experiments/tree/master/windows-defender/VDM
  • learn.microsoft.com/en-us/microsoft-365/security/intelligence/malware-naming?view=o365-worldwide
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
1
0