計算機網(wǎng)絡安全原理(第2版)課件 第14章 惡意代碼_第1頁
計算機網(wǎng)絡安全原理(第2版)課件 第14章 惡意代碼_第2頁
計算機網(wǎng)絡安全原理(第2版)課件 第14章 惡意代碼_第3頁
計算機網(wǎng)絡安全原理(第2版)課件 第14章 惡意代碼_第4頁
計算機網(wǎng)絡安全原理(第2版)課件 第14章 惡意代碼_第5頁
已閱讀5頁,還剩226頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第十四章惡意代碼內容提綱2木馬的工作原理3木馬隱藏技術4惡意代碼概述1惡意代碼檢測與防御一、定義惡意代碼(maliciouscode):執(zhí)行惡意功能的計算機代碼不同廠商(或學術機構)在惡意代碼的分類(一般都包括病毒、蠕蟲和木馬,其它的則有所不同)和定義上有所不同不同時間段內,惡意代碼的分類和定義也會有變化惡意代碼美國科恩博士(最早定義):計算機病毒是一種計算機程序,它通過修改其他程序把自己的一個拷貝或演化的拷貝插入到其他程序中實施感染傳染特性,即病毒可以自我繁殖演化特性,即病毒在感染過程中可以改變自身的一些特征,以逃避查殺計算機病毒賽門鐵克PeterSzor給出定義:計算機病毒是一種計算機程序,它遞歸地、明確地復制自己或其演化體?!懊鞔_遞歸”來區(qū)別病毒與正常程序的復制過程,“遞歸”反映了一個文件在被病毒感染以后會進一步感染其他文件,“明確”強調了自我復制是病毒的主要功能。計算機病毒《中華人民共和國計算機信息系統(tǒng)安全保護條例》(1994.2.18)的第二十八條:“計算機病毒,是指編制或者在計算機程序中插入的破壞計算機功能或者毀壞數(shù)據(jù),影響計算機使用,并能自我復制的一組計算機指令或者程序代碼”。計算機病毒幾個典型特性傳染性潛伏性可觸發(fā)性寄生性非授權執(zhí)行性破壞性計算機病毒典型計算機病毒基于功能模塊引導模塊搜索模塊感染模塊表現(xiàn)模塊標識模塊計算機病毒計算機蠕蟲(Worm):一種可以獨立運行,并通過網(wǎng)絡傳播的惡性代碼。具有計算機病毒的一些特性,如傳播性、隱蔽性、破壞性等,但蠕蟲也具有自己的特點,如漏洞依賴性等,需要通過網(wǎng)絡系統(tǒng)漏洞進行傳播,另外蠕蟲也不需要宿主文件,有的蠕蟲甚至只存在于內存中計算機蠕蟲典型計算機蠕蟲基于功能模塊搜索模塊攻擊模塊傳輸模塊負載模塊控制模塊計算機蠕蟲計算機木馬RFC1244(RequestforComments:1244)中是這樣描述木馬的:

“木馬是一種程序,它能提供一些有用的,或是僅僅令人感興趣的功能,但是它還有用戶所不知道的其他功能,例如在你不了解的情況下拷貝文件或竊取你的密碼。”

計算機木馬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萬個網(wǎng)絡惡意shell,相比去年報告的7.7萬個,幾乎翻了一倍其它:一句話木馬討論:一句話木馬是不是無文件木馬?計算機木馬病毒、蠕蟲、木馬的區(qū)別惡意代碼二、惡意代碼概念的演變2000年以前:病毒時代背景:DOS退場,Windows9x/NT廣泛應用,促進了網(wǎng)絡應用進入日常生活中在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:地下經(jīng)濟運作日趨“成熟”,基于木馬的黑色產(chǎn)業(yè)鏈2007年上半年:毒王“AV終結者”惡意代碼概念的發(fā)展史2010~2020:虛擬貨幣和隱秘網(wǎng)絡帶動的勒索新對抗2013年開始,勒索軟件、挖礦木馬逐步泛濫2016:Mirai爆發(fā),致癱Dyn2017:WannaCry全球大爆發(fā)2019:WannaMine挖礦木馬爆發(fā)惡意代碼概念的發(fā)展史傳統(tǒng)意義上的病毒越來越少,當前主流惡意代碼形式是木馬(占絕大多數(shù))和蠕蟲不同惡意代碼形式的界限越來越模糊,采用的技術有融合的趨勢惡意代碼360惡意代碼惡意代碼種類

2007年下半年新增病毒的比例(瑞星)惡意代碼種類

2018年CNCERT中國互聯(lián)網(wǎng)網(wǎng)絡安全報告惡意代碼種類

2019年CNCERT中國互聯(lián)網(wǎng)網(wǎng)絡安全報告惡意代碼種類

2019年CNCERT中國互聯(lián)網(wǎng)網(wǎng)絡安全報告內容提綱2木馬的工作原理3木馬的隱藏技術4惡意代碼概述1惡意代碼檢測與防御遠程控制木馬木馬體系結構:C/S架構,木馬程序+控制端程序木馬程序即是服務器端程序??刂贫顺绦蜃鳛榭蛻舳?,用于攻擊者遠程控制被植入木馬的機器。遠程控制木馬與遠程控制軟件的區(qū)別?隱蔽性:木馬被隱藏,避免被發(fā)現(xiàn);非授權性:木馬程序不經(jīng)授權控制主機遠程控制木馬的運行步驟遠程控制木馬進行網(wǎng)絡入侵的過程:配置木馬傳播木馬啟動木馬建立連接遠程控制配置木馬:通信配置:監(jiān)聽端口、DNS、IP等功能配置:文件讀取、鍵盤監(jiān)聽、截屏等安裝配置:安裝路徑、文件名、是否刪除安裝文件、注冊表啟動項等配置木馬案例:冰河木馬的配置界面配置木馬遠程控制木馬的運行步驟遠程控制木馬進行網(wǎng)絡入侵的過程:配置木馬傳播木馬啟動木馬建立連接遠程控制傳播木馬:木馬植入木馬植入技術可以大概分為主動植入與被動植入兩類。主動植入:攻擊者主動將木馬程序種到本地或者是遠程主機上,這個行為過程完全由攻擊者主動掌握。被動植入:攻擊者預先設置某種環(huán)境,然后被動等待目標系統(tǒng)用戶的某種可能的操作,只有這種操作執(zhí)行,木馬程序才有可能植入目標系統(tǒng)。1、主動植入主動植入一般需要通過某種方法獲取目標主機的一定權限,然后由攻擊者自己動手進行安裝。按照目標系統(tǒng)是本地還是遠程的區(qū)分,這種方法又有本地安裝與遠程安裝之分。1、主動植入由于在一個系統(tǒng)植入木馬,不僅需要將木馬程序上傳到目標系統(tǒng),還需要在目標系統(tǒng)運行木馬程序,所以主動植入需要具有目標系統(tǒng)的寫權限和可執(zhí)行權限。如果僅僅具有寫權限,只能將木馬程序上傳但不能執(zhí)行,這種情況屬于被動植入,因為木馬仍然需要被動等待以某種方式被執(zhí)行。(1)本地安裝本地安裝就是直接在本地主機上進行安裝。一個人很難確保除了自己之外自己的計算機不會被其他人使用。而在經(jīng)常更換使用者的公共場所(如網(wǎng)吧、飯店、賓館、咖啡店等)的計算機上,這種安裝木馬的方法更是非常普遍、有效。(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):網(wǎng)頁瀏覽植入利用電子郵件植入利用網(wǎng)絡下載植入利用即時通工具植入與其它程序捆綁利用移動存儲設備植入(1)網(wǎng)頁瀏覽植入網(wǎng)頁瀏覽傳播:利用Script/ActiveX控件/JavaApplet等編寫出一個HTML網(wǎng)頁,當我們?yōu)g覽該頁面時,會在后臺將木馬程序下載到計算機緩存中,然后修改系統(tǒng)注冊表,使相關鍵值指向“木馬”程序。還可以利用瀏覽器的已知或者未知的漏洞,把木馬下載到本機并運行。水坑攻擊(Wateringhole):在受害者必經(jīng)之路設置一個“水坑(陷阱)”。最常見的做法是,黑客分析攻擊目標的上網(wǎng)活動規(guī)律,尋找攻擊目標經(jīng)常訪問的網(wǎng)站的弱點,先將此網(wǎng)站“攻破”并植入攻擊代碼,一旦攻擊目標訪問該網(wǎng)站就會“中招”(2)水坑攻擊2020.2.19:黑客利用后門對香港iOS用戶發(fā)起水坑攻擊(2)水坑攻擊威瑞森的報告顯示,94%的惡意軟件通過電子郵件傳播,排名第一的社會工程攻擊是網(wǎng)絡釣魚(3)利用電子郵件植入(3)利用電子郵件植入電子郵件(E-mail)進行傳播:攻擊者將“木馬”程序偽裝成E-mail附件的形式發(fā)送出去,收信人只要查看郵件附件就會使“木馬”程序得到運行并安裝進入系統(tǒng)。通過在郵件內容內嵌WSH(WindowsScriptsHost)腳本,用戶不需要打開附件,僅僅瀏覽一下郵件的內容,附件中的木馬就會被執(zhí)行。附件文檔中不包含惡意代碼,而是下載惡意代碼的鏈接例一例二惡意Office文件樣本不利用漏洞,也未包含可疑的宏或VBA等操作,而是單純的利用XML連接外部開啟另一個惡意文件例三利用電子郵件植入(4)網(wǎng)絡下載植入一些非正規(guī)的網(wǎng)站以提供軟件下載為名,將木馬程序偽裝成用戶所希望的其它軟件,當用戶下載安裝時,實際上所安裝的是木馬程序。(5)利用即時通工具植入即時通工具有文件傳輸功能,所以現(xiàn)在也有很多木馬通過它傳播。攻擊者通常把木馬服務器程序通過合并軟件和其他的可執(zhí)行文件綁在一起,然后騙你說是一個好玩的東東或者是漂亮MM的照片,你接受后運行的話,你就成了木馬的犧牲品了。(6)與其它程序或文檔捆綁將木馬與其它軟件捆綁,用戶在下載安裝其它軟件時就不自覺地也安裝了木馬,這種情況下用戶很難察覺。攻擊者還可以在.doc、.ppt、.rar、.zip、.mpg、.pdf等文件中插入惡意代碼,當用戶打開這些文檔時,就會被植入木馬。例:圖片木馬有一種圖片木馬,利用用戶認為圖片文件不可執(zhí)行,因此不可能是木馬這樣的心理來欺騙受害者。實際上這是一個后綴名的小把戲。由于Windows系統(tǒng)默認不顯示已經(jī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“擺渡”木馬①植入外網(wǎng)主機“擺渡”木馬①植入外網(wǎng)主機②植入移動設備“擺渡”木馬①植入外網(wǎng)主機②植入移動設備③植入內網(wǎng)主機“擺渡”木馬①植入外網(wǎng)主機②植入移動設備③植入內網(wǎng)主機④敏感信息收集“擺渡”木馬①植入外網(wǎng)主機②植入移動設備③植入內網(wǎng)主機④敏感信息收集⑤敏感信息轉移“擺渡”木馬①植入外網(wǎng)主機②植入移動設備③植入內網(wǎng)主機④敏感信息收集⑤敏感信息轉移⑥敏感信息泄露2015.12.2夜間:安天監(jiān)控預警體系感知到如下線索:某知名作家在新浪微博發(fā)布消息,曝光有人以發(fā)送“采訪提綱”為借口,利用微博私信功能,發(fā)送惡意代碼鏈接。(8)社會工程學2015.12.2夜間:安天監(jiān)控預警體系感知到如下線索:某知名作家在新浪微博發(fā)布消息,曝光有人以發(fā)送“采訪提綱”為借口,利用微博私信功能,發(fā)送惡意代碼鏈接。(8)社會工程學(8)社會工程學無論是原始微博截圖中的頭像、微博兩條搜索結果顯示的圖像,還是百度網(wǎng)盤的頭像,相似度都非常高,讓人真假難辨。(8)社會工程學幸運的是,沒有微博名人中招?。?)社會工程學社會工程學(8)社會工程學通過云應用投放惡意代碼遠程控制木馬的運行步驟遠程控制木馬進行網(wǎng)絡入侵的過程:配置木馬傳播木馬啟動木馬建立連接遠程控制自動加載技術木馬程序在被植入目標主機后,不可能寄希望于用戶雙擊其圖標來運行啟動,只能不動聲色地自動啟動和運行,攻擊才能以此為依據(jù)侵入被侵主機,完成控制。自動加載技術在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工具包(其中包含的工具可能會根據(jù)用戶使用的Windows版本而有所不同)中的程序instsrv.exe常常被木馬用來創(chuàng)建系統(tǒng)服務,服務的管理和配置可以通過程序sc.exe來實施。這樣每當Windows系統(tǒng)啟動時,即使沒有用戶登錄,木馬也會自動開始工作。作為服務啟動的木馬往往隱蔽性更強,一般用戶很難從服務中找出木馬程序(4)修改文件打開關聯(lián)屬性通常對于一些常用的文件如.txt文件,只要雙擊文件圖標就能打開這個文件。這是因為在系統(tǒng)注冊表中,已經(jīng)把這類文件與某個程序關聯(lián)起來,只要用戶雙擊該類文件,系統(tǒng)就自動啟動相關聯(lián)的程序來打開文件。修改文件打開關聯(lián)屬性是木馬程序的常用手段。比如:正常情況下.txt文件的打開方式為notepad.exe文件,而木馬可能將這類文件的關聯(lián)程序修改為木馬程序,這樣只要打開此類文件,就能在無意中啟動木馬。案例:冰河木馬。例:冰河的自動加載方法

HKEY_CLASSES_ROOT根鍵中記錄的是Windows操作系統(tǒng)中所有數(shù)據(jù)文件的信息,主要記錄不同文件的文件名后綴和與之對應的應用程序。

“冰河”就是通過修改HKEY_CLASSES_ROOT\txtfile\shell\open\command下的鍵值,將“C:\WINDOWS\NOTEPAD.EXE%1”

改為“C:\WINDOWS\SYSTEM\SYSEXPLR.EXE%1”,這樣一旦你雙擊一個TXT文件,原本應用Notepad打開該文件的,現(xiàn)在卻變成啟動木馬程序了。

不同版本W(wǎng)indows系統(tǒng)的鍵名有差異!修改文件打開關聯(lián)不僅僅是TXT文件,其它諸如HTM、ZIP、RAR等都是木馬的目標。對付這類木馬,只能經(jīng)常檢查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)木馬服務器端功能。現(xiàn)代操作系統(tǒng)對此已有防護,已很難實施有些木馬需要系統(tǒng)重啟后運行或提升權限,如何做到?(10)其它遠程控制木馬的運行步驟遠程控制木馬進行網(wǎng)絡入侵的過程:配置木馬傳播木馬啟動木馬建立連接遠程控制建立連接木馬控制端木馬服務端InternetIntranet控制流木馬的常規(guī)通信方式建立連接A控制端A服務端1037762676266016(1)建立連接前(2)獲取服務端IP(3)木馬連接建立通過信息反饋或IP掃描獲得服務器IP地址木馬端口(服務端IP)(控制端IP)服務端口遠程控制木馬的反彈技術控制端感染木馬的主機優(yōu)點:解決動態(tài)IP地址的問題;解決內網(wǎng)地址的問題;繞過防火墻的限制;缺點:容易暴露控制端反彈遠程控制木馬的運行步驟遠程控制木馬進行網(wǎng)絡入侵的過程:配置木馬傳播木馬啟動木馬建立連接遠程控制遠程控制技術木馬連接建立后,客戶端端口和服務器端口之間將會出現(xiàn)一條通道,客戶端程序可由這條通道與服務器上的木馬程序取得聯(lián)系,并對其進行遠程控制,主要包括:獲取目標機器信息記錄用戶事件遠程操作(1)獲取目標機器信息木馬的一個主要功能就是竊取被控端計算機的信息,然后再把這些信息通過網(wǎng)絡連接傳送到控制端。一般來講,獲取目標機器信息的方法就是調用相關的API,通過函數(shù)返回值,進行分解和分析有關成分,進而得到相關信息。(2)記錄用戶事件木馬程序為了達到控制目標主機的目的,通常想知道目標主機用戶目前在干什么,于是記錄用戶事件成了木馬的又一主要功能。其一是記錄被控端計算機的鍵盤和鼠標事件,形成一個文本文件,然后把該文件發(fā)送到控制端,控制端用戶通過查看文件的方式了解被控端用戶打開了哪些程序,敲了那些鍵;其二是在被控端抓取當前屏幕,形成一個位圖文件,然后把該文件發(fā)送到控制端顯示,從而通過抓取得屏幕知道目標用戶的操作行為。(3)遠程操作遠程操作重啟被控制端計算機,或者強制關閉遠程計算機,當被控制計算機重新啟動時,木馬程序重新獲得控制權。木馬使用者通過網(wǎng)絡控制被控端計算機的鼠標和鍵盤,也可以通過這種方式啟動或停止被控端的應用程序。對遠程的文件進行管理,比如共享被控端的硬盤,之后就可以進行任意的文件操作。內容提綱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ù)據(jù),保護木馬進程不被發(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ù)據(jù)包后,才調用木馬程序。端口復用是重復使用系統(tǒng)中已經(jīng)開啟的端口,從而繞過防火墻的攔截。4、通信隱藏端口監(jiān)聽的缺點:木馬在等待和運行的過程中,始終向外界打開著一個端口,容易暴露。不使用端口:利用非TCP/UDP協(xié)議,如ICMP協(xié)議。在沒有激活時是沒有端口開放的,ICMP木馬監(jiān)聽ICMP報文,當出現(xiàn)特殊報文時,它打開TCP端口等待控制端的連接。4、通信隱藏:非端口木馬一定要直接與其控制者通信嗎?通過中間方交換信息電子郵件網(wǎng)盤網(wǎng)頁4、通信隱藏案例:灰鴿子木馬技術小結近年來,木馬技術取得了較大的發(fā)展,目前已徹底擺脫了傳統(tǒng)模式下植入方法原始、通信方式單一、隱蔽性差等不足。借助一些新技術,木馬不再依賴于對用戶進行簡單的欺騙,也可以不必修改系統(tǒng)注冊表,不開新端口,不在磁盤上保留新文件,甚至可以沒有獨立的進程,這些新特點使對木馬的查殺變得愈加困難,與此同時卻使得木馬的功能得到了大幅提升。內容提綱2木馬的工作原理3木馬的隱藏技術4惡意代碼概述1惡意代碼檢測及防御靜態(tài)檢測(特征檢測):根據(jù)惡意代碼的特征碼(代碼散列碼、代碼中的關鍵字、字節(jié)串、特定端口等)進行檢測動態(tài)檢測:根據(jù)惡意代碼執(zhí)行后的異常行為進行檢測惡意代碼檢測惡意代碼檢測:特征檢測惡意代碼檢測:特征檢測惡意代碼檢測:特征檢測惡意代碼檢測:特征檢測惡意代碼檢測:特征檢測將惡意代碼中的某段特有的十六進制字節(jié)碼或字符串(如某個特定的域名或IP地址)作為特征碼,如Monkey病毒代碼中的十六進制字節(jié)碼“8BFB%%B90002%%268A0534??AAE2F8”惡意代碼檢測:特征檢測特征碼檢測技術的主要優(yōu)點是簡單、檢測速度快、準確率高,不足:不能檢測未知惡意軟件,對于惡意代碼變體的容忍度也很低,稍微變形便無法識別;用戶需要不斷地升級(離線或在線)殺毒軟件特征庫,同時隨著特征庫越來越大,檢測的效率會越來越低。惡意代碼檢測:特征檢測動態(tài)檢測技術基于定義的惡意代碼異常行為規(guī)則,實時監(jiān)控進程的動態(tài)行為,當發(fā)現(xiàn)有違犯規(guī)則的行為出現(xiàn),則給出異常告警。這些行為主要包括:文件行為進程行為網(wǎng)絡行為注冊表行為惡意代碼檢測:動態(tài)檢測與特征碼靜態(tài)檢測技術相比,動態(tài)檢測技術能夠檢測未知惡意代碼、惡意代碼的變種,不足:產(chǎn)生的誤報率較高,且不能識別出病毒的名稱和類型等。惡意代碼檢測:動態(tài)檢測沙箱檢測:在沙箱(Sandbox)中運行木馬,觀察其行為,應對加殼、多態(tài)、功能代碼動態(tài)生成、隱蔽通信等各種逃避檢測的技術惡意代碼檢測:動態(tài)檢測沙箱檢測:惡意代碼檢測:動態(tài)檢測機器學習:應對海量惡意代碼的檢測惡意代碼檢測:機器學習方法常見的用于惡意代碼檢測的機器學習算法有:普通機器學習方法,如支持向量機(SVM)、隨機森林(RF)、樸素貝葉斯(NB)等深度機器學習算法,如深度神經(jīng)網(wǎng)絡(DNN)、卷積神經(jīng)網(wǎng)絡(CNN)、長短時記憶網(wǎng)絡,LSTMN)、圖卷積網(wǎng)絡(GCN)等惡意代碼檢測:機器學習方法Kaspersky:用機器學習方法檢測惡意樣本惡意代碼檢測:機器學習方法Kaspersky:精簡機器學習檢測模型惡意代碼檢測:機器學習方法優(yōu)勢在大規(guī)模樣本檢測能力,不足:檢測的準確率還有待提高、對計算能力的要求比較高、有監(jiān)督機器學習方法中的樣本標注問題等,同時近幾年越來越多的對機器學習算法進行攻擊的研究,如對抗樣本,表明少量精心設計的樣本即可導致機器學習檢測算法出錯。惡意代碼檢測:機器學習方法惡意代碼防范雖然惡意代碼隱蔽性強,種類多,攻擊者也設法采用各種隱藏技術來增加被用戶檢測到的難度,但由于惡意代碼實質上是一個程序,必須運行后才能工作,所以會在計算機的文件系統(tǒng)、系統(tǒng)進程表、注冊表、系統(tǒng)文件和日志等中留下蛛絲馬跡,用戶可以通過“查、堵、殺”等方法檢測和清除惡意代碼。惡意代碼防范常用的防范惡意代碼措施:及時修補漏洞,安裝補丁培養(yǎng)風險意識,不使用來歷不明的軟件不打開可疑短信、郵件及其附件安裝殺毒軟件且不關閉查殺功能,即時發(fā)現(xiàn),即時清除移動存儲設備:用前查殺關閉不必要的網(wǎng)絡端口和服務Webshell防范惡意代碼防范

本章小結討論更新:將源目錄下的所有文件(含子目錄)拷貝到目的目錄下問題一:360認為其是勒索病毒的可能原因是什么?問題二:360采用的是特征檢測還是異常檢測方法?作業(yè)參考內容一、木馬實例(冰河)冰河冰河開發(fā)于1999年,跟灰鴿子類似,在2005年中美黑客大戰(zhàn)中為中國黑客增了不少面子。作者:黃鑫(glacier,西安電子科大,2000底加盟安全焦點,開發(fā)了Xscan)包括兩個可運行的程序G_Server和G_Client,其中前者是木馬的服務器端,就是用來植入目標主機的程序,后者是木馬的客戶端,也就是木馬的控制臺。冰河客戶端界面冰河的主要功能自動跟蹤目標機屏幕變化(局域網(wǎng)適用)完全模擬鍵盤及鼠標輸入(局域網(wǎng)適用)記錄各種口令信息獲取系統(tǒng)信息限制系統(tǒng)功能遠程文件操作注冊表操作發(fā)送信息點對點通訊冰河的使用—連接服務器服務器端運行后,可以在控制臺上進行連接。單擊工具欄上的快捷按鈕“添加主機”,彈出如圖所示的對話框,輸入遠程主機的相關信息即可。冰河的使用—連接成功后的信息

連接成功后,則會顯示遠程主機上的信息如硬盤盤符等,如圖所示。冰河的使用—搜索服務器以上直接連接是一種方法,冰河還可以自動搜索已經(jīng)中了冰河木馬的主機,只需要簡單的設置即可。搜索服務器搜索到9冰河的使用(續(xù))在9中安裝了木馬服務器后,就可對這臺計算機進行操作了。冰河的功能非常強大,它有“文件管理器”和“命令控制臺”兩個選項卡。點擊“文件管理器”可以管理被入侵的電腦的硬盤。文件管理器文件管理器—下載文件冰河的使用(續(xù))單擊“命令控制臺標簽”,可以看到這里有眾多的功能。冰河的命令控制臺獲得系統(tǒng)信息和口令捕獲對方屏幕向對方發(fā)送信息管理對方的進程2024/7/22網(wǎng)絡入侵與防范講義172控制對方系統(tǒng)2024/7/22網(wǎng)絡入侵與防范講義173注冊表管理甚至可以對桌面等其它信息設置冰河的使用(總結)冰河幾乎可以對入侵的計算機進行完全的控制,完全可以當作一個遠程管理工具使用。二、木馬實例(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木馬技術

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論