版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本PPT是機械工業(yè)出版社出版的教材《網絡攻防原理與技術(第3版)》配套教學PPT(部分內容的深度和廣度比教材有所擴展),作者:吳禮發(fā),洪征,李華波本PPT可能會直接或間接采用了網上資源或公開學術報告中的部分PPT頁面、圖片、文字,引用時我們力求在該PPT的備注欄或標題欄中注明出處,如果有疏漏之處,敬請諒解。同時對被引用資源或報告的作者表示誠摯的謝意!本PPT可免費使用、修改,使用時請保留此頁。聲明第七章計算機木馬內容提綱2木馬的工作原理3木馬隱藏技術4惡意代碼1惡意代碼檢測與防御一、定義惡意代碼(maliciouscode):執(zhí)行惡意功能的計算機代碼不同廠商(或學術機構)在惡意代碼的分類(一般都包括病毒、蠕蟲和木馬,其它的則有所不同)和定義上有所不同不同時間段內,惡意代碼的分類和定義也會有變化惡意代碼美國科恩博士(最早定義):計算機病毒是一種計算機程序,它通過修改其他程序把自己的一個拷貝或演化的拷貝插入到其他程序中實施感染傳染特性,即病毒可以自我繁殖演化特性,即病毒在感染過程中可以改變自身的一些特征,以逃避查殺計算機病毒賽門鐵克PeterSzor給出定義:計算機病毒是一種計算機程序,它遞歸地、明確地復制自己或其演化體。“明確遞歸”來區(qū)別病毒與正常程序的復制過程,“遞歸”反映了一個文件在被病毒感染以后會進一步感染其他文件,“明確”強調了自我復制是病毒的主要功能。計算機病毒《中華人民共和國計算機信息系統(tǒng)安全保護條例》(1994.2.18)的第二十八條:“計算機病毒,是指編制或者在計算機程序中插入的破壞計算機功能或者毀壞數(shù)據,影響計算機使用,并能自我復制的一組計算機指令或者程序代碼”。計算機病毒幾個典型特性傳染性潛伏性可觸發(fā)性寄生性非授權執(zhí)行性破壞性計算機病毒典型計算機病毒基于功能模塊引導模塊搜索模塊感染模塊表現(xiàn)模塊標識模塊計算機病毒計算機蠕蟲(Worm):一種可以獨立運行,并通過網絡傳播的惡性代碼。具有計算機病毒的一些特性,如傳播性、隱蔽性、破壞性等,但蠕蟲也具有自己的特點,如漏洞依賴性等,需要通過網絡系統(tǒng)漏洞進行傳播,另外蠕蟲也不需要宿主文件,有的蠕蟲甚至只存在于內存中計算機蠕蟲典型計算機蠕蟲基于功能模塊搜索模塊攻擊模塊傳輸模塊負載模塊控制模塊計算機蠕蟲計算機木馬RFC1244(RequestforComments:1244)中是這樣描述木馬的:
“木馬是一種程序,它能提供一些有用的,或是僅僅令人感興趣的功能,但是它還有用戶所不知道的其他功能,例如在你不了解的情況下拷貝文件或竊取你的密碼?!?/p>
計算機木馬RFC1244的定義可以澄清一些模糊概念:首先木馬程序并不一定實現(xiàn)某種對用戶來說有意義或有幫助的功能,但卻會實現(xiàn)一些隱藏的、危險的功能;其次木馬所實現(xiàn)的主要功能并不為受害者所知,只有程序編制者最清楚。第三,這個定義暗示“有效負載”是惡意的。計算機木馬目前,大多數(shù)安全專家統(tǒng)一認可的定義是:木馬是一段能實現(xiàn)有用的或必需的功能的程序,但是同時還完成一些不為人知的功能。計算機木馬木馬程序具有很大的危害性,主要表現(xiàn)在:自動搜索已中木馬的計算機;管理對方資源,如復制文件、刪除文件、查看文件內容、上傳文件、下載文件等;跟蹤監(jiān)視對方屏幕;直接控制對方的鍵盤、鼠標;隨意修改注冊表和系統(tǒng)文件;共享被控計算機的硬盤資源;監(jiān)視對方任務且可終止對方任務;遠程重啟和關閉機器。計算機木馬從木馬所實現(xiàn)的功能角度可分為:破壞型密碼發(fā)送型遠程訪問型鍵盤記錄木馬DoS攻擊木馬代理木馬反彈端口型木馬從木馬形態(tài)上分,可以分為有文件木馬和無文件木馬有文件木馬:木馬本身是一個可執(zhí)行文件無文件木馬:木馬不是一個可執(zhí)行文件,需要依靠其它軟件來觸發(fā)執(zhí)行計算機木馬無文件木馬:木馬不是一個獨立可執(zhí)行的文件,而是通過特定方式隱藏在其它文件中,通過其它軟件來觸發(fā)執(zhí)行。例如:Office文檔中的宏;一段可解釋執(zhí)行的語言代碼,如Java、Python代碼段;Shell腳本;配置文件中一段腳本;注冊表中的一個鍵值等。通常功能比較簡單,只是攻擊的第一步,執(zhí)行后再下載更多的攻擊代碼到目標機器中計算機木馬計算機木馬一句話木馬是指只有一行代碼的木馬,利用Web編程語言(asp、php、jsp、aspx)的某個函數(shù)來執(zhí)行攻擊命令,也稱為webshell。PHP一句話木馬示例:<?phpeval($_POST[sb])?><?phpassert($_POST[sb]);?><?$_POST['sa']($_POST['sb'],$_POST['sc'])?><?php@eval($_POST['cmd']);?>計算機木馬木馬ASP一句話木馬示例:<%evalrequest("sb")%><%executerequest("sb")%><%'<%loop<%:%><%executerequest("sb")%><%ExecuteGlobalrequest("sb")%>JSP一句話木馬示例:<%
if(request.getParameter("f")!=null)(newjava.io.FileOutputStream(application.getRealPath("\\")+request.getParameter("f"))).write(request.getParameter("t").getBytes());
%>微軟表示,在2020年8月至2021年1月期間,每月檢測到大約14萬個網絡惡意shell,相比去年報告的7.7萬個,幾乎翻了一倍其它:一句話木馬討論:一句話木馬是不是無文件木馬?計算機木馬病毒、蠕蟲、木馬的區(qū)別惡意代碼二、惡意代碼概念的演變2000年以前:病毒時代背景:DOS退場,Windows9x/NT廣泛應用,促進了網絡應用進入日常生活中在DOS時代,感染式病毒(Virus)、蠕蟲(Worm)和特洛伊木馬(Trojan),都是相對窄而互斥的技術概念:Virus是主流惡意代碼概念的發(fā)展史2000~2005:蠕蟲大爆發(fā)時代Happy99蠕蟲利用劫持電子郵件的方式傳播并快速流行,拉開了蠕蟲時代大幕2011年:紅色代碼(CodeRed)及其變種“紅色代碼II”(CodeRedII)大爆發(fā):掃描溢出型蠕蟲的典型代表惡意代碼概念的發(fā)展史2005~2010:木馬泛濫時代隨著端系統(tǒng)的安全性的提高(DEP、ALSR等技術的應用),蠕蟲的影響開始減弱2005年,以灰鴿子、冰河為代表的遠程控制程序在技術上趨于成熟,感染數(shù)量持續(xù)增加2007~2009:地下經濟運作日趨“成熟”,基于木馬的黑色產業(yè)鏈2007年上半年:毒王“AV終結者”惡意代碼概念的發(fā)展史2010~2020:虛擬貨幣和隱秘網絡帶動的勒索新對抗2013年開始,勒索軟件、挖礦木馬逐步泛濫2016:Mirai爆發(fā),致癱Dyn2017:WannaCry全球大爆發(fā)2019:WannaMine挖礦木馬爆發(fā)惡意代碼概念的發(fā)展史惡意代碼種類
2007年下半年新增病毒的比例(瑞星)惡意代碼種類
2018年CNCERT中國互聯(lián)網網絡安全報告惡意代碼種類
2019年CNCERT中國互聯(lián)網網絡安全報告惡意代碼種類
2019年CNCERT中國互聯(lián)網網絡安全報告360惡意代碼種類傳統(tǒng)意義上的病毒越來越少,當前主流惡意代碼形式是木馬(占絕大多數(shù))和蠕蟲不同惡意代碼形式的界限越來越模糊,采用的技術有融合的趨勢惡意代碼內容提綱2木馬的工作原理3木馬的隱藏技術4惡意代碼1惡意代碼檢測與防御遠程控制木馬木馬體系結構:C/S架構,木馬程序+控制端程序木馬程序即是服務器端程序??刂贫顺绦蜃鳛榭蛻舳耍糜诠粽哌h程控制被植入木馬的機器。遠程控制木馬與遠程控制軟件的區(qū)別?隱蔽性:木馬被隱藏,避免被發(fā)現(xiàn);非授權性:木馬程序不經授權控制主機遠程控制木馬的運行步驟遠程控制木馬進行網絡入侵的過程:配置木馬傳播木馬啟動木馬建立連接遠程控制配置木馬:通信配置:監(jiān)聽端口、DNS、IP等功能配置:文件讀取、鍵盤監(jiān)聽、截屏等安裝配置:安裝路徑、文件名、是否刪除安裝文件、注冊表啟動項等配置木馬案例:冰河木馬的配置界面配置木馬遠程控制木馬的運行步驟遠程控制木馬進行網絡入侵的過程:配置木馬傳播木馬啟動木馬建立連接遠程控制傳播木馬:木馬植入木馬植入技術可以大概分為主動植入與被動植入兩類。主動植入:攻擊者主動將木馬程序種到本地或者是遠程主機上,這個行為過程完全由攻擊者主動掌握。被動植入:攻擊者預先設置某種環(huán)境,然后被動等待目標系統(tǒng)用戶的某種可能的操作,只有這種操作執(zhí)行,木馬程序才有可能植入目標系統(tǒng)。1、主動植入主動植入一般需要通過某種方法獲取目標主機的一定權限,然后由攻擊者自己動手進行安裝。按照目標系統(tǒng)是本地還是遠程的區(qū)分,這種方法又有本地安裝與遠程安裝之分。1、主動植入由于在一個系統(tǒng)植入木馬,不僅需要將木馬程序上傳到目標系統(tǒng),還需要在目標系統(tǒng)運行木馬程序,所以主動植入需要具有目標系統(tǒng)的寫權限和可執(zhí)行權限。如果僅僅具有寫權限,只能將木馬程序上傳但不能執(zhí)行,這種情況屬于被動植入,因為木馬仍然需要被動等待以某種方式被執(zhí)行。(1)本地安裝本地安裝就是直接在本地主機上進行安裝。一個人很難確保除了自己之外自己的計算機不會被其他人使用。而在經常更換使用者的公共場所(如網吧、飯店、賓館、咖啡店等)的計算機上,這種安裝木馬的方法更是非常普遍、有效。(2)遠程安裝遠程安裝就是通過常規(guī)攻擊手段獲得目標主機的一定權限后,將木馬上傳到目標主機上,并使其運行起來。例如,某些系統(tǒng)漏洞的存在,使得攻擊者可以利用漏洞遠程將木馬程序上傳并執(zhí)行。從實現(xiàn)方式上,主要分為:利用系統(tǒng)自身漏洞植入利用第三方軟件漏洞植入(3)利用系統(tǒng)自身漏洞植入這是一種主動攻擊的方式。攻擊者利用所了解的系統(tǒng)的安全漏洞及其特性主動出擊。如IIS服務器的溢出漏洞,通過一個“IISHack”的攻擊程序就可使IIS服務器崩潰,并同時在被攻擊服務器執(zhí)行“木馬”程序。MIME漏洞則是利用InternetExplorer在處理不正常的MIME類型存在的問題,攻擊者有意地更改MIME類型,使IE可以不提示用戶而直接運行電子郵件附件中的惡意程序等。(4)利用第三方軟件漏洞植入每臺主機上都會安裝一些第三方軟件或者提供服務,但是這些軟件可能存在可被利用的漏洞,如果被惡意者利用,你的主機就可以成為木馬的“棲息地”。例如:AT-TFTPServer在處理帶有超長文件名參數(shù)的請求時存在漏洞,遠程攻擊者可能利用此漏洞在服務器上執(zhí)行任意指令。2、被動植入被動植入主要是利用以下方式將木馬程序植入目標系統(tǒng):網頁瀏覽植入利用電子郵件植入利用網絡下載植入利用即時通工具植入與其它程序捆綁利用移動存儲設備植入(1)網頁瀏覽植入網頁瀏覽傳播:利用Script/ActiveX控件/JavaApplet等編寫出一個HTML網頁,當我們?yōu)g覽該頁面時,會在后臺將木馬程序下載到計算機緩存中,然后修改系統(tǒng)注冊表,使相關鍵值指向“木馬”程序。還可以利用瀏覽器的已知或者未知的漏洞,把木馬下載到本機并運行。水坑攻擊(Wateringhole):在受害者必經之路設置一個“水坑(陷阱)”。最常見的做法是,黑客分析攻擊目標的上網活動規(guī)律,尋找攻擊目標經常訪問的網站的弱點,先將此網站“攻破”并植入攻擊代碼,一旦攻擊目標訪問該網站就會“中招”(2)水坑攻擊2020.2.19:黑客利用后門對香港iOS用戶發(fā)起水坑攻擊(2)水坑攻擊威瑞森的報告顯示,94%的惡意軟件通過電子郵件傳播,排名第一的社會工程攻擊是網絡釣魚(3)利用電子郵件植入(3)利用電子郵件植入電子郵件(E-mail)進行傳播:攻擊者將“木馬”程序偽裝成E-mail附件的形式發(fā)送出去,收信人只要查看郵件附件就會使“木馬”程序得到運行并安裝進入系統(tǒng)。通過在郵件內容內嵌WSH(WindowsScriptsHost)腳本,用戶不需要打開附件,僅僅瀏覽一下郵件的內容,附件中的木馬就會被執(zhí)行。附件文檔中不包含惡意代碼,而是下載惡意代碼的鏈接例一例二惡意Office文件樣本不利用漏洞,也未包含可疑的宏或VBA等操作,而是單純的利用XML連接外部開啟另一個惡意文件例三利用電子郵件植入(4)網絡下載植入一些非正規(guī)的網站以提供軟件下載為名,將木馬程序偽裝成用戶所希望的其它軟件,當用戶下載安裝時,實際上所安裝的是木馬程序。(5)利用即時通工具植入即時通工具有文件傳輸功能,所以現(xiàn)在也有很多木馬通過它傳播。攻擊者通常把木馬服務器程序通過合并軟件和其他的可執(zhí)行文件綁在一起,然后騙你說是一個好玩的東東或者是漂亮MM的照片,你接受后運行的話,你就成了木馬的犧牲品了。(6)與其它程序或文檔捆綁將木馬與其它軟件捆綁,用戶在下載安裝其它軟件時就不自覺地也安裝了木馬,這種情況下用戶很難察覺。攻擊者還可以在.doc、.ppt、.rar、.zip、.mpg、.pdf等文件中插入惡意代碼,當用戶打開這些文檔時,就會被植入木馬。例:圖片木馬有一種圖片木馬,利用用戶認為圖片文件不可執(zhí)行,因此不可能是木馬這樣的心理來欺騙受害者。實際上這是一個后綴名的小把戲。由于Windows系統(tǒng)默認不顯示已經注冊了的文件類型的后綴名,因此test.jpg.exe這種文件在系統(tǒng)上就顯示為test.jpg,木馬再采用和圖片文件一樣的圖標,對大多數(shù)用戶而言,是極具欺騙性的。(7)利用移動存儲設備植入利用移動存儲設備傳播:利用Windows的Autoplay(autorun.inf)機制,當插入U盤、移動硬盤或者光盤時,可以自動執(zhí)行惡意程序。[AutoRun]open=scvhost.exeshellexecute=scvhost.exeshell\Auto\command=scvhost.exe“擺渡”木馬①植入外網主機“擺渡”木馬①植入外網主機②植入移動設備“擺渡”木馬①植入外網主機②植入移動設備③植入內網主機“擺渡”木馬①植入外網主機②植入移動設備③植入內網主機④敏感信息收集“擺渡”木馬①植入外網主機②植入移動設備③植入內網主機④敏感信息收集⑤敏感信息轉移“擺渡”木馬①植入外網主機②植入移動設備③植入內網主機④敏感信息收集⑤敏感信息轉移⑥敏感信息泄露2015.12.2夜間:安天監(jiān)控預警體系感知到如下線索:某知名作家在新浪微博發(fā)布消息,曝光有人以發(fā)送“采訪提綱”為借口,利用微博私信功能,發(fā)送惡意代碼鏈接。(8)社會工程學2015.12.2夜間:安天監(jiān)控預警體系感知到如下線索:某知名作家在新浪微博發(fā)布消息,曝光有人以發(fā)送“采訪提綱”為借口,利用微博私信功能,發(fā)送惡意代碼鏈接。(8)社會工程學(8)社會工程學無論是原始微博截圖中的頭像、微博兩條搜索結果顯示的圖像,還是百度網盤的頭像,相似度都非常高,讓人真假難辨。(8)社會工程學幸運的是,沒有微博名人中招?。?)社會工程學社會工程學(8)社會工程學通過云應用投放惡意代碼遠程控制木馬的運行步驟遠程控制木馬進行網絡入侵的過程:配置木馬傳播木馬啟動木馬建立連接遠程控制自動加載技術木馬程序在被植入目標主機后,不可能寄希望于用戶雙擊其圖標來運行啟動,只能不動聲色地自動啟動和運行,攻擊才能以此為依據侵入被侵主機,完成控制。自動加載技術在Windows系統(tǒng)中木馬程序的自動加載技術主要有:修改系統(tǒng)文件修改系統(tǒng)注冊表添加系統(tǒng)服務修改文件打開關聯(lián)屬性修改任務計劃修改組策略利用系統(tǒng)自動運行的程序修改啟動文件夾替換系統(tǒng)DLL(1)修改系統(tǒng)文件木馬程序一般會在第一次運行時,修改目標系統(tǒng)文件以達到自動加載的目的在早于WindwosXP版本的系統(tǒng)上,System.ini、Win.ini、Winstart.bat、Autoexec.bat等都是木馬所關注的配置文件。這些文件能自動被Windows在啟動時加載運行,木馬將自身程序加入此類批處理文件,能夠達成開機啟動的目標。這些文件雖然在后續(xù)版本的Windows系統(tǒng)上依然存在,但主要出于兼容早期系統(tǒng)的需要,很難再被木馬繼續(xù)利用(2)修改系統(tǒng)注冊表系統(tǒng)注冊表保存著系統(tǒng)的軟件、硬件及其它與系統(tǒng)配置有關的重要信息。在WinNT系列操作系統(tǒng)上,Windows主要使用注冊表存儲包括開機啟動項目的系統(tǒng)配置,修改注冊表隱蔽性相對較高,木馬常常采用這種方法實現(xiàn)開機自啟動。通常被攻擊者用作開機啟動的主鍵(在不同版本的系統(tǒng)中可能存在不同的主鍵)包括:(2)修改系統(tǒng)注冊表系統(tǒng)注冊表保存著系統(tǒng)的軟件、硬件及其它與系統(tǒng)配置有關的重要信息。HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run、Runonce、RunonceEx(在Win2000、WinXp中有效)、RunServices、RunServicesOnce等HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run、Runonce、RunonceEx、RunServices、RunServicesOnce等HKEY_USERS\[UserSID]\Software\Microsoft\Windows\CurrentVersion\Run、Runonce、RunonceEx、RunServices、RunServicesOnce等在上述主鍵中,HKEY_LOCAL_MACHINE對當前系統(tǒng)的所有用戶有效,HKEY_CURRENT_USER僅對當前登陸的用戶有效(2)修改系統(tǒng)注冊表系統(tǒng)注冊表保存著系統(tǒng)的軟件、硬件及其它與系統(tǒng)配置有關的重要信息。HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run、Runonce、RunonceEx(在Win2000、WinXp中有效)、RunServices、RunServicesOnce等HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run、Runonce、RunonceEx、RunServices、RunServicesOnce等HKEY_USERS\[UserSID]\Software\Microsoft\Windows\CurrentVersion\Run、Runonce、RunonceEx、RunServices、RunServicesOnce等在上述主鍵中,Runonce主鍵設置的自啟動程序將在下一次系統(tǒng)啟動時獲得自動運行的機會,并在運行后從該主鍵移除。木馬程序如果利用這個主鍵進行自啟動,則木馬的運行通常有一個固定的操作,即需要在運行后重新將自身加入到Runonce主鍵中,確保自己在每次系統(tǒng)啟動時均獲得運行機會(3)添加系統(tǒng)服務WindowsNT內核操作系統(tǒng)都大量使用服務來實現(xiàn)關鍵的系統(tǒng)功能。一些木馬將自身注冊為系統(tǒng)服務,并將相應服務設置為系統(tǒng)開機時自啟動。例如,WindowsResourceKit工具包(其中包含的工具可能會根據用戶使用的Windows版本而有所不同)中的程序instsrv.exe常常被木馬用來創(chuàng)建系統(tǒng)服務,服務的管理和配置可以通過程序sc.exe來實施。這樣每當Windows系統(tǒng)啟動時,即使沒有用戶登錄,木馬也會自動開始工作。作為服務啟動的木馬往往隱蔽性更強,一般用戶很難從服務中找出木馬程序(4)修改文件打開關聯(lián)屬性通常對于一些常用的文件如.txt文件,只要雙擊文件圖標就能打開這個文件。這是因為在系統(tǒng)注冊表中,已經把這類文件與某個程序關聯(lián)起來,只要用戶雙擊該類文件,系統(tǒng)就自動啟動相關聯(lián)的程序來打開文件。修改文件打開關聯(lián)屬性是木馬程序的常用手段。比如:正常情況下.txt文件的打開方式為notepad.exe文件,而木馬可能將這類文件的關聯(lián)程序修改為木馬程序,這樣只要打開此類文件,就能在無意中啟動木馬。案例:冰河木馬。例:冰河的自動加載方法
HKEY_CLASSES_ROOT根鍵中記錄的是Windows操作系統(tǒng)中所有數(shù)據文件的信息,主要記錄不同文件的文件名后綴和與之對應的應用程序。
“冰河”就是通過修改HKEY_CLASSES_ROOT\txtfile\shell\open\command下的鍵值,將“C:\WINDOWS\NOTEPAD.EXE%1”
改為“C:\WINDOWS\SYSTEM\SYSEXPLR.EXE%1”,這樣一旦你雙擊一個TXT文件,原本應用Notepad打開該文件的,現(xiàn)在卻變成啟動木馬程序了。
不同版本Windows系統(tǒng)的鍵名有差異!修改文件打開關聯(lián)不僅僅是TXT文件,其它諸如HTM、ZIP、RAR等都是木馬的目標。對付這類木馬,只能經常檢查HKEY_CLASSES_ROOT\文件類型\shell\open\command主鍵,查看其鍵值是否正常。(5)修改任務計劃在默認情況下,任務計劃程序隨Windows一起啟動并在后臺運行。如果把某個程序添加到計劃任務文件夾,并將計劃任務設置為“系統(tǒng)啟動時”或“登錄時”,這樣也可以實現(xiàn)程序自啟動。Windows10WindowsXP(6)修改組策略在“開始”→“運行”中輸入“gpedit.msc"。按回車,打開系統(tǒng)組策略窗口,選擇“計算機配置”→“管理模板”→“系統(tǒng)”→“登錄”,雙擊右邊的“在用戶登錄時運行這些程序”項。(6)修改組策略(續(xù))打開其屬性對話框,選擇“已啟用”,再單擊“顯示”,會彈出“顯示內容”對話框,列表中顯示的便是藏身于此的自啟動程序。如果你也想在這里添加自啟動項目,可單擊“添加”在出現(xiàn)的“添加項目”對話框中輸入可執(zhí)行文件的完整路徑和文件名,“確定”即可。(7)修改啟動文件夾當前登陸用戶的“啟動”文件夾這是許多應用軟件自啟動的常用位置。當前登陸用戶的“啟動”文件夾一般在:C:\DocumentsandSettings\<用戶名字>\「開始」菜單\程序\啟動\對所有用戶有效的啟動文件夾不管用戶用什么身份登錄系統(tǒng),放入該文件夾的快捷方式總是自動啟動——這是它與用戶專有的啟動文件夾的區(qū)別所在。該文件夾一般在:C:\DocumentsandSettings\AllUsers\「開始」菜單\程序\啟動\(8)利用系統(tǒng)自動運行的程序在Windows系統(tǒng)中,有很多程序是可以自動運行的,如:在對磁盤進行格式化后,總是要運行“磁盤掃描”程序(Scandisk.exe);按下F1鍵時,系統(tǒng)將運行Winhelp.exe或Hh.exe打開幫助文件;系統(tǒng)啟動時,將自動啟動系統(tǒng)欄程序SysTray.exe、注冊表檢查程序scanreg.exe、計劃任務程序mstask.exe、輸入法程序、電源管理程序等。這為惡意程序提供了機會,通過覆蓋相應文件就可獲得自動啟動的機會,而不必修改系統(tǒng)任何設置。(9)替換系統(tǒng)DLL這種方法通過APIHOOK啟動,也稱為DLL陷阱技術。通過替換Windows系統(tǒng)中正常的DLL文件(動態(tài)鏈接文件),如kernel32.dll和user32.dll這些隨系統(tǒng)一起啟動的dll。啟動之后,如果是系統(tǒng)正常的調用請求,它就把請求轉到原先的DLL進行處理,如果是約定的木馬操作,則該DLL文件就實現(xiàn)木馬服務器端功能?,F(xiàn)代操作系統(tǒng)對此已有防護,已很難實施有些木馬需要系統(tǒng)重啟后運行或提升權限,如何做到?(10)其它遠程控制木馬的運行步驟遠程控制木馬進行網絡入侵的過程:配置木馬傳播木馬啟動木馬建立連接遠程控制建立連接木馬控制端木馬服務端InternetIntranet控制流木馬的常規(guī)通信方式建立連接A控制端A服務端1037762676266016(1)建立連接前(2)獲取服務端IP(3)木馬連接建立通過信息反饋或IP掃描獲得服務器IP地址木馬端口(服務端IP)(控制端IP)服務端口遠程控制木馬的反彈技術控制端感染木馬的主機優(yōu)點:解決動態(tài)IP地址的問題;解決內網地址的問題;繞過防火墻的限制;缺點:容易暴露控制端反彈遠程控制木馬的運行步驟遠程控制木馬進行網絡入侵的過程:配置木馬傳播木馬啟動木馬建立連接遠程控制遠程控制技術木馬連接建立后,客戶端端口和服務器端口之間將會出現(xiàn)一條通道,客戶端程序可由這條通道與服務器上的木馬程序取得聯(lián)系,并對其進行遠程控制,主要包括:獲取目標機器信息記錄用戶事件遠程操作(1)獲取目標機器信息木馬的一個主要功能就是竊取被控端計算機的信息,然后再把這些信息通過網絡連接傳送到控制端。一般來講,獲取目標機器信息的方法就是調用相關的API,通過函數(shù)返回值,進行分解和分析有關成分,進而得到相關信息。(2)記錄用戶事件木馬程序為了達到控制目標主機的目的,通常想知道目標主機用戶目前在干什么,于是記錄用戶事件成了木馬的又一主要功能。其一是記錄被控端計算機的鍵盤和鼠標事件,形成一個文本文件,然后把該文件發(fā)送到控制端,控制端用戶通過查看文件的方式了解被控端用戶打開了哪些程序,敲了那些鍵;其二是在被控端抓取當前屏幕,形成一個位圖文件,然后把該文件發(fā)送到控制端顯示,從而通過抓取得屏幕知道目標用戶的操作行為。(3)遠程操作遠程操作重啟被控制端計算機,或者強制關閉遠程計算機,當被控制計算機重新啟動時,木馬程序重新獲得控制權。木馬使用者通過網絡控制被控端計算機的鼠標和鍵盤,也可以通過這種方式啟動或停止被控端的應用程序。對遠程的文件進行管理,比如共享被控端的硬盤,之后就可以進行任意的文件操作。內容提綱2木馬的工作原理3木馬的隱藏技術4惡意代碼1惡意代碼檢測與防御木馬的隱藏技術木馬的隱藏技術:啟動隱藏木馬文件/目錄隱藏進程隱藏通信隱藏隱藏自己,使得目標主機加載運行木馬程序,而不被用戶發(fā)現(xiàn)前面介紹的各種木馬自動加載技術前面介紹的無文件木馬,通過其它軟件來觸發(fā)執(zhí)行誘騙用戶點擊運行:如文件類型圖標欺騙1、啟動隱藏用文檔類(doc/docx/txt/jpg等)圖標來隱藏可執(zhí)行文件(exe)來欺騙受害者點擊文件類型圖標誘騙VisualStudio2013:用C#編寫軟件時指定EXE文件的自定義圖標文件類型圖標誘騙Python:指定exe的自定義軟件圖標文件類型圖標誘騙通過某種方式使用戶無法發(fā)現(xiàn)木馬文件和目錄隱藏在其它文件中:如無文件木馬勾選文件/目錄屬性中的“隱藏”,文件瀏覽器不可見(除非開啟顯示所有文件)2、木馬文件/目標隱藏3、進程隱藏隱藏木馬進程,使得任務管理器等工具不可見.偽隱藏是指程序的進程仍然存在,只不過是讓它消失在進程列表里。真隱藏則是讓程序徹底的消失,不以一個進程或者服務的方式工作。3、進程隱藏設置窗口不可見
(從任務欄中隱藏)把木馬程序注冊為服務
(從進程列表中隱藏)欺騙查看進程的函數(shù)
(從進程列表中隱藏)使用可變的高端口
(端口隱藏技術)使用系統(tǒng)服務端口
(端口隱藏技術)替換系統(tǒng)驅動或系統(tǒng)DLL (真隱藏技術)動態(tài)嵌入技術(真隱藏技術)(1)設置窗口不可見這是最基本的隱藏方式。如果在Windows的任務欄里出現(xiàn)一個莫名其妙的圖標,傻子都會明白是怎么回事。實現(xiàn)任務欄中隱藏,在編程時是很容易實現(xiàn)的。以VB為例,只要把form的Visible屬性設置為False,ShowInTaskBar設為False,程序就不會出現(xiàn)在任務欄里了。(2)把木馬程序注冊為服務進程列表中不顯示木馬進程:在Windows
9X/NT/2000/xp/2003下,把木馬服務端程序注冊為一個服務就可以了,這樣,程序就會從任務列表中消失了,因為系統(tǒng)不認為它是一個進程,在任務管理器中就看不到這個程序的進程。這種方法對于WindowsNT/2000/xp/2003等操作系統(tǒng)來說,通過服務管理器,同樣會發(fā)現(xiàn)在系統(tǒng)中注冊過的服務。(3)欺騙查看進程的函數(shù)Windows系統(tǒng)中,一般是通過API調用來查看運行的進程,常用的API包括PSAPI,PDH,ToolHelpAPI等。進程查看軟件API調用結果返回替換API調用返回的數(shù)據,保護木馬進程不被發(fā)現(xiàn)。(4)替換系統(tǒng)驅動或系統(tǒng)DLLDLL(DynamicLinkLibrary,動態(tài)鏈接庫)是Windows系統(tǒng)的一種可執(zhí)行文件。DLL文件沒有程序邏輯,是由多個功能函數(shù)構成的,它并不能獨立運行,需要由程序加載并調用。正因為DLL文件不能獨立運行,所以在進程列表中并不會出現(xiàn)DLL。運行DLL文件的最簡單方法是Rundll32.exe例如我們編寫了一個MyDll.dll,這個動態(tài)鏈接庫中定義了一個MyFunc的函數(shù),可以通過命令執(zhí)行MyFunc函數(shù)的功能:Rundll32MyDll.dllMyFunc(4)替換系統(tǒng)驅動或系統(tǒng)DLL攻擊者使用自己的DLL文件替換掉Windows系統(tǒng)中正常的DLL文件。這種方法利用了Windows系統(tǒng)的驅動或DLL,既可以啟動木馬,也可以隱藏木馬。不使用進程,屬于真隱藏技術。DLL木馬通過別的進程來運行它,如果這個進程是可信進程,就沒有人會懷疑它是木馬,那么這個DLL木馬作為可信進程的一部分,就成為了被信賴的一部分而為所欲為(4)替換系統(tǒng)驅動或系統(tǒng)DLL這種方法與一般方法不同,它基本上擺脫了原有的木馬模式---監(jiān)聽端口,而采用替代系統(tǒng)功能的方法(改寫虛擬設備驅動程序vxd或動態(tài)鏈接庫DLL文件),木馬會將修改后的DLL替換系統(tǒng)已知的DLL,并對所有的函數(shù)調用進行過濾。(4)替換系統(tǒng)驅動或系統(tǒng)DLL攻擊者的DLL文件一般包括有函數(shù)轉發(fā)器。在處理函數(shù)調用時,對于系統(tǒng)正常的調用請求,它就把請求直接轉發(fā)給被替換的系統(tǒng)DLL進行處理;如果是約定的相應操作(事先約定好的特殊情況),則按照約定完成所請求的功能。這樣做的好處是沒有增加新的文件,不需要打開新的端口,沒有新的進程,使用常規(guī)的方法監(jiān)測不到它。(4)替換系統(tǒng)驅動或系統(tǒng)DLL注意:現(xiàn)在Windows對重要的DLL有保護機制Windowssystem32目錄下有一個dllcache的目錄,下面存放著大量DLL文件和重要的.exe文件,Windows系統(tǒng)一旦發(fā)現(xiàn)被保護的DLL文件被改動,它就會自動從dllcache中恢復這個文件。所以在替換系統(tǒng)DLL文件之前必須先把dllcache目錄下的對應的系統(tǒng)DLL文件也替換掉。系統(tǒng)重裝、安裝補丁、升級系統(tǒng)或者檢查數(shù)字簽名等均會使這種木馬種植方法失效。(5)動態(tài)嵌入技術另一種利用DLL隱藏木馬的方法是動態(tài)嵌入技術:將木馬程序代碼嵌入到正在運行的進程中Windows系統(tǒng)中的每個進程都有自己的私有內存空間,一般不允許別的進程對其進行操作。但可以通過窗口hook(鉤子函數(shù))、掛接API、遠程線程(CreateRemoteThread)等方法進入并操作進程的私有空間,使木馬的核心代碼運行于其它進程的內存空間。這種方法比DLL替換技術有更好的隱藏性。(6)進程隱藏小結4、通信隱藏端口隱藏:現(xiàn)在大部分木馬一般在控制主機后會在1024以上不易發(fā)現(xiàn)的高端口上駐留;有一些木馬也會選擇一些常用的端口,如80、23。有些木馬利用80端口時,在收到正常的HTTP請求仍然把它交與Web服務器處理,只有收到一些特殊約定的數(shù)據包后,才調用木馬程序。端口復用是重復使用系統(tǒng)中已經開啟的端口,從而繞過防火墻的攔截。4、通信隱藏端口監(jiān)聽的缺點:木馬在等待和運行的過程中,始終向外界打開著一個端口,容易暴露。不使用端口:利用非TCP/UDP協(xié)議,如ICMP協(xié)議。在沒有激活時是沒有端口開放的,ICMP木馬監(jiān)聽ICMP報文,當出現(xiàn)特殊報文時,它打開TCP端口等待控制端的連接。4、通信隱藏:非端口木馬一定要直接與其控制者通信嗎?通過中間方交換信息電子郵件網盤網頁4、通信隱藏案例:灰鴿子木馬技術小結近年來,木馬技術取得了較大的發(fā)展,目前已徹底擺脫了傳統(tǒng)模式下植入方法原始、通信方式單一、隱蔽性差等不足。借助一些新技術,木馬不再依賴于對用戶進行簡單的欺騙,也可以不必修改系統(tǒng)注冊表,不開新端口,不在磁盤上保留新文件,甚至可以沒有獨立的進程,這些新特點使對木馬的查殺變得愈加困難,與此同時卻使得木馬的功能得到了大幅提升。內容提綱2木馬的工作原理3木馬的隱藏技術4惡意代碼1惡意代碼檢測及防御靜態(tài)檢測(特征檢測):根據惡意代碼的特征碼(代碼散列碼、代碼中的關鍵字、字節(jié)串、特定端口等)進行檢測動態(tài)檢測:根據惡意代碼執(zhí)行后的異常行為進行檢測惡意代碼檢測惡意代碼檢測:特征檢測惡意代碼檢測:特征檢測惡意代碼檢測:特征檢測惡意代碼檢測:特征檢測惡意代碼檢測:特征檢測將惡意代碼中的某段特有的十六進制字節(jié)碼或字符串(如某個特定的域名或IP地址)作為特征碼,如Monkey病毒代碼中的十六進制字節(jié)碼“8BFB%%B90002%%268A0534??AAE2F8”惡意代碼檢測:特征檢測特征碼檢測技術的主要優(yōu)點是簡單、檢測速度快、準確率高,不足:不能檢測未知惡意軟件,對于惡意代碼變體的容忍度也很低,稍微變形便無法識別;用戶需要不斷地升級(離線或在線)殺毒軟件特征庫,同時隨著特征庫越來越大,檢測的效率會越來越低。惡意代碼檢測:特征檢測動態(tài)檢測技術基于定義的惡意代碼異常行為規(guī)則,實時監(jiān)控進程的動態(tài)行為,當發(fā)現(xiàn)有違犯規(guī)則的行為出現(xiàn),則給出異常告警。這些行為主要包括:文件行為進程行為網絡行為注冊表行為惡意代碼檢測:動態(tài)檢測與特征碼靜態(tài)檢測技術相比,動態(tài)檢測技術能夠檢測未知惡意代碼、惡意代碼的變種,不足:產生的誤報率較高,且不能識別出病毒的名稱和類型等。惡意代碼檢測:動態(tài)檢測沙箱檢測:在沙箱(Sandbox)中運行木馬,觀察其行為,應對加殼、多態(tài)、功能代碼動態(tài)生成、隱蔽通信等各種逃避檢測的技術惡意代碼檢測:動態(tài)檢測沙箱檢測:惡意代碼檢測:動態(tài)檢測機器學習:應對海量惡意代碼的檢測惡意代碼檢測:機器學習方法常見的用于惡意代碼檢測的機器學習算法有:普通機器學習方法,如支持向量機(SVM)、隨機森林(RF)、樸素貝葉斯(NB)等深度機器學習算法,如深度神經網絡(DNN)、卷積神經網絡(CNN)、長短時記憶網絡,LSTMN)、圖卷積網絡(GCN)等惡意代碼檢測:機器學習方法Kaspersky:用機器學習方法檢測惡意樣本惡意代碼檢測:機器學習方法Kaspersky:精簡機器學習檢測模型惡意代碼檢測:機器學習方法優(yōu)勢在大規(guī)模樣本檢測能力,不足:檢測的準確率還有待提高、對計算能力的要求比較高、有監(jiān)督機器學習方法中的樣本標注問題等,同時近幾年越來越多的對機器學習算法進行攻擊的研究,如對抗樣本,表明少量精心設計的樣本即可導致機器學習檢測算法出錯。惡意代碼檢測:機器學習方法惡意代碼防范雖然惡意代碼隱蔽性強,種類多,攻擊者也設法采用各種隱藏技術來增加被用戶檢測到的難度,但由于惡意代碼實質上是一個程序,必須運行后才能工作,所以會在計算機的文件系統(tǒng)、系統(tǒng)進程表、注冊表、系統(tǒng)文件和日志等中留下蛛絲馬跡,用戶可以通過“查、堵、殺”等方法檢測和清除惡意代碼。惡意代碼防范常用的防范惡意代碼措施:及時修補漏洞,安裝補丁培養(yǎng)風險意識,不使用來歷不明的軟件不打開可疑短信、郵件及其附件安裝殺毒軟件且不關閉查殺功能,即時發(fā)現(xiàn),即時清除移動存儲設備:用前查殺關閉不必要的網絡端口和服務Webshell防范惡意代碼防范
本章小結討論更新:將源目錄下的所有文件(含子目錄)拷貝到目的目錄下問題一:360認為其是勒索病毒的可能原因是什么?問題二:360采用的是特征檢測還是異常檢測方法?作業(yè)冰河CrimsonAPT木馬實例參考資料一、木馬實例(冰河)冰河冰河開發(fā)于1999年,跟灰鴿子類似,在2005年中美黑客大戰(zhàn)中為中國黑客增了不少面子。作者:黃鑫(glacier,西安電子科大,2000底加盟安全焦點,開發(fā)了Xscan)包括兩個可運行的程序G_Server和G_Client,其中前者是木馬的服務器端,就是用來植入目標主機的程序,后者是木馬的客戶端,也就是木馬的控制臺。冰河客戶端界面冰河的主要功能自動跟蹤目標機屏幕變化(局域網適用)完全模擬鍵盤及鼠標輸入(局域網適用)記錄各種口令信息獲取系統(tǒng)信息限制系統(tǒng)功能遠程文件操作注冊表操作發(fā)送信息點對點通訊冰河的使用—連接服務器服務器端運行后,可以在控制臺上進行連接。單擊工具欄上的快捷按鈕“添加主機”,彈出如圖所示的對話框,輸入遠程主機的相關信息即可。冰河的使用—連接成功后的信息
連接成功后,則會顯示遠程主機上的信息如硬盤盤符等,如圖所示。冰河的使用—搜索服務器以上直接連接是一種方法,冰河還可以自動搜索已經中了冰河木馬的主機,只需要簡單的設置即可。搜索服務器搜索到9冰河的使用(續(xù))在9中安裝了木馬服務器后,就可對這臺計算機進行操作了。冰河的功能非常強大,它有“文件管理器”和“命令控制臺”兩個選項卡。點擊“文件管理器”可以管理被入侵的電腦的硬盤。文件管理器文件管理器—下載文件冰河的使用(續(xù))單擊“命令控制臺標簽”,可以看到這里有眾多的功能。冰河的命令控制臺獲得系統(tǒng)信息和口令捕獲對方屏幕向對方發(fā)送信息管理對方的進程2025/1/14網絡入侵與防范講義173控制對方系統(tǒng)2025/1/14網絡入侵與防范講義174注冊表管理甚至可以對桌面等其它信息設置冰河的使用(總結)冰河幾乎可以對入侵的計算機進行完全的控制,完全可以當作一個遠程管理工具使用。二、木馬實例(Crimson)一個簡單的遠程控制型木馬(Crimson)分析(/2020/07/24/crimson-rat-malware-analysis/)拓展IamusingOLEToolstogetthepropertyofexcelfile:cmd>olemeta.py<filename>Crimson分析NextOLEToolcommandIamrunningistogettheOLEdetails:cmd>olevba.py-a<filename>Crimson分析SuspiciousIndicators:VBAcodewillautoexecuteonopeningexcelworkbook.Createdirectoryonthesystem.Writeafileonthesystem.Executeshellcommand.hexstringusedforobfuscation.Crimson分析Now,IamextractingVBAfromexcelfileanddumpingittotxtfile.ForthatcommandIamrunningis:cmd>olevba.py–deofb<filename>>Path\output.exeFromtheVBAcode,IcanseethesubroutinecreatesafolderanddropexecutablefileatlocationC:\ProgramData\Rlmdias\Rlmdias.exeCrimson分析IopenedexcelandnavigatetoVBAProjectbyclickingAlt+F11.Porjectwaspasswordprotect.IremovedpasswordusingGitHubcodeandcheckoutmypreviousbloghowitcanbedone.Postpasswordremoval,IcanseethereisauserForm1whichhastwotextboxandhasahexvalueswhicharePEfileswilldroppeddependsontheOSversionofthevictim32bitor64bitCrimson分析IdebuggedtheVBAcodeanditdroppedazipfileatlocation“C:\ProgramData\Rlmdias\drngervia.zip”andunzipitusingfunctionunSadozipCrimson分析Droppedzipfilehasdrngervia.exefile.andShellcommandexecutetheexecutablefileCrimson分析whenShellexecuted,itopensWindowsfeaturesandasktodownloadandInstall.NetFramework3.5Crimson分析Crimson分析IhaveuseddnSpytodebugthePEfile.Lookingatthecode,itcreatespersistencecreatingaregistryentryCrimson分析ItgetsthelistofrunningprocessonthesystemCrimson分析Itlooksforantivirussoftwarerunningonthesystem.Itsearchesfortheantivirussoftwarefromthebelowlist.Crimson分析Crimson分析IhavealsofoundthehardcodedIPaddress,username.Malwareneverhittothisip[124.115.201.118]Crimson分析Crimson分析以CobalStrike為例遠程控制過程中的幾個名詞三、一個APT木馬技術分析木馬文件實例分析木馬從植入到運行,包括后續(xù)可能的滲透活動都采用了各種技術進行隱藏,很難發(fā)現(xiàn)。同時,該木馬也做了很多對抗,常規(guī)的安全監(jiān)測能力未必可以發(fā)現(xiàn)。其工作流程如圖所示。實例分析rootkit采用常見的LKM內核模塊,加載后的主要操作1.
rmgr.korootkit采用常見的LKM內核模塊,加載后的主要操作1.
rmgr.korootkit采用常見的LKM內核模塊,加載后的主要操作1.
rmgr.korootkit采用常見的LKM內核模塊,加載后的主要操作
1.rmgr.korootkit采用常見的LKM內核模塊,加載后的主要操作
1.rmgr.korootkit采用常見的LKM內核模塊,加載后的主要操作
1.rmgr.korootkit采用常見的LKM內核模塊,加載后的主要操作
1.rmgr.ko此共享庫文件,由內核rootkit釋放寫入磁盤,路徑為/tmp/.tmp_{21個隨機字母數(shù)字},用于木馬的用戶態(tài)進程的行為隱藏2.
rmgr__fake_libc.sosubhook前綴的函數(shù)摘抄自開源代碼(/Zeex/subhook/blob/master/subhook_x86.c)
2.rmgr__fake_libc.sofake前綴的函數(shù)主要用于對抗常見HIDS的進程和命令記錄,fork和execve直接通過syscall調用,而不使用glibc的封裝,避開了hookglibc方式的HIDS。
2.rmgr__fake_libc.sofake_bash_add_history則讓bash命令審計功能失效。
2.rmgr__fake_libc.so此進程由rmgr.ko釋放寫入磁盤,路徑為/tmp/.tmp_{21個隨機字母數(shù)字}。由C++開發(fā),編譯后upx加殼壓縮,直接用開源軟件upx-drmgr_daemon即可脫殼,并無特殊處理。3.rmgr_daemon1)監(jiān)控內核模塊狀態(tài),與內核rootkit信息交互3.rmgr_daemon2)更新3.rmgr_daemon3)生成rmgr_fake_sshd,并patchELF,修改依賴的動態(tài)庫,也就是加入rmgr_fake_libc.so3.rmgr_daemon4)連接C25)管理rmgr_fake_sshd3.rmgr_daemon文件由rmgrdaemon寫入磁盤,路徑為/tmp/.tmp{21個隨機字母數(shù)字},它的運行均由rmgr_daemon管理4.rmgr_fake_sshd作為后門它硬編碼了PRIVATEKEY,因為通過patchELFhook了部分函數(shù),實現(xiàn)了ssh登錄之后的命令執(zhí)行等行為的隱匿。而rmgr_fake_sshd本身,以及ssh登錄派生的子進程均通過rmgr.ko根據前述分析通過patch內核調用實現(xiàn)隱匿。監(jiān)聽在本地的26657端口,rmgr_daemon連接此端口轉發(fā)來至C2的ssh指令。這里實現(xiàn)了擬合業(yè)務環(huán)境常用網絡協(xié)議,使得常規(guī)的NIDS的檢測邏輯被繞過。4.rmgr_fake_sshd實例隱蔽技術小結四、“雛鶯行動”分析雛鶯行動雛鶯行動攻擊流程雛鶯行動文檔內容雛鶯行動部分宏代碼內容雛鶯行動excel.txt的內容中包含了很多俄羅斯著名運動員的信息作為混淆,并在末尾處夾雜了一段PowerShell代碼,其功能為下載“pow.ps1”、“pork.txt”等后續(xù)載荷并執(zhí)行。雛鶯行動pow.ps1腳本中包含一個名為$load_string的變量,該變量使用Base64進行編碼,解碼后是一個.NET可執(zhí)行程序,經過分析為開源竊密程序修改而成雛鶯行動pork.txt中功能主要為下載pay.txt腳本,并使用FromBase64String解碼該腳本。解碼后的pay.txt,其中$var_code變量依舊是一段Base64編碼的字符串,并且該變量是經過異或加密的,解密密鑰為十進制的35雛鶯行動解碼異或$var_code變量,最后是一段ShellCode代碼,可以看到LoadLibraryA、VirtualAlloc等函數(shù)雛鶯行動反分析方法雛鶯行動受害者身份校驗部分會通過訪問/xml獲取IP地址信息,檢測受害者所在國家是否為烏克蘭雛鶯行動如果樣本通過反分析測試,首先根據PowerShell下發(fā)的user參數(shù)發(fā)送Telegrambot消息,告知攻擊者已經啟動雛鶯行動搜集瀏覽器信息雛鶯行動ShellCode分析雛鶯行動IoCs雛鶯行動本PPT是機械工業(yè)出版社出版的教材《網絡攻防原理與技術(第3版)》配套教學PPT(部分內容的深度和廣度比教材有所擴展),作者:吳禮發(fā),洪征,李華波本PPT可能會直接或間接采用了網上資源或公開學術報告中的部分PPT頁面、圖片、文字,引用時我們力求在該PPT的備注欄或標題欄中注明出處,如果有疏漏之處,敬請諒解。同時對被引用資源或報告的作者表示誠摯的謝意!本PPT可免費使用、修改,使用時請保留此頁。聲明第八章身份認證與口令攻擊內容提綱身份認證1口令行為規(guī)律和口令猜測2口令破解3口令防御4身份認證一個系統(tǒng)的安全性常常依賴于對終端用戶身份的正確識別與檢查。對計算機系統(tǒng)的訪問必須根據訪問者的身份施加一定的限制,這些是最基本的安全問題。身份認證一般涉及兩方面的內容:識別和驗證。識別:識別是指要明確訪問者是誰,即必須對系統(tǒng)中的每個合法用戶都有識別能力。要保證識別的有效性,必須保證任意兩個不同的用戶都不能具有相同的識別符。驗證:驗證是指在訪問者聲稱自己的身份后(向系統(tǒng)輸入它的識別符),系統(tǒng)還必須對它所聲稱的身份進行驗證,以防假冒。身份認證個人身份驗證方法可以分成四種類型:所知:驗證他知道什么,如密碼、口令所有:驗證他擁有什么,如身份證、護照、信用卡、智能門卡所在:驗證他在什么位置,如IP、辦公室地址用戶特征:驗證他的生物特征(如指紋、虹膜、DNA等)、行為特征(如擊鍵、筆跡)五種方式:口令認證信物認證地址認證用戶特征認證密碼學認證身份認證汪定2015:口令認證汪定2015:口令認證汪定2015:口令認證汪定2015:口令認證汪定2015:口令認證一、口令認證用戶在注冊階段生成用戶名和初始口令,系統(tǒng)在其用戶文件或數(shù)據庫中保存用戶的信息(用戶名和口令)。當用戶登錄認證時,將自己的用戶名和口令上傳給服務器,服務器通過查詢其保存的用戶信息來驗證用戶上傳的認證信息是否和保存的用戶信息相匹配。如果匹配則認為用戶是合法用戶,否則拒絕服務,并將認證結果回傳給客戶端。用戶定期改變口令,以保證安全性。這種口令因其實現(xiàn)簡單、使用方便,得到了廣泛的應用。靜態(tài)口令動態(tài)口令也稱為一次性口令,其基本原理:在用戶登錄過程中,基于用戶口令加入不確定因子,對用戶口令和不確定因子進行單向散列函數(shù)變換,所得的結果作為認證數(shù)據提交給認證服務器。認證服務器接收到用戶的認證數(shù)據后,把用戶的認證數(shù)據和自己用同樣的散列算法計算出的數(shù)值進行比對,從而實現(xiàn)對用戶身份的認證。動態(tài)口令按生成原理可分為非同步和同步兩種認證技術。非同步認證技術生成的動態(tài)口令主要是依據挑戰(zhàn)-響應原理來實現(xiàn)。同步認證技術包括與時間有關的時鐘同步認證技術和與時間無關的事件同步認證技術。動態(tài)口令分類動態(tài)口令認證過程挑戰(zhàn)—響應機制圖形口令圖形口令圖形口令二、密碼學認證常用的密碼學認證協(xié)議有一次性口令認證、基于共享密鑰的認證、基于公鑰證書的認證、零知識證明和標識認證等密碼學認證(一)一次性口令認證一次性口令(One-TimePassword,OTP),一般使用雙運算因子來實現(xiàn)固定因子,即用戶的口令或口令散列值動態(tài)因子,每次不一樣的因子,如時間,事件序列,挑戰(zhàn)/應答(challenge/response)。每種各有優(yōu)缺點一次性口令認證動態(tài)口令認證過程挑戰(zhàn)—響應機制一次性口令認證協(xié)議S/KEY:1991年貝爾通信研究中心研制S/KEY迭代值(IC)
種子(seed)
秘密口令散列函數(shù)f
64位OTP6個單詞(每個11位)2位檢驗和編碼基本原理S/KEY中,服務器產生挑戰(zhàn)(challenge)信息。挑戰(zhàn)信息由迭代值(IterationCount,IC)和種子(seed)組成。迭代值,指定散列計算的迭代次數(shù),為1~100之間的數(shù),每執(zhí)行一次挑戰(zhàn)/響應過程,IC減1(當IC為1時,則必須重新進行初始化)。種子由兩個字母和5個數(shù)字組成。例如,挑戰(zhàn)信息“05xa13783”表示迭代值為05,種子為“xa13783”??蛻舳耸盏教魬?zhàn)后,要將秘密口令與種子“xa13783”拼接后,做5次散列運算。S/KEY基本原理S/KEY中支持三種散列函數(shù),即MD4,MD5和SHA。OTP服務器將散列函數(shù)的固定輸出折疊成64位(OTP的長度)。64位OTP可以被轉換為一個由6個英文單詞組成的短語,每個單詞由1~4個字母組成,被編碼成11位,6個單詞共66位,其中最后2位(11*6-64=2)用于存儲校驗和。S/KEY基本原理S/KEY安全性分析用戶的秘密口令沒有在網絡上傳輸,傳輸?shù)闹皇且淮涡钥诹?,并且一次性口令即使在傳輸過程中被竊取,也不能再次使用;客戶端和服務器存儲的是用戶秘密口令的散列值,即使客戶端和服務器被攻陷導致口令散列值被竊取,也需破解口令散列才能獲得明文口令S/KEY安全性分析用戶登錄一定次數(shù)后,客戶和服務器必須重新初始化口令序列;為了防止重放攻擊,系統(tǒng)認證服務器具有唯一性,不適合分布式認證單向認證(即服務器對客戶端進行認證),不能保證認證服務器的真實性S/KEY使用的種子和迭代值采用明文傳輸,攻擊者可以利用小數(shù)攻擊來獲取一系列口令冒充合法用戶S/KEY小數(shù)攻擊原理S/KEY改進的S/KEY協(xié)議核心思想:不在網絡中傳輸一次性口令散列值。使用用戶的口令散列對挑戰(zhàn)進行散列,并將計算結果發(fā)送給服務器。服務器收到后,同樣使用服務器保存的用戶口令散列對挑戰(zhàn)進行散列計算,并與客戶端發(fā)來的應答進行比較,如果相同則認證通過,否則拒絕Windows2000及其之后版本中的NTLM認證所實現(xiàn)的挑戰(zhàn)/響應機制就使用了這個改進的S/KEY協(xié)議S/KEY改進的S/KEY?WindowsNTLM改進的S/KEY(2)WindowsNTLM改進的S/KEY(1)(2)(3)(4)WindowsNTLM(另一張參考圖)改進的S/KEY安全性分析:用戶很容易求出正確的一次性口令,采用一次性口令的匹配通過服務器的身份認證;攻擊者即使截獲一次性口令,也不能破解出用戶口令散列;攻擊者不能預測下一次一次性口令,也不能重放成功。改進的S/KEY協(xié)議安全性分析:能夠避免監(jiān)聽和重放,但不能防范攔截和修改數(shù)據包、會話劫持等攻擊。
網絡系統(tǒng)的安全僅等同于使用的最弱散列算法的安全強度。
沒有完整性保護機制,也無法防范內部攻擊。不能對服務器的身份進行認證。改進的S/KEY協(xié)議(二)其于共享密鑰的認證Needham-Schroeder雙向鑒別協(xié)議問題1:執(zhí)行完上述三個步驟后,A和B已得到了由KDC分配的一次性會話密鑰,可用于后續(xù)的保密通信,為什么還要增加后面兩個步驟?問題2:第(5)步中,為什么要問個題f(N2),而不是直接用N2?Needham-Schroeder雙向鑒別協(xié)議安全性分析及改進思路Needham-Schroeder雙向鑒別協(xié)議內容提綱身份認證1口令行為規(guī)律和口令猜測2口令破解3口令防御4從直覺到理論口令規(guī)律口令有什么科學規(guī)律嗎?著名口令安全研究專家汪定教授所在團隊的研究成果口令規(guī)律文獻[52]對8個知名的真實口令集(如表8-2所示)進行了全面系統(tǒng)的分析,總結出3類脆弱口令行為:口令構造的偏好性選擇、口令重用、基于個人信息構造口令脆弱口令行為口令構造的偏好性選擇:國民口令脆弱口令行為口令構造的偏好性選擇:國民口令中文國民口令多為純數(shù)字,而英文國民口令多含有字母,這體現(xiàn)了語言對口令行為的影響。高達1.01%~10.44的用戶選擇流行的10個口令,這意味著攻擊者只需嘗試10個流行的口令,其成功率就會達到1.01%~10.44脆弱口令行為口令構造的偏好性選擇:國民口令英文網民傾向于用某些單詞和短語,有25.88%的網民會將5個字母以上的單詞作為密口令,如password、letmein(意為“讓我登錄”)、sunshine、princess,當然也包括“abcdef”,“abc123”以及“123456”這樣的國民口令。而中文網民只有2.41%使用英文單詞作為口令,但他們更喜歡用拼音名字(11.50%),尤其是全名。脆弱口令行為口令構造的偏好性選擇:國民口令一些基于英文字母的所謂“強”密碼可能在中文環(huán)境中很弱,比如“woaini1314”,這個密碼在谷歌、新浪微博等網絡平臺均被評為強等級,然而中文網絡用戶很容易猜到這個密碼的含義。脆弱口令行為口令構造的偏好性選擇:口令服從Zipf分布脆弱口令行為圖8-6人類生成的口令服從Zipf分布(源自文獻[52]圖1)口令構造的偏好性選擇:口令字符構成脆弱口令行為表8-4中英文用戶口令的字符組成結構(文獻[52]的表3,表中數(shù)據單位為%)口令構造的偏好性選擇:口令長度脆弱口令行為表8-5中英文用戶口令的長度分布(文獻[52]的表4,表中數(shù)據單位為%)口令重用:為了方便記憶,用戶不可避免地使用流行密碼,在不同網站重復使用同一個密碼,同時在密碼中嵌入個人相關信息,如姓名和生日等長久以來,用戶的口令重用被認為是不安全的,所以應當避免。但是,近年的研究發(fā)現(xiàn),面對如此多需要管理的賬號,重用口令是用戶理智的做法,關鍵是如何重用口令。只有跨不同安全級(或重要程度)的賬戶重用口令,才應努力避免的脆弱口令行為口令重用:根據文獻[52]給出的結果:只有約30%的用戶重用口令時進行簡單修改(即新舊口令的相似度在[0.8,1]),絕大用戶的新舊口令的相似度小于0.8,也就是進行了比較大的修改;中文用戶的口令中,約有40%以上間接重用的口令的相似度在[0.7,1]之間,而英文口令的這一比例為20%,說明中方用戶的口令重用問題更嚴重脆弱口令行為基于個人信息構造口令用戶在構造時喜歡使用姓名、生日、身份證號、電話號碼、電子郵件前綴、地名等個人信息脆弱口令行為表8-612306網站個人信息使用頻率(文獻[52]的表6,表中數(shù)據單位為%)基于個人信息構造口令用戶在構造時喜歡使用姓名、生日、身份證號、電話號碼、電子郵件前綴、地名等個人信息脆弱口令行為表8-7各類姓名的使用頻率(文獻[52]的表7,表中數(shù)據單位為%)韓偉力2016:中國人口令特點韓偉力2016:中國人口令特點韓偉力2016:中國人口令特點Ifshe/heusesletters:Ifshe/heusespinyin韓偉力2016:中國人口令特點汪定2015:中國用戶口令特征汪定2015:中國用戶口令特征汪定2015:中國用戶口令特征汪定2015:中國用戶口令特征汪定2015:中國用戶口令特征根據口令破解過程中是否需要連網,口令猜測算法分為在線破解(OnlineGuessing)和離線破解(OfflineGuessing)根據攻擊過程中是否利用用戶個人信息,口令猜測算法可以分為漫步攻擊(TrawlingAttacking)和定向攻擊(TargetedAttacking)口令猜測漫步攻擊基本思想:不關心攻擊對象的信息,而只關注在允許的猜測次數(shù)內,猜測出更多的口令?;赑CFG的算法和Markov算法是目前主流的2種漫步攻擊算法口令猜測漫步攻擊口令猜測圖8-7PCFG算法的訓練過程(文獻[52]的圖5)漫步攻擊馬爾科夫(Markov)算法是由Narayanan和Shmatikov等人于2005年提出的一種基于Markov模型的口令猜測算法,算法的核心假設是:用戶構造口令從前向后依次進行。因此,算法對整個口令進行訓練,通過從左到右的字符之間的聯(lián)系來計算口令的概率口令猜測漫步攻擊相關測試結果表明,PCFG算法在小猜測次數(shù)下(即在線猜測攻擊)最優(yōu),Markov算法在大猜測次數(shù)下(即離線猜測攻擊)開始顯示優(yōu)勢,NLP攻擊效果介于PCFG和Markov之間口令猜測漫步攻擊汪定團隊的研究顯示,中文網民的密碼在小猜測次數(shù)下(即在線猜測)更弱。因此,應針對中文用戶采取特別的密碼保護措施口令猜測定向攻擊盡可能以最快速度猜測出所給定目標(如網站、個人電腦)的口令。因此,攻擊者會利用與攻擊對象相關的個人信息(人口學相關信息),增強猜測的針對性除了用戶的人口學相關信息外,用戶在其他網站或系統(tǒng)中泄露的口令也可以被攻擊者利用來進行定向攻擊口令猜測定向攻擊2016:汪定等人首次提出了基于Markov鏈的定向攻擊猜測算法:Targeted-Markov算法。該算法的基本思想是:人群中有多少比例使用某種個人信息,那么攻擊對象也有同樣可能使用該個人信息。將個人信息分為6大類:用戶名A、郵箱前綴E、姓名N、生日B、手機號P和身份證G口令猜測定向攻擊基
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度土地承包經營權續(xù)包與調整合同模板4篇
- 2025年度商鋪租賃合同環(huán)保與節(jié)能條款規(guī)范4篇
- 2025年伊捷卡項目可行性研究報告
- 2025年江西宜春公交集團有限公司招聘筆試參考題庫含答案解析
- 2025年浙江嘉興興港熱網有限公司招聘筆試參考題庫含答案解析
- 2025年安徽亳州市蒙城縣城投集團招聘筆試參考題庫含答案解析
- 2025年浙江余杭旅游集團有限公司招聘筆試參考題庫含答案解析
- 2025年浙江國企杭州建德市公共交通運輸有限公司招聘筆試參考題庫附帶答案詳解
- 漳州理工職業(yè)學院《教學技能培訓》2023-2024學年第一學期期末試卷
- 張家口職業(yè)技術學院《智慧供應鏈管理實訓》2023-2024學年第一學期期末試卷
- 2024年人教版小學三年級信息技術(下冊)期末試卷附答案
- 中國子宮內膜增生管理指南(2022)解讀
- 應征公民政治考核表(含各種附表)
- 2024年第九屆“鵬程杯”五年級語文邀請賽試卷
- 名師成長論名師成長的模式、機制和規(guī)律研究
- FSSC22000V6.0變化點和文件修改建議
- 2024年高一年級上冊語文期末復習:語言文字運用Ⅰ刷題練習題(含答案)
- 新蘇教版三年級下冊科學全冊知識點(背誦用)
- 鄉(xiāng)鎮(zhèn)風控維穩(wěn)應急預案演練
- 腦梗死合并癲癇病人的護理查房
- 成都銀行貸款合同
評論
0/150
提交評論