1. 程式人生 > >2018-2019-2 網絡對抗技術 20165303 Exp4 惡意代碼分析

2018-2019-2 網絡對抗技術 20165303 Exp4 惡意代碼分析

直觀 註冊表 amp 能力 網絡連接 XML image strac 不成功

實踐目標

1.1是監控你自己系統的運行狀態,看有沒有可疑的程序在運行。

1.2是分析一個惡意軟件,就分析Exp2或Exp3中生成後門軟件;分析工具盡量使用原生指令或sysinternals,systracer套件。

1.3假定將來工作中你覺得自己的主機有問題,就可以用實驗中的這個思路,先整個系統監控看能不能找到可疑對象,再對可疑對象進行進一步分析,好確認其具體的行為與性質。

實驗內容

  • 一.系統運行監控(2分)

    (1)使用如計劃任務,每隔一分鐘記錄自己的電腦有哪些程序在聯網,連接的外部IP是哪裏。運行一段時間並分析該文件,綜述一下分析結果。目標就是找出所有連網的程序,連了哪裏,大約幹了什麽(不抓包的情況下只能猜),你覺得它這麽幹合適不。如果想進一步分析的,可以有針對性的抓包。

    (2)安裝配置sysinternals裏的sysmon工具,設置合理的配置文件,監控自己主機的重點事可疑行為。

  • 二.惡意軟件分析(1.5分)

分析該軟件在(1)啟動回連,(2)安裝到目標機(3)及其他任意操作時(如進程遷移或抓屏,重要是你感興趣)。該後門軟件

(3)讀取、添加、刪除了哪些註冊表項

(4)讀取、添加、刪除了哪些文件

(5)連接了哪些外部IP,傳輸了什麽數據(抓包分析)

課後問題

  • (1)如果在工作中懷疑一臺主機上有惡意代碼,但只是猜想,所有想監控下系統一天天的到底在幹些什麽。請設計下你想監控的操作有哪些,用什麽方法來監控。

首先就是監控自己系統中有哪些程序在運行,每個五分鐘或者十分鐘檢查一下系統中有哪些應用程序的進程,但是這個時間間隔也有可能會錯過一些進程,比如說每隔一小時才啟動一次的程序,有可能不會被記錄下來,要是他啟動時間特別短的話,還有就是監控一下遠程連接的IP地址和自己的IP地址,看一下連接到了哪裏,再看一下端口號,看看是那些應用程序在使用端口。

  • (2)如果已經確定是某個程序或進程有問題,你有什麽工具可以進一步得到它的哪些信息。

1.使用sysmon工具監控系統 2.使用VirusTotal分析惡意軟件 3.使用Process Monitor分析惡意軟件Process Monitor 是一款由 Sysinternals 公司開發的包含強大的監視和過濾功能的高級 Windows 監視工具,可實時顯示文件系統、註冊表、進程/線程的活動 4.使用Process Explorer分析惡意軟件Process Explorer是由Sysinternals開發的Windows系統和應用程序監視工具,目前已並入微軟旗下。不僅結合了Filemon(文件監視器)和Regmon(註冊表監視器)兩個工具的功能,還增加了多項重要的增強功能。包括穩定性和性能改進、強大的過濾選項、修正的進程樹對話框(增加了進程存活時間圖表)、可根據點擊位置變換的右擊菜單過濾條目、集成帶源代碼存儲的堆棧跟蹤對話框、更快的堆棧跟蹤、可在 64位 Windows 上加載 32位 日誌文件的能力、監視映像(DLL和內核模式驅動程序)加載、系統引導時記錄所有操作等。5.使用PEiD分析惡意軟件PEiD(PE Identifier)是一款著名的查殼工具,其功能強大,幾乎可以偵測出所有的殼,其數量已超過470 種PE 文檔 的加殼類型和簽名。6.使用systracer分析惡意軟件

實驗過程與內容

實驗一 使用schtasks指令監控系統

  • 使用管理員權限創建任務,命令如下schtasks /create /TN netstat5303 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"命令創建計劃任務netstat5303
    技術分享圖片
  • 其中,TN是TaskName的縮寫,我們創建的計劃任務名是netstat5303;sc表示計時方式,我們以分鐘計時填MINUTE;TR=Task Run,要運行的指令是 netstat -bn,b表示顯示可執行文件名,n表示以數字來顯示IP和端口。
  • 在C盤先創建一個TXT文件,然後把如下代碼寫入
    date /t >> c:\netstat5303.txt time /t >> c:\netstat5303.txt netstat -bn >> c:\netstat5303.txt
  • 然後修改後綴名改為.bat,使其成為一個腳本文件,我改的是netstat5303.bat
    技術分享圖片
  • 打開我的電腦,右鍵單擊管理,點擊任務計劃管理,再點擊任務計劃程序庫就可以看到自己剛剛創建的任務計劃
    技術分享圖片
  • 雙擊任務點擊編輯,將“程序或腳本”改為我們創建的netstat5303.bat批處理文件,確定即可。添加參數那裏需要把其他的數據都刪掉,在首界面要點擊使用最高權限運行,否則的話就可能在C盤中無法創建TXT文件,因為權限不夠,無法寫入
    技術分享圖片
  • 任務還有其他屬性,比如默認操作為“只有在計算機使用交流電源時才啟動此任務”,所有說在使用電池的時候你是無法啟動此任務的,這點要註意
  • 執行此任務一段時間後你就會在C盤裏面看見自己創建的netstat5303.txt
    技術分享圖片
  • 然後在Excel中把自己的數據進行系統性的分析,首先導入數據,點擊數據,選擇來自文本,找到自己的TXT,導入進去
    技術分享圖片
  • 選擇分隔符號,可以直接從第十行開始導入
    技術分享圖片

  • 分隔符號選為tab鍵和空格鍵

技術分享圖片

  • 列數據格式選為常規就可以了
    技術分享圖片
    然後就可以看到自己所創建的表格了,非常整齊
    技術分享圖片
  • 對表格進行統計做一些數據透視圖,然後就可以更直觀的看到那些應用程序進行了鏈接
    技術分享圖片
  • 從數據裏面看到發現winstore鏈接的次數最多,可能是因為我在後臺下載win10商店遊戲的緣故
  • 接下來的程序就是kbasesrv.EXE 他是金山旗下的一個軟件程序。該程序由金山旗下軟件靜默下載安裝到電腦裏,使用特定參數啟動並篡改首頁。用戶雙擊打開桌面的快捷方式,會啟動IE瀏覽器並訪問毒霸網址大全。但是我已經在好幾天前就已經把金山毒霸給卸載了,沒想到他還在啟動某些服務,說明卸載沒有卸載完全,讓人細思極恐,可以想象我們以前安裝的軟件好多都卸載不幹凈,然後就會導致系統運行的越來越慢。
  • 在接下來的就是QQ瀏覽器了,因為我用的就是QQ瀏覽器,做實驗的時候看一下參考,所以他在鏈接也比較正常了
  • 在接下來的就是迅雷了,但是我明明沒有啟動迅雷,但是他卻在運行,這就讓人琢磨不透了,他究竟是如何啟動的,什麽時候啟動的。
  • 下面一張圖就是本地鏈接的地址了
    技術分享圖片
    可以看到用的最多的就是127.0.0.1和192.168.1.155這應該是我的本機的地址
  • 再下來就是我的電腦連接的外部的IP地址了
    技術分享圖片
  • 發現鏈接的最多的就是60.221.218.74放到百度看一下這是哪裏,這是山西臨汾的一個地址

技術分享圖片

  • 接下來的121.29.54.199這是河北省石家莊市 聯通不是太能看出來究竟是哪裏的服務器
    這個實驗到這裏基本上就結束了

實驗二 系統監控——Sysmon工具

  • Sysmon是微軟Sysinternals套件中的一個工具,能監控幾乎所有的重要操作。
  • 首先我們根據實驗指導書中的鏈接下載一下Sysinternals套件,下載下來之後解壓到c盤或者什麽地方都可以,只要方便即可
  • 接下裏,我們來新建並編輯配置文件C:\20165303.xml exclude相當於白名單,裏面的程序或IP不會被記錄,include相當於黑名單,可以把自己想監控的寫到黑名單中~
  • 這是我編輯的我自己的xml文件
<Sysmon schemaversion="3.10">
  <!-- Capture all hashes -->
  <HashAlgorithms>*</HashAlgorithms>
  <EventFiltering>
    <!-- Log all drivers except if the signature -->
    <!-- contains Microsoft or Windows -->
    <DriverLoad onmatch="exclude">
      <Signature condition="contains">microsoft</Signature>
      <Signature condition="contains">windows</Signature>
    </DriverLoad>
    
    <NetworkConnect onmatch="exclude">
      <Image condition="end with">chrome.exe</Image>
      <Image condition="end with">iexplorer.exe</Image>
      <SourcePort condition="is">137</SourcePort>
      <SourceIp condition="is">127.0.0.1</SourceIp>
    </NetworkConnect>

    <CreateRemoteThread onmatch="include">
      <TargetImage condition="end with">explorer.exe</TargetImage>
      <TargetImage condition="end with">svchost.exe</TargetImage>
      <TargetImage condition="end with">winlogon.exe</TargetImage>
      <SourceImage condition="end with">powershell.exe</SourceImage>
    </CreateRemoteThread>
  </EventFiltering>
</Sysmon>

技術分享圖片

  • 接下來使用命令sysmon.exe -i C:\20165303.xml進行Sysmon的配置更新與啟動
    技術分享圖片
  • 這是配置好的截圖,可以看到各種命令參數。
  • 接下來在win10環境下,左下角開始菜單右擊開始——事件查看器——應用程序和服務日誌——Microsoft————Windows——Sysmon——Operational。這裏,我們可以看到按照配置文件的要求記錄的新事件,以及事件ID、任務類別、詳細信息等等。
    技術分享圖片
  • 不同的事件有不同的識別碼
    事件識別碼1 :進程建立 事件識別碼2 :進程更改了文件創建時間 事件識別碼3 :網絡連接 事件識別碼4 : Sysmon服務狀態已變更 事件識別碼5 :進程已終止 事件識別碼6 :已載入驅動程式 事件識別碼7 :已載入影像 事件識別碼8 :創建遠程線程 事件識別碼9 : RawAccessRead 事件識別碼10 :進程訪問 事件識別碼11 :文件創建 事件識別碼12 :註冊事件(創建和刪除對象) 事件識別碼13 :註冊事件(值集) 事件識別碼14 :註冊事件(鍵和值重命名) 事件識別碼15 :文件創建流哈希 事件識別碼255 :錯誤

  • 觀察一個事件識別碼為3的詳細信息,可以看到這是一個有關QQ瀏覽器網絡連接的事件
    技術分享圖片

  • 觀察一個事件識別碼為5的詳細信息,可以看到這是一個有關搜狗輸入法的進程終止事件,可以想一下,應該是輸入終止了,然後搜狗輸入法結束了輸入進程
    技術分享圖片

  • 在觀察一個事件識別碼為1的詳細信息,可以看到這是有關QQ瀏覽器的進程建立的事件,應該就是qq瀏覽器重新進行了喚醒,然後建立了進程
    技術分享圖片

  • 然後我們打開我們的kali虛擬機,然後使用我們實驗三中的後門文件進行回連,然後觀察回連成功後的日誌
    技術分享圖片

  • 可以看到20165303wy.EXE後門程序創建了網絡連接,這應該就是後門回連的時候創建的網絡連接使用tcp連接,連接的目的IP地址為192.168.1.154,正是我的kali虛擬機的IP地址,端口也是我設置的5303端口,這詳細而又充分的體現了我們通過後門程序控制windows的過程!
    技術分享圖片

  • 接下來我們進行拍照看一下又創建了哪些進程,從圖上看到,啟動了driver,這應該是驅動進程,我猜想應該是啟動了相機的驅動程序,而且他的事件識別碼也是6,已載入驅動程式
    技術分享圖片

  • 接下來進行截屏的操作,從圖上看出來進行了網絡連接,應該是截了屏之後把數據傳過去了,所以才會有網絡連接,事件識別碼3 :網絡連接
    技術分享圖片

這個實驗差不多也分析完了,比較簡單的可以分析出來究竟他幹了些什麽,但是更深層次的就不是那麽容易分析了

實驗三 惡意軟件分析

  • 先把自己的後門軟件丟到網站上看一下究竟怎麽樣,發現能被檢測出來的概率還是挺大的
    技術分享圖片

  • 首先下載systracer,在網上找了一個中文版的,哈哈哈英文版看不太懂https://pan.baidu.com/s/17z9wW_ieYEJCJfz7ky8PQA#list/path=%2Fsharelink3890020941-823790193933702%2F20451&parentPath=%2Fsharelink3890020941-823790193933702這是百度雲的鏈接,想要的同學可以直接下載一下就能用了
  • 我是在win7虛擬機和kali裏面做的,英win7虛擬機的文件比較少,掃描的時候花的時間更短,這是在程序運行的截圖
    技術分享圖片
  • 點擊創建快照,若如下圖沒有全選,可以選擇——僅掃描指定項,然後將下面的全選,之後就可以點擊開始啦,接著等一會,掃描結束之後會彈出一個框,點擊OK,快照就會自己保存下來
    技術分享圖片
  • 我們可以進行以下操作進行對比操作
    在win7虛擬機安裝SysTracer軟件後保存快照,命名為Snapshot #1 將木馬植入靶機,對靶機註冊表、文件等進行快照,保存為Snapshot #2 打開kali的msfconsle,靶機運行木馬,回連kali,win7下再次快照,保存為Snapshot #3 在kali中對靶機進行屏幕截圖,win7下再次快照,保存為Snapshot #4 在kali中對靶機進行提權操作,win7下再次快照,保存為Snapshot #5
    技術分享圖片
    技術分享圖片
    技術分享圖片

  • 接下來點擊右下角的比較,看一下究竟有什麽變化
  • 這是註冊表的變化,在進行kali回連的時候他對很多註冊表項都進行了改變
    技術分享圖片
  • 這是文件的變化,發現也有不少文件發生了變化,尤其是20165303wy.exe,這是我電腦中的後門文件
    技術分享圖片

  • 在下面就是應用程序的變化,主要的還是我的後門程序的變化20165303wy.exe
    技術分享圖片

接下來用wireshark抓包分析連接了哪些外部IP,傳輸了什麽數據

  • 設置主機host為192.168.1.154,我的kali虛擬機的IP地址,然後回連看抓到了哪些東西
    技術分享圖片
  • 發現大部分的包都是請求的tcp三次握手請求建立的包,可能他是在大量的發送請求命令然後進行連接
    技術分享圖片
  • 然後打開一個命令包看看裏面到到底有什麽,發現果然就是一些建立連接的內容三次握手包
    技術分享圖片
  • 然後進行截屏或者錄像等操作,看看抓了什麽
    技術分享圖片
    還是一些tcp連接請求包
    技術分享圖片

  • 再來看一下具體內容,發現也是一些tcp傳輸數據
    技術分享圖片

  • 下面我們用peid文件格式識別(peid工具)來分析一下
    技術分享圖片
  • 發現查到了加殼upx1
    還發現有的並沒有發現加殼,但是我是加了的

技術分享圖片
有的也沒有被查到,哈哈哈哈

  • 然後用pe explorer分析一下,發現還有點看不太懂
    技術分享圖片

實驗中遇到的問題

  • 首先就是無法生成netstat5303的問題,就是在C盤裏權限不夠,無法寫入,你需要加一個在最高權限下運行就可以成功創建.txt文件了
  • 然後就是在Excel中無法創建數據透視圖的問題,由於自己Excel知識沒有學好,所以需要在百度現學習,尤其是怎麽統計鏈接數量那裏搞了好久
  • 再有就是Sysmon軟件老是安裝不成功,可能是因為我沒有按管理員權限運行的結果
  • 還有就是systracer軟件裏面東西太多,無法靠自己來充分理解裏面的變化,只能是知道裏面有哪些發生了變化,而且剛開始在win10主機裏做的時候,win10系統太龐大,掃描一次要花費很長時間,所以後來移到了虛擬機中

實驗總結與體會

本次實驗讓我對電腦中的惡意軟件進行了分析,首先讓我感觸很深 的就是金山毒霸,因為上次實驗要用,所以下載了這個金山毒霸,一般我的電腦是不想裝殺毒軟件的,但是我在後來卸載了以後還是有金山毒霸的進程在系統中頻繁的運行,所以說很多殺毒軟件就是惡意軟件,還有一些軟件就是頻繁的自啟動並且進行網絡連接,再有通過後門惡意軟件分析,知道了後門軟件還是可以通過監控發現的,他們修改通過註冊表和一些文件的變化來達到自己的目的,這次實驗讓我從攻擊者的身份轉變到了分析者,這個感覺很奇妙,讓我明白了這些惡意軟件到底是如何通過什麽方式進行運行的,收獲非常大。

2018-2019-2 網絡對抗技術 20165303 Exp4 惡意代碼分析