识别恶意软件
恶意软件已迅速成为危害现代技术的主要问题之一,每年会产生数百万种新形式的恶意软件(按照某些估计,每个小时都有约1200个新恶意软件被制造出来)。
在渗透测试期间使用或编写恶意软件可能有所帮助,但如果使用不当,他也可能是非常危险的工具。例如,使用一个恶意软件测试防病毒软件,或在系统中植入后门程序可能有用,但是如果后门程序意。外扩散到预期的目标之外,并感染未参加测试的其他系统(甚至是其他公司),情况会十分严重。当前,此类问题很容易让你陷入法律困境。
 并不是所有的恶意软件都是一回事。恶意软件(malware)是指一系列具有恶意的软件的统称。广义上讲,恶意软件是指任何无意义地消耗资源和时间,并使用这些资源执行一些损害所有者最大利益操作的软件。为更直观形象的说明恶意软件,以下说明各种恶意软件的类型。
病毒(Viruses)
病毒采用复制自身将其附加到(即“感染”)目标系统上的其他文件。病毒需要运行一个主机程序用来启动感染过程。病毒自20世纪70年代以来,就已经成为一种恶意软件。
蠕虫(Worms)
这种形式的恶意软件自20世纪80年代你末出现以来,已经出现了各种形式。虽然第一代蠕虫危险程度远不如现在,但他们仍然有害。他们不需要任何用户交互就能快速繁殖和传播。
间谍软件(Spyware)
这类软件设计用来隐秘的收集用户相关活动信息。
木马(Trojan Horses)
此类别中的各类恶意软件与木马非常相似;他们是用社会工程或其他方式诱使用户激活他们。将恶意软件捆绑到用户想要的内容中,可以增加用户执行恶意软件而导致感染的概率。
Rookit
Rookit是能够隐藏在系统的硬件或软件中的恶意软件形式之一。这类型的软件更具有破坏性,因为由于他们的系统内核级别进行感染活动,所以很难检测得到。大多数杀毒软件没有访问内核或者系统中的其他应用程序的权限。
加密病毒(Cryptoviruses)、勒索软件(ransomware)
此类软件用于定位和加密受害者硬盘数据,目的在于勒索赎金。受害者的计算机被感染后,就会收到一条信息,一条关于支付赎金用来解锁文件密钥的信息。
启动病毒
病毒是最古老的恶意软件,是到现在为止广为人知的恶意软件类型,到底什么是病毒?和其他恶意软件有什么区别?
病毒的生命周期
简而言之,归类为病毒的恶意软件有以下特征:自我复制,并将自身附加到其他可执行程序之上并感染应用程序。很多病毒一旦执行就会立即感染主机,而另一些则会潜伏下来等待预定的触发事件或时间,然后执行指令。
在感染病毒后会有什么特征?
- 篡改数据
- 感染其他应用程序
- 复制
- 加密自身
- 将自身变为另一种形态
- 修改配置设置
- 破坏数据
- 扰乱或毁坏硬件
那么病毒作者为什么要制造他们?要细化到某个具体的原因比较难,常见的原因有窃取信息、破坏设备和软件、影响公司正常运转、到用时很粉,或者某些情况下只是为了“制造病毒”。
在渗透测试中可能会发现,制造病毒是测试软件和策略等防御措施的有效手段。然而,如果在测试中使用这些软件,应采取防护措施,以确保它不会超出目标的范围。如果最终恶意软件扩散到超出预期目标之外,结果可能是严厉的法律惩罚。为确保安全,最好在测试环境而不是生产环境中使用恶意软件。
制作一个病毒可能是一个非常复杂的过程,也可能只需要点击几下按钮。一般高级程序员可能会从头编写病毒,购买代码,或者使用一个“地下”病毒生成器。最后,对于最基础水平的人,可能获取预先构建的代码直接使用。
制作一个简单的病毒其实很容易,只需要打开记事本输入以下内容,并将内容改为任意名.bat文件,最后用相关软件(如Bat2Com)进行转换为其他类型文件。
注:千万不要执行这个程序,以下代码只为举例证明使用。在系统执行以下代码可能会导致系统损坏,可能需要大量时间进行修复!!!
@echo off
Del C:\windows\system32\*.*
Del C:\windows\*.*
当然,为了创建更复杂的病毒,只需要浏览相关网站,搜索病毒制作工具包或者病毒软件开发包(SDK)。每个包都有不同的选项和功能,需要大家进行探索。但是,如果要深入了解病毒创建工具包的世界,请务必小心,尽量使用虚拟机或独立系统运行它们。病毒制作工具实例如图所示。
病毒的类型
所有的病毒并非都是一个模子里刻出来的。即使无法记住病毒可能具备的所有形式,也应知道他们有多种不同的类型。了解某个病毒的不同形式,有助于排除故障和诊断。
引导扇区病毒(Boot Sector Virus)
此类病毒专门以驱动器的引导扇区或某几种操作系统存储引导信息的位置为目标。这种类型的病毒首先出现在MS-DOS时代,但现在仍然存活,并随机出现。
浏览器劫持者(Browser Hijacker)
这是一种常见的病毒,通过利用网络浏览器中包含的漏洞或功能进行传播。此类病毒以篡改主页或强制将其他信息下载到计算机等行为为主。我们通常都见过某345的浏览器劫持操作,所以就不举例说明了。
文件感染型病毒(File Infector Virus)
这种病毒是最常见的病毒之一。文件感染型病毒必须具备的特征是,感染程序必须将自身嵌入文件中,并等待该文件执行。此类病毒与直接操作性病毒之间的区别在于,该类型会覆盖宿主文件,或对主机文件造成其它类型的损坏。
宏病毒(Macro Virus)
这种类型的恶意软件使用Microsoft Office应用程序以及其他应用程序内置的宏语言。这种病毒可以嵌入到一个无害的文档中,等待文档加载并执行宏。
混合型病毒
这种类型的病毒特别令人讨厌,因为他同时使用多种方法进行传播。感染的方法可能多种多样,取决于应用程序、操作系统版本以及病毒作者期望的病毒运行方式。
多形病毒(Polymorphic Virus)
此类病毒特征是在一段时间内反复重写自身。通过这种方式,病毒变得更难以检测,因为如果再次被捕获,他看起来会和上次不同,此类病毒中的一些更为先进的变种,甚至会采取加密隐藏其行为。
常驻病毒(Resident Virus)
这种宽泛的病毒分类定义于适用任何运行后将自身加载到内存中,等待感染其目标文件的病毒。
Web脚本病毒(Web Scripting Virus)
许多网站执行复杂的代码以提供有趣的内容。当然这些代码有时可被利用。使得病毒通过网站感染或操作计算机成为可能。
加密病毒(Encrypted Viruses)
这种类型的病毒包括配对的一个载荷和一个用于加密整个病毒包的加密引擎。病毒通过使用加密技术,使杀毒软件难以检测。
电子邮件病毒(Email Virus)
这是一种通过电子邮件传播的病毒,此类病毒会隐藏在电子邮件中,当收件人打开邮件时,病毒载荷将执行并造成破坏。
逻辑炸弹(Logic Bomb)
人们不认为逻辑炸弹是病毒,因为他们不会复制,甚至不是独立的程序,而是其他程序中伪装的部分。逻辑炸弹的目标是一旦满足某些条件,就破坏计算机上的数据。逻辑炸弹在执行之前检测不到,其后果可能是灾难性的。