不管是透過社交工程或是利用漏洞入侵主機,駭客都會考量一件事,如果受害電腦重新開機或是他入侵所利用的漏洞補上後他如何再繼續登入受害的主機,所以駭客通常會在受害主機放置後門,並希望這些程式在電腦開機或使用者登入時就會自動執行,用於以後需要時再次登入,這個行為被稱為常駐 (Persistence),在本文中將介紹駭客在 Windows 電腦上常駐惡意程式的手法。
Run key 機碼
第一個是利用登錄檔 (registry) 的方式,在 Windows 作業系統中登錄檔用於儲存系統和應用程式的底層設定資訊,其中如果將程式新增至註冊表中的 Run key,當使用者登入時,被加入 Run key 機碼的程式就會自動執行,下圖是 Run key 機碼的列表,它們之間有些許差異,開頭的 HKEY_CURRENT_USER 是影響目前使用者;而HKEY_LOCAL_MACHINE是影響此主機上的所有使用者,結尾的 Run 與 Runonce 則是次數差異,Run 是每次登入都會執行;而 Runonce 則是登入一次執行程式後則會自動刪除機碼。

要將檔案新增註冊表只需打開 CMD 或 Powershell 下指令 reg add 去新增,下圖是示範將一個路徑位於”C:\Users\Public\Pictures\“的執行檔 evil.exe 新增至 Run key 機碼的方式,這裡的 evil.exe 其實是 Windows 系統內建的小算盤。執行後看到 The operation completed successfully 就成功了。

在新增機碼成功後我們打開 Registry Editor,能在機碼evil的位置看見我們新增的 evil.exe。

當使用者重新登入後就會看到小算盤出現。

在最近的實際案例中,我們觀察到駭客登入主機後,將 passwordgenerator.exe 與惡意的 Roboform.dll 放置於”C:\Users\Public\Pictures\”資料夾,當程式執行後檔案都被複製至 Windows 系統預設隱藏資料夾,當程式執行時就將自身加入 Run key 機碼,確保了程式會自動執行,下圖是 Intimesec MDR 所紀錄的程式執行流程樹狀圖。


MITRE ATT&CK對應技術(Technique)與戰術(Tactic):
| TA0003: Persistence | TA0004: Privilege Escalation |
| T1547.001: Boot or Logon Autostart Execution : Registry Run Keys / Startup Folder | T1547.001: Boot or Logon Autostart Execution : Registry Run Keys / Startup Folder |


