2017-2018-2 20155203《網絡對抗技術》Exp4 惡意代碼分析

1. 實踐過程記錄


1. 使用Windows計劃任務schtasks監控系統運行

Windows計劃任務schtasks監控系統:chrome

  • 在C盤創建一個netstatlog.bat文件,用來將記錄的聯網結果格式化輸出到netstatlog.txt文件中:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt

  • 建立任務:
    schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "c:\netstatlog.bat"
    指令建立一個每隔五分鐘記錄計算機聯網狀況的任務;shell

  • 查看netstatlog.txt中的記錄:
    小程序


2. 使用Sysmon工具監控系統運行

  • 配置文件以下:
<Sysmon schemaversion="7.01">

  <!-- 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>

    <ProcessCreate onmatch="exclude" >

      <TargetFilename condition="end with">.tmp</TargetFilename>
      <TargetFilename condition="end with">.exe</TargetFilename>

    </ProcessCreate>

    <!-- Log network connection if the destination port equal 443 -->

    <!-- or 80, and process isn't InternetExplorer -->

    <!--NetworkConnect onmatch="include">

      <DestinationPort>443</DestinationPort>

      <DestinationPort>80</DestinationPort >

    </NetworkConnect -->

    <FileCreateTime onmatch="exclude" >

      <Image condition="end with">chrome.exe</Image>

    </FileCreateTime>

    <ImageLoad onmatch="include">

      <Signed condition="is">false</Signed>

    </ImageLoad>

    <!-- Log access rights for lsass.exe or winlogon.exe is not PROCESS_QUERY_INFORMATION -->

    <ProcessAccess onmatch="exclude">

      <GrantedAccess condition="is">0x1400</GrantedAccess>

    </ProcessAccess>

    <ProcessAccess onmatch="include">

      <TargetImage condition="end with">lsass.exe</TargetImage>

      <TargetImage condition="end with">winlogon.exe</TargetImage>

    </ProcessAccess>
     
<FileCreateTime onmatch="exclude">      
    <Image condition="end with">chrome.exe</Image>    
    </FileCreateTime>

    <NetworkConnect onmatch="exclude">      
    <Image condition="end with">chrome.exe</Image>    
    </NetworkConnect>        
    <NetworkConnect onmatch="include">     
    <DestinationPort condition="is">80</DestinationPort>      
    <DestinationPort condition="is">443</DestinationPort>    
    </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>

直接在時間查看器中查找惡意軟件名稱,能夠看到有關惡意軟件的信息有名稱,時間,使用協議,源和目的ip
windows


3. 使用在線沙盤分析惡意軟件

  • Threat Expert:能夠根據惡意程序的特徵分析出用途:後門,還能夠分析ip地址



  • VirusTotal
    能夠總結分析惡意程序的行爲,並標註產生的時間

4. 使用systracer工具分析惡意軟件

啓用回連後會修改註冊表
sass

根據觀察發現,在使用回連後門程序進行音頻,攝像頭和屏幕捕捉的時候會反覆出現下圖這個HKLM\SYSTEM\CurrentControlSet\Enum註冊表的修改
編輯器

HKLM\SYSTEM\CurrentControlSet\Enum註冊表樹包含了系統的設備信息。即插即用(PnP)管理器爲每一個設備建立了一個名爲HKLM\SYSTEM\CurrentControlSet\Enum\Enumerator\deviceID的子鍵(Subkey)。這些鍵值下面的每一項都是目前系統中存在的每一個設備實例的子鍵。這些被稱做設備的硬件鍵值(或設備鍵值)的子鍵,擁有一些如設備描述,硬件ID,兼容ID和資源需求等信息。
枚舉樹被保留給操做系統組件使用,它們的排列也會隨之改變。驅動程序和用戶模式的設備安裝組件必須使用系統提供的函數,好比IoGetDeviceProperty和SetupDiGetDeviceRegistryProperty,從這個樹上獲取信息。驅動程序和Windows應用程序不能直接訪問該樹,所以進程對這個註冊樹的改動應該引發注意。當你調試驅動程序時,你能夠直接使用註冊表編輯器(regedit)查看這個樹。函數

5. 使用Process Explorer分析惡意軟件

能夠分析到使用的通訊協議,線程號及線程調用的dll文件從而瞭解惡意軟件的做用,使用的環境參數。能夠直接使用這個工具進行virustotal檢查,右鍵點擊進程就能夠看到工具

WSOCK32.dll和WS2_32.dll,是用來建立套接字的dll庫
ntdll.dll是NT操做系統重要的模塊。
ntdll.dll是Windows系統從ring3到ring0的入口。位於Kernel32.dll和user32.dll中的全部win32 API 最終都是調用ntdll.dll中的函數實現的。ntdll.dll中的函數使用SYSENTRY進入ring0,函數的實現實體在ring0中。操作系統

爲何會使用到核心的dll,說明這個程序確實有問題線程

6. 使用wireshark分析惡意軟件回連狀況

觀察到創建鏈接的過程
反覆發送rst再創建鏈接,這樣的通訊行爲很可疑。


2. 實驗總結與體會

此次實驗認識到了不少平時注意不到的惡意軟件的特徵,同時也能夠理解不少殺毒軟件識別惡意軟件的模式。


3. 思考的問題

(1)若是在工做中懷疑一臺主機上有惡意代碼,但只是猜測,全部想監控下系統一每天的到底在幹些什麼。請設計下你想監控的操做有哪些,用什麼方法來監控。

監控佔用內存有多大,是否調用cmd.exe等敏感程序,是否調用核心dll,是否更改普通程序不能接觸的註冊表,重點觀察沒有明顯用處的小程序,對其MD5或SHA1摘要值作檢查。

(2)若是已經肯定是某個程序或進程有問題,你有什麼工具能夠進一步獲得它的哪些信息。 能夠在線上掃描,或直接在進程分析器中對其行爲進行分析。

相關文章
相關標籤/搜索