很多像我一样的安全研究新人可能会对Exploit、Malware和Exploit Kit这三个词汇感到既熟悉又陌生,说熟悉是因为经常在各类安全资讯中见到他们的身影,说陌生是因为往往搞不清他们的具体含义、不知道这三者的区别与联系。为了更好地进行安全研究,我们有必要详细地了解Exploit、Malware和Exploit Kit这三兄弟。
从安全公司 Trend Micro 提供的术语词汇表我们可以查询到这三个词的字面含义:
- Exploit:An exploit is code that takes advantage of a software vulnerability or security flaw. Exploits are often incorporated into malware, which are consequently able to propagate into and run intricate routines on vulnerable computers.
从上面的描述可以看出Exploit就是我们常说的Exp,它是对软件漏洞进行利用的代码。在很多情况下Exploit执行的结果就是受害主机上运行着的Malware。
- Malware:Malware is a general category of malicious code that includes viruses, worms and Trojan horse programs.
Malware就是我们常说的恶意软件,它可以分为病毒、蠕虫以及木马这几类。
- Exploit Kit:Exploit kits or exploit packs refer to a type of hacking toolkit that cybercriminals use to take advantage of vulnerabilities in systems/devices so they can distribute malware or do other malicious activities.
Exploit Kit可以理解为Exploits的集合工具,它里面包含着各种各样的Exploits用来进行恶意软件的传播或者进行其他恶意活动。Exploit Kit不单单是将Exploits收集整合起来,每种典型的Exploit Kit通常包括一个管理控制台、一堆不同应用程序漏洞的利用代码以及其他帮助黑客进行攻击的附加功能。
以现实场景中的感染链为例,我们可以更好地理解他们三者的关系:
- Step 1:Contact
感染链的第一步是Contact,攻击者通常通过垃圾邮件和社会工程学诱使人们点击一个包含Exploit Kit的网站链接。
- Step 2:Redirect
在受害者访问含有Exploit Kit网站的链接后,Exploit Kit可以发现受害者设备上的软件漏洞。
- Step 3:Exploit
第三步,一段利用特定软件漏洞的Exploit将会在目标设备上执行。
- Step 4:Infect
最后一步恶意软件在目标设备上执行,该设备也就被感染了。
可以看出相比一个个单独的Exploit,整合后的Exploit Kit更具威力,以2016年的数据为例,一些知名的Exploit Kit往往包含过个高危漏洞的利用代码:
随着时间的发展Exploit Kit也在不断收集着常用应用程序漏洞的Exploit,而很多用户都没有对漏洞进行及时修补,这又进一步使得黑客们更愿意对Exploit Kit进行升级换代。