| 前言
惡意網站在大家平時網絡生活應該不少接觸,比如,QQ聊天窗口的安全提示,百度搜索結果的攔截提示,或者是QQ管家、金山毒霸等在你訪問某些網站時彈出的訪問提示;再或者某某訪問什么網站,被騙了多少錢等等......細數這些,我想大家都不陌生,但是具體惡意網站又是怎么一回事,我想估計真正了解的人沒多少。
前前后后寫了幾篇關于惡意網站的文章,整理一下讓大家更加的了解惡意網站。
| 什么是惡意網站?
什么是惡意網站?這是一個比較泛的概念,在我們看來,會對網民上網造成危害的網站,應該都屬于這個定義里面。比較常見的有釣魚網站、假冒仿冒網站等等。舉個例子,有一些站點仿冒中國好聲音官網進行欺詐,給一些人發短信說中獎了,登陸某某網址進行領獎,而實際是某某網站訪問不是真正的中國好聲音的官網,是假冒的,會誘導用戶進行一些如銀行轉帳等造成用戶利益損失的行為,這其中某某網址就是一個經典的惡意網站。再比如仿冒QQ安全中心、QQ空間等頁面的,進行QQ盜取的網站都屬于惡意網站。
還有就是比如網民訪問了,會中木馬病毒的掛馬網站同樣是一種惡意網站。
|惡意網站分類
在我看來,惡意網站總的可以分為這幾類(以下僅來自個人的分類與定義):
1、盜號釣魚
2、仿冒欺詐
3、黑客入侵
4、博彩賭球
5、淫穢色情
6、非法交易與銷售
7、病毒木馬
8、違法違規
首先解釋大家最關心的第五類,淫穢色情,這個詞什么意思我就不解釋了。
其實淫穢色情要看大家怎么看了,從法律上講,是不允許的,自然算惡意,但如果大家覺得瀏覽這樣的網站沒有什么損失,有這樣的需求,那么就可以不是。不過一般往往色情網站自身帶有其他惡意行為,比如掛馬等,不過現在也有一些自標榜不含任何惡意代碼的“真色情”網站,是否如此就不得而知,筆者還是建議大家平時上網做好安全措施,比如安裝個noscript插件,就能阻止惡意js代碼的執行了。
其次是盜號釣魚與仿冒欺詐。盜號釣魚指的是通過偽裝頁面等方式獲取帳號密碼等私人信息;而仿冒欺詐,有仿冒也有欺詐,顧名思義,通過仿造頁面進行欺詐。其實這兩個類別是有交叉的,往往盜號釣魚的網站,通過就通過仿冒假冒的形式來進行,而這其實如果一定要算,也可以算做一種欺詐。但兩者有個區別在于盜號釣魚在于竊取帳號等信息,而仿冒欺詐,更在于欺詐。如下:
你覺得下圖哪個是真正的官網呢?
第一張:
第二張:
第二張才是真正的官網,俏十歲的域名是http://www.qiaoshisui.com/。第一張圖是不是可以以假亂真了?而這里的仿冒就不是為了盜取帳號信息,因為你會發現登陸注冊根本是假的。
黑客入侵,就不解釋了,具體下面單獨講。
博彩賭球,大家一樣可以看下文,referer作弊跟ua作弊中搜索引擎真正看到的頁面其實都是博彩頁面。
非法交易與銷售,這個按照字面理解也很簡單,比如代辦信用卡、辦假證、刀具銷售等這些都屬于。
病毒木馬,網頁掛馬就屬于這一類,這個大家應該不陌生,在幾年前是非常流行,而現在已經是慢慢沒落了,這代表的是一個底下產業的沒落。
違法違規,估計有小伙伴又有話說了,前面幾類都是違法違規啊,難道你說木馬病毒不違法嗎?色情合法嗎?我只能說,小伙伴,你著道了。其實這個類更像是對不屬于以上幾個類別的惡意網站的補充,比如說反動網站等就屬于這類。
這就是我對惡意網站的分類,僅僅是個人根據長期處理惡意網站數據的經驗的看法。
| 網站被黑
咱們平時最經常也最了解的被黑,應該就屬于那種替換掉首頁或者在網站目錄上傳個黑頁,這種很常見,國內外均有這樣黑頁提交統計站點,如國內的被黑站點統計。
這種被黑不難理解,滲透網站,通過各種方式上傳webshell,然后上傳黑頁就算是了,一般這種被黑的目的就是出于純粹的黑站,有報復、宣傳一些東西之類的。這次的馬航事件,馬航官方網站旗下edm分站就被一名為4z1的馬來西亞黑客所黑,黑客留言“I'm From Malaysia But I Dare Not Admit”影射馬來西亞政府刻意隱瞞真相,不敢承認事實。下圖就是一個常見的黑頁。
在普通被黑之外,有三種情況,三種情況的目的是差不多的,seo。為什么這么說呢?具體如何?不告訴你。開個玩笑,看下文。
第一種,暗鏈這種被黑一般僅存在于首頁。
暗鏈不會影響頁面的顯示,不會破壞頁面格局,更不會進行跳轉,黑客通過設置使鏈接在頁面不可見,但實際又存在,可以通過源碼查看。通常方式有如設置css,使div等不可見、使div的邊距為負數,反正只要在頁面上看不到就行。一般位置處于源碼的底部或者頂部。
黑客為什么這樣做,咱們先不說,后面一起來
第二種,UA作弊
我們先來看兩張圖
同一個網址,兩種界面
這個絕對不是筆者閑著沒事干用F12去修改了代碼,而是筆者對火狐的一個設置改變了下,真相在下圖
其實有些讀者在看到標題應該就知道情況了,就是UA起的作用,把UA改成搜索引擎爬蟲的UA,查看到的就是另一個頁面了
具體設置:general.useragent.override:Googlebot/2.1
第三種,REFERER作弊
同樣先來看看圖
這其實訪問的是同一個網址,結果第二次訪問跳轉到一個博彩網站,第一次訪問是原頁面
秘密在這:
因為第二個頁面是我通過搜索引擎搜索直接點擊搜索結果跳轉過去訪問的,因為帶了來自搜索引擎的referer,頁面就自動跳轉了
好,看完了各種被黑,我先來看看每種的定義:
暗鏈:其實“暗鏈”就是看不見的網站鏈接,“暗鏈”在網站中的鏈接做的非常隱蔽,短時間內不易被搜索引擎察覺。它和友情鏈接有相似之處,可以有效地提高PR值。但要注意一點PR值是對單獨頁面,而不是整個網站。
UA作弊:又叫Cloaked Page。Cloaking中文翻譯:偽裝,隱蔽的。延伸意思:遮蔽或轉移別人視線使其看不清真相的手法。
通常是說在Web服務器上使用一定的手段,對搜索引擎中的巡回機器人顯示出與普通閱覽者不同內容的網頁。
REFERER作弊:又叫欺騙性重定向(Deceptive redirects)。
指把用戶訪問的第一個頁面(著陸頁)迅速重定向至一個內容完全不同的頁面。
做這些又為了什么呢?其實大部分都是為了SEO。
這些其實都是SEO作弊,其實就是黑帽SEO。做SEO的應該很了解這些方式。
黑帽SEO的方法很多,我們只談與被黑相關的。而相關中,根據筆者長期進行惡意網站數據工作的經驗,又以這三者最多。實現的前提同樣是對網站的滲透。
|惡意網站檢測
百度搜索結果、QQ聊天窗口的那些惡意網站,那么這些惡意網站的提示是怎么做到的?
記得之前似乎做過介紹?其實這些一般都是根據一個惡意網址庫進行匹配,如果網址在惡意網址庫里,那么就提示惡意,并顯示對應的惡意類型(如何查詢、如何快速查詢這些我們就不討論了,涉及到一些數據庫優化、緩存等等知識)。
說到這里,估計大家又會問,那么這些網址庫是哪里來的?
一般惡意網址的來源有幾個:
1、引擎檢測,就是比如百度搜索每天有一大堆的搜索網址,直接拿來作為入口url,放到集群去檢測,然后引擎識別是否惡意網址,不同引擎標注網址惡意類型
2、人工舉報審核,各種平臺會有一大堆網民舉報的網址,然后通過人工審核,確認惡意情況入庫到惡意網址數據庫
3、數據交換,不同的惡意網址產生提供商之間為了更好的數據準確性及覆蓋,一般會做一些數據交換,進行互補
正常情況下,那些安全廠商的惡意網址就是這樣來的。
然后我們再來看看可能會出現哪些問題:
1、分類識別不準
2、誤報
3、漏報
這幾個情況基于以上三種數據來源來說:
1、人工審核就不說了,因為是人工看,不排除存在誤報和分類不準情況,但一般基本是為0;
2、引擎檢測,這個沒什么好說的,每家開發的引擎不一樣,算法不一樣,資源不一樣,識別情況都是不同的,比如騰訊搞自家仿騰訊產品的仿冒網站就識別的比較準,淘寶搞識別阿里系網站也是比較準;還有就是專精,比如金山,專精釣魚,因為他們有賠付服務,但是也避免不了誤報;
3、廠商數據交換,這取決于廠商的能力,包含他們的引擎識別準確度等,一般會先做質檢,然后才會根據情況使用。
再單獨說下分類不準的情況,就釣魚和仿冒來說,大部分的網站為了釣魚會先仿冒所以就這種情況首先就不好歸類;然后再談談細節問題,一般來說,引擎是無法做細化到具體的技術細節的,一般會給出個出問題的url,因為實現這種東西沒必要,等于花那么多的錢去搞一個可能只是個別人重視的東西,一般這種技術細節也只有懂技術的人才會看,而懂的人一般根據惡意類型,然后知道根據url和惡意類型一般就能找出問題來。
關于惡意網站的實現,我之前在一次安全沙龍有做過演講,里面有提到,大家不凡看看我的ppt:http://vdisk.weibo.com/s/AdEqZ
| 惡意網站的一些小規律
說到以上8個類別,就根據數據量級來說,應該大概是這樣一個排序:
1、盜號釣魚、仿冒欺詐、病毒木馬
2、被黑、博彩賭球、色情
3、非法交易與銷售、違法違規
欺詐仿冒這些惡意網站取代了以前的病毒木馬成為頭號惡意網站分類。
就分布規律來說,經濟越發展的地區,惡意網站的數量越多,而根據網站類型及域名后綴來看,被黑主要就是gov.cn的政府及新聞網站,而博彩中經常見到純數字的.com域名,盜號釣魚及仿冒欺詐,因為有不只存在頁面仿冒假冒的,域名也有,所以域名相對沒什么規律,其他幾個類別也是。不過總的來說,所有域名后綴,.com的占比是最大的。
| 惡意網站與數據廠商
排除國外廠商不說,國內,就筆者知道的而言,有惡意數據產出的有:
百度
騰訊
金山
知道創宇
阿里巴巴
360
而安全聯盟相信大家不陌生,就是聚合了百度、騰訊、金山、知道創宇的惡意網址庫。
本來想給大家介紹下每個廠商的數據,不過因為涉及到工作,就不多說了,簡單的說下。
各個廠商的數據在數量級、準確率、側重惡意類型等都不相同,首先可以明確的是因為涉及到自家業務,像阿里在對仿冒淘寶、支付寶等惡意網站的檢測,騰訊對仿冒QQ等業務的惡意網站的檢測都相對比其他家高。在此之外,因為金山有個網購賠付服務,所以金山在針對盜號釣魚與仿冒欺詐的惡意網站的處理上會更為專注,而知道創宇則擁有其他家都沒有的暗鏈的檢測能力,百度對于被黑中的SEO作弊的惡意網站的檢測則更多點。至于哪家的準確率高,就不多做點評了。
每個廠商的的惡意網址庫都不相同,也有自己獨有擅長的惡意網站類型的檢測能力。
而這些數據都在哪些地方使用呢?其實大家平常應該經常有接觸。比如百度搜索結果的安全攔截、QQ聊天窗口、QQ電腦管家、金山毒霸、百度殺毒等對惡意網站的攔截,還有騰訊微博、各種瀏覽器上對惡意網站的攔截,均是采用了云端查詢惡意網址庫的一種模式,匹配云端的庫,如果查詢到是惡意的,就攔截。
例子:一個簡單的釣魚
一張圖片。
說實在的,我真心喜歡這種發釣魚鏈接給我的,因為這意味著給我送一個漏洞,然后又讓我了解到一種釣魚方式,其實一個好的釣魚,就跟黑客思想一樣,各種猥瑣的思維和利用。不過對于這種釣魚,一般我了解完,直接提交漏洞,舉報釣魚URL(好像有點壞,不過這樣避免不懂的同學上當受騙)。
來分析下這個釣魚,其實這個網址一看就知道,雖然百度的網址,但是一看就能看出來,這是一個跳轉,利用了百度的URL跳轉漏洞,明顯是來送漏洞的嘛......實際網址就是后面那個網址,我們來分析下代碼,直接查看源碼:
這是一個簡單的跳轉,沒其他代碼了,提供meta的設置進行跳轉,然后我們繼續跟蹤,這次沒有跳轉了,是一個視頻聊天室網站,我們來看看吧:
來看看真實的情況吧:
看完大家懂了吧?其實這還是一個很簡單的釣魚,沒什么可說的,主要的目的在于讓大家點擊然后會下載一個惡意軟件,然后接下來你就懂了。反正我就喜歡這種送漏洞的釣魚,哈哈,像那種很多QQ空間登陸的釣魚也是類似的,有的甚至網址都沒構造,壓根就是一個完全不知道什么的網址。其實碰到這種情況,大家不妨查看下源碼來看看。
例子:一個QQ空間的仿冒盜號網站的分析
知乎上有某位同學發了這樣一個盜號鏈接,做了簡單的分析:
查看源碼:
然后把其中的js美化,部分代碼如下:(完整見作者知乎)
其中有個值:
aHR0cDovL2hvbWUuY2hkc2dsLmNvbS8yLnBocC8/ZD0=base64解碼后是http://home.chdsgl.com/2.php/?d=
簡單解釋就是在當前頁面嵌入了一個iframe,src是http://home.chdsgl.com/2.php/?d=1228
問題就出在這個鏈接。
然后里面又嵌入了一個頁面http://xmakx2al.tk/tool/q.asp?spmui=1228
然后又是一個頁面http://xmakx2al.tk/tool/c1/
里面又iframe個頁面,http://xmakx2al.tk/tool/c1/t4.html,這個其實是一個圖片背景的東西。
多層嵌套下來,其實最終就是一個假的騰訊教育的頁面,就是盜號用,這種方式很常見
例子:高級釣魚,利用拍拍網的XSS漏洞
原文地址:[警惕]高級釣魚攻擊來了:拍拍XSS攻擊
昨晚我們團隊捕獲到一起高級釣魚攻擊,緊急響應后,對背后的團隊技術運作能力表示欣賞:終于不是老套的、土得要死的方式。這次還真喚起我心中的那個魔鬼,有趣,這樣才有趣!:)
等黑產(非其他團隊)用這樣的方式已經等了很久很久,雖然還不夠高明,但已經有進步了!根據偉大的統計學,互聯網上鋪天蓋地的攻擊,能正巧被我們發現的概率不高,這次既然發現了,可以推出利用這一攻擊手法估計早幾個月已經在實施,而準備好這套計劃,估計時間上會更久。
開始進入重點:
在拍拍上和賣家交流后,賣家發來這條消息:
親,親反映的售后服務問題,我們給親退款58元作為優惠,親填寫下退款信息:http://mcs.paipai.com/RWsiZVpoe(真實的拍拍網址哦)
亮點1
被誘騙訪問上面這個鏈接后,會302跳轉到這個網址:
http://shop1.paipai.com/cgi-bin/shopmsg/showshopmsg?shopId=2622893717&page=1&iPageSize=1&t=0.8497088223518993&g_tk=2019233269&g_ty=ls&PTAG=40012.5.9
這里面是一個存儲型XSS,這個XSS不錯在于,攻擊者通過修改自己QQ昵稱后,昵稱被拍拍讀取并沒適當的過濾就展示出來了,導致存儲型XSS。如下圖:
上面這個鏈接的代碼如下:
var msgContent = [false,false,1,false,'2351926008: ',' ','0000000000','2012-11-11','04:58:35','店主回復','000','2012-11-11','04:59:33',false,'2684118472: ',' ','0000000000','2012-11-11','04:57:25','店主回復','00000','2012-11-11','04:59:25',''];showLeaveMsg(msgContent, 1);
注意紅色標注的位置。
亮點2
上面紅色標注的位置,那個js鏈接是短網址,這個手法已經司空見慣了,短網址利于迷惑,同時內容短,對于一些數據提交限制長度的功能來說,這是一個好方法。
亮點3
打開這個短網址,跳轉到了如下鏈接:
http://my.tuzihost.com/qq2.js
這個鏈接里會生成一個拍拍真的頁面,同時至少執行了如下腳本:
這個腳本很邪惡,就是專門盜取Cookie的。今年315后,認識Cookie的同學已經很多了,拍拍的Cookie比較脆弱,被盜取就意味著身份權限被盜。
在qq2.js這個文件里,攻擊者明顯是做了足夠的研究,包括提取關鍵Cookie字段,通過代碼里的痕跡與風格,估計可以推出是誰寫的:)
亮點4
qq2.js所在的http://my.tuzihost.com首頁做了偽裝,讓人以為是一個正規的導航站。
亮點5
http://my.tuzihost.com存在列目錄漏洞,通過這個我查看了攻擊者寫的其他代碼,可以看出用心了……
通過周邊的一些信息推斷:
攻擊者收集到的Cookie應該是存入了MySQL數據庫;應該有個后臺能顯示這些Cookie信息;有郵件通知功能(也許還用作其他);攻擊者(或者說團隊更合適)不善于隱藏,也許他們分工真的明確,寫利用代碼的人不一定參與了攻擊,否則不太可能犯下一些明顯的錯誤;
結束
我們已經第一時間將這個攻擊反饋給騰訊安全中心,我發現他們已經修復了漏洞,效率真高。
這次攻擊實際上還不高級,不過非常有效,釣魚釣的不是密碼,而是關鍵Cookie,足矣秒殺拍拍了。我曾經科普過《關于社交網絡里的高級釣魚攻擊》,大家可以查看微信的歷史消息,看看這篇文章。
這次攻擊在黑產中運用值得引起業界的警惕,實際上過去幾年,這樣的攻擊我遇見過幾起,不過沒證據表明是黑產在運用,基本都是:just for joke。