薛 晨,楊世平
(1.貴州大學計算機科學與技術學院,貴州 貴陽550025;2.貴州大學 明德學院,貴州貴陽550004)
近年來,由于互聯(lián)網(wǎng)用戶規(guī)模的不斷擴大,網(wǎng)
絡攻擊和敏感信息泄露等事件頻繁發(fā)生。據(jù)統(tǒng)計,隨著金融服務和電子商務的快速發(fā)展,網(wǎng)絡釣魚日趨增多,木馬病毒和僵尸程序的數(shù)量仍呈現(xiàn)快速增長趨勢,用戶個人信息和敏感數(shù)據(jù)成為黑客竊取的重點[1]。
在互聯(lián)網(wǎng)用戶不斷增加的同時,使用互聯(lián)網(wǎng)的人群也不再局限于計算機行業(yè),越來越多的非計算機專業(yè)人員開始頻繁在互聯(lián)網(wǎng)上進行操作。一方面,這部分人對于計算機知識的掌握程度相對較低,安全意識淡薄。另一方面,安全產(chǎn)品的功能不斷完善,防御體系日趨成熟,攻擊者想要單純地通過技術手段,從正面穿越,完成入侵滲透的難度大大增加。在以上這些背景下,攻擊者更愿意使用社會工程學的手段來幫助他們完成入侵滲透。
本文將社會工程學與傳統(tǒng)的入侵滲透技術相結(jié)合,給出一個基于社會工程學的入侵滲透攻擊模型,并通過對攻擊實例的分析,說明此類攻擊的有效性。
社會工程學的概念最早是由著名黑客凱文·米特尼克在《欺騙的藝術》中提出的。目前,對于社會工程學并沒有一個規(guī)范化的定義。根據(jù)《欺騙的藝術》中的描述,可以將其總結(jié)為:社會工程學就是通過自然的、社會的和制度上的途徑,利用人的心理弱點(如人的本能反應、好奇心、信任、貪婪)以及規(guī)則制度上的漏洞,在攻擊者和被攻擊者之間建立起信任關系,獲得有價值的信息,最終可以通過未經(jīng)授權的路徑訪問某些重要數(shù)據(jù)[2]。
社會工程學攻擊與其他類型攻擊的最大區(qū)別是:會與受害者進行交互式行為。建立一個陷阱讓對方掉入或是偽造身份來建立信任關系都屬于典型的社會工程學的手段[3]。
與傳統(tǒng)的網(wǎng)絡攻擊相比,社會工程學攻擊具有以下一些特點:
(1)社會工程學主導著非傳統(tǒng)信息安全。社會工程學攻擊屬于非傳統(tǒng)信息安全。它是一把雙刃劍,既可以幫助公安機關完成刑偵工作,也可能被黑客利用來進行破壞行為。所以對它的研究可以提高應對非傳統(tǒng)信息安全事件的能力[4]。
(2)社會工程學攻擊的核心是利用人為因素的手段來進行攻擊。社會工程學的觀點認為,人才是整個信息安全體系中最脆弱的環(huán)節(jié)。攻擊者會針對被攻擊者性格中的信任、恐懼、威脅、懶惰、健忘等特點,通過偽造身份、設置陷阱等手段,一步步建立起信任關系,最終獲取自己想要的信息。
(3)有效性。一方面,攻擊者不必再把時間和精力浪費在尋找漏洞、破解口令、提權等環(huán)節(jié)上,而是直接攻擊信息的擁有者,減少了許多中間環(huán)節(jié)的同時,也更容易隱藏自己的真實身份。另一方面,許多企業(yè)盲目地追求利益的最大化,忽視了在員工安全培訓上的投資,使得在很多情況下,人比系統(tǒng)更加容易被攻破。
隨著越來越多的硬件設備和安全軟件的引入以及網(wǎng)絡安全解決方案的不斷完備,單純地使用技術手段完成入侵的難度大大增加。如果完成一次入侵所付出的代價遠遠大于所獲得信息的價值,那么仍然可以認為這次入侵是不成功的。而單純地使用非技術手段進行攻擊,對于有一定經(jīng)驗和安全意識的人來說,可以從他們身上獲取的信息會很有限,或是獲得了一些初步的信息和數(shù)據(jù)之后,也無法進行下一步的攻擊。所以,在巨大的商業(yè)價值等因素的驅(qū)動下,技術嫻熟的黑客們開始學習社會工程學,傳統(tǒng)的黑客技術和社會工程學相結(jié)合,就成為了新的發(fā)展方向,這也是本文研究的重點。
這里所說的傳統(tǒng)的入侵滲透是指以技術手段完成對某一目標系統(tǒng)的滲透攻擊。可以將其總結(jié)為如下幾個步驟:
(1)確立目標。針對不同類型的攻擊目標,使用的工具和具體的攻擊方法是截然不同的。所以,攻擊者首先應當確定好將要攻擊的目標,是某臺主機、某臺服務器還是某個網(wǎng)站。
(2)信息搜集。作為一個滲透攻擊者,最為重要的一項技術就是對目標的探查能力,包括獲知它的行為模式、運行原理,以及最終可以如何被攻擊。在這個階段需要采用各種可能的方法來搜集將要攻擊的對象的所有信息,包括使用Google Hacking技術、社交媒體網(wǎng)絡、各種掃描和探測技術等。
(3)漏洞分析。對信息搜集階段得到的信息進行篩選和分析,判斷出目標的操作系統(tǒng)、運行程序、開放端口情況等。如果是一個龐大的系統(tǒng),要嘗試分析出該系統(tǒng)的一些拓撲結(jié)構、設備使用情況等。最終得出目標系統(tǒng)上可能存在的安全漏洞和弱點,確定出高效的攻擊方法。
(4)滲透攻擊。針對目標系統(tǒng)的安全漏洞,采取相應的攻擊方法,如遠程口令破解、溢出攻擊、中間人攻擊、木馬攻擊等,獲取目標系統(tǒng)的訪問權限。
(5)后滲透攻擊。所謂后滲透攻擊階段,主要包括三個工作。一是提權,攻擊者成功地完成滲透攻擊之后,會盡量地提升自己的權限。二是收集其它用戶名和密碼。三是創(chuàng)建后門,以便日后繼續(xù)監(jiān)控和訪問該系統(tǒng)。
(6)清除痕跡。攻擊者執(zhí)行完非法操作,獲得想要的信息后,會清除或偽造自己使用的痕跡,防止被追蹤。
在《欺騙的藝術》一書中,詳細地介紹了社會工程學攻擊的基本構成要素和攻擊過程,從中可以提煉出社會工程學攻擊的基礎模型如圖1所示。在這個基礎模型中,主要包括信息搜集、設置陷阱、建立信任關系和心理弱點攻擊這幾個過程。當攻擊者確定目標之后,首先要搜集被攻擊者的相關信息,分析其特點并學習相應的術語,然后設置一個有效的陷阱來取得被攻擊者的信任,最后利用其弱點進行交互攻擊,取得目標的相應信息[5]。
圖1 社會工程學基礎模型
前國際象棋冠軍卡斯帕羅夫在《棋與人生》一書中曾經(jīng)提出,計劃是國際象棋的基本特征,并分析了如何根據(jù)局勢的評估和對手行動的變化,完成一個具體目標的所有行動的次序。由卡斯帕羅夫提出的理論,可以給出一個模式化的卡式戰(zhàn)略模型如圖2所示。這個模型的核心思想是將整個過程分為總目標、里程碑和子目標三個階段。首先確定最終目標,然后進行相應的里程碑分解,形成中間目標,再將里程碑劃分成多個子目標,最終實現(xiàn)每一個步驟[6]。
圖2 卡式戰(zhàn)略模型
將傳統(tǒng)入侵滲透的攻擊步驟、社會工程學基礎模型和卡式戰(zhàn)略模型相結(jié)合,可以得到一個新的基于社會工程學的入侵滲透攻擊模型,如圖3所示。
圖3 基于社會工程學的入侵滲透攻擊模型
該模型具有以下一些特點:
(1)該模型的整體框架仍是基于傳統(tǒng)入侵滲透的。整個過程是從確立目標開始,經(jīng)過信息搜集、滲透攻擊、后滲透攻擊等步驟,最終完成攻擊。這與傳統(tǒng)入侵滲透的思路是一致的。
(2)該模型將黑客技術和社會工程學的方法相結(jié)合,充分考慮了技術問題和“人”的問題,細化了基于社會工程學的入侵滲透的攻擊過程。
(3)核心問題是中間目標。社會工程學的觀點認為,人才是整個信息安全體系中最脆弱的環(huán)節(jié)。利用卡式戰(zhàn)略模型的思想,由入侵滲透的總目標分解出中間目標,而這個中間目標正要攻擊的那個人(系統(tǒng)管理員或是某個使用者)。所以確立并取得中間目標成為了整個攻擊的關鍵。
(4)可以直接將該模型代入社會工程學入侵滲透的攻擊案例,分解出某次攻擊的各個階段以及前后關系,更好地進行案例的分析和研究。
結(jié)合一次簡單的攻擊案例,將基于社會工程學的入侵滲透攻擊模型進行代入,對整個攻擊的過程進行分析??紤]到用戶隱私問題,案例中抹去了部分敏感信息。
(1)本次攻擊的目標為某一網(wǎng)站,該網(wǎng)站提供了簽到、論壇等基本功能,如圖4所示。攻擊的最終目標是獲取該網(wǎng)站的后臺訪問權限。使用Safe3等Web掃描工具掃描后發(fā)現(xiàn),該網(wǎng)站不存在SQL注入、XSS、cookies欺騙等明顯漏洞,傳統(tǒng)的入侵滲透技術不能有效地實現(xiàn)攻擊目標。所以,準備采用基于社會工程學的入侵滲透攻擊,對網(wǎng)站的管理員發(fā)起攻擊,尋求突破口,實現(xiàn)目標。
圖4 目標網(wǎng)站的主頁
(2)在確定了總目標和戰(zhàn)略之后,就要對該網(wǎng)站進行信息搜集。信息搜集的方法有很多,譬如分析網(wǎng)站的源代碼,通過搜索引擎獲取網(wǎng)站的相關信息,利用工具進行掃描等。在收集了大量的信息之后,篩選出以下有價值的信息:
一、該網(wǎng)站是由PHP語言編寫,功能和結(jié)構都比較簡單。
二、使用搜索引擎查詢網(wǎng)站相關信息,在百度百科中找到團隊成員的信息,如圖5所示。
圖5 網(wǎng)站管理員的相關信息
判斷出網(wǎng)站管理人員擅長PHP、數(shù)據(jù)庫等方面的技術,而對網(wǎng)絡安全方面缺乏相應的技術和經(jīng)驗。
三、該網(wǎng)站公布了管理員的郵箱、電話等聯(lián)系方式,如圖6所示。于是,可以將該管理員確定為本次攻擊的中間目標。
圖6 網(wǎng)站管理員的聯(lián)系方式
(3)使用一個新申請的郵箱在該網(wǎng)站上注冊一個用戶,使用該網(wǎng)站的簽到、論壇等功能,適時地與管理員進行一些交流,將自己的身份偽裝成該網(wǎng)站的忠實用戶,逐漸建立起信任關系,并讓管理員了解到自己有一定網(wǎng)絡安全方面的技術。
(4)選擇合適的時機向管理員發(fā)起攻擊。這里使用最常見的一種方式,向管理員發(fā)送帶有木馬的惡意郵件,關鍵問題就是如何讓管理員中馬。首先偽造一些關于該網(wǎng)站的掃描結(jié)果,使得看上去該網(wǎng)站存在一些安全漏洞,如圖7所示。然后準備一個免殺的木馬,該木馬打開后會主動地連接我主機的4444端口。再利用捆綁技術將偽造的掃描結(jié)果和木馬進行捆綁。這里既可以使用龍域、大水牛等捆綁工具,也可以使用WinRAR創(chuàng)建自解壓格式壓縮文件,并在自解壓選項中設置提取前運行木馬程序,這樣解壓文件時就會自動執(zhí)行木馬。最后,使用Metasploit工具進行監(jiān)聽,具體配置參數(shù)如下:
msf>use exploit/multi/handler
//設置攻擊載荷為反向TCP連接
msf exploit(handler)>set payload
windows/shell_reverse_tcp
//設置監(jiān)聽主機的IP
msfexploit(handler)>set LHOST本機IP地址
//設置監(jiān)聽端口號為4444
msfexploit(handler)>set LPORT 4444
msf exploit(handler)>exploit
這樣,當目標主機中馬之后,就會主動與我的主機通過4444端口進行反向TCP連接,獲得目標主機的Shell。
圖7 偽造的漏洞信息
(5)與管理員進行交互,發(fā)送郵件宣稱發(fā)現(xiàn)該網(wǎng)站存在安全問題,利用先前建立的信任關系和社交手段讓管理員降低警惕,打開木馬。管理員打開了帶有木馬的文件之后,就在他的主機和我的主機之間建立了會話,這時在Metasploit中輸入命令sessions-i 1打開這個會話,進入Meterpreter進行提權和遠控,Meterpreter的主要命令如下:
//顯示目標系統(tǒng)上的進程
meterpreter>ps
//將Meterpreter遷移到另一個進程meterpreter>migrate
//監(jiān)控目標系統(tǒng)鍵盤輸入
meterpreter>keyscan_start
//截取遠程主機屏幕
meterpreter>screenshot
//進入命令提示符(CMD)
meterpreter>shell
使用ps命令調(diào)出主機上的進程,如圖8所示。再輸入 migrate 1532命令遷移 explorer.exe進程上,獲得系統(tǒng)的最高權限。接下來,就可以隨心所欲的監(jiān)視和遠控這臺主機了。再配合使用上述提到的命令,可以很輕松地記錄下后臺頁面和管理員賬號、密碼,如圖9所示。最后,使用管理員賬戶進行登錄,進入網(wǎng)站后臺,如圖10所示。至此,總目標完成,通知管理員修改密碼,并建議管理員提高安全意識,做好對此類攻擊的防范。
圖8 目標主機的進程列表
圖9 記錄下的賬號和密碼
圖10 網(wǎng)站的后臺界面
可以看出,攻擊案例與給出的攻擊模型是具有一致性的。攻擊的每一個階段都是事先設計和規(guī)劃過的,與上一階段取得的結(jié)果、下一階段的執(zhí)行緊密相連,并不是走一步看一步的嘗試。攻擊的過程中既使用了免殺、捆綁、遠控等黑客技術,又利用了社會工程學的手段,與作為中間目標的管理員進行人際交互,二者相輔相成保證了總目標的最終實現(xiàn)。
安全體系離不開人的干預,通過本文的總結(jié)和分析可以看出,基于社會工程學的入侵滲透將黑客技術和人為因素相結(jié)合,看上去簡單但往往具有顯著的攻擊效果。本文研究了基于社會工程學的入侵滲透攻擊,量化了此類攻擊的過程,最終目的是為了更好地鑒別和防御此類攻擊,降低網(wǎng)絡安全的風險性。
[1]國家計算機網(wǎng)絡應急技術處理協(xié)調(diào)中心.2012年中國互聯(lián)網(wǎng)網(wǎng)絡安全報告[M].北京:人民郵電出版社,2013.
[2][美]Kevin Mitnick.欺騙的藝術[M].王小瑞,龍之冰點,譯.北京:中國鐵道出版社,2004.
[3]范建中.黑客社會工程學攻擊檔案袋[M].山東:濟南齊魯電子音像出版社,2008.
[4]武新華,李偉.反黑風暴-黑客社會工程學攻防演練[M].北京:電子工業(yè)出版社,2011.
[5]閆兵.信息安全中的社會工程學攻擊研究[J].辦公自動化,2008,13(20):41 -47.
[6]宋艾米.基于社會工程學的網(wǎng)絡安全滲透檢測模型研究[D].上海:東華大學,2013:14 -17.