不計其數的黑客們游蕩在因特網中來欺騙那些容易上當的用戶。它們多年使用著重復的攻擊手段,毫無創新地利用著我們懶惰、誤判和一些犯二的行為。
不過每年,惡意軟件研究人員總會遇到一些引人側目的攻擊手段。這些攻擊手段在不斷拓展惡意攻擊的范圍。新的攻擊手段都是不按套路出牌的,盡管這些手段在被研究看透之后其實很簡單。
在90年代的微軟宏病毒悄悄地把文檔中的零都替換成了大寫字母O,使得很多數字格式直接變成了文本格式。這些變化在大多數情況下可能都不會被發現。直到備份系統的時候,管理員發現文檔里面,居然只有一堆令人抓狂的看似正常的錯誤數據。
現在,最巧妙的攻擊就是秘密的并且不被發現。這里有一些最新的比較有名的攻擊技術激起了我的興趣,同時也從中學到很多經驗。其中的一些都非常巧妙地借鑒了過去的一些惡意軟件的思路,不過現在都非常流行,甚至可以唬住即使是最精明的用戶。
No.1 無線熱點(AP)偽造
沒有其他攻擊的實現會比偽造熱點更簡單。每個人都使用軟件或無線網卡把自己偽造成一個無線熱點,然后再把流量天衣無縫地中轉到真正的熱點上。
想想你每次去咖啡廳、機場或者一些公共場所,然后都會連接那里的免費網絡。黑客在星巴克可以把它們的偽造熱點叫做“星巴克 free wifi”或者在機場可以叫“機場免費熱點”,然后幾分鐘內路人都會很自覺地連到這個“免費熱點”上。黑客可以從受害者和遠程主機通信的數據流中嗅探出未加密數據。你可能會很驚訝這么多數據,甚至是密碼居然都是明文傳送的。
更邪惡的是黑客可以偽造出一個注冊頁面,告訴接入偽造熱點的用戶要注冊才能使用。普通用戶很可能常常會到處用一個通用的賬號名或者郵箱以及一個通用密碼。黑客然后可以用這些賬號和密碼的組合在大網站上進行嘗試,比如Facebook, Twitter, Amazon, iTunes等等。這些受害者可能還不知道發生了什么。
經驗:千萬不要相信一個公共無線熱點。因為有些保密信息也會通過無線網絡傳輸??紤]用VPN傳輸所有數據,并且不要在公共站點和私有站點重復使用同一個密碼。
No.2 Cookie竊取
Cookie是一個很美妙的發明,它能夠記錄我們的訪問狀態。這些小文本,由網站傳輸給我們的機器,幫助網站或者服務跟蹤我們的一個或多個訪問,舉個例子,讓我們更輕松地就能買到牛仔褲(譯者注:購物車里面的商品常常存放在cookie中),我們為什么會不喜歡呢?
答:現在越來越多的黑客竊取我們的cookie來冒充我們。當然了,對服務器來說,它們是被授權的,服務器以為它們像我們一樣輸入了有效的賬號和密碼。
當然,cookie竊取似乎從這個發明誕生就出現了,但是有些工具讓這個攻擊變得很容易,點幾下鼠標就搞定了。比如firesheep,是一個火狐插件讓人們可以輕松竊取別人的明文cookie。當接入一個偽造熱點或在共享網絡中時(譯者注:這兩種情況可以嗅探其他主機的網絡流量),cookie劫持似乎就更加輕而易舉了。firesheep能夠顯示能找到的cookie的名字和位置,然后只要鼠標一點,就能劫持這個會話(Github地址 ?中文教程)。
更糟糕的是,現在黑客還能憑空嗅探出有SSL保護的cookie。在2011年9月,BEAST攻擊被證實可以破解https加密的cookie。經過進一步的改進和完善,出現了CRIME攻擊,讓竊取和利用加密的cookie更加容易。
每新的cookie攻擊出現,網站和應用的開發人員被告知如何去保護它們的用戶。有些時候,這個答案是使用最新的加密技術,另外一些時候是,禁用一些不常用的特性。這其中的關鍵點在于網站開發者要安全開發來降低cookie被竊取的可能性,如果你的網站幾年都沒有更新加密保護措施,那么你可能已經處于風險之中。
經驗:即使是加密的cookie也是會被竊取的,網站的連接要用最新的加密方式。你的https站點必須使用包括TLS V1.2在內的最新加密措施。
No.3 文件名欺騙
惡意軟件從一開始就使用文件名欺騙來誘引用戶執行惡意代碼。最早的例子是將文件命名成鼓勵不知情的受害者去點擊(比如美女熱圖等),并使用文件的多重后綴來隱藏自己(比如美女熱圖.jpg.exe)。直到現在,windows和其他的操作系統還是默認地隱藏了臭名昭著的文件后綴,讓 美女熱圖.jpg.exe 看起來是 美女熱圖.jpg。
幾年前,惡意軟件和病毒常是“伴隨型病毒”,依賴于windows的一個鮮為人知的特性即使你輸入執行病毒.exe,windows仍然會去尋找,如果找到了,直接執行病毒.com來替代。伴隨型病毒會尋找硬盤上所有的exe文件,然后創建一個同名的文件,但是是com后綴的。微軟很久前就已經修復了這個漏洞,不過這個被早期的黑客用來隱藏病毒,現在種類繁多的病毒感染方式也可以算從這個模式演化過來的(譯者注:比如熊貓燒香通過感染PE文件頭來感染所有exe文件)。
目前一種更復雜的文件名欺騙方式是通過Unicode字符在視覺上去欺騙,現在舉個例子,Unicode的RLO控制符可以讓文本變成從右到左的模式,這樣我們就可以在很多系統里面使用障眼法,把 美女熱圖avi.exe 變成 美女熱圖exe.avi。
經驗:無論在什么時候,在執行文件之前,都最好確保你看到完整的文件名。
No.4 路徑還是路徑
另外有一個有趣的隱藏技巧是“絕對路徑和相對路徑”。在早期Windows(Windows XP、2003或更早)及其他的一些操作系統,如果你鍵入一個文件名然后按下回車或者讓操作系統按照你的需要去尋找一個文件,系統通常會最先當前文件夾或者目錄位置開始查找。盡管這種做法看起來效率高并且無害,但是卻會被黑客所利用。
舉一個例子,你想運行一個內置的無害的計算器(calc.exe),你可以很簡單打開一個命令行,然后敲人calc.exe,然后回車。
但是惡意軟件可以創建一個名為 calc.exe 的文件隱藏在當前目錄下或者你的home目錄,當你想執行clac.exe的時候,系統會先執行這個惡意的clac.exe程序。
做滲透測試的時候,我非常喜歡這個系統缺陷。通常,我入侵一個主機之后需要進行提權。我可能會把一個已知的未打補丁的程序,放入一個臨時文件夾。多數情況下,我可能只需要一個可執行文件或者dll文件,不用管那一整個程序。然后我在程序中輸入這個文件名,然后Windows就會加載這個臨時文件夾中這個惡意程序。我喜歡這個,我可以攻陷一個沒有漏洞的系統僅憑那個壞文件。
Linux、Unix及BSD系統在10年前就修復了這個問題,Windows則是在2006年后才在Windows Vista/2008修復了這個問題,雖然這個問題在早期版本中仍然為了程序的向上兼容而存在。同時,這些年微軟一直在警告和教育開發者使用絕對路徑。但是直到現在,仍然有上萬個早期程序還存在這個問題,黑客比任何人都清楚。
經驗:使用絕對路徑執行程序。
No.5 Host文件重定向
相信現在大多數用戶還不知道存在一個和DNS相關的文件叫做hosts(譯者注:看來天朝內hosts文件知識的普及率比國外高,原因你懂的)。在windows中,它下位于C:WINDOWSSYSTEM32DRIVERSETC中, Hosts文件包含域名和對應的IP地址。 Hosts文件最初被當做DNS使用,能夠獲得域名IP映射關系,還不用請求DNS服務器執行遞歸查詢。不過大多數情況下, DNS功能就夠用了,大多數人不會去管那個雖然存在的hosts文件。
惡意軟件最喜歡篡改host文件,所以,當有人訪問一個比較熱門的域名(比如google.com),它們會被指向一個惡意的IP。這個惡意網站常常會復制原站的所有內容來達到釣取賬號密碼的目的,而受害者肯定不知道其中的貓膩,因為域名是正確的(譯者注:hosts文件的優先級高于DNS)。
這個漏洞現在仍然被廣泛利用。
教訓:如果你不能確定是否被惡意重定向,請檢查你的hosts文件。
No.6 水坑攻擊
水坑攻擊正如其名,那是一個坑,而且是一個會濺起水花臟到自己的水坑。在這些攻擊中,黑客會利用它們的目標,常常會在某個特定的地方工作這一現狀,污染那個地方的網絡來達到目的。
舉一個例子,很多大公司都自己的咖啡廳、酒吧或者餐廳,那些地方一定很受公司員工的歡迎。黑客會偽造無線熱點(No.1)來試圖獲得盡可能多的賬號及密碼?;蛘吆诳蜁鄹倪@些員工常用網站入口來達到同樣的目的。這種情況,黑客將會更加輕松加愉快,因為篡改的目標常常是公眾門戶或者社交門戶(比如微博),而不用擔心公司內部平臺一些安全機制。
水坑攻擊在今年成了一個大新聞,幾個大的科技公司,包括Apple、Facebook、微軟以及其他的公司因為一些常用的開發者網站而淪陷。這些開發者網站被感染惡意的js代碼重定向,將惡意軟件(有些是0day)植入在開發者的電腦上,而這些開發者恰好又是員工,電腦常常接入外人進不去的公司內部網絡。
經驗:讓員工們意識到一個受歡迎的”水坑”通常會是黑客的目標。
No.7 誘餌替換
這是其中一個比較有趣的攻擊手段,叫做誘餌替換(譯者注:這個手段被用于各行各業)。受害者看似是下載了一個很棒的軟件,其實它的內容被替換成了惡意軟件,例子比比皆是。(譯者注:這個我深有體會,你去下載站,你可以看到若干個“下載”,如果你真正很乖地去都點開,你會下到很多廣告流氓軟件)。
很常見的例子就是黑客在一些受歡迎的網站上面購買廣告位。當網站確認廣告的時候,這些廣告鏈接都是無害的,然后網站收了廣告費批準了廣告。這些壞家伙就把廣告鏈接替換成惡意鏈接。然后通常在訪問了惡意鏈接之后,它們還會檢測用戶點擊來源,天衣無縫地把它們指回到原來的廣告上去,并且惡意鏈接還可以隨時更新。
我見過的最有意思的誘餌替換就是那些壞家伙創造了一些實用的免費內容,任何人都可以用,然后這些免費的東西都會包含一個許可條款:只要保留原文鏈接,就能保持免費。不知情的人引用了之后保留這個原始鏈接(譯者注:這個攻擊在中國可能不會太奏效,因為條款可能不太符合中國國情,大家懂的)。通常原文鏈接也不會包含太多東西,一些圖像或者其他細碎的東西。不過在被上千次引用后,黑客會把原文鏈接的內容替換成惡意內容,比如js重定向。
經驗:當心那些不受你控制的內容,因為它們可能分分鐘就替換成了惡意內容。