zoukankan      html  css  js  c++  java
  • 反病毒攻防研究第004篇:利用WinRAR与AutoRun.inf实现自启动

    一、前言

            由之前的一系列研究可以发现,为了使得“病毒”能够实现自启动,我也是煞费苦心,采取了各种方式,往往需要编写冗长的代码并且还需要掌握系统底层或注册表的很多知识才可以。而这次我打算讨论两种简单的方式,抛开代码,利用WinRAR与AutoRun.inf实现程序的自启动。采用这两种方式,在用户安全意识不高的情况是可以生效的。当然,我在这里讨论这些,最为重要的还是希望大家树立起相关的安全防范意识。

     

    二、利用WinRAR实现程序的自启动

            WinRAR可以说是我们最常用的解压缩软件了。在文件很多的情况下,利用它可以对文件进行打包,或者当文件的体积比较大的时候,利用它也可以对目标程序进行压缩,都能够实现方便携带的效果。但是很多人不知道的是,利用WinRAR,可以实现在解压后直接启动被解压的程序,那么利用这一点,就可以将我之前编写的Hacked.exe实现自启动。首先要在计算机上安装WinRAR(我的是5.10.0.0版),然后右键单击欲压缩的软件,选择“添加到压缩文件”:


    图1 添加到压缩文件

            接下来需要在“压缩选项”中选择“创建自解压格式压缩文件”,然后可以为新文件取个名字:


    图2 设置压缩选项与文件名

            选择“高级”选项卡,进入“自解压选项”:


    图3 选择“自解压选项”

            在“常规”选项卡中,填写解压路径,可以填写一个比较隐秘的路径,我这里为方便起见,将其解压到桌面:


    图4 填写解压路径

            最后在“设置”选项卡的“提取后运行”中,填写解压完以后想要运行的程序名称:


    图5 填写欲运行的程序

            至此所有的设置完成,可以点击“确定”生成自解压程序。这样,当用户双击这个文件后,就能够实现自解压并直接运行Hacked.exe程序。但是这里有一个问题,就是生成的这个自解压程序其实是.exe文件,而且它的图标和正常的.rar文件是不一样的,后缀和图标,十分不利于程序的隐藏。不过这两个问题不难解决。在窗口菜单栏的“工具”中,有一个“文件夹选项”,在“查看”标签下,有一个“隐藏已知文件类型的扩展名”选项:


    图6 隐藏扩展名选项

            如果该项打钩,说明文件的扩展名在系统中是不显示的,当然也可以在注册表中进行设定,找到HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHideFileExt中的UnCheckedValue项,将它的值设为1,那么无论在“文件夹选项”中如何更改,文件扩展名都是无法显示的。这里先假定系统中文件的扩展名是不显示的。那么我们就在原始文件名的基础上,在其后面加上.rar,将其伪装成是rar文件。

            之后就是修改文件图标,exe文件的图标还是比较容易修改的,我使用的是Resource Hacker (3.6.0.92版),可以轻松实现更改图标的功能,将我们的文件修改为和正常rar文件一样的图标,具体方法不再讨论。那么我们的伪装工作就完成了(这里我没找到rar图标,用别的图标代替):


    图7 图标修改前后对比

            至此,所有的工作完成,经过伪装后的自解压文件往往是难以发现异常的,所以更需我们练就一双火眼金睛。

     

    三、利用AutoRun.inf实现程序的自启动

            利用AutoRun.inf实现程序自启动的方法已经比较古老了,本来微软设置这项功能是为了让光盘或者U盘能够实现自动运行,但是却被黑客钻了空子,他们利用这项功能,当用户双击某个盘符时就能够实现恶意程序的自启动,当时也是给很多用户造成了困扰。后来微软觉得严重,就彻底封杀了这项功能。也就是说,新版操作系统的用户是不用担心的,初版的Windows XP会存在这样的问题。

            实现该功能很简单,在想要实现自启动的盘符根目录下新建一个文本文档,然后将其改名为autorun.inf,双击进入并输入以下代码:

    [autorun]
    shellautocommand=Hacked.exe
            保存并重新启动后,当在盘符上单击鼠标右键时,所弹出的菜单会多出一个“auto”项,选择该项或者直接双击盘符,那么就会直接启动Hacked.exe程序,当然前提是该程序已经放到了该盘的根目录下。为了实现隐蔽的效果,黑客可能会将autorun.inf以及自己所编写的恶意程序的属性设置为隐藏,当然我们可以在“文件夹选项”中选择“显示所有文件和文件夹”,如图所示:


    图8 隐藏文件和文件夹选项

            与文件扩展名一样,这一项也可以在注册表中找到,可以直接在注册表进行设定,位于:HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHiddenSHOWALL,将CheckedValue的键值设置为0,这样的话,无论用户在“文件夹选项”中怎么设置,隐藏属性的文件永远是不可见的。这种方法可以和WinRAR自解压程序相配合使用,就会达到很好的效果。

     

    四、防范方法

            这里讨论了两个注册表键值,在我看来属于敏感键值,毕竟一般来说这两个键值是没必要改动的,如果被篡改了,那么就很可能是恶意程序所为,是应当特别注意的。只要这两个键值没有被改动过,那么在“文件夹选项”中就应该选中“显示所有文件和文件夹”并且取消“隐藏已知文件类型的扩展名”。对于看似压缩文件,一定要注意其扩展名是什么,如果说真的是.rar文件,那么一般就没什么好怕,就怕它是由.exe文件所伪装的。而对于隐藏文件,以我在上面所举的这个例子来说,可以在cmd中输入:

    del /ah /f c:Hacked.exe & del /ah/f c:autorun.inf

            这样就可以同时强制删除位于C盘根目录下的,属性为隐藏的Hacked.exe和autorun.inf文件。

     

    五、小结

            这次讨论了两种基本无需代码就能够实现让程序自启动的方法,主要是希望大家建立起安全防范意识,了解WinRAR可能存在的花招以及两个比较重要的注册表位置。只有我们不断地学习,不断地提高安全意识,才能够令黑客无从下手,也能够让自己对杀毒软件的依赖性不断降低。
  • 相关阅读:
    XSS攻击
    逻辑题目
    PHP性能监测的工具介绍
    PHP最简单的后门,且难查,不报毒!
    php Session存储到Redis和memcached的方法
    [sourceTree]这是一个无效的源路径
    Java 解析 Excel 工具 easyexcel
    GoldenGate 将oracle数据抓取到Redis
    JAVA调用ORACLE存储过程时间类型参数没有日期
    mongoDB 分组并对分组结果筛选类似于SQL中的(group by xxx having ) 附带Java代码
  • 原文地址:https://www.cnblogs.com/csnd/p/11785805.html
Copyright © 2011-2022 走看看