用户账户控制(用户账户控制没有是只有否)
安装恶意软件文件,设置恶意软件的持久性,移除恶意软件安装证据,向恶意软件传递控制权。
一次性付费进群,长期免费索取教程,没有付费教程。进微信群回复公众号:微信群;QQ群:460500587 教程列表 见微信公众号底部菜单 | 本文底部有推荐书籍
微信公众号:计算机与网络安全ID:Computer-network假设现在的恶意软件已经通过它的感染载体到达目标系统,它的第一个指令是通过感染在目标系统中建立一个立足点根据部署恶意软件的感染载体的不同,会决定感染是自动发生或是通过人为交互完成。
如果是后者,并且它不是依靠安装程序部署的,那么恶意软件安装程序或它本身将会利用伪装来加强感染载体的社会工程策略,从而进一步地欺骗目标用户去安装恶意软件最常见的伪装手段有:● 使用伪造的图标● 使用长的扩展名。
这些伪装手段通过一种视觉错误来欺骗目标用户的眼睛,从而达到相应的目的恶意软件将会以不同于它自身的面目出现这就像披着羊皮的狼一样,它会骗取目标用户的信任由于文件浏览基于图形用户界面(GUI),普通用户在查看文件类型时不会留意太多细节,他们只会看两个东西:文件图标和文件扩展名。
因此攻击者经常操纵这两种属性来伪装恶意软件文件例如,一个拥有JPG图标的可执行文件给人的第一印象就是一个图片文件而不是可执行文件;接着,通过一个伪装的JPG扩展名来强化这一点,就让用户更加确信这是一个JPG文件。
Windows操作系统是根据文件的扩展名而不是其内部结构来决定如何处理这个文件的因此,如果文件的扩展名是JPG,Windows就会尝试以图片文件方式来打开它如果一个文件的扩展名是EXE,Windows会将它当成可执行文件来运行。
相反,一个重命名的EXE文件可能将不能运行这就是为什么在收集恶意软件时要重命名恶意软件的扩展名,这样能够保证它们不会意外地执行由于Windows操作系统根据文件的扩展名来决定文件的打开方式,因此一个扩展名为JPG的可执行文件是无法运行的,即系统不会执行该文件。
要执行它必须让它的扩展名变为EXE攻击者就要找到一种方法来将EXE扩展名在目标用户没有发现的情况下依附到伪造的JPG文件上由于Windows系统在基于GUI文件浏览的情况下对于文件名的长度有限制,攻击者依据这个来将EXE扩展名依附到伪造的JPG文件上,同时面向目标用户进行隐藏。
滥用这种文件名长度限制的一个实例如图1所示
图1 一个使用伪造图标和长扩展名的恶意软件文件实例这种限制与处理长文件名有关超长文件名中只有部分的内容能显示,因为文件浏览器只能显示指定长度的字符,同时隐藏剩余部分攻击者通过为恶意文件创建一个超长文件扩展名就可以达到伪装文件的目的。
例如,一个名为"InnocentLookingFile.JPG..EXE"的文件在浏览器中显示为"InnocentLookingFile.JPG"或者"InnocentLookingFile.JPG..",隐藏了剩余的扩展名。
根据目标系统上的字体配置,文件名可以按照攻击者想要的方式显示,在这种方式下,文件名的最后一个字符刚好是伪造的扩展名,而且没有其他字符跟在它后面但无论文件名最终是怎么显示在文件浏览器上的,最重要的一件事情是,那些跟在JPG扩展名后面的字符,包括真实的扩展名EXE都从用户视野中消失了。
这样会使目标用户认定这个文件确实是一个JPG文件但是因为它的真实扩展名依然是EXE,因此系统将会分配给它一个默认的EXE图标,除非攻击者自己为它分配一个看起来像JPG文件的图标来完成伪造这就是为什么伪造图标和长扩展名经常一起使用的原因。
因为它们是相辅相成的,能够加强感染载体所使用的社会工程策略效果通过电子邮件发送的不可执行文件无法保证它不是恶意软件在这种情况下,可对JPG文件和其他任何数据文件进行特殊处理,以利用那些以此类文件作为输入的软件的。
漏洞为了说明这些伪造技术是如何增强感染载体所使用的社会工程策略效果,假设这样的场景:如果通过电子邮件将恶意软件文件发送给目标系统,同时宣称这个文件是某个明星的照片,这个恶意文件将制作成类似于图片的文件来增加用户对该文件的信任。
它会有一个JPG文件的图标它的文件名是".JPG________.EXE"或者类似的变种,只要保证JPG文件扩展名是直接跟在文件名末尾且后边跟着以".EXE"结尾的长串字符恶意文件试图让它看起来像电子邮件所说的那样,这是一个图片文件而不是一个恶意可执行文件。
一种快速了解文件类型的方法是使用Windows的文件属性快捷菜单,如图2所示。如果一个长文件名的文件有EXE扩展名,那么它将会显示为一个可执行文件。但是这种方法在判断文件类型时不是绝对有效的。
图2 文件属性窗口使用Windows的文件属性快捷菜单来判断文件的类型是不可靠的,因为恶意软件可以篡改它一旦目标用户被感染载体的社会工程策略和恶意软件的伪装手段的联合欺骗,而去执行该恶意软件,目标系统感染就开始了。
但是根据恶意软件的需求以及它所使用的技术,它会避免利用非管理员权限去感染目标系统,否则,它将需要提升权限才能控制目标系统如果目标用户是在管理员账号下运行软件的,比如说Windows的默认程序安装,恶意软件。
就已经是管理员权限这对于恶意软件是个好消息但是如果用户没有在管理员账号下运行软件,用户就需要给执行的文件提升权限以顺利控制目标系统根据微软的定义,用户账户控制(User Account Control,UAC)是。
Windows操作系统中能够帮助用户阻止未经授权的变更的一种特性UAC通过征求用户的许可,或通过在执行一些能够潜在地影响计算机操作或影响其他用户设置的指令之前要求用户输入密码来完成这项功能在Windows。
下,如果可执行程序需要授予管理员权限,目标用户将会受到Windows用户账户控制的警告,如图3所示目标用户在管理员模式下运行可执行文件对恶意软件是十分有利的但是在需要授权进行权限提升的情况下,伪装的恶意软件
就很可能无法运行,因为目标用户可能接收到关于某些程序正在安装的警告,并且意识到只是点击一个所谓的图片文件居然需要提升权限,这将会增大目标用户的怀疑,除非这个伪装文件拥有能使它绕过Windows用户账户控制的检查而获得权限提升的技术手段。
图3 Windows用户账户控制只有安装软件或管理系统时,才使用管理员或拥有管理员权限的账户登录对于其他目的,例如日常操作、科学计算等,尽量使用标准用户账户登录和其他的安全特性一样,最薄弱的环节还是用户。
当用户坚信他正在运行的软件是合法的时候,他几乎肯定会授予该程序权限用户将运行这个文件并授予其管理员权限,为恶意软件感染目标系统铺平道路流氓软件不需要通过复杂技术来绕过Windows用户账户控制的检查,因此很受。
攻击者青睐欺骗或恐吓用户的手段对于获得管理员权限已经足够有效并不是所有的恶意软件都需要提升权限以感染目标系统现在恶意软件已经在管理员权限下运行,它将按感染流程执行一般地,感染流程分为以下几个步骤:● 安装
恶意软件文件● 设置恶意软件的持久性● 移除恶意软件安装证据● 向恶意软件传递控制权“恶意软件持久性”是这样一种状态:恶意软件在受感染系统重启或关机之后也能保持活跃状态1、安装恶意软件文件在其他操作之前,。
恶意软件需要做一些安装前的检查,用于自身的保护以及保证成功感染恶意软件通常使用下载程序或放置程序来进行安装,可以确保安装的恶意软件是最新的,以及恶意软件中包含用于保证它完成任务的所有组件和指令恶意软件的自身防护特性用于检查当前环境是否适合感染以及
恶意软件是否会受到分析和监控如果这些检查中有一项失败了,安装就会终止否则,安装继续(1)恶意软件安装位置的两种类型在所有安装前的检查都完成以后,恶意软件文件的安装就开始了恶意软件组件复制到系统中对应的位置。
要安装的恶意软件的复制位置主要有两种类型:● 操作位置● 暂存位置1)操作位置操作位置是恶意软件组件在受感染系统内活动的位置在Windows下,最常用的位置有如下的几个文件夹:Windows文件夹系统文件夹。
程序文件夹用户设置文件夹恶意软件最常用的安装位置就是反病毒(Anit-Virus,AV)产品在“快速扫描”模式下扫描的位置2)暂存位置暂存位置,换句话说,是暂时放置用来感染其他系统的恶意软件副本的位置暂存位置可以是以下的任意一种:。
可移动的存储介质本地驱动器上的位置网络共享恶意软件会寻找系统中已经加载的存储介质,然后将自己复制到这些介质上如果在恶意软件初始安装的过程中,可移动存储介质加载在系统中,那么这个复制过程就可以发生;复制也可以在。
恶意软件是活跃的或是完全控制该操作系统的情况下将可移动存储介质插入系统的时候发生当然,另一个最常用的暂存位置是本地驱动器上的位置恶意软件会在硬件驱动器上它感兴趣位置放置一份副本最受欢迎的位置是点对点(peer-to-peer,P2P)文件共享应用的公共文件夹。
这个文件夹包含了应用程序共享的公共文件恶意软件的副本经常放到这里,从而有机会被其他终端复制同样,对于连接到本地网络,并且拥有公共网络驱动器写权限的受感染系统来说,恶意软件可以将它的副本放置到这个网络共享位置上,这样使得。
恶意软件对于访问这个网络共享的其他用户是可用的(2)隐藏已安装的恶意软件文件恶意软件文件的安装并不只是简单地将恶意软件组件复制到目标位置,恶意软件开发者还需要考虑如何在用户简单浏览下隐藏这些文件用来隐藏。
恶意软件组件最常用并且不使用任何rootkit技术的方法如下:● 使用文件隐藏属性● 隐藏在用户眼皮底下1)使用文件隐藏属性在Windows中,隐藏恶意软件以避免用户发现的最简单方法是赋予其隐藏属性拥有隐藏属性的文件或文件夹不会在文件浏览时显示出来,无论是处于命令行模式还是基于图形用户界面的模式。
使用文件隐藏属性进行隐藏并不局限于赋予恶意软件组件隐藏(HIDDEN)属性,也可以使用隐藏文件夹这种方式是通过将拥有隐藏属性的恶意软件组件放置到一个新建的隐藏文件夹下来实现的这类隐藏文件可以放在以下位置:。
根目录其他文件夹,比如Windows或任何其他恶意软件经常放置的公共文件夹没有人会去查看的隐蔽位置这种隐藏技术不限于单个文件夹,也适用于多层次文件夹这些文件夹中的一些可以用隐藏属性,其他的可以不同多层次文件夹可以由多个隐藏和非隐藏的子文件夹混合而成。
恶意软件文件可以隐藏在任意一个子文件夹中,这样就进一步提高了隐蔽性某些恶意软件组件还具有系统属性和只读属性这些属性具有一定的好处,例如,在没有提权的情况下可以防止删除恶意软件或修改属性在Windows资源管理器中显示隐藏文件是非常容易的,如图4所示,只需要激活图形用户界面浏览器中的显示隐藏文件、文件夹和驱动选项的功能就可以了,但是如何在硬盘驱动器成千上万的文件中识别出
恶意软件组件,尤其是如果不知道要查找什么,那还是存在一定的挑战的。但是攻击者并不这样认为,因此他们也会采取一些措施来保证他们能够更好地隐藏恶意软件。
图4 在资源管理器中显示隐藏的文件2)隐藏在用户眼皮底下除了使用文件属性隐藏之外,另一种方法是将恶意软件隐藏在大量正常文件中,也就是说,恶意软件文件必须和其他文件混合在一起,从而避免引起用户注意这种方法往往非常有效,特别是将。
恶意软件组件复制到那些包含海量文件的地方,例如,包含上千个EXE和DLL文件的Windows\System32文件夹为了隐藏在用户眼皮底下,恶意软件使用的混淆技术如下:文件名混淆文件日期和时间混淆部署的。
恶意软件可以使用任何名字就像莎士比亚在《罗密欧与朱丽叶》中写的“玫瑰无论叫什么名字都是香的”一样,无论恶意软件如何命名,它的本质是不会改变的但是对于恶意软件来说,表面上使用策略性的命名对它隐藏在众目睽睽之下是很有帮助的。
根据恶意软件组件的作用、位置以及使用方式的不同,下面列举一些常用的命名方法:形式相似名称伪造名称如果恶意软件组件要复制或安装到某个位置,它们可以使用这两种命名方法中的任意一种来隐藏自己举个例子,您能看出"ntdll.dll"和"ntd11.dll"的区别吗?它们中的一个是真实的,另外一个是形式相似的等效名字。
再比如文件名"asferror.dll"、"kernel32.exe"、"kernelBase.exe"和"kernel64.dll",它们中哪个是真实文件的名字?只有一个是真的,其他都是伪造的名字现在假设这些文件和数以千计的其他文件都放在同一个文件夹下,同时不知道想要找什么,那么指出那个与众不同的文件存在一定挑战,对吗?。
对于那些复制或安装在暂存位置的恶意软件组件,它们会使用十分诱人的伪造名字,如"Office2007Crack.exe"、"MyTaxReturn.pdf”、"WarcraftKeyGen.exe"或者"AVProductFullVersion.msi"。
如果将这些文件复制到可移动存储介质、公共网络驱动器或者本地驱动器上的点对点文件共享应用的公共文件夹下,某些人就会看到这些恶意软件文件中的某一个文件,并且对它产生兴趣,最后会运行它同样地,由于所有的部署在暂存位置的。
恶意软件组件都是用来感染的,因此只要有机会就会利用和恶意软件安装程序一样的技术来隐藏其真实特征回顾一下,这些技术有:使用伪造的图标使用长的扩展名在实践中如果受感染系统没有安装任何的文件共享程序,一些恶意软件
安装程序就会创建这样的文件夹,同时将恶意软件的多个副本放在文件夹里所有的文件都拥有不同的诱人名字,而且都是恶意软件的副本或者是重新生成的备份这样做的好处是,如果以后目标用户安装了文件共享程序,那么这些恶意软件
组件已经在了但是缺点就是这种方法会引起用户的怀疑,因为用户会怀疑系统怎么会拥有未安装的文件共享程序的公共共享文件夹呢?其他的恶意软件安装程序不会这样做,它们会先检查是否有文件共享程序存在,然后将恶意软件。
放置在合适的文件夹下如果没有安装文件共享程序,就什么都不做文件名混淆在文件的日期和时间戳都不一致的文件夹中效果很好,但是对于具有一致的日期和时间戳的文件的存储位置,恶意软件经过复制以后需要修改文件日期和时间戳用来保持一致性。
这能够避免检测到恶意软件。您能指出图5中哪个文件是伪造的吗?
图5 Windows/System32文件夹下恶意软件文件的隐藏2、设置恶意软件的持久性在所有的恶意软件组件安装在它们相应的位置以后,感染的下一步是通过恶意软件安装程序来篡改目标系统的配置,以实现恶意软件
的持久性持久性指的是恶意软件必须时刻保持活跃状态,同时按照攻击者的预期运行由于在系统中保持活跃意味着在内存中存活,因此恶意软件为了实现持久性,必须能够在系统关机或重启时存活下来为了实现持久性,恶意软件必须具有自动运行的能力。
恶意软件是在Windows系统下自动运行的它们使用以下的一种或几种的组合来实现:主引导记录(MBR)、引导扇区、批处理文件、INI文件、任务调度、启动文件夹、注册表以及加载在其他进程上微软开发的Autoruns工具可以找到那些在。
Windows平台上自动运行的软件的位置这是一个很好的工具,可以使用这个工具知道系统在启动过程中有哪些可执行文件是自动运行的抛开篡改系统配置使恶意软件自动运行不谈,恶意软件安装程序也会禁用对它有威胁的操作:。
Windows系统还原就像微软公司所描述的那样,Windows系统还原功能可以帮助用户将计算机的系统文件恢复到早期的某个时间点它是撤销系统更改操作的一种方式,同时它不会影响用户的个人文件,如电子邮件、文档或是照片。
当一个程序的安装导致了意想不到的结果,而且卸载这个程序不起作用的时候,系统恢复是很有效的通过这个功能,用户可以及时将系统恢复到程序安装前的某个一切都正常的还原点还原点可以通过系统保护的功能来手工或自动地创建。
通过删除在根目录下的系统卷标信息(System Uolume Information)文件夹,可以禁用系统还原功能这个文件夹包含所有的系统恢复文件没有这些文件,用户就无法将系统恢复到先前的状态,因此就可以阻止清除。
恶意软件3、移除恶意软件安装证据在成功安装了所有必需的恶意软件文件,以及完成了所有用来实现恶意软件持久性的必要系统更改后,恶意软件的安装程序相对于安装好的恶意软件组件的关系就像树和叶子一样因为恶意软件安装程序的工作都完成了,因此它也没有必要留在系统里。
同时,在感染完成后,恶意软件安装程序的清除能够阻止反病毒工程师捕获恶意软件安装程序样例为了实现这一步,恶意软件安装程序通过删除自身来移除所有在系统中的证据从技术上讲,恶意软件安装程序并没有从系统中删除自己。
文件在运行时无法删除,这就是可执行程序无法删除自己的原因为了解决这个问题,恶意软件安装程序经常使用脚本来实现自删除功能,比如批处理文件安装程序通常在一个临时的文件夹下创建这个批处理文件,完成任务后删除这个文件本身。
和可执行程序不同,批处理文件是可以删除自身的这种技术会在恶意软件安装程序放置好自身后创建一个批处理文件并运行,然后这个批处理文件通过代码中一个条件循环来实现重复地删除恶意软件安装程序直到成功当恶意软件安装程序在内存中保持活跃,直到它完成需要做的所有事情之前,
批处理文件都无法删除它,即当恶意软件安装程序在内存中是活跃的,批处理操作总是失败一旦恶意软件安装程序退出,也就是说,它在内存中不再保持活跃,批处理文件就可以成功删除它了一旦这个动作完成,批处理文件接着就删除自身。
因此,恶意软件安装程序删除后,批处理文件也被删除了,这样就不会留下任何关于恶意软件安装程序的证据以下是用于实现删除功能的一段批处理文件代码样例,假设恶意软件安装程序和新建的批处理文件在同一个文件夹下:
批处理文件只是恶意软件安装程序可选择的脚本之一,特别针对目标为Windows的操作系统,因为它可能不需要任何特殊的脚本编译器或应用程序它是源于Windows并且从DOS移植过来的形式相同的技术也为一些不使用任何安装程序来感染系统的。
恶意软件所使用这类恶意软件拥有检查机制来判断它是否处于目标位置如果不是,它会将自身复制到合适的位置,然后更改系统配置来保持其持久性之后,恶意软件会使用和安装程序相同的批处理文件技术来删除自身4、向恶意软件传递控制权。
在恶意软件安装程序退出运行并且被最终删除前,它需要做的最后一件事是向恶意软件传递控制权来激活它向恶意软件传递控制权通常是通过以下操作完成:● 在安装后直接运行恶意软件● 利用合法应用程序来运行恶意软件●
推迟到下一次系统启动(1)在安装后直接运行恶意软件通过安装后直接运行恶意软件的方法来传递控制权是很容易实现的这种方法不需要系统重启,它和软件安装程序在安装后询问用户是否直接“运行应用X”的行为有些类似,而用户可以选择是或否。
同样的技术会用在恶意软件安装中,唯一区别是不会提示用户,恶意软件会直接运行(2)利用合法应用程序来运行恶意软件在有些案例中,恶意软件获得系统控制权是通过合法应用程序完成的这种情况发生的场景如下:一个应用程序会加载多种不同的资源来实现其功能,而其中一个资源已事先被恶意修改。
例如,如果某个DLL已经被人恶意修改,一旦有应用程序加载了这个DLL,恶意软件就随之运行了另外一个实例是恶意浏览器插件,它会在每次浏览器运行的时候运行(3)推迟到下一次系统启动因为恶意软件在安装过程中已经在系统内立足,。
恶意软件获得控制权的另一种方法是等待操作系统的下一次启动,在启动过程中运行恶意软件,而不是在安装后直接运行它最初看来,这好像没什么意义,在恶意软件能够很容易地直接运行的情况下,为什么要等待下次系统重启呢?。
如果恶意软件的目标是感染某个特定用户,而不是这台机器的所有用户,这个方法就非常实用为了更好地解释这件事情,让我们来看一下注册表中HKEY_LOCAL_MACHINE(HKLM)和HKEY_CURRENT_USER(HKCU)两者的区别。
HKLM影响所有用户,而HKCU只影响特定用户的配置因此,修改HKCU下的键值会使恶意软件只影响特定用户的配置,就可以实现感染特定用户的目的如果不考虑攻击目标是特定用户还是所有用户,这种方法还有一个好处,那就是可以躲避沙盒分析,尤其是。
恶意软件无法监控沙盒,或者无法在另一个沙盒会话中执行放置程序把向恶意软件传递控制权的过程推迟到下一次操作系统重启,沙盒就无法监控和捕获新安装恶意软件的主机行为和网络行为沙盒只能捕获恶意软件安装过程中的行为,而对系统中已安装的。
恶意软件无效在实践中恶意软件自动化分析系统会监控所有由恶意软件安装程序所生成的文件,收集后将其发送给沙盒进行处理但是有些恶意软件无法在系统中进行安装,它所依赖的由恶意软件安装程序做的系统修改经常会失败,最后。
恶意软件不能按照预期的功能运行。微信公众号:计算机与网络安全ID:Computer-network【推荐书籍】
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186