<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dfir on Roduygo | Blog</title><link>/tags/dfir/</link><description>Recent content in Dfir on Roduygo | Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Fri, 08 May 2026 16:40:00 +0700</lastBuildDate><atom:link href="/tags/dfir/index.xml" rel="self" type="application/rss+xml"/><item><title>Săn lùng Malware trong Registry</title><link>/post/san-lung-malware-registry/</link><pubDate>Fri, 08 May 2026 16:40:00 +0700</pubDate><guid>/post/san-lung-malware-registry/</guid><description>&lt;p&gt;Chào mừng các bạn tiếp tục với Series Giải phẫu Windows OS &amp;amp; SOC Analytics! Ở bài viết trước, chúng ta đã hiểu cơ chế hoạt động của Registry. Hôm nay, chúng ta sẽ bước vào một cuộc chiến thực sự: Săn lùng Malware. Một trong những mục tiêu tối thượng của mã độc sau khi xâm nhập thành công là Duy trì sự hiện diện (Persistence) - đảm bảo rằng dù người dùng có tắt máy hay khởi động lại, mã độc vẫn sẽ tự động kích hoạt. Nơi ẩn nấp lý tưởng nhất chính là Registry. Hãy cùng trang bị &amp;ldquo;vũ khí&amp;rdquo; PowerShell Autoruns để bóc trần những điểm neo này!&lt;/p&gt;
&lt;h2 id="1-kỹ-thuật-cắm-chốt-kinh-điển-auto-run-keys"&gt;1. Kỹ thuật &amp;ldquo;Cắm chốt&amp;rdquo; kinh điển: Auto Run Keys
&lt;/h2&gt;&lt;p&gt;Hầu hết các phần mềm độc hại, từ cơ bản đến phức tạp, đều lợi dụng các khóa tự khởi động (Auto Run) do Microsoft thiết kế để kích hoạt cùng hệ thống. Các khóa này được chia theo cấp độ phân quyền:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mức độ người dùng (User Level):&lt;/strong&gt; &lt;code&gt;HKCU\Software\Microsoft\Windows\CurrentVersion\Run&lt;/code&gt;. Khóa này chỉ chạy mã độc khi người dùng hiện tại đăng nhập và không yêu cầu quyền Admin để ghi dữ liệu.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mức độ hệ thống (Machine Level):&lt;/strong&gt; &lt;code&gt;HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run&lt;/code&gt;. Khóa này chạy cho mọi người dùng trên máy nhưng bắt buộc mã độc phải có quyền Administrator hoặc SYSTEM mới có thể ghi vào đây. Việc mã độc ghi thành công vào khóa này chứng tỏ hệ thống đã bị leo thang đặc quyền.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Khóa &amp;ldquo;Dùng một lần&amp;rdquo; (RunOnce):&lt;/strong&gt; Tương tự như Run, nhưng hệ điều hành sẽ tự động xóa giá trị này ngay sau khi thực thi. Malware tinh vi thường dùng RunOnce để thực hiện các tập lệnh dọn dẹp dấu vết hoặc cài đặt sâu hơn vào hệ thống.&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Góc nhìn SOC:&lt;/strong&gt; Khi mã độc ghi đè hoặc tạo mới giá trị thông qua các API như &lt;code&gt;RegSetValueEx&lt;/code&gt;, Windows sẽ ghi nhận sự kiện với Event ID 4657 (A registry value was modified), trong khi Sysmon sẽ ghi nhận Event ID 13 (Registry Value Set). Riêng với khóa RunOnce, bạn sẽ thấy log nổ ra 2 lần (một lần lúc tạo và một lần lúc Windows tự xóa), tương ứng với Sysmon ID 13 và Sysmon ID 12 (Object Deleted).&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="2-kỹ-thuật-ăn-bám-tiến-trình-hệ-thống-winlogon--userinit"&gt;2. Kỹ thuật ăn bám tiến trình hệ thống: Winlogon &amp;amp; Userinit
&lt;/h2&gt;&lt;p&gt;Thay vì tạo ra một khóa Registry mới dễ bị phát hiện, những kẻ tấn công khôn ngoan hơn sẽ &amp;ldquo;ký sinh&amp;rdquo; vào các tiến trình đăng nhập cốt lõi của Windows là Winlogon.&lt;/p&gt;
&lt;p&gt;Hacker thường nhắm vào hai đường dẫn sau tại &lt;code&gt;HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon&lt;/code&gt;:&lt;/p&gt;
&lt;h3 id="21-ký-sinh-qua-userinit"&gt;2.1 Ký sinh qua Userinit
&lt;/h3&gt;&lt;p&gt;Mặc định, giá trị của khóa Userinit chỉ đơn giản là &lt;code&gt;userinit.exe&lt;/code&gt;. Tuy nhiên, khóa này có một tính năng đặc biệt (Comma-separated) cho phép nối nhiều đường dẫn với nhau bằng dấu phẩy. Hacker chỉ cần âm thầm chèn thêm một đoạn như &lt;code&gt;userinit.exe, C:\Users\Administrator\AppData\Local\Temp\789a.bat&lt;/code&gt;. Kết quả là hệ thống sẽ tự động &amp;ldquo;rước&amp;rdquo; mã độc vào máy một cách hoàn toàn hợp lệ ngay sau khi người dùng nhập mật khẩu.&lt;/p&gt;
&lt;h3 id="22-đánh-tráo-giao-diện-shell"&gt;2.2 Đánh tráo giao diện (Shell)
&lt;/h3&gt;&lt;p&gt;Khóa Shell có nhiệm vụ gọi giao diện màn hình làm việc (mặc định là &lt;code&gt;explorer.exe&lt;/code&gt;). Kẻ tấn công có thể thay thế hoàn toàn &lt;code&gt;explorer.exe&lt;/code&gt; bằng mã độc của chúng, hoặc nối thêm như &lt;code&gt;explorer.exe, C:\windows\temp\malware.exe&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="3-bóng-ma-cửa-sau-image-file-execution-options-ifeo"&gt;3. Bóng ma &amp;ldquo;Cửa sau&amp;rdquo;: Image File Execution Options (IFEO)
&lt;/h2&gt;&lt;p&gt;IFEO (&lt;code&gt;HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\&lt;/code&gt;) vốn là một tính năng được Microsoft thiết kế để các nhà phát triển gỡ lỗi (debug) ứng dụng của họ. Nhưng trong tay Hacker, IFEO biến thành công cụ leo thang đặc quyền và duy trì sự hiện diện cực kỳ đáng sợ.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kịch bản tấn công Sticky Keys khét tiếng:&lt;/strong&gt; Hacker sẽ tạo một khóa con mang tên &lt;code&gt;sethc.exe&lt;/code&gt; (chương trình phím dính - Sticky Keys hiện lên khi bạn bấm Shift 5 lần) bên trong IFEO. Tại đây, chúng thêm một giá trị &lt;code&gt;Debugger&lt;/code&gt; trỏ thẳng tới &lt;code&gt;cmd.exe&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Kết quả? Ngay tại màn hình khóa Windows (khi chưa cần đăng nhập), hacker chỉ cần bấm phím Shift 5 lần. Thay vì hiện ra bảng Sticky Keys, hệ thống sẽ mở ra một cửa sổ Command Prompt với quyền lực tối cao là SYSTEM, cho phép hacker kiểm soát hoàn toàn máy tính!&lt;/p&gt;
&lt;h2 id="4-thực-chiến-săn-lùng-malware-với-powershell-autoruns"&gt;4. Thực chiến: Săn lùng Malware với PowerShell Autoruns
&lt;/h2&gt;&lt;p&gt;Việc mở &lt;code&gt;regedit.exe&lt;/code&gt; lên và kiểm tra bằng tay từng khóa là điều không tưởng đối với một SOC Analyst. Đó là lúc chúng ta cần đến Autoruns - một công cụ cực mạnh giúp soi quét mọi ngóc ngách tự khởi động của hệ thống.&lt;/p&gt;
&lt;p&gt;Trong môi trường PowerShell, bạn có thể gọi module &lt;code&gt;Get-PSAutorun&lt;/code&gt; kết hợp với tham số kiểm tra chữ ký số và xuất ra dạng bảng (GridView) để dễ theo dõi:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Get-PSAutorun -VerifyDigitalSignature | Out-GridView
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="autoruns đang quan sát các ứng dụng được ghi vào registry" class="gallery-image" data-flex-basis="462px" data-flex-grow="192" height="370" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="/post/san-lung-malware-registry/autoruns.png" width="713"&gt;&lt;/p&gt;
&lt;p&gt;Khi bảng dữ liệu hiện lên, bạn cần &amp;ldquo;lia mắt&amp;rdquo; ngay đến các cột sinh tử sau:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Signed (Đã ký số):&lt;/strong&gt; Nếu giá trị là False, hãy báo động đỏ! Mã độc hiếm khi có chữ ký số hợp lệ của các nhà phát hành uy tín.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IsOSBinary:&lt;/strong&gt; Nếu là True, Windows xác nhận đây là tệp tin lõi của hệ điều hành.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Publisher:&lt;/strong&gt; Thông thường các tệp an toàn sẽ ghi là &lt;code&gt;CN=Microsoft Windows, O=Microsoft Corporation&lt;/code&gt;. Nếu cột này bị để trống hoặc ghi một cái tên mờ ám, đó là mục tiêu cần điều tra ngay.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="41-kỹ-thuật-so-sánh-baseline-điểm-chuẩn"&gt;4.1 Kỹ thuật so sánh Baseline (Điểm chuẩn)
&lt;/h3&gt;&lt;p&gt;Một kỹ năng cao cấp của Blue Team là so sánh Registry hiện tại với một bản sao lưu (Baseline) khi máy tính còn &amp;ldquo;sạch&amp;rdquo;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Bỏ qua các file chuẩn của OS và tạo bản Baseline&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Get-PSAutorun -VerifyDigitalSignature | Where { &lt;span style="color:#f92672"&gt;-not&lt;/span&gt;($_.isOSbinary)} | New-AutoRunsBaseLine -Verbose
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# So sánh hệ thống hiện tại với bản Baseline cũ&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Compare-AutoRunsBaseLine -Verbose | Out-GridView
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Bằng lệnh so sánh này, mọi khóa Userinit bị chèn thêm mã độc (như file &lt;code&gt;.bat&lt;/code&gt; hay &lt;code&gt;.ps1&lt;/code&gt;) hoặc các khóa Run mới mọc lên sẽ bị phơi bày lập tức trong một cửa sổ GridView tách biệt, giúp bạn chẩn đoán hệ thống chỉ trong vài giây.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Windows Registry là một bãi mìn thực sự, nơi mã độc và hệ thống cài răng lược vào nhau. Việc làm chủ các điểm neo Persistence và thành thạo PowerShell Autoruns sẽ giúp bạn bóc tách được những vỏ bọc tinh vi nhất. Ở bài viết tiếp theo, chúng ta sẽ tìm hiểu cách mã độc vượt rào bảo mật bằng kỹ thuật UAC Bypass. Hãy cùng đón chờ!&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Phân tích NTFS</title><link>/post/ntfs/</link><pubDate>Fri, 08 May 2026 15:30:00 +0700</pubDate><guid>/post/ntfs/</guid><description>&lt;p&gt;Chào mừng các bạn quay trở lại với Series Giải phẫu Windows OS &amp;amp; SOC Analytics! Ở bài viết trước, chúng ta đã hiểu được bức tranh tổng thể về File System và &amp;ldquo;chiêu trò&amp;rdquo; giấu mã độc qua Alternate Data Streams (ADS).Hôm nay, chúng ta sẽ cầm kính lúp pháp y (Forensics) để soi vào tận cùng cấu trúc NTFS, bóc tách cuốn sổ cái MFT và trích xuất các &amp;ldquo;camera an ninh&amp;rdquo; ngầm của hệ thống.&lt;/p&gt;
&lt;h2 id="1-kiến-trúc-tổng-thể-của-ntfs-đường-đi-của-một-tệp-tin"&gt;1. Kiến trúc tổng thể của NTFS: Đường đi của một tệp tin
&lt;/h2&gt;&lt;p&gt;Để hiểu NTFS, trước tiên ta cần nắm được cách nó phân chia ổ đĩa. NTFS chia đĩa thành các Cluster (thường là 4KB). Ngay cả khi một file chỉ nặng 2KB, nó vẫn chiếm trọn 1 Cluster 4KB, phần dư thừa đó (Slack Space) không cho file khác dùng. Điều này giúp NTFS tăng tốc độ ghi đọc theo khối lớn và hỗ trợ điều tra dấu vết mã độc.&lt;/p&gt;
&lt;p&gt;Cấu trúc cốt lõi của một phân vùng NTFS bao gồm 4 phần chính:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Boot Sector:&lt;/strong&gt; Nằm ở phần đầu phân vùng, chứa Jump code để boot và vị trí của MFT.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MFT (Master File Table):&lt;/strong&gt; Cuốn sổ cái lưu trữ mọi thông tin.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MFT Mirror ($MFTMirr):&lt;/strong&gt; Bản sao lưu một phần của MFT để phục hồi khi lỗi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Area:&lt;/strong&gt; Khu vực chứa nội dung dữ liệu thực sự của file.&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Luồng hoạt động khi bạn mở một tệp:&lt;/strong&gt; Hệ thống đọc Boot Sector -&amp;gt; Xác định vị trí MFT -&amp;gt; Đọc bản ghi (Record) của file trong MFT -&amp;gt; Tìm ra Cluster chứa dữ liệu -&amp;gt; Lấy dữ liệu từ Data Area.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="2-bóc-tách-trái-tim-mft-master-file-table"&gt;2. Bóc tách &amp;ldquo;Trái tim&amp;rdquo; MFT (Master File Table)
&lt;/h2&gt;&lt;p&gt;Trong NTFS, mọi thứ đều là một tệp, kể cả chính hệ thống tệp. MFT thực chất là một tệp đặc biệt có tên &lt;code&gt;$MFT&lt;/code&gt;. Cuốn sổ cái này được chia thành hàng nghìn bản ghi (MFT Records) có kích thước cố định. Mỗi tệp tin hoặc thư mục trên máy tính của bạn đều tương ứng với đúng 1 Record bên trong &lt;code&gt;$MFT&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="21-giải-phẫu-một-mft-record"&gt;2.1 Giải phẫu một MFT Record
&lt;/h3&gt;&lt;p&gt;Một bản ghi MFT chứa siêu dữ liệu (Metadata) cực kỳ chi tiết, bao gồm:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Standard Information (Thông tin tiêu chuẩn):&lt;/strong&gt; Chứa các dấu thời gian (Timestamps), quyền hạn, và các cờ như Read-only, Hidden, System.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;File Name:&lt;/strong&gt; Tên của tệp hoặc thư mục.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Attribute (Thuộc tính dữ liệu):&lt;/strong&gt; Đây là phần thú vị nhất. Nếu file của bạn cực nhỏ (dưới vài trăm byte), NTFS sẽ nhét thẳng nội dung của file đó vào bên trong MFT Record (gọi là Resident Data). Nếu file lớn, phần này sẽ chứa danh sách các con trỏ (Data Runs) trỏ ra các Cluster ngoài Data Area (gọi là Non-Resident Data).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security Descriptor:&lt;/strong&gt; Chứa danh sách kiểm soát truy cập (ACL) quy định ai được phép đọc/ghi file.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="mft record structure" class="gallery-image" data-flex-basis="584px" data-flex-grow="243" height="246" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="/post/ntfs/mftf.png" width="599"&gt;&lt;/p&gt;
&lt;h3 id="22-góc-nhìn-điều-tra-số"&gt;2.2 Góc nhìn Điều tra số
&lt;/h3&gt;&lt;p&gt;MFT là &amp;ldquo;mỏ vàng&amp;rdquo; vì những lý do sau:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cờ In Use:&lt;/strong&gt; Xác định xem bản ghi này đang chứa một file hoạt động hay file đã bị xóa. Khi bạn xóa một file, dữ liệu trên đĩa chưa mất đi, NTFS chỉ đổi cờ In Use thành &amp;ldquo;chưa sử dụng&amp;rdquo;. Do đó, các tệp bị xóa vẫn tồn tại bản ghi trong MFT, hỗ trợ việc khôi phục dữ liệu (Carving).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Số thứ tự (Sequence Number):&lt;/strong&gt; Bộ đếm tăng lên khi một bản ghi MFT được sử dụng lại cho file khác, giúp phân biệt file cũ và mới trên cùng một mục nhập.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Phân tích Dòng thời gian (Timeline):&lt;/strong&gt; MFT lưu trọn bộ 4 mốc thời gian MACB: Modified (Sửa đổi nội dung), Accessed (Truy cập cuối), Created (Tạo lập), và MFT Record Modified (Sửa đổi siêu dữ liệu). Đây là bằng chứng thép để tái tạo trình tự sự kiện của mã độc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bạn có thể dùng công cụ &lt;code&gt;MFTECmd.exe&lt;/code&gt; của Eric Zimmerman để trích xuất &lt;code&gt;$MFT&lt;/code&gt; ra file CSV và đọc bằng Timeline Explorer:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-cmd" data-lang="cmd"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;:&lt;span style="color:#75715e"&gt;: Lệnh trích xuất và phân tích file $MFT&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;MFTECmd.exe -f C:\Evidence\$MFT --csv C:\Evidence --csvf MFT_record.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="3-camera-an-ninh-của-ntfs-logfile-và-usn-journal"&gt;3. &amp;ldquo;Camera an ninh&amp;rdquo; của NTFS: $LogFile và USN Journal
&lt;/h2&gt;&lt;p&gt;Khi mã độc hoạt động, nó thường tạo file, ghi dữ liệu, rồi xóa ngay lập tức để phi tang dấu vết. Tuy nhiên, mọi hành động này đều bị hai &amp;ldquo;camera an ninh&amp;rdquo; của NTFS ghi lại trọn vẹn.&lt;/p&gt;
&lt;h3 id="31-logfile-nhật-ký-giao-dịch"&gt;3.1 $LogFile (Nhật ký giao dịch)
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;$LogFile&lt;/code&gt; là một tệp siêu dữ liệu đặc biệt ghi lại mọi thay đổi (tạo, xóa, sửa tệp) trước khi chúng được ghi chính thức xuống đĩa. Chức năng gốc của nó là để hệ thống có thể &amp;ldquo;phát lại&amp;rdquo; (replay) các giao dịch và khôi phục tính nhất quán nếu máy tính bị sập nguồn đột ngột.&lt;/p&gt;
&lt;h3 id="32-usnjrnl-update-sequence-number-journal"&gt;3.2 $USNJrnl (Update Sequence Number Journal)
&lt;/h3&gt;&lt;p&gt;Nếu &lt;code&gt;$LogFile&lt;/code&gt; phục vụ cho hệ thống, thì USN Journal là bản ghi lịch sử tuyệt vời dành cho các dịch vụ theo dõi và giám sát. Nó nằm ẩn trong thư mục &lt;code&gt;$Extend\$UsnJrnl&lt;/code&gt; ở thư mục gốc.&lt;/p&gt;
&lt;p&gt;Đặc biệt, &lt;code&gt;$USNJrnl&lt;/code&gt; bao gồm thành phần chính là &lt;code&gt;$J&lt;/code&gt;, nơi lưu trữ các bản ghi thay đổi thực tế. Đáng chú ý, &lt;code&gt;$J&lt;/code&gt; được Windows triển khai dưới dạng một luồng dữ liệu ẩn Alternate Data Stream (ADS) – chính là kỹ thuật chúng ta đã phân tích ở bài số 4!&lt;/p&gt;
&lt;p&gt;Khi phân tích file &lt;code&gt;$J&lt;/code&gt; (bằng &lt;code&gt;MFTECmd&lt;/code&gt;), chúng ta sẽ thấy các mã sự kiện (Update Reasons) &amp;ldquo;tố cáo&amp;rdquo; mã độc:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;USN_REASON_FILE_CREATE&lt;/code&gt;: Tệp mã độc mới được tạo.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;USN_REASON_DATA_OVERWRITE&lt;/code&gt;: Dữ liệu trong tệp đã bị ghi đè.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;USN_REASON_FILE_DELETE&lt;/code&gt;: Tệp mã độc vừa tự xóa chính nó.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;USN_REASON_RENAME_OLD_NAME&lt;/code&gt;: Tệp tin bị đổi tên (thường thấy trong các vụ tấn công Ransomware đổi đuôi file).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="4-khám-phá-góc-khuất-i30-ntfs-index-allocation"&gt;4. Khám phá góc khuất $I30 (NTFS Index Allocation)
&lt;/h2&gt;&lt;p&gt;Để truy tìm dấu vết của các tệp tin đã bị xóa bốc hơi hoàn toàn khỏi MFT, các chuyên gia Forensics sẽ tìm đến một thuộc tính ẩn khác gọi là &lt;code&gt;$I30&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Thuộc tính &lt;code&gt;$I30&lt;/code&gt; là một chỉ mục (Index) thư mục, có nhiệm vụ duy trì cấu trúc sắp xếp các tệp và thư mục con bên trong một ổ đĩa NTFS.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Góc nhìn Forensics:&lt;/strong&gt; Khi một tệp bị xóa, đổi tên hoặc di chuyển sang thư mục khác, tên của tệp đó sẽ bị gạch bỏ khỏi chỉ mục hoạt động của &lt;code&gt;$I30&lt;/code&gt;. Tuy nhiên, dữ liệu văn bản chứa tên tệp đó vẫn còn sót lại trong vùng không gian trống (Slack Space) của tệp &lt;code&gt;$I30&lt;/code&gt; cho đến khi bị ghi đè. Bằng cách quét vùng không gian Slack Space này, chúng ta có thể chứng minh được sự tồn tại trong quá khứ của một công cụ hack hoặc một tệp tin dữ liệu nhạy cảm mà kẻ tấn công tưởng chừng đã xóa sạch không tì vết.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Qua bài viết này, chúng ta đã đi sâu vào tận cùng các khối cấu trúc tĩnh của hệ thống tệp NTFS. Bằng cách kết hợp phân tích MFT, USN Journal và chỉ mục $I30, không một hành vi tạo, xóa hay sửa đổi tệp tin nào của mã độc có thể qua mắt được bạn. Ở bài viết tiếp theo, chúng sẽ chuyển sang một lĩnh vực đầy tính động và cực kỳ hấp dẫn: Giải phẫu Windows Registry và các điểm neo duy trì sự hiện diện của Malware. Đừng bỏ lỡ nhé!&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Sysmon (Phần 1)</title><link>/post/sysmon-phan-1-giam-sat-tien-trinh/</link><pubDate>Fri, 08 May 2026 12:00:00 +0700</pubDate><guid>/post/sysmon-phan-1-giam-sat-tien-trinh/</guid><description>&lt;p&gt;Chào mừng các bạn quay trở lại với Series Giải phẫu Windows OS &amp;amp; SOC Analytics! Ở các bài viết trước, chúng ta đã học cách đọc nhật ký hệ thống (Event Logs) mặc định của Windows. Nhưng trong thực tế chiến đấu, các hacker ngày càng tinh vi, chúng thừa sức qua mặt những log cơ bản này. Đó là lúc các chuyên gia SOC phải viện đến &amp;ldquo;vũ khí hạng nặng&amp;rdquo;: Sysmon (System Monitor). Hôm nay, chúng ta sẽ đi sâu vào hướng dẫn cài đặt tư duy giám sát Sysmon, mở đầu bằng việc &amp;ldquo;mổ xẻ&amp;rdquo; quá trình sinh tiến trình (Process Creation) và cách dùng mã Hash để lột mặt nạ mã độc.&lt;/p&gt;
&lt;h2 id="1-sysmon-là-gì-tại-sao-windows-event-logs-mặc-định-là-chưa-đủ"&gt;1. Sysmon là gì? Tại sao Windows Event Logs mặc định là chưa đủ?
&lt;/h2&gt;&lt;p&gt;Sysmon là một công cụ miễn phí cực kỳ mạnh mẽ thuộc bộ phần mềm Microsoft Sysinternals. Đối với giới bảo mật, Sysmon đã trở thành tiêu chuẩn vàng cho việc giám sát nâng cao.&lt;/p&gt;
&lt;p&gt;Hãy làm một phép so sánh thực tế khi một phần mềm được mở lên:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Windows Event ID 4688 (Mặc định):&lt;/strong&gt; Chỉ cho bạn biết &amp;ldquo;Ai đó vừa chạy một tiến trình mới&amp;rdquo; (ví dụ: &lt;code&gt;cmd.exe&lt;/code&gt; vừa được chạy bởi Administrator).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sysmon Event ID 1 (Process Creation):&lt;/strong&gt; Không chỉ nói cho bạn biết file nào vừa chạy, mà nó còn cung cấp dấu vân tay (Mã Hash) của file đó, cho biết chính xác tiến trình nào đã gọi nó ra (Parent Image), và thậm chí là lệnh (Command Line) chi tiết đã được gõ vào.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Tóm lại:&lt;/strong&gt; Windows EID 4688 cho biết &amp;ldquo;ai chạy&amp;rdquo;, còn Sysmon EID 1 cho biết &amp;ldquo;vân tay&amp;rdquo; của kẻ đó. Nếu không có mã Hash, bạn sẽ gần như &amp;ldquo;mù&amp;rdquo; trước các kỹ thuật đổi tên ngụy trang của Hacker.&lt;/p&gt;
&lt;h2 id="2-giải-phẫu-chi-tiết-sysmon-event-id-1"&gt;2. Giải phẫu chi tiết Sysmon Event ID 1
&lt;/h2&gt;&lt;p&gt;Khi Sysmon Event ID 1 nổ ra, nó cung cấp cho SOC Analyst một bức tranh toàn cảnh không thể chối cãi. Hãy cùng &amp;ldquo;soi&amp;rdquo; vào các trường dữ liệu sinh tử của nó:&lt;/p&gt;
&lt;h3 id="21-thông-tin-định-danh-process-info"&gt;2.1 Thông tin định danh (Process Info)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ProcessId:&lt;/strong&gt; Số định danh tiến trình trong hệ thống.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Image:&lt;/strong&gt; Đường dẫn vật lý của file thực thi trên ổ cứng (VD: &lt;code&gt;C:\Windows\System32\cmd.exe&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CommandLine:&lt;/strong&gt; Ghi lại chính xác từng chữ mà kẻ tấn công đã gõ vào lệnh.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="22-nguồn-gốc-khởi-tạo-parent-info"&gt;2.2 Nguồn gốc khởi tạo (Parent Info)
&lt;/h3&gt;&lt;p&gt;Mã độc hiếm khi tự nhiên sinh ra. Nó luôn được một thứ gì đó gọi ra.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ParentImage:&lt;/strong&gt; Đây là tiến trình cha. Việc nhìn vào tiến trình cha giúp bạn biết lệnh này do người dùng click chuột mở (như từ &lt;code&gt;explorer.exe&lt;/code&gt;) hay bị gọi ngầm bởi một đoạn mã độc.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="23-dấu-vân-tay-của-tệp-binary-info"&gt;2.3 Dấu vân tay của tệp (Binary Info)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hashes:&lt;/strong&gt; Sysmon sẽ tự động tính toán mã Hash (như MD5, SHA256) của file thực thi ngay khi nó chạy. Đây là tính năng &amp;ldquo;đáng tiền&amp;rdquo; nhất của Sysmon.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="So sánh Event ID 4688 và Event ID 1 của Sysmon" class="gallery-image" data-flex-basis="527px" data-flex-grow="219" height="291" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="/post/sysmon-phan-1-giam-sat-tien-trinh/sosanh.png" width="639"&gt;&lt;/p&gt;
&lt;h2 id="3-bắt-thóp-mã-độc-kỹ-năng-threat-hunting-thực-chiến"&gt;3. &amp;ldquo;Bắt thóp&amp;rdquo; Mã độc: Kỹ năng Threat Hunting thực chiến
&lt;/h2&gt;&lt;p&gt;Với các thông tin từ Sysmon EID 1, làm sao để phát hiện bất thường? Đừng tìm kiếm ngẫu nhiên, hãy bám vào 3 dấu hiệu (Red Flags) sau:&lt;/p&gt;
&lt;h3 id="kỹ-thuật-1-lột-mặt-nạ-ngụy-trang-masquerading-bằng-mã-hash"&gt;Kỹ thuật 1: Lột mặt nạ ngụy trang (Masquerading) bằng mã Hash
&lt;/h3&gt;&lt;p&gt;Hacker hiểu rằng nếu chạy một file có tên &lt;code&gt;virus_an_cap.exe&lt;/code&gt;, chúng sẽ bị tóm ngay. Vì thế, chúng thường đổi tên mã độc thành các tiến trình hệ thống chuẩn như &lt;code&gt;cmd.exe&lt;/code&gt;, &lt;code&gt;svchost.exe&lt;/code&gt; hay &lt;code&gt;lsass.exe&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Tuy nhiên, dù tên file có đổi, mã Hash thì không bao giờ thay đổi. Khi Sysmon ghi lại mã SHA256 của tiến trình &lt;code&gt;cmd.exe&lt;/code&gt; giả mạo đó, bạn chỉ cần ném mã Hash đó lên VirusTotal. Mã Hash sẽ lập tức &amp;ldquo;tố cáo&amp;rdquo; đó là một file độc hại chứ không phải file chuẩn của Microsoft.&lt;/p&gt;
&lt;h3 id="kỹ-thuật-2-phân-tích-phả-hệ-tiến-trình-parent-child-anomalies"&gt;Kỹ thuật 2: Phân tích Phả hệ Tiến trình (Parent-Child Anomalies)
&lt;/h3&gt;&lt;p&gt;Đây là kỹ năng &amp;ldquo;nhìn thấu&amp;rdquo; logic hoạt động của hệ thống. Những tiến trình cha - con sau đây là cực kỳ phi logic và chắc chắn là mã độc:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;WINWORD.EXE (Microsoft Word) sinh ra powershell.exe hoặc cmd.exe:&lt;/strong&gt; Rất có thể một nhân viên vừa mở file Word chứa mã độc Macro, và nó đang gọi lệnh tải virus về máy.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;notepad.exe sinh ra cmd.exe:&lt;/strong&gt; Notepad chỉ là phần mềm gõ văn bản, nó tuyệt đối không có lý do gì để gọi cửa sổ dòng lệnh.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="kỹ-thuật-3-truy-vết-các-đường-dẫn-và-câu-lệnh-đáng-ngờ"&gt;Kỹ thuật 3: Truy vết các đường dẫn và câu lệnh đáng ngờ
&lt;/h3&gt;&lt;p&gt;Bạn cần cấu hình SIEM (hoặc viết script PowerShell) báo động ngay lập tức nếu tiến trình (Image) được chạy từ các thư mục trú ẩn quen thuộc của malware như:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;C:\Users\*\AppData\Local\Temp\&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;C:\Users\Public\&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bên cạnh đó, hãy soi kỹ trường &lt;code&gt;CommandLine&lt;/code&gt;. Hacker thường dùng các lệnh sau để tải mã độc thẳng vào RAM hoặc giải mã script:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-EncodedCommand&lt;/code&gt; (Chạy mã PowerShell đã mã hóa Base64)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;IEX (New-Object Net.WebClient)&lt;/code&gt; (Lệnh tải file từ Internet)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;certutil -urlcache&lt;/code&gt; hoặc &lt;code&gt;bitsadmin /transfer&lt;/code&gt; (Lợi dụng phần mềm có sẵn của Windows để tải virus)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="4-thực-hành-truy-vấn-sysmon-bằng-powershell"&gt;4. Thực hành truy vấn Sysmon bằng PowerShell
&lt;/h2&gt;&lt;p&gt;Thay vì click chuột mỏi tay trong Event Viewer, các Threat Hunter thường dùng PowerShell để săn lùng (Hunting) dấu vết tiến trình độc hại. Dưới đây là đoạn code mẫu giúp bạn trích xuất tất cả các lần &lt;code&gt;powershell.exe&lt;/code&gt; được gọi ra bởi thư mục Temp:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Truy vấn Sysmon Event ID 1 (Process Create)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$Query = &lt;span style="color:#e6db74"&gt;&amp;#34;*[System[EventID=1]]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Lọc các sự kiện có Image là powershell và ParentImage nằm trong thư mục Temp&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Get-WinEvent -LogName &lt;span style="color:#e6db74"&gt;&amp;#34;Microsoft-Windows-Sysmon/Operational&amp;#34;&lt;/span&gt; -FilterXPath $Query | 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Where-Object {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; $_.Message &lt;span style="color:#f92672"&gt;-match&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Image: .*powershell\.exe&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;-and&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; $_.Message &lt;span style="color:#f92672"&gt;-match&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;ParentImage: .*\\Temp\\.*&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; } | Format-List TimeCreated, Message
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="Result" class="gallery-image" data-flex-basis="420px" data-flex-grow="175" height="567" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="/post/sysmon-phan-1-giam-sat-tien-trinh/result.png" srcset="/post/sysmon-phan-1-giam-sat-tien-trinh/result_hu_58c3bd88eec3efb8.png 800w, /post/sysmon-phan-1-giam-sat-tien-trinh/result.png 994w" width="994"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Bằng cách tận dụng Sysmon Event ID 1, bạn đã bịt được lỗ hổng khổng lồ của Event Viewer mặc định. Mã Hash và Cây tiến trình (Parent-Child) chính là hai thanh gươm sắc bén nhất để lột mặt nạ mọi loại mã độc ngụy trang. Trong bài viết tới (Phần 2), chúng ta sẽ tiếp tục đi sâu vào các Event ID khác của Sysmon (EID 3, 10, 11) để truy vết mã độc tàng hình (Fileless Malware) và hành vi ăn cắp mật khẩu. Hẹn gặp lại các bạn!&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Sysmon (Phần 2)</title><link>/post/sysmon-phan-2-fileless-malware/</link><pubDate>Fri, 08 May 2026 12:00:00 +0700</pubDate><guid>/post/sysmon-phan-2-fileless-malware/</guid><description>&lt;p&gt;Chào mừng các bạn quay trở lại với Phần 2 của loạt bài về Sysmon trong Series Giải phẫu Windows OS &amp;amp; SOC Analytics! Ở phần trước, chúng ta đã dùng Event ID 1 để &amp;ldquo;bắt thóp&amp;rdquo; mã độc dựa vào mã Hash. Nhưng nếu mã độc không tồn tại dưới dạng file trên ổ cứng thì sao? Nếu chúng chạy thẳng trên RAM, hoặc âm thầm chọc ngoáy vào tiến trình hệ thống để ăn cắp mật khẩu? Hôm nay, chúng ta sẽ mở khóa sức mạnh thực sự của Sysmon với bộ 3 Event ID sinh tử: 3, 10 và 11 để chống lại những kỹ thuật lẩn tránh (Evasion) tinh vi nhất.&lt;/p&gt;
&lt;h2 id="1-event-id-10-process-access-kính-lúp-soi-bộ-nhớ-và-fileless-malware"&gt;1. Event ID 10 (Process Access): &amp;ldquo;Kính lúp&amp;rdquo; soi bộ nhớ và Fileless Malware
&lt;/h2&gt;&lt;p&gt;Trong hệ điều hành Windows, các tiến trình (Process) vốn dĩ nằm trong các không gian bộ nhớ biệt lập. Tuy nhiên, mã độc thường xuyên tìm cách &amp;ldquo;chọc&amp;rdquo; vào vùng nhớ của các tiến trình hệ thống hợp lệ để ăn cắp dữ liệu hoặc tiêm mã độc (Process Injection) nhằm che giấu hành vi.&lt;/p&gt;
&lt;p&gt;Đây là lúc &lt;strong&gt;Sysmon Event ID 10 (Process Access)&lt;/strong&gt; tỏa sáng. Trong khi Windows mặc định dùng Event ID 4656 nhưng rất khó cấu hình, Sysmon EID 10 cung cấp bức tranh rõ nét về việc tiến trình nào đang đòi quyền truy cập vào tiến trình nào.&lt;/p&gt;
&lt;p&gt;Đặc biệt, EID 10 là &amp;ldquo;khắc tinh&amp;rdquo; của hai hành vi sau:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Dump mật khẩu LSASS:&lt;/strong&gt; Hacker thường nhắm vào tiến trình &lt;code&gt;lsass.exe&lt;/code&gt; để trích xuất mật khẩu. EID 10 sẽ cảnh báo ngay nếu một file lạ xin quyền truy cập vào &lt;code&gt;lsass.exe&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tiêm mã độc vào RAM (Kỹ thuật tàng hình/Fileless):&lt;/strong&gt; Dưới đây là một ví dụ thực chiến từ log Sysmon:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;Source Image&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;C:\Users\sarah.miller\Downloads\ckjg.exe&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;Target Image&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;C:\Windows\System32\Wbem\wmic.exe&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;Granted Access&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;0x1FFFFF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;CallTrace&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;C:\Windows\SYSTEM32\ntdll.dll+...|UNKNOWN(00007FF7CE73CB77)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Phân tích góc nhìn SOC:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Một file có tên ngẫu nhiên &lt;code&gt;ckjg.exe&lt;/code&gt; tải về từ thư mục Downloads lại đi chọc vào công cụ quản lý hệ thống &lt;code&gt;wmic.exe&lt;/code&gt; của Windows.&lt;/li&gt;
&lt;li&gt;Quyền truy cập là &lt;code&gt;0x1FFFFF&lt;/code&gt; (Full Access) – một quyền tối thượng cực kỳ đáng ngờ.&lt;/li&gt;
&lt;li&gt;Đáng chú ý nhất là trường &lt;code&gt;CallTrace&lt;/code&gt;. Nó hiển thị chuỗi thư viện được gọi, nhưng ở đoạn cuối lại xuất hiện vùng nhớ &lt;code&gt;UNKNOWN(00007FF7CE73CB77)&lt;/code&gt;. Điều này cho thấy mã thực thi đang chạy ở một vùng nhớ không xác định, một dấu hiệu kinh điển của việc mã độc giải nén (unpack) shellcode trực tiếp vào RAM để né phần mềm diệt virus quét file vật lý.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-event-id-11-file-creation-theo-dấu-các-điểm-neo-persistence"&gt;2. Event ID 11 (File Creation): Theo dấu các điểm neo Persistence
&lt;/h2&gt;&lt;p&gt;Hacker có thể chạy mã độc trên RAM, nhưng để duy trì sự hiện diện (Persistence) qua những lần khởi động lại máy, chúng buộc phải để lại một thứ gì đó trên ổ đĩa. Thay vì cấu hình Audit Object Access phức tạp để lấy Event ID 4663 của Windows, &lt;strong&gt;Sysmon Event ID 11&lt;/strong&gt; mặc định ghi lại toàn bộ các file thực thi được tạo ra.&lt;/p&gt;
&lt;p&gt;Dựa vào tiến trình đáng ngờ &lt;code&gt;ckjg.exe&lt;/code&gt; ở trên, nếu ta tra cứu tiếp Event ID 11, ta sẽ bắt được ngay hành động giấu file của nó:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;ProcessId&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;1460&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;Image&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;C:\Users\sarah.miller\Downloads\ckjg.exe&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;TargetFilename&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;C:\Users\sarah.miller\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\DeleteApp.url&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Chỉ với một log duy nhất, Sysmon EID 11 đã vạch trần việc mã độc vừa âm thầm tạo một file khởi động tên là &lt;code&gt;DeleteApp.url&lt;/code&gt; nhét thẳng vào thư mục Startup của người dùng để kích hoạt cùng hệ thống.&lt;/p&gt;
&lt;h2 id="3-event-id-3-network-connection-bắt-tại-trận-reverse-shell"&gt;3. Event ID 3 (Network Connection): Bắt tại trận Reverse Shell
&lt;/h2&gt;&lt;p&gt;Mã độc lấy cắp dữ liệu xong thì phải gửi ra ngoài, hoặc nó cần kết nối về máy chủ C2 (Command &amp;amp; Control) để nhận lệnh.&lt;/p&gt;
&lt;p&gt;Nhật ký tường lửa mặc định của Windows (EID 5156) thường sinh ra quá nhiều &amp;ldquo;rác&amp;rdquo; (noise), nhưng &lt;strong&gt;Sysmon Event ID 3&lt;/strong&gt; lại là một tuyệt tác vì nó gắn trực tiếp kết nối mạng đó với một tiến trình cụ thể.&lt;/p&gt;
&lt;p&gt;Khi soi tiếp tiến trình &lt;code&gt;ckjg.exe&lt;/code&gt; bằng EID 3, ta thu được:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;Protocol&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;tcp&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;Source IP&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;10.10.57.125&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;(Máy nạn nhân)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;Destination IP&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;193.46.217.4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;Destination Port&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;7777&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;[Mẹo SOC]:&lt;/strong&gt; Cổng 7777 thường không phải là cổng dịch vụ chuẩn. Sự kết hợp giữa một tiến trình rác trong thư mục Downloads, thực hiện Process Injection (EID 10), thả file vào Startup (EID 11) và mở cổng TCP ra IP bên ngoài (EID 3) là một bằng chứng 100% về một cuộc tấn công Reverse Shell đang diễn ra.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="4-đối-đối-phó-với-timestomping-và-fileless-nâng-cao"&gt;4. Đối đối phó với Timestomping và Fileless nâng cao
&lt;/h2&gt;&lt;h3 id="41-timestomping-giả-mạo-thời-gian"&gt;4.1 Timestomping (Giả mạo thời gian)
&lt;/h3&gt;&lt;p&gt;Trong quá trình điều tra Forensics, timeline là yếu tố sống còn. Để đánh lừa các nhà phân tích, hacker sử dụng kỹ thuật Timestomping – dùng công cụ sửa đổi ngày tạo (Creation Time) của mã độc lùi về quá khứ để trông giống như một tệp hệ thống đã tồn tại từ lâu.&lt;/p&gt;
&lt;p&gt;Ví dụ, trong một ổ đĩa FAT32 bị điều tra, ta có thể thấy một file &lt;code&gt;install.txt&lt;/code&gt; có thời gian truy cập cuối (Accessed Time) là năm 2018, nhưng thời gian tạo (Created Time) lại là năm 2025. Đây là dấu vết thao túng thời gian rõ rệt.&lt;/p&gt;
&lt;p&gt;Để bắt được hành vi này ngay lập tức, ta sử dụng &lt;strong&gt;Sysmon Event ID 2&lt;/strong&gt;. Nếu Windows Event ID 4670 chỉ đơn thuần ghi nhận thay đổi quyền/thuộc tính, thì Sysmon EID 2 được thiết kế đặc biệt để phát hiện và cảnh báo ngay khi có kẻ cố tình sửa đổi thời gian tạo của tệp tin.&lt;/p&gt;
&lt;h3 id="42-giám-sát-fileless-qua-powershell-event-id-4104"&gt;4.2 Giám sát Fileless qua PowerShell (Event ID 4104)
&lt;/h3&gt;&lt;p&gt;Khi nói đến mã độc không để lại file, PowerShell là công cụ bị lạm dụng nhiều nhất. Hacker sẽ truyền các chuỗi lệnh đã mã hóa Base64 thẳng vào RAM. Nếu chỉ nhìn Sysmon EID 1, bạn sẽ chỉ thấy câu lệnh &lt;code&gt;powershell -encodedCommand ...&lt;/code&gt; vô nghĩa.&lt;/p&gt;
&lt;p&gt;Để đối phó, SOC Analyst phải bật tính năng &lt;strong&gt;Script Block Logging (Event ID 4104)&lt;/strong&gt; trong nhánh &lt;code&gt;Microsoft-Windows-PowerShell/Operational&lt;/code&gt;. Ngay cả khi hacker mã hóa code, PowerShell bắt buộc phải tự giải mã nó trên RAM để thực thi. Lúc này, EID 4104 sẽ chộp lại và lưu trữ toàn bộ nội dung code dạng nguyên bản (clear-text).&lt;/p&gt;
&lt;p&gt;Bạn cũng có thể theo dõi &lt;strong&gt;Event ID 4103 (Module Logging)&lt;/strong&gt; để xem chính xác các tham số và biến số (Parameter Binding) nào đã được nạp vào, giúp truy vết tận gốc nguồn tài nguyên độc hại.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Bằng cách kết hợp Sysmon (EID 3, 10, 11) cùng các nhật ký giám sát PowerShell, bạn đã dựng lên một lưới điện an ninh dày đặc. Mã độc có thể đổi tên, giấu file, giả mạo thời gian hay chạy trên RAM, nhưng chúng không bao giờ có thể xóa bỏ hoàn toàn những chuỗi hành vi logic mà chúng tạo ra trên hệ điều hành. Chúc các bạn áp dụng hiệu quả vào hệ thống SIEM của mình để trở thành một Threat Hunter xuất sắc!&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>