--- title: 資通訊安全實務 W2 tags: 第一組 --- # 資通訊安全實務 W2 BIFROSE ## 實作 1 **設定環境** 設定兩台 VM 在同一個網段上,且設定 IP,用 config 確定各自的 IP,用 ping 確認是否連通 **Builder** - Bifrost.exe (駭客控制端),設定一個 Domain Name,駭客會希望名稱很正常, - 對外連線的 port 443 為常用 port **植入** - 將 build 好的 .exe 放入被攻擊者電腦 **執行(在模擬環境)** - 目前沒辦法連線,因為連不到 DNS sever - 所以需要去電腦 C:Windows/System32/drivers/etc/host 查詢是否有紀錄 - 所以在模擬環境,我們需要手動去上述 host 檔加入駭客的 IP 與 Domain name (且更改 host 檔案之權限) **回報駭客端** ## 實作 2 將上述動作於 Windows XP 系統上重複一次 server.exe 執行就不見 此病毒樣本 for XP ## 靜態分析 - 沒有 source code - 不執行程式 - 基礎分析 - 檔案 - 程式碼 (反組意,看組合語言) **目的** 收集資訊,建立假設,雖然不全面但可以加速後續分析 **例如** - 看 function call - 輸入密碼 - 正確 - 錯誤 ### Magic Number - `\x4D\x5A`(`MZ`):PE header - `\x25\x50\x44\x46\x2D` (`PDF`) - `\x7F\x45\x4C\x46` (`ELF`) - `\x52\x61\x72\x21\x1A\x07` (`RAR`) ## PE(ortable Executable) 分五大部分  DOS Header ```c typedef struct _IMAGE_DOS_HEADER { WORD e_magic; WORD e_cblp; WORD e_cp; WORD e_crlc; WORD e_cparhdr; WORD e_minalloc; WORD e_maxalloc; WORD e_ss; WORD e_sp; WORD e_csum; WORD e_ip; WORD e_cs; WORD e_lfarlc; WORD e_ovno; WORD e_res[4]; WORD e_oemid; WORD e_oeminfo; WORD e_res2[10]; LONG e_lfanew; } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER; ```   Windows 是 Small Endianess ```c typedef struct _IMAGE_FILE_HEADER { WORD Machine; // x86 | x64 | Intel Itanium WORD NumberOfSections; // 區段數量 == 多少資料 DWORD TimeDateStamp; DWORD PointerToSymbolTable; DWORD NumberOfSymbols; WORD SizeOfOptionalHeader; WORD Characteristics; // 檔案類型 } IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER; ``` ```c #define IMAGE_DIRECTORY_ENTRY_EXPORT 0 // Export directory #define IMAGE_DIRECTORY_ENTRY_IMPORT 1 // Import directory #define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 // Resource directory #define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 // Exception directory #define IMAGE_DIRECTORY_ENTRY_SECURITY 4 // Certificate directory #define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 // Base relocation directory #define IMAGE_DIRECTORY_ENTRY_DEBUG 6 // Debugging directory #define IMAGE_DIRECTORY_ENTRY_ARCHITECTURE 7 // Architecture-specific data #define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 // Global pointer register relative virtual address #define IMAGE_DIRECTORY_ENTRY_TLS 9 // Thread local storage (TLS) directory #define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 // Load configuration directory #define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 // Bound import directory #define IMAGE_DIRECTORY_ENTRY_IAT 12 // Import address table #define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13 // Delay import descriptor #define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14 // The CLR header directory ``` ImageBase 如果被占用 arelocate
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up