iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0
Security

惡意程式分析系列 第 12

【Day12】WannaCry逆向 - 靜態分析(四)

  • 分享至 

  • xImage
  •  

前言

這篇續上篇【Day11】WannaCry逆向 - 靜態分析(三)
來看呼叫的這些函數有哪些功能,猜測說這個勒索軟體可能會做的事情
(不會全列,只列看得出功能的)
而有些函數後面會加上A or W or EX之類的

  • A
    參數為ASCII編碼
  • W
    參數為UNICODE編碼
  • EX
    有被再開發過,為了兼容舊版
    開始分析各個dll裡的函數

Kernel32.dll

通常跟文件、記憶體、硬體操作有關

  • 檔案處理
    ReadFile : 讀取指定檔案
    GetFileSize : 得到檔案大小
    CreateFile : 創建檔案
    MoveFile : 移動檔案

  • Resource處理
    SizeofResource : 與.rsrc相關
    LoadResource : 載入resource
    FindResource : 找到resource位址
    lockresource

  • Process and Thread相關
    GetCurrentThreadId
    TerminateThread : 停止線程,可能導致deadlock
    ExitProcess : 終止進程
    GetStartupInfo : 得到當前process的環境

  • 記憶體相關
    LocalFree : 釋放記憶體
    LocalAlloc : 申請記憶體

  • 時間相關
    QueryPerformanceFrequency : 回傳時間頻率
    QueryPerformanceCounter : 計時
    GetTickCount : 回傳從開機到現在經過多少毫秒
    Sleep : 暫停程式

  • 其他
    GetProcAddress : 回傳指定dll中的函數位址
    GetModuleHandle : 回傳指定模塊的Handle
    GetModuleFileName : 回傳指定模塊的路徑
    CloseHandle : 關閉Handle

Advapi.dll

通常安全性、註冊表、事件紀錄有關
詳細可看參考資料中的「Windows服務編程之基本結構」

  • 服務相關
    StartServiceCtrlDispatcher : 將服務連接到SCM
    RegisterServiceCtrlHandler : 接收服務控制處理的指針
    ChangeServiceConfig2 : 修改可選的服務配置參數
    SetServiceStatus : 更新服務狀態
    OpenSCManager : 打開SCM,獲取SCM handle
    CreateService : 創建服務
    CloseServiceHandle : 關閉handle
    StartService : 啟動服務

  • 加密相關
    CryptGenRandom : 生成隨機數
    CryptAcquireContext : 獲得一個加密上下文的handle
    image
    (source : https://wenku.csdn.net/answer/88dc27fc3a0942119488cbae17f2c6e6?ydreferer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8%3D)

Ws2_32

提供與 POSIX 標準相容的 Socket API,主要與 TCP/IP 網路第 3、4 層的連線有關
這裡的函數看的都是與網路有關的,故不列出

Msvcp60

引用的兩個為C++的function

iphlpapi

也是跟網路相關的

  • Getadaptersinfo : 獲取本機網卡的所有訊息

Wininet

為 Internet Extensions for Win32。提供TCP/IP 網路第7層,HTTP、HTTPS、FTP 與 GOPHER 等協定的連線 API

  • InternetOpenUrl : 獲取url的資訊

關於Ws2_32 & Wininet的部分可查看參考資料中
「分析惡意程式呼叫的作業系統網路API」的部分

Msvcrt

為C的函數庫,裡面都是C的語法

總結

猜測這是一隻具有網路通訊功能、加密與創建檔案、會有計時、修改服務的惡意程式

參考資料

kernal32
惡意代碼分析
Advapi32
Windows服務編程之基本結構
分析惡意程式呼叫的作業系統網路API


上一篇
【Day11】WannaCry逆向 - 靜態分析(三)
下一篇
【Day13】WannaCry逆向 - 靜態分析(五)
系列文
惡意程式分析13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言