เราทราบกันดีว่า malware คือไฟล์อันตรายที่พยายามจะฝังตัวเข้าไปในเครื่องของเหยื่อ โดยการไปปรับ registry ในเครื่องเพื่อให้ตัวมันเองสามารถกลับมารันได้ใหม่ในกรณีต่างๆ เช่น การ reboot เครื่อง, การรันโปรแกรมใดๆ, การตั้งเวลาให้มันรันตามเวลาที่กำหนด เป็นต้น
โดยการกระทำเหล่านั้นเป็นการกระทำที่ malware พยายามจะให้ตัวเองมีคุณสมบัติ persistence หรือก็คือการฝังรากเข้าไปเครื่องก็ว่าได้ ซึ่งเมื่อเราติด malware แบบนี้แล้ว ให้เราเข้าไปตรวจสอบ registry เหล่านี้โดยการใช้คำสั่ง regedit.exe แล้วหาพวก file ที่ชื่อ random มาอย่างเช่น zuwlxjw.exe เป็นต้น
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\User Shell Folders] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Shell Folders] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices] [HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify] [HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit] [HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell] [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad] [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler] (XP, NT, W2k only)[HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost] [HKLM\SYSTEM\CurrentControlSet\Services\%SERVICE_NAME%\] สำหรับการหา service ต่างๆที่อยู่ในเครื่อง
- Startup folders
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
- BootExecute Key
- Since smss.exe launches before windows subsystem loads, it calls configuration subsystem to load the hive present at HKLM\SYSTEM\CurrentControlSet\Control\hivelist. Also smss.exe will launch anything present in the BootExecute key at HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager. It should always have the value of autocheck autochk*. If there are more values in it, then probably the malware is likely to launch at boot. (source)
- UserInit keys:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UserInit
- Notify:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
- Explorer.exe
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell, this key points to explorer.exe(Windows interface) and should only be string explorer.exe rather than complete path as it is supposed to launch from \windows. The boot key at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\system.ini\boot points to the location under Winlogon only. (same source)
- Services:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\service
- Plus services that fail to start can be set to run a program instead
- HKLM\Software\Microsoft\Windows NT\CurrentVersion\SvcHost
- Browser helper objects BHO
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
- AppInit DLLs
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
- File association keys
- HKEY_LOCAL_MACHINE\Software\Classes\ and HKEY_CLASSES_ROOT\;
- Other registry keys such as
- Autoruns for XP SP3:XPSP3_HKCU_Startup_Locations.txt
XPSP3_HKLM_Startup_Locations.txt
- Autoruns for XP SP3:XPSP3_HKCU_Startup_Locations.txt
- Scheduled tasks:
- C:\Windows\System32\Tasks
- HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\SCHEDULE\TASKCACHE\TASKS\
- HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\SCHEDULE\TASKCACHE\TREE\
พวกการ set การรันของโปรแกรม ถ้าใน registry ดังกล่าวเปลี่ยนจาก “%1 %*” เป็นอย่างอื่นเช่น “server.exe %*” นั่นคือการเปลี่ยนแปลงโดย malware แล้ว ให้ไปลบไฟล์ server.exe ทิ้งได้เลยครับ
HKEY_CLASSES_ROOT\exefile\shell\open\command] @=”\”%1\” %*”
[HKEY_CLASSES_ROOT\comfile\shell\open\command] @=”\”%1\” %*”
[HKEY_CLASSES_ROOT\batfile\shell\open\command] @=”\”%1\” %*”
[HKEY_CLASSES_ROOT\htafile\Shell\Open\Command] @=”\”%1\” %*”
[HKEY_CLASSES_ROOT\piffile\shell\open\command] @=”\”%1\” %*”
[HKEY_LOCAL_MACHINE\Software\CLASSES\batfile\shell\open\command] @=”\”%1\” %*”
[HKEY_LOCAL_MACHINE\Software\CLASSES\comfile\shell\open\command] @=”\”%1\” %*”
[HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\shell\open\command] @=”\”%1\” %*”
[HKEY_LOCAL_MACHINE\Software\CLASSES\htafile\Shell\Open\Command] @=”\”%1\” %*”
[HKEY_LOCAL_MACHINE\Software\CLASSES\piffile\shell\open\command] @=”\”%1\” %*”
ตรวจสอบใน task schedule เพื่อตรวจสอบพวก job อะไรที่ตั้งไว้ให้รันเมื่อไหร่
ตรวจสอบใน Task Manager ในส่วน Startup ดูว่ามี Application อะไรที่มันแปลกๆถูกเพิ่มเข้ามาหรือไม่
ถ้าเจออะไรผิดปกติก็ลบได้เลยครับ
หรือสามารถใช้ application ที่ชื่อว่า “Autoruns for Windows” ในการตรวจสอบ startup application ก็ได้เหมือนกันครับ
Source::
- Symantec.com
- BleepingComputer.com
- https://andreafortuna.org/malware-persistence-techniques-812b02725f9a
- https://digital-forensics.sans.org/blog/2010/10/20/digital-forensics-autorun-registry-keys/