APT攻擊案例分析:看黑客如何繞過分層安全
網絡犯罪正想方設法繞過分層的安全防御。企業需要理解防御這些攻擊及如何保護自己。然而,總有一些造成嚴重惡果的安全損害在提醒我們:必須重視攻擊發生的細節是如何發生的,以便于防患于未然。
通過調查這些攻擊的發生機理,提供應用安全配置和修復安全損害的方法,企業就能夠更有效地挫敗APT攻擊。在本案例中,我們根據真實的攻擊事件復原了一個攻擊案例,其目標是攻擊和破壞大型企業,并且高效地使用了一些可以危害當今許多公司的方法。
在本案中,我們根據已知的公開信息重新構建攻擊過程。這些攻擊過程的細節是虛構的,但其中的攻擊技術卻是真實的。
本攻擊案例包括了四個步驟,詳細描述了攻擊的實施過程。該攻擊案例演示了被竊的SSL私鑰和證書如何使網絡罪犯執行有效的釣魚活動,并且保證不被發現。該攻擊導致了大量的服務器和成千上萬的客戶記錄無法訪問。
每種攻擊情形都是在模擬環境中進行的,但這些環境模擬了真實的企業級的安全控制、服務器、網絡連接設備,并代表了典型的企業環境。雖然現實世界中并非所有細節都能公布于眾,但安全滲透測試的工程師們根據典型企業配置重新構建了攻擊環境和情形。
本文虛構了一個黑客組織Cashacker。通過利用由私鑰建立的信任,該攻擊案例將演示毫無戒心的客戶如何輕松地拱手交出其用戶名和口令。
在本案例中,受到攻擊的公司名為CrystalBank,其使用支持SSL的域名(crystalonline.com)從事網上銀行業務。該公司也與第三方合作,由對方托管應用和系統,或者提供服務。在此過程中,使用證書是一種安全的實踐,但是,如果SSL私鑰落于賊手,則一切將徹底改變。
攻擊案例
關于Cashacker黑客組織
該黑客組織重點攻擊金融行業以及與其有關的一切行業。用戶憑據、信用卡、比特幣等都是該組織的最愛。然而,該組織也開始竊取在地下的黑客市場中價格高昂的密鑰和證書。Cashacker使用Deep Web(深網)聯系非法產品和服務的購買者和賣家。
Cashacker的許多網上店鋪曾為其帶來巨額利潤。但是,隨著企業越來越多地實施分層安全控制,Cashacker發現越來越難以獲得非法產品和服務。
而我們的故事就要由該組織的一個成員從黑市購買一家大型金融機構的合法SSL私鑰開始,其企圖是使用此私鑰繞過安全控制,并由此攫取失竊的證書進行銷售,以獲得巨額的投資回報。
獲取私鑰
通過證書及其相關的私鑰,網絡罪犯就可以隱藏在加密的通信中,欺騙網站、部署惡意軟件并竊取數據。在本案例中,一家著名銀行CrystalBank的私鑰被發到了AlphaBay這個深網站點上,進入黑市拍賣活動。Cashacker以前曾經攻入過該銀行,但如今已經沒有數字證書或其它訪問途徑,所以它需要新的進入方法。CrystalBank有非常強健的安全措施,所以出現這樣的好機會是不常見的。
一個通配符私鑰是如何被用于買賣的?一種可能的情況是,企業的雇員復制了密鑰并將其粘貼到AlphaBay進行銷售。然而,一個更常見的方法是惡意軟件,它可以竊取包括密鑰和證書在內的憑據。例如,Zeus特洛伊木馬家族就有7萬多個變種,可以竊取密鑰和證書用于將來的網絡犯罪活動。
Cashacker為了購買這個私鑰花了大價錢,但其相信這個新的密鑰連同以前攻擊的服務器會帶來巨大利益。該黑客組織認為,雖然需要花費些許努力,但憑借其技能和經驗,他們認為,釣魚是利用已有資源快速獲得真實憑據的最佳方法。
獲取DNS訪問
Cashacker團隊計劃構建一個可以精確地模擬真實網站(donations.CrystalBankonline.com)的釣魚網站。真實網站被用于從CrystalBank的客戶和雇員引進抽獎。黑客知道改變生產或真實網站是有風險的。如果生產或真實的系統被修改,安全軟件極有可能檢測到這些變化。所以,Cashacker決定模仿網站,希望這個釣魚網站能夠長時間不被看成是非法網站,而其釣魚攻擊也就能夠更長時間地保持。
為了高效將SSL證書用于釣魚攻擊,終端用戶絕對不能在瀏覽器中看到任何錯誤消息。這意味著域名必須匹配證書所指示的域名,從而避免證書的錯誤消息。通常,這是一個很難克服的困難,因為這要求攻擊者既要控制DNS又要控制SSL私鑰。
由于Cashacker是一個很大的黑客組織,它可以訪問來自全球的許多重要企業的系統,它通過使用僵尸網絡查找系統漏洞以實施控制。Cashacker重視金融企業,所以它在這些僵尸網絡上定制的腳本都是針對類似CrystalBank之類的企業,其使用的就是在以前的攻擊過程中獲得的數據。這個僵尸網絡返回了許多系統的憑據,而且,使Cashacker頗感欣慰的是,CrystalBank的托管合作伙伴的DNS服務器就是這些系統之一。
在購買私鑰之前,Cashacker通過SSH蠻力攻擊,利用其一個僵尸網絡獲得了管理員的用戶名和一個賬號的口令,“supercharlie”,這個特別的賬號并不是超級用戶,也沒有提供根的訪問,但是這個賬戶的獲得使黑客組織Cashacker離訪問目標更近了。
Cashacker利用supercharlie這個賬戶,構建了一個用以捕獲真實用戶憑據的釣魚系統。訪問CrystalBank的一個很重要的DNS服務器,是該黑客組織的第二步,當然還要利用為實施釣魚攻擊而獲得的私鑰。但為修改DNS的區域文件仍需要root訪問。
通過快速搜索存儲在supercharlie主目錄樹中的文件,黑客發現了一個擁有完整的系統備份的原碼檔案。系統的備份文件包含SSH私鑰用于進行root訪問,有可能用于將文件從遠程服務器發送到系統。利用這個SSH私鑰進行root訪問,Cashacker就能夠將一個DNS登記項插入到系統區域文件中,并且重新加載DNS配置。
Donation.CrystalBankonline.com是Cashacker打算進行釣魚攻擊實施欺詐的目標網站。黑客們創建了一個極類似的名稱,donate.CrystalBankonline.com,從而使普通用戶很難注意到合法網站和釣魚網站之間的區別。
為創建一個可以收集數據的系統,Cashacker使用了一個以前“黑掉”的附近的一所大學的服務器IP地址。Cashacker擁有大量的類似系統,并且可以確保這些系統不被關閉或檢測到。這個特別的系統已經有近半年沒有遭到攻擊了,Cashacker甚至已經給此系統打了補丁,保證其它黑客無法訪問。而位于大學的IP地址還意味著它有足夠的帶寬可以模擬銀行客戶已經習慣的終端用戶體驗,并且保證受害者渾然不覺。
插入IP地址僅僅對生產DNS系統進行了更改,留下了極少的痕跡,從而可以避免被檢測到。但為發動釣魚攻擊還需要做許多。
構建釣魚網站
在部署好關鍵的底層組件后,為冒充真正“可信”的CrystalBank公司,下一步就是要創建一個可信任的網站,使受害者可以提供其憑據。
黑客使用Cashacker以前增加的DNS登記項,將新的冒牌網站與donate.CrystalBankonline.com綁定。使用社交工程工具,Cashacker能夠快速地克隆這個網站,而且該網站是真正產生網站的一個直接克隆。
為確保終端用戶信任虛假網站,黑客們還使用了盜竊的SSL證書。這就使得冒牌網站在用戶的瀏覽器上顯示一個合法證書,從而清除了證書的錯誤消息。有了合法的證書和域名,還有一個網站上可用的SSL,即使精明的用戶也沒有理由認為他們訪問的網站是一個虛假網站。在盜取了SSL密鑰后,黑客們就可以使一切看起來是合法而安全的。
引誘受害者
在搭建好上述系統并進行測試后,黑客們就會向其收集的CrystalBank客戶和雇員發送電子郵件,其數量巨大。這些郵件地址來自簡單的百度、谷歌搜索。普通大眾的電子郵件地址也位列其中,因為許多人是都是CrystalBank的客戶,或者了解該企業的品牌和信譽。Kanbcash團隊知道自己將會收獲大量的銀行登錄憑據,并將其用于未來的攻擊,或者在網上銷售。
在終端用戶在釣魚網站上輸入了用戶名和口令的組合后,釣魚網站就會記錄這些信息。然后該網站會通過中間人的方法將終端用戶重新定位到真正的抽獎網站,并且通過復制所捕獲的登錄憑據進行記錄,企圖繼續欺騙終端用戶,使其相信自己正在合法網站上。Cashacker希望逃避遭到懷疑,因為如果受害者給IT打電話求助就會增加其釣魚網站被發現的風險。將終端用戶交給真實的網站可以使抽獎順利進行,而用戶仍蒙在鼓里。
這種攻擊對Cashacker來說簡直是妙極了。CrystalBank的客戶和雇員被釣魚網站誘惑,并且不知不覺就泄露了其登錄憑據。這些憑據會實時地顯示給Cashacker黑客,并且被記錄在一個文件中。通過中間人的方法,利用重新定向可以使每一個表單字段都可見,而不僅僅是用戶名和口令,還包括電子郵件地址、手機號碼,以及利用表單收集的任何其它信息。
事實證明,很多人會再次使用其用戶名和口令,即使系統管理員也是如此。因而,一個遠程工作的CrystalBank員工很快就使用自己的憑據訪問了抽獎網站。這些從釣魚網站捕獲的憑據使得Cashacker團隊可以遠程訪問CrystalBank的網絡甚至其它系統。Cashacker還能夠利用從釣魚網站收集的信息執行更有針對性的魚叉式網絡釣魚活動。因為幾乎任何人都有可能被這種伎倆欺騙:它使用了真實的用戶名、電子郵件及用戶在抽獎網站上留下的個人信息。
通過利用憑據、特權提升、持續不斷的滲透和攻擊,Cashacker幾乎可以訪問CrystalBank的多達一百臺服務器。在此過程中,Cashacker從CrystalBank的服務器上下載了一個包含成千上萬行客戶記錄的數據庫。這些記錄的內容僅限于姓名、地址、電子郵件地址、電話號碼等。但是,這些信息僅僅是Cashacker需要執行魚叉式網絡釣魚攻擊從而捕獲更多賬號信息的重要依據。
災后的CrystalBank
CrystalBank最初被告知發生損害是在有人發現秘密黑市將銷售其大量的客戶記錄。這立即導致了公司進行全面調查。在查看了大量的系統日志并在其安全團隊訪問了釣魚郵件的副本后,公司安全團隊重新追蹤相關步驟和措施。安全團隊發現了正在使用其證書和密鑰的一個網站,并且還發現了DNS的篡改,而且其合作伙伴已經執行了DNS的所謂變更。
在通過全面安裝和搭建服務器而修正受危害的系統后,安全團隊還補救了有可能被攻擊者訪問的其它系統,最后CrystalBank重新聯網。但是,由于Cashacker的攻擊,消費者對CrystalBank的信心受到沉重打擊。業務及品牌的破壞如此巨大,損失難以衡量。很明顯,公司的領導層需要立即采取措施提升安全水平。
雖然我們的案例描述了一次成功的釣魚攻擊,其中還有一個包含大量客戶記錄的數據庫被竊,其實,幾乎任何類型的數據都有可能被竊取。在丟失私鑰后,幾乎任何系統都有可能發生危害。私鑰是加密敏感的客戶信息和向終端用戶提供信任的基石。因此,SSL密鑰和證書不僅需要加以保護以防止失竊,還要對其進行持續的監視,以防止誤用或濫用。由此,最安全的環境也會遭受破壞。
為解決證書的濫用問題,企業需要一種權威性的密鑰和證書的情報服務,根據證書的信譽來確認欺詐的或異常的密鑰和證書使用。
借助企業范圍內和互聯網中關于密鑰和證書的實時情報,企業可以檢測與本案例類似的證書被誤用的問題。企業可以利用列在黑名單中的欺詐證書和非法證書來快速地修復問題。
總結
從本案例可以看出,傳統的安全防御已經遠遠不夠。當今的企業擁有大量的密鑰和用于SSL/TLS、無線網絡、移動、VPN訪問的證書。企業需要一種方法來管理密鑰和數字證書,并且對誤用情況進行監督和警告。企業需要一種方案來確認什么是可信的,哪些是不可信的和危險的。但從本案例可以看出,用傳統的工具很難判定數字證書是否被誤用。科學有效的方案應當能夠確認哪些證書和密鑰是可信的并加以保護,并修復或阻止不可信任的密鑰和證書。而且,這種方案還應當能夠在運行過程中不斷地學習和適應,確定受信任的和需要替換的密鑰和證書。
科學有效的方案可以使用云服務不斷地掃描企業域名的所有SSL使用,能夠防止企業的證書被誤用。這種方案最好能夠利用一種簡單界面就可以配置企業的域名,從而可以掃描企業在線品牌的所有使用。在配置完成后,該方案還應提供一個證書面板,快速地顯示企業的證書的健康狀態。