<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Autoruns on Roduygo | Blog</title><link>/tags/autoruns/</link><description>Recent content in Autoruns 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/autoruns/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></channel></rss>