Exp4 惡意代碼分析

Exp4 惡意代碼分析

1、基礎問題回答

  1. 若是在工做中懷疑一臺主機上有惡意代碼,但只是猜測,全部想監控下系統一每天的到底在幹些什麼。請設計下你想監控的操做有哪些,用什麼方法來監控。
    (1)咱們可使用一些工具幫助本身監測系統,能夠實時監控電腦上的端口信息,若是受到懷疑的惡意代碼啓動的時候鏈接了一些看起來很可疑的端口,就能夠進一步進行分析。
    (2)咱們能夠經過在windows下創建一個監測本機鏈接ip地址的任務計劃程序,不定時的查看一下電腦都在何時連了網幹了什麼,若是在你以爲本身的電腦沒有聯網的狀況下出現了ip訪問記錄就十分可疑了。
    (3)能夠經過sysmon監控幾乎全部的重要操做,並在事件查看器中找到日誌查看。
    2.若是已經肯定是某個程序或進程有問題,你有什麼工具能夠進一步獲得它的哪些信息。
    (1)PE explorer工具,它能夠對程序調用庫等信息進行分析查看,還能夠對其反彙編。
    (2)PEiD工具,能夠查看程序有沒有被經常使用的加殼軟件加殼。
    (3)啓動該程序,利用systracer及wireshark動態分析程序動向。

2、系統運行監控

此次實驗的第一部分是對本身的主機進行系統監控,嘗試可否發現異常狀況。windows

  • 結合windows計劃任務與netstat命令api

    這裏有兩種方法設置計劃任務,第一種是在任務計劃程序設置,第二種是命令行輸入以下命令:schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "c:\netstatlog.bat"我選擇的是後者
    1. 先在C盤目錄下創建一個netstatlog.bat文件,用來將記錄的聯網結果格式化輸出到netstatlog.txt文件中,netstatlog.bat內容爲:


      date /t >> c:\netstatlog.txt安全


      time /t >> c:\netstatlog.txt服務器


      netstat -bn >> c:\netstatlog.txt網絡

    2. 打開Windows下命令提示符,輸入指令schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "c:\netstatlog.bat"指令建立一個每隔五分鐘記錄計算機聯網狀況的任務:
    3. 五分鐘後,咱們來分析日誌信息:
    4. 黃標的SearchUI是win10專有的程序,及小娜,經過目的端口443能夠猜想出來111.202.83.16七、52.222.211.2三、203.208.43.73應該是某些服務器地址,查詢IP可知:


    5. 該程序前後訪問了北京聯通的,香港amazon.com和北京Google.com。惋惜當時沒有抓包,單單從這幾個IP分析不出來什麼問題。
  • 使用sysmon工具監控系統運行函數

    sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系統服務和設備驅動程序的方法安裝在系統上,並保持常駐性。sysmon用來監視和記錄系統活動,並記錄到windows事件日誌,能夠提供有關進程建立,網絡連接和文件建立時間更改的詳細信息。工具

    1. 安裝sysmon:
      • 下載sysmon,能夠直接到Microsoft官網下載;
      • 打開命令行,cd到下載目錄下,執行命令Sysmon64.exe -i Sysmoncag.xml這裏的Sysmoncag.xml文件是課上所給的,可是直接複製該文件,會出現以下問題:

        ,這是版本號的問題,咱們先查看咱們將要安裝的版本號:

        這時,咱們發現,咱們版本號爲4.0,因此將.xml文件中的<Sysmon schemaversion="3.10">改爲<Sysmon schemaversion="4.00">就行了。
    2. 啓動以後,即可以到事件查看器裏查看相應的日誌:
      • 先打開事件查看器
      • 而後在:應用程序和服務日誌/Microsoft/Windows/Sysmon/Operational裏查詢相關日誌,我在安裝後運行了一次實驗二的後門程序,並在目錄下查詢到的日誌以下圖:
      • 根據這則日誌:能夠發現是個人後門程序,經過本地端口14143向IP爲192.168.1.105的5213端口發送TCP請求連接。
  • 使用virscan分析惡意軟件網站

    • 在virustotal網站查看上次後門軟件的文件行爲分析:
      • 先讓咱們看一下詳細報告:

      • 根據上圖,能夠看出這個程序是在後門不過的後門了,有第二張圖能夠發現,本程序使用了ADVAPI32.dllKERNEL32.dllMSVCRT.dllWS2_32.dllWSOCK32.dll,這五個連接庫,其中WS2_32.dllWSOCK32.dll是比較熟悉的win上面編寫SOCKET用的,這是用來回連使用的,而advapi32.dll是一個高級API應用程序接口服務庫的一部分,包含的函數與對象的安全性,註冊表的操控以及事件日誌有關,從這句解釋就能夠看出,本後門程序的潛在的威脅,kernel32.dll是Windows 9x/Me中很是重要的32位動態連接庫文件,屬於內核級文件。它控制着系統的內存管理、數據的輸入輸出操做和中斷處理,當Windows啓動時,kernel32.dll就駐留在內存中特定的寫保護區域,使別的程序沒法佔用這個內存區域。而msvcrt.dll是微軟在windows操做系統中提供的C語言運行庫執行文件(Microsoft Visual C Runtime Library),其中提供了printf,malloc,strcpy等C語言庫函數的具體運行實現,而且爲使用C/C++(Vc)編譯的程序提供了初始化(如獲取命令行參數)以及退出等功能,咱們基本上每一個C程序都會用到。
  • 使用systracer工具分析惡意軟件
    • 下載安裝systracer
    • 我分別建立了三個快照,沒有操做後門程序的,第二個是回連成功後的,第三個是攻擊主機發送操做指令的
    • 經過查看運行的程序,發現咱們的後門程序運行時調用了以下幾個庫:
      • wow64cpu.dll:wow64cpu.dll是一個進程來自Microsoft Corporation。它能夠被髮如今C:\位置。這是一個潛在的安全風險,它能被病毒惡意修改。
      • wow64win.dll:同上。
      • ntdll.dll:ntdll.dll是Windows系統從ring3到ring0的入口。位於Kernel32.dll和user32.dll中的全部win32 API最終都是調用ntdll.dll中的函數實現的。ntdll.dll中的函-數使用SYSENTRY進入ring0,函數的實現實體在ring0中;
    • 從本後門調用ntdll.dll就可見其侵略意圖了。
  • 使用wireshark分析惡意軟件回連狀況操作系統

    • 設置IP過濾格式:ip.addr==192.168.43.161,在進行回連操做時,使用wireshark進行抓包後能夠看到,其先進行了TCP的三次握手,以後再進行數據的傳輸,如圖所示,帶有PSH,ACK的包傳送的即是執行相關操做指令時所傳輸的數據包,
  • 使用Process Explorer分析惡意軟件命令行

    • PE分析惡意軟件有兩種方式,能夠直接分析靜態的惡意程序,也能夠動態的捕獲惡意程序運行的狀態,下圖是動態捕獲的:

      能夠看出,該test程序是經過TCP協議回連了IP地址爲192.168.43.161的。
    • 這是實時運行時出現的線程,咱們嘗試KIll掉,咱們會發現Kali機也失去了連接

3、實驗總結

惡意程序分析是個體力活啊,這個實驗是在咱們知曉惡意程序是誰的狀況下進行的,有針對性,但若是單單從茫茫數據中要分析出每一個程序的可疑行爲或者入侵行爲,單靠人去讀數據,分析數據是根本行不通的,但是依靠殺軟,感受也不怎麼可靠,因此要真正安全,仍是下圖作的好。

相關文章
相關標籤/搜索