• 浏览器快捷方式被修改的元凶


    最近浏览器快捷方式目标属性被修改,后面上了“hao.169x.cn”这个导航 ,每次修改后一段时间总又被修改回来。现决心找一找元凶。

    经过一番搜索,发现是用小马激活的后遗症,而且用关键字“remove hao.169x.cn”搜索,发现不少歪果朋友也纷纷中招,顿时感觉脸上火辣辣的,中国特色牛皮癣啊。。。

    先说解决方案:

    --你若懒得折腾,直接把浏览器快捷方式改回来,设为只读。若爱折腾,请继续看。

    1. 任务计划名字里含有类似oem、kms删掉(不知道怎么操作可以百度一下)。这些计划任务会在每次重启创建下面的WMI相关东西。

    2. 以管理员身份运行cmd,输入powershell,然后执行以下代码就可以了。这些WMI的东西会定时改你的浏览器快捷方式。

    gwmi -Namespace "root/cimv2" -Class __FilterToConsumerBinding -Filter "Filter = ""__eventfilter.name='VBScriptKids_filter'""" | Remove-WmiObject
    gwmi -Namespace "root/cimv2" -Class ActiveScriptEventConsumer -Filter "Name = 'VBScriptKids_consumer'" | Remove-WmiObject
    gwmi -Namespace "root/cimv2" -Class __IntervalTimerInstruction -Filter "TimerID = 'VBScriptKids_timer'" | Remove-WmiObject
    gwmi -Namespace "root/cimv2" -Class __EventFilter -Filter "Name = 'VBScriptKids_filter'" | Remove-WmiObject

    如果你这步不行,大概是和我遭遇的流氓软件不同,所创建的东西名字不同。你可参照篇博文找到类似的地方手动删除。

    3. 将下面这段代码xxx替换为你的用户名,另存为后缀名为vbs的文件,运行一下就把所有的改的快捷方式改回来了。

    On Error Resume Next
    
    Const link = ""
    
    Const link360 = ""
    
    browsers = "114ie.exe,115chrome.exe,1616browser.exe,2345chrome.exe,2345explorer.exe,360se.exe,360chrome.exe,,avant.exe,baidubrowser.exe,chgreenbrowser.exe,chrome.exe,firefox.exe,greenbrowser.exe,iexplore.exe,juzi.exe,kbrowser.exe,launcher.exe,liebao.exe,maxthon.exe,niuniubrowser.exe,qqbrowser.exe,sogouexplorer.exe,srie.exe,tango3.exe,theworld.exe,tiantian.exe,twchrome.exe,ucbrowser.exe,webgamegt.exe,xbrowser.exe,xttbrowser.exe,yidian.exe,yyexplorer.exe"
    
    lnkpaths = "C:UsersPublicDesktop,C:ProgramDataMicrosoftWindowsStart MenuPrograms,C:UsersxxxDesktop,C:UsersxxxAppDataRoamingMicrosoftInternet ExplorerQuick Launch,C:UsersxxxAppDataRoamingMicrosoftInternet ExplorerQuick LaunchUser PinnedStartMenu,C:UsersxxxAppDataRoamingMicrosoftInternet ExplorerQuick LaunchUser PinnedTaskBar,C:UsersxxxAppDataRoamingMicrosoftWindowsStart MenuPrograms"
    
    browsersArr = Split(browsers,",")
    
    Set oDic = CreateObject("scripting.dictionary")
    
    For Each browser In browsersArr
        oDic.Add LCase(browser), browser
    Next
    
    lnkpathsArr = Split(lnkpaths,",")
    Set oFolders = CreateObject("scripting.dictionary")
    
    For Each lnkpath In lnkpathsArr
        oFolders.Add lnkpath, lnkpath
    Next
    
    Set fso = CreateObject("Scripting.Filesystemobject")
    Set WshShell = CreateObject("Wscript.Shell")
    
    For Each oFolder In oFolders
        If fso.FolderExists(oFolder) Then
            For Each file In fso.GetFolder(oFolder).Files
                If LCase(fso.GetExtensionName(file.Path)) = "lnk" Then
                    Set oShellLink = WshShell.CreateShortcut(file.Path)
                    path = oShellLink.TargetPath
                    name = fso.GetBaseName(path) & "." & fso.GetExtensionName(path)
                    If oDic.Exists(LCase(name)) Then
                        If LCase(name) = LCase("360se.exe") Then
                            oShellLink.Arguments = link360
                        Else
                            oShellLink.Arguments = link
                        End If
                        If file.Attributes And 1 Then
                            file.Attributes = file.Attributes - 1
                        End If
                        oShellLink.Save
                    End If
                End If
            Next
        End If
    Next
    View Code

    下面是第二步中4条命令的分析:

    这其实是WMI的event。WMI的event包含三种东西:Consumer, Filter和Timer,对应的class分别是:__EventConsumer,__EventFilter和__TimerInstruction。 第二条ActiveScriptEventConsumer是__EventConsumer的子类要执行的操作,它有个script属性,可以执行脚本,上面解决方案的第三步的代码就是从这儿改来的(以其人之道还治其人之身)。

    第三条的__IntervalTimerInstruction是__TimerInstruction的子类,是一个定时器,可以指定长时间执行一次。 第四条的__EventFilter有一个Query属性,内容是

    select * from __timerevent where timerid="VBScriptKids_timer"

    第一条的__FilterToConsumerBinding顾名思义就是Filter和Consumer的对应关系,相当于数据库中的多对多关系的中间表。在wmi tool这个工具里配置也很简单,只需在Filter列表里选中一个filter,在右侧的Consumer列表中选择对应的consumer,然后点右上角的“√”(Register)就好了。



    推荐阅读:
    Windows Management Instrumentation (WMI) Offense, Defense, and Forensics(PDF)

    其三篇译文:

    WMI 的攻击,防御与取证分析技术之攻击篇

    WMI 的攻击,防御与取证分析技术之防御篇
    WMI 的攻击,防御与取证分析技术之取证分析篇(作者尚未完成)


    以及:

    Show and Remove Permanent WMI Event Registrations
    WMI Attacks

    --完--

    原文地址 http://www.cnblogs.com/szhx/p/5296822.html
    By 博客园-心亦

  • 相关阅读:
    ActiveMQ服务安装
    @Transactional 注解失效场景
    java中public、private、 protected、friendly
    接口保证幂等性是基本的要求,那么幂等性你们是怎么做的 ?
    android中Toast,makeText()的用法
    android中OKHttpClient工具类的用法(向服务器发送请求,并得到响应)
    android与服务器交互
    Android Studio中Make Project、Clean Project、Rebuild Project 的作用
    android如何真机调试
    URI中的fragment以及URI的说明
  • 原文地址:https://www.cnblogs.com/szhx/p/5296822.html
Copyright © 2020-2023  润新知