一、前言

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

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

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

图1 添加到压缩文件

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

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

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

图3 选择“自解压选项”

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

图4 填写解压路径

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

图5 填写欲运行的程序

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

图6 隐藏扩展名选项

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

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

图7 图标修改前后对比

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

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

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

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

[autorun]
shell\auto\command=Hacked.exe

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


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

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

四、防范方法

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

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

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

五、小结

这次讨论了两种基本无需代码就能够实现让程序自启动的方法,主要是希望大家建立起安全防范意识,了解WinRAR可能存在的花招以及两个比较重要的注册表位置。只有我们不断地学习,不断地提高安全意识,才能够令黑客无从下手,也能够让自己对杀毒软件的依赖性不断降低。

反病毒攻防研究第004篇:利用WinRAR与AutoRun.inf实现自启动的更多相关文章

  1. 反病毒攻防研究第005篇:简单木马分析与防范part1

    一.前言 病毒与木马技术发展到今天,由于二者总是相辅相成,你中有我,我中有你,所以它们之间的界限往往已经不再那么明显,相互之间往往都会采用对方的一些技术以达到自己的目的,所以现在很多时候也就将二者直接 ...

  2. 反病毒攻防研究第006篇:简单木马分析与防范part2

    一.前言 一般来说,木马是既有客户端也有服务器端的.上次讨论的不过是一种特殊情况,毕竟不是人人都懂得DOS命令,因此现在木马的客户端也都是做成非常直观的界面形式,方便操作.本篇文章会从客户端与服务器端 ...

  3. 逆向project第004篇:令计算器程序显示汉字(下)

    一.前言 钩子技术是一项很有有用价值的技术.在Windows下HOOK技术的方法比較多,使用比較灵活,常见的应用层的HOOK方法有Inline HOOK(详见<反病毒攻防研究第012篇:利用In ...

  4. WAF攻防研究之四个层次Bypass WAF

    从架构.资源.协议和规则4个层次研究绕过WAF的技术,助于全方位提升WAF防御能力. 绕过WAF的相关技术研究是WAF攻防研究非常重要的一部分,也是最有趣的部分,所以我在写WAF攻防时先写攻击部分.还 ...

  5. [转]Android中Xposed框架篇—利用Xposed框架实现拦截系统方法

    一.前言 关于Xposed框架相信大家应该不陌生了,他是Android中Hook技术的一个著名的框架,还有一个框架是CydiaSubstrate,但是这个框架是收费的,而且个人觉得不怎么好用,而Xpo ...

  6. C#利用WinRAR实现压缩和解压缩

    using System; using Microsoft.Win32; using System.Diagnostics; using System.IO; namespace MSCL { /// ...

  7. 技术面试问题汇总第004篇:猎豹移动反病毒工程师part4

    这次所讨论的三个问题,比如DLL以及HOOK,很容易被病毒木马所利用,因此必须要比较全面地进行了解.而异常处理机制,则往往与漏洞相关联.它们自身的概念并不难理解,只是由之引申而来的问题,在计算机安全领 ...

  8. webshell在php方向的研究(精华篇)

    文章主旨:准备学习c语言,你喜欢的所有干货在文末附件里 作者宗旨:没有不想当将军的兵,没有不想提高技术的person,今天带你打开php的研究之路. 本文作者:Laimooc(原名xoanHn),个人 ...

  9. 反序列化问题的研究之java篇

    博客园很早就开通了,当时下决心要把自己的经验心得记录上去,但是却没有做到,因为一直觉得自己搞得东西可能还是比较的初级,感觉拿不出手,所以也就是只是把它记录在在印象笔记上面(三年下来,还是整理和收藏了一 ...

随机推荐

  1. IDEA中部署servlet

    配置和不是servlet 第一种方法:(两种方法不能混用,使用第一种方法后,尽量删除第二种方法的注解方式) 使用xml文件配置: name没有什么特别的,就是需要统一即可.url-pattern中的地 ...

  2. Python3+pygame中国象棋 代码完整 非常好 有效果演示

    这几天看到抖音上有个妹子下象棋超级猛,我的中国象棋也差不到哪去啊,走 做一个.... 一.运行效果 二.代码 下面的代码用到图片素材(images文件夹),下载地址如下:https://www.itp ...

  3. 日志文件迁移至OSS

    一台服务器在用阿里云ECS,因为穷,磁盘空间有限,服务器日志文件每天都在增长,需要定期清理释放磁盘空间,想到几种解决方案: 写任务定时备份到本地服务器 直接下载到本地用移动硬盘备份 备份到阿里云OSS ...

  4. 关于深度学习配置的一些tips

    建立博客的第一天,将以前记录的一些东西存档下,方便查看. 1安装anaconda 2pycharm破解 配置环境变量3虚拟环境推荐是python3.5或3.6版本 4.安装numpy tensorfl ...

  5. Linux普通用户安装配置mysql(非root权限)

    Linux普通用户安装配置mysql(非root权限) 说明:在实际工作中,公司内网的机器我们一般没有root权限,也没有连网,最近参考网上的资料使用一般的账户成功安装mysql,记录如下 Linux ...

  6. python inspect库

    一.介绍 inspect模块用于收集python对象的信息,可以获取类或函数的参数的信息,源码,解析堆栈,对对象进行类型检查等等. inspect模块主要提供了四种用处: 对是否是模块.框架.函数进行 ...

  7. 使用MyBatis的步骤

    1.创建空的Java工程,安装MyBatis依赖 <?xml version="1.0" encoding="UTF-8"?> <projec ...

  8. HTML特殊标签

    一,HTML特殊标签 二,换行标签 <br>标签用来将内容换行,其在HTML网页上的效果相当于我们平时使用word编辑文档时使用回车换行. 三,分割线 <hr>标签用来在HTM ...

  9. 抗DDOS应急预案实践-生产环境总结-建议必看

    一.首先摸清楚环境与资源 为DDoS应急预案提供支撑 所在的网络环境中,有多少条互联网出口?每一条带宽多少? 每一条互联网出口的运营商是否支持DDoS攻击清洗,我们是否购买,或可以紧急试用?当发生DD ...

  10. Python信息搜集

    1.IP查询 IP查询是通过当前所获取到的URL去查询对应IP地址的过程.可以应用socket库函数中的gethostbuname()获取域名所对应的IP值,代码如下: 查询域名www.biadu.c ...