cnsmin.dll的原理与清除方法病毒防治 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    简单研究了一下3721的机制,写在这里,作为心得笔记吧,

cnsmin.dll的原理与清除方法病毒防治

。大部分收获都来自softice + 反汇编,不一定适用于某些版本。

    1. cnsmin.dll的驻留方式

    3721的核心文件:cnsmin.dll

    通常存在于\downloaded program files下。

    通过注册表run键值加载:rundll32

\cnsmin.dll, rundll32

    cnsmin.dll提供了一个函数rundll32供rundll32.exe调用

    但这个函数只是调用一个真正的驻留函数rundll32main()。

    rundll32main()伪代码:

    void rundll32main()

    {

    hmutex = createmutex("cnsminmutex");

    if(error_already_exists)

    {

    closehandle(hmutex);

    exit;

    }

    if(iswindowsnt()) {

    setprocesssecurityinfo();

    }

    else {

    registerprocessasservice();

    }

    checkversion();

    // cnsminkp.sys/vxd 内核驱动程序,保护3721关键文件和注册表项不被删除

    contactwithcnsminkpdriver();

    // 关键的hook,负责将cnsmin.dll注入其他进程空间

    installcbthook();

    // 关键的hook,负

    关 键 字:病毒防治

    相关文章:

    McAfee杀毒软件高级设置技巧五招

    吃透木马运行原理把它扼杀

    学习从系统中删除病毒

    360安全卫士推出集三重防护理念

    隐藏文件看不到?中毒了!

    责将cnsmin.dll注入其他进程空间

    installcallwndprochook();

    // cnsminio.dll 负责ie地址栏下方的提示

    initcnsminio();

    // 一些注册表信息

    initregistry();

    // 保护cnsmin.dll的钩子不被卸载或抢先

    installguardtimer();

    createmsgwindow();

    // message loop

    while (true)

    {

    getmessage(&msg);

    translatemessage(&msg);

    dispatchmessage(&msg);

    }

    }

    cns 要是通过wh_cbt和wh_callwndproc两个全局钩子注入ie进程空间的,

电脑资料

cnsmin.dll的原理与清除方法病毒防治》(https://www.unjs.com)。注入ie后,又安装了wh_keyboard,wh_debug等钩子。其中对3721实现其"实名转换" 有用的是wh_keyboard。这是一个本地钩子。

    cnsmin为了保证自己的优先级最高,用了一个定时器函数反复安装钩子,无疑会造成系统性能的下降。

    我曾经尝试过自己安装一个wh_debug钩子阻止3721钩子的调用,确实起到了效果,立即可以使3721失效。但这种方法3721仍然驻留ie进程内,属于指标不治本的方法。

    强制结束rundll32进程,可以暂时卸载3721的驻留代码。但cnsmin.dll通过com注册已经嵌入ie组件中,重新启动ie后,该进程又会重新启动。

    2. 3721的防删除手段

    文件系统驱动:cnsminkp*.sys 针对nt/2000/xp有不同版本(98下面是cnsminkp.vxd)

    通常存在于\drivers\目录。

    驱动程序,由windows启动时加载。

    该驱动程序过滤了对文件和注册表的删除操

    关 键 字:病毒防治

    相关文章:

    McAfee杀毒软件高级设置技巧五招

    吃透木马运行原理把它扼杀

    学习从系统中删除病毒

    360安全卫士推出集三重防护理念

    隐藏文件看不到?中毒了!

    作。试图删除3721的关键文件和注册表项时,直接返回一个true,使windows认为删除已经成功,但文件和注册表实际上还是在那里。

    该驱动程序还有一个黑名单(保存在某个外部文件中),阻止windows读取其他3721的竞争对手的插件文件。

    目前还没有找到停止该驱动的方法。

    删除方法:在windows启动前(例如,98下面退出到dos)删除cnsminkp*.sys文件。

    注意:3721具有自恢复能力。某些关键文件被删除后,其它模块会试图从3721网站重新

    下载。所以彻底删除前需要断开网络连接。

    3. 针对目前版本的删除步骤:

    a) 运行3721自己提供的删除程序。可以删掉大部分的文件。

    b) 从dos启动,删除残存文件,如cnsmin.dll,cnsminkp*.*等

    可能的目录:downloaded program files目录,program files\3721目录,drivers目录

    c) 启动windows,进入桌面时windows会报告一些模块找不到的错误,不用理会,删除

    注册表中3721的值。

    可能的位置:hkey_current_user: software\3721

    hkey_local_machine: windows\currentversion\run

    system\currentcontrolset

    另外还零散的藏了一些,用关键字查找。

    关 键 字:病毒防治

    相关文章:

    McAfee杀毒软件高级设置技巧五招

    吃透木马运行原理把它扼杀

    学习从系统中删除病毒

    360安全卫士推出集三重防护理念

    隐藏文件看不到?中毒了!

   

最新文章