<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mitm on Roduygo | Blog</title><link>/tags/mitm/</link><description>Recent content in Mitm on Roduygo | Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Thu, 21 May 2026 22:57:00 +0700</lastBuildDate><atom:link href="/tags/mitm/index.xml" rel="self" type="application/rss+xml"/><item><title>Quản trị từ xa (SSH) &amp; Lỗ hổng Terrapin (CVE-2023-48795)</title><link>/post/ssh-terrapin-cve-2023-48795/</link><pubDate>Thu, 21 May 2026 22:57:00 +0700</pubDate><guid>/post/ssh-terrapin-cve-2023-48795/</guid><description>&lt;p&gt;Chào mừng các bạn tiếp tục với Series Giải phẫu Mạng &amp;amp; Packet Analysis! Ở bài trước, chúng ta đã thấy SFTP tận dụng sự kiên cố của kiến trúc đường hầm SSH để bảo vệ việc truyền tải dữ liệu. Tuy nhiên, vỏ bọc nào cũng có điểm yếu chí mạng nếu quá trình &amp;ldquo;đàm phán&amp;rdquo; ban đầu bị thao túng. Hôm nay, chúng ta sẽ đi sâu vào kỹ thuật quản trị từ xa bằng SSH, giải phẫu cơ chế nhận diện Fingerprint và mổ xẻ lỗ hổng &lt;strong&gt;Terrapin (CVE-2023-48795)&lt;/strong&gt; — đòn tấn công tinh vi đánh thẳng vào tính toàn vẹn của quá trình bắt tay.&lt;/p&gt;
&lt;h2 id="1-ssh-secure-shell---vua-của-dòng-lệnh-từ-xa"&gt;1. SSH (Secure Shell) - &amp;ldquo;Vua&amp;rdquo; của dòng lệnh từ xa
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;SSH&lt;/strong&gt; (hoạt động ở Cổng &lt;code&gt;22&lt;/code&gt;) ra đời để thay thế cho giao thức Telnet lỗi thời, được sử dụng chủ yếu để đăng nhập và điều khiển các máy chủ Linux từ xa với độ bảo mật cực cao.&lt;/p&gt;
&lt;p&gt;Bản chất của SSH là tạo ra một đường hầm mã hóa để bạn truyền các lệnh văn bản (Text-based). Nó sử dụng cơ chế bảo mật dựa trên cặp khóa &lt;strong&gt;Public/Private Key&lt;/strong&gt; hoặc mật khẩu đã được băm. Đứng ở góc độ một SOC Analyst soi gói tin bằng Wireshark, toàn bộ dữ liệu giao tiếp bên trong SSH chỉ hiện ra dưới dạng các khối &lt;strong&gt;Encrypted Packet&lt;/strong&gt; — kẻ tấn công không thể đọc được bạn đang gõ lệnh quản trị gì.&lt;/p&gt;
&lt;h2 id="2-ranh-giới-chống-mitm-dấu-vân-tay-fingerprint-và-known_hosts"&gt;2. Ranh giới chống MitM: Dấu vân tay (Fingerprint) và known_hosts
&lt;/h2&gt;&lt;p&gt;Vậy làm sao máy tính của bạn biết nó đang kết nối đúng đến Server thật chứ không phải một máy chủ giả mạo do hacker dựng lên (&lt;strong&gt;Man-in-the-Middle&lt;/strong&gt;)? Bí quyết nằm ở cơ chế &lt;strong&gt;Dấu vân tay&lt;/strong&gt; (Fingerprint).&lt;/p&gt;
&lt;p&gt;Khi bạn thực hiện kết nối SSH lần đầu tiên, máy khách chưa biết gì về Server. Lúc này, Server sẽ gửi &amp;ldquo;chứng minh thư&amp;rdquo; của nó dưới dạng một mã Fingerprint (thường dùng thuật toán băm &lt;code&gt;ED25519&lt;/code&gt; từ Khóa công khai).&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Lệnh kết nối SSH vào máy chủ Linux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Hệ thống sẽ hỏi xác nhận Fingerprint trong lần kết nối đầu tiên&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh admin@10.10.50.20
&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;# The authenticity of host &amp;#39;10.10.50.20 (10.10.50.20)&amp;#39; can&amp;#39;t be established.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# ED25519 key fingerprint is SHA256:bafc947d6e921971472e82f52462129e.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Are you sure you want to continue connecting (yes/no/[fingerprint])?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Khi bạn gõ &lt;code&gt;yes&lt;/code&gt;, máy của bạn sẽ lưu vĩnh viễn khóa này vào file &lt;code&gt;known_hosts&lt;/code&gt;. Kể từ những lần đăng nhập sau, nếu dấu vân tay này bị thay đổi (do hacker can thiệp và ép dùng khóa giả), SSH sẽ lập tức hiển thị &lt;strong&gt;cảnh báo đỏ&lt;/strong&gt; và ngắt kết nối để bảo vệ bạn.&lt;/p&gt;
&lt;h2 id="3-lỗ-hổng-terrapin-cve-2023-48795---thao-túng-gói-tin-bắt-tay"&gt;3. Lỗ hổng Terrapin (CVE-2023-48795) - Thao túng gói tin bắt tay
&lt;/h2&gt;&lt;p&gt;Mặc dù khóa phiên được trao đổi và lưu an toàn trong RAM ngay từ đầu, SSH vẫn tồn tại một lỗ hổng chí mạng mang tên &lt;strong&gt;Terrapin Attack (CVE-2023-48795)&lt;/strong&gt;. Điểm đáng sợ của Terrapin là nó &lt;strong&gt;không thèm bẻ khóa&lt;/strong&gt; thuật toán mã hóa, mà đánh trực tiếp vào tính toàn vẹn của quá trình &amp;ldquo;bắt tay&amp;rdquo; (Handshake).&lt;/p&gt;
&lt;p&gt;Trong giao thức SSH, mỗi gói tin được gửi đi đều đi kèm với một &lt;strong&gt;số thứ tự&lt;/strong&gt; (Sequence Number) ngẫu nhiên và tăng dần ngầm định. Cả Client và Server đều kiểm tra gắt gao số này để đảm bảo không một gói tin nào bị rơi rớt hay bị kẻ xấu chèn thêm vào.&lt;/p&gt;
&lt;p&gt;Cách thức tấn công của Terrapin (kỹ thuật &lt;strong&gt;&amp;ldquo;Cắt dán&amp;rdquo; số thứ tự&lt;/strong&gt;) diễn ra như sau:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Hacker chiếm vị trí &lt;strong&gt;Man-in-the-Middle (MitM)&lt;/strong&gt; giữa máy bạn và Server.&lt;/li&gt;
&lt;li&gt;Trong giai đoạn đầu của quá trình bắt tay (khi mã hóa toàn phần chưa được thiết lập), hacker chủ động &lt;strong&gt;xóa bỏ&lt;/strong&gt; một số gói tin cụ thể — ví dụ: gói tin báo hiệu việc hỗ trợ các thuật toán bảo mật cao.&lt;/li&gt;
&lt;li&gt;Để hai bên Client và Server không phát hiện ra sự thiếu hụt này, hacker &lt;strong&gt;điều chỉnh lại số thứ tự&lt;/strong&gt; của các gói tin kế tiếp sao cho chúng khớp hoàn hảo với mong đợi của hai bên — như thể gói tin bị xóa chưa từng tồn tại.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="4-hậu-quả-hạ-cấp-bảo-mật-và-vô-hiệu-hóa-keystroke-obfuscation"&gt;4. Hậu quả: Hạ cấp bảo mật và Vô hiệu hóa Keystroke Obfuscation
&lt;/h2&gt;&lt;p&gt;Mục đích cuối cùng của việc &amp;ldquo;xóa dấu vết&amp;rdquo; khéo léo này là để thực hiện đòn &lt;strong&gt;Hạ cấp bảo mật&lt;/strong&gt; (Downgrade Attack). Bằng cách xóa các gói tin mở rộng (Extension Info), hacker đánh lừa cả hai bên về khả năng bảo mật của nhau.&lt;/p&gt;
&lt;p&gt;Hậu quả mang lại cực kỳ tàn khốc:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ép dùng thuật toán yếu:&lt;/strong&gt; SSH sẽ bị lừa và tự động lùi về sử dụng các bộ thuật toán mã hóa cũ hơn, yếu hơn, dễ bị hacker dùng kỹ thuật tấn công kênh kề để khai thác.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vô hiệu hóa Keystroke Obfuscation:&lt;/strong&gt; Đây là tính năng quan trọng của SSH dùng để làm nhiễu &amp;ldquo;nhịp gõ phím&amp;rdquo; khi truyền qua mạng. Khi Terrapin vô hiệu hóa thành công tính năng này, hacker đứng giữa có thể dễ dàng đoán được độ dài mật khẩu và thực hiện tấn công Sniffing.&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Cảnh báo SOC:&lt;/strong&gt; Lỗ hổng Terrapin cho thấy tầm quan trọng của việc cập nhật phần mềm. Để chống lại đòn tấn công này, quản trị viên mạng phải đảm bảo cả &lt;strong&gt;SSH Client&lt;/strong&gt; (như PuTTY, OpenSSH) và &lt;strong&gt;SSH Server&lt;/strong&gt; đều được cập nhật lên phiên bản mới nhất có hỗ trợ cờ &lt;strong&gt;&amp;ldquo;Strict KEX&amp;rdquo;&lt;/strong&gt; (Bắt tay nghiêm ngặt) nhằm chặn đứng hành vi thao túng gói tin.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Khép lại Bài 10, chúng ta đã hoàn tất việc mổ xẻ những giao thức quan trọng nhất ở Tầng Ứng dụng (Lớp 7) như DNS, DHCP, HTTP, FTP và SSH. Bức tranh về cách dữ liệu truyền tải trên mạng đã hoàn thiện. Giờ là lúc chúng ta chuyển sang thế chủ động: Làm thế nào để xây dựng các công sự bảo vệ mạng lưới này? Trong Bài 11 tiếp theo, chúng ta sẽ bắt đầu Phần 4 của Series với chủ đề Vành đai Tường lửa (Firewall) &amp;amp; Cơ chế NAT. Hãy cùng chờ đón nhé!&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Giao thức Truyền tải (HTTP/HTTPS &amp; FTP/SFTP)</title><link>/post/http-ftp-sftp-protocols/</link><pubDate>Thu, 21 May 2026 22:55:00 +0700</pubDate><guid>/post/http-ftp-sftp-protocols/</guid><description>&lt;p&gt;Chào mừng các bạn tiếp tục với Series Giải phẫu Mạng &amp;amp; Packet Analysis! Ở phần trước, chúng ta đã đi sâu vào hạ tầng mạng với DNS và DHCP. Khi gói tin đã có IP và tìm được đích đến, hệ thống sẽ chuyển giao nhiệm vụ cho các giao thức truyền tải văn bản và tệp tin ở Lớp Ứng dụng (Tầng 7). Hôm nay, chúng ta sẽ đặt HTTP/HTTPS và FTP/SFTP lên bàn mổ Wireshark để thấy rõ ranh giới sinh tử giữa dữ liệu trần trụi và kiến trúc đường hầm mã hóa.&lt;/p&gt;
&lt;h2 id="1-http-và-https-ranh-giới-giữa-trần-trụi-và-kín-đáo"&gt;1. HTTP và HTTPS: Ranh giới giữa &amp;ldquo;Trần trụi&amp;rdquo; và &amp;ldquo;Kín đáo&amp;rdquo;
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;HTTP&lt;/strong&gt; (Cổng &lt;code&gt;80&lt;/code&gt;) là giao thức nền tảng để duyệt web, nhưng bản chất của nó là truyền &lt;strong&gt;văn bản thuần&lt;/strong&gt; (Clear-text) hoàn toàn không được mã hóa. Đứng ở góc độ bảo mật, nếu bạn sử dụng mạng Wi-Fi công cộng để truy cập một trang web HTTP, bất kỳ ai có kiến thức cơ bản về mạng đang dùng Wireshark cũng có thể &amp;ldquo;nghe lén&amp;rdquo;. Họ sẽ thấy toàn bộ nội dung bạn chat, tài khoản, mật khẩu và thậm chí có thể can thiệp sửa đổi dữ liệu trên đường đi.&lt;/p&gt;
&lt;p&gt;Để khắc phục điều này, &lt;strong&gt;HTTPS&lt;/strong&gt; (Cổng &lt;code&gt;443&lt;/code&gt;) ra đời. Nó thực chất là giao thức HTTP được chạy trên nền của SSL/TLS ở Tầng 6 (Presentation).&lt;/p&gt;
&lt;p&gt;Khi bạn truy cập &lt;code&gt;facebook.com&lt;/code&gt; qua HTTPS, sau khi hoàn tất quá trình Bắt tay TCP ở Tầng 4, quy trình mã hóa sẽ diễn ra như sau:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Chuẩn bị (TLS Handshake):&lt;/strong&gt; Trình duyệt (&lt;code&gt;Client Hello&lt;/code&gt;) và máy chủ (&lt;code&gt;Server Hello&lt;/code&gt;) đàm phán để chọn ra một bộ công cụ mật mã (Cipher Suite) chung.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mã hóa (Application Data):&lt;/strong&gt; Chỉ sau khi &amp;ldquo;đường hầm&amp;rdquo; TLS được thiết lập xong, dữ liệu web thực sự (phương thức &lt;code&gt;GET&lt;/code&gt;/&lt;code&gt;POST&lt;/code&gt;, mật khẩu, hình ảnh) mới bắt đầu được đẩy đi dưới dạng các khối &lt;strong&gt;Encrypted Application Data&lt;/strong&gt;. Lúc này, hacker đứng giữa mạng sẽ hoàn toàn mù tịt.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="2-ftp-và-thảm-họa-lộ-mật-khẩu-clear-text"&gt;2. FTP và Thảm họa Lộ Mật khẩu (Clear-text)
&lt;/h2&gt;&lt;p&gt;Tương tự như câu chuyện của HTTP, giao thức truyền tải tệp tin &lt;strong&gt;FTP&lt;/strong&gt; (File Transfer Protocol) hoạt động ở Cổng &lt;code&gt;20&lt;/code&gt; và &lt;code&gt;21&lt;/code&gt; cũng là một giao thức cực kỳ yếu kém về bảo mật.&lt;/p&gt;
&lt;p&gt;Hãy tưởng tượng một kịch bản thực chiến: Một nhân viên dùng FTP để upload báo cáo nội bộ qua mạng Wi-Fi ở quán cà phê. Hacker ngồi góc phòng, bật Wireshark (hoặc Ettercap) để thực hiện tấn công &lt;strong&gt;Man-in-the-Middle (MitM)&lt;/strong&gt;. Vì FTP không hề có lớp bảo vệ mã hóa nào, hacker sẽ bắt được toàn bộ gói tin giao tiếp trần trụi giữa máy trạm và Server.&lt;/p&gt;
&lt;p&gt;Dưới đây là bằng chứng kết xuất từ Wireshark khi hacker bắt thành công gói tin FTP:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Gói tin FTP cho thấy thông tin đăng nhập bị lộ hoàn toàn
# IP Nạn nhân: 192.168.1.15 | IP Máy chủ FTP: 10.10.50.20

No. Time Source Destination Protocol Info
34 100.646 192.168.1.15 -&amp;gt; 10.10.50.20 FTP Request: USER roduygo
36 100.646 10.10.50.20 -&amp;gt; 192.168.1.15 FTP Response: 331 Please specify the password.
38 102.659 192.168.1.15 -&amp;gt; 10.10.50.20 FTP Request: PASS 7905
40 102.756 10.10.50.20 -&amp;gt; 192.168.1.15 FTP Response: 230 Login successful.
42 102.756 192.168.1.15 -&amp;gt; 10.10.50.20 FTP Request: SYST
[...]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Chỉ với vài giây phân tích, hacker đã lấy được chính xác tài khoản (&lt;code&gt;USER roduygo&lt;/code&gt;) và mật khẩu (&lt;code&gt;PASS 7905&lt;/code&gt;). Từ đây, chúng có thể đăng nhập thẳng vào Server để trích xuất dữ liệu mật hoặc xóa sạch mọi tài liệu quan trọng.&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Cảnh báo SOC:&lt;/strong&gt; FTP mặc định là một lỗ hổng chí mạng. SOC Analyst cần đưa ra cảnh báo khẩn cấp (Alert) trên hệ thống IDS/IPS nếu phát hiện bất kỳ lưu lượng &lt;strong&gt;FTP&lt;/strong&gt; nào (Port &lt;code&gt;21&lt;/code&gt;) truyền tải dữ liệu mà không đi qua các đường hầm VPN hoặc chưa được bọc TLS (&lt;strong&gt;FTPS&lt;/strong&gt;).&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="3-sftp-kiến-trúc-đường-hầm-bảo-mật-tuyệt-đối"&gt;3. SFTP: Kiến trúc Đường hầm Bảo mật tuyệt đối
&lt;/h2&gt;&lt;p&gt;Để giải quyết vấn đề của FTP, giải pháp an toàn và phổ biến nhất hiện nay trong giới quản trị hệ thống là &lt;strong&gt;SFTP&lt;/strong&gt; (SSH File Transfer Protocol).&lt;/p&gt;
&lt;p&gt;Một sai lầm rất thường gặp là mọi người nghĩ SFTP là &amp;ldquo;FTP cộng thêm bảo mật&amp;rdquo;. Thực chất không phải vậy! &lt;strong&gt;SFTP là một giao thức hoàn toàn mới&lt;/strong&gt; được xây dựng từ đầu ngay bên trong không gian của &lt;strong&gt;SSH&lt;/strong&gt; (Cổng &lt;code&gt;22&lt;/code&gt;). Trong khi SSH cung cấp cho bạn quyền gõ lệnh Terminal từ xa, thì SFTP tận dụng chính &amp;ldquo;đường hầm&amp;rdquo; an toàn đó để truyền tải tệp tin.&lt;/p&gt;
&lt;p&gt;Khi bạn kết nối SFTP lần đầu, hệ thống sẽ sử dụng cơ chế bảo mật cực mạnh:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Kiểm tra Fingerprint:&lt;/strong&gt; Máy bạn sẽ hỏi &amp;ldquo;dấu vân tay&amp;rdquo; (thường là mã &lt;code&gt;ED25519&lt;/code&gt;) của Server và lưu vào file &lt;code&gt;known_hosts&lt;/code&gt;. Từ lần sau, nếu dấu vân tay này bị thay đổi (do hacker cố tình dựng Server giả mạo), SSH sẽ báo động đỏ ngay lập tức.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mã hóa hoàn toàn:&lt;/strong&gt; Toàn bộ lệnh gõ, tên file, và nội dung file đều bị băm và xáo trộn.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nếu hacker tiếp tục dùng Wireshark để nghe lén luồng SFTP, thứ duy nhất chúng thấy chỉ là vô vọng:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Gói tin SFTP (chạy qua SSH) hoàn toàn bị mã hóa, che giấu mọi hoạt động
# IP Nạn nhân: 192.168.1.15 | IP Máy chủ SFTP: 10.10.50.20

No. Time Source Destination Protocol Info
14 13.1338 192.168.1.15 -&amp;gt; 10.10.50.20 SSHv2 Client: PQ/T Hybrid Key Exchange Init
15 13.1383 10.10.50.20 -&amp;gt; 192.168.1.15 SSHv2 Server: PQ/T Hybrid Key Exchange Reply, New Keys
17 18.3181 192.168.1.15 -&amp;gt; 10.10.50.20 SSHv2 Client: New Keys, Encrypted packet (len=68)
19 18.3509 10.10.50.20 -&amp;gt; 192.168.1.15 SSHv2 Client: Encrypted packet (len=52)
34 21.8629 192.168.1.15 -&amp;gt; 10.10.50.20 SSHv2 Client: Encrypted packet (len=128)
36 21.9083 10.10.50.20 -&amp;gt; 192.168.1.15 SSHv2 Server: Encrypted packet (len=628)
[...]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Thay vì thấy lệnh &lt;code&gt;USER&lt;/code&gt; hay &lt;code&gt;PASS&lt;/code&gt;, tất cả những gì hiển thị trên màn hình của hacker giờ đây chỉ là các khối &lt;strong&gt;Encrypted packet&lt;/strong&gt; khô khan.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Hiểu rõ sự khác biệt giữa giao thức truyền văn bản thuần (HTTP, FTP) và các giao thức bọc giáp (HTTPS, SFTP) giúp SOC Analyst biết phải cấu hình giám sát ở đâu để không bị lọt lưới thông tin nhạy cảm. Dù SSH/SFTP rất kiên cố, nhưng vỏ bọc nào cũng có điểm yếu chí mạng nếu quá trình &amp;ldquo;đàm phán&amp;rdquo; ban đầu bị thao túng. Trong Bài tiếp theo, chúng ta sẽ đi sâu vào kỹ thuật quản trị từ xa (SSH) và mổ xẻ lỗ hổng Terrapin (CVE-2023-48795) — đòn tấn công tinh vi đánh thẳng vào tính toàn vẹn của quá trình bắt tay SSH. Hãy cùng chờ đón nhé!&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Hạ tầng Mạng (DNS &amp; DHCP)</title><link>/post/dns-dhcp-network-infrastructure/</link><pubDate>Thu, 21 May 2026 22:53:00 +0700</pubDate><guid>/post/dns-dhcp-network-infrastructure/</guid><description>&lt;p&gt;Chào mừng các bạn tiếp tục với Series Giải phẫu Mạng &amp;amp; Packet Analysis! Sau khi đã thiết lập xong &amp;ldquo;đường hầm&amp;rdquo; mã hóa vững chắc ở Tầng 6, chúng ta chính thức bước chân vào Lớp 7 (Application). Đây là nơi chứa đựng những giao thức nền tảng nhất giúp Internet vận hành, nhưng cũng là những &amp;ldquo;góc khuất ngây thơ&amp;rdquo; nhất vì mặc định chúng thiếu đi các cơ chế bảo mật cốt lõi. Hôm nay, chúng ta sẽ cùng bóc tách hệ thống phân giải tên miền (DNS) và quá trình xin cấp phát IP tự động (DHCP), đồng thời phân tích các đòn đánh hiểm hóc nhắm vào chúng.&lt;/p&gt;
&lt;h2 id="1-dns-domain-name-system---bản-danh-bạ-của-internet"&gt;1. DNS (Domain Name System) - Bản danh bạ của Internet
&lt;/h2&gt;&lt;p&gt;Hệ thống phân giải tên miền (&lt;strong&gt;DNS&lt;/strong&gt;) là một giao thức cốt lõi thuộc Tầng 7 (Application Layer) hoạt động chủ yếu qua cổng &lt;strong&gt;UDP 53&lt;/strong&gt;. Nhiệm vụ của nó là &amp;ldquo;dịch&amp;rdquo; các tên miền dễ nhớ đối với con người (như &lt;code&gt;google.com&lt;/code&gt;) thành địa chỉ IP thực tế để máy tính có thể giao tiếp với nhau trên mạng.&lt;/p&gt;
&lt;p&gt;Ví dụ, trước khi bạn thực sự truy cập vào trang Facebook, máy tính của bạn sẽ bắn một gói tin truy vấn DNS đến máy chủ phân giải (như &lt;code&gt;8.8.8.8&lt;/code&gt;) để hỏi IP của Facebook là gì. Sau khi DNS trả về địa chỉ IP và lưu nó vào bộ nhớ đệm (cache), trình duyệt của bạn mới bắt đầu thực hiện kết nối TCP 3 bước để trao đổi dữ liệu web.&lt;/p&gt;
&lt;h2 id="2-bắt-tại-trận-các-đòn-tấn-công-nhắm-vào-dns"&gt;2. Bắt tại trận các đòn tấn công nhắm vào DNS
&lt;/h2&gt;&lt;p&gt;DNS được thiết kế từ thời kỳ sơ khai của Internet nên nó rất &amp;ldquo;ngây thơ&amp;rdquo;: mặc định các truy vấn &lt;strong&gt;không được mã hóa&lt;/strong&gt; và &lt;strong&gt;không có cơ chế xác thực danh tính&lt;/strong&gt; mạnh mẽ. Hacker hiểu rất rõ điểm yếu này và thường xuyên tung ra các đòn tấn công sau:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DNS Spoofing / Poisoning (Lừa đảo/Đầu độc):&lt;/strong&gt; Kẻ tấn công gửi một gói tin trả lời (Response) giả mạo chứa địa chỉ IP của máy hacker, cố gắng đến máy bạn nhanh hơn cả DNS Server thật. Nếu số định danh &lt;code&gt;Transaction ID&lt;/code&gt; trong gói tin trùng khớp, máy tính của bạn sẽ tin tưởng tuyệt đối và truy cập thẳng vào trang web lừa đảo do hacker dựng sẵn.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS Tunneling (Đường hầm dữ liệu):&lt;/strong&gt; Tường lửa của các doanh nghiệp thường luôn cho phép cổng &lt;code&gt;53&lt;/code&gt; đi qua một cách tự do. Biết được kẽ hở này, hacker có thể nhồi nhét dữ liệu nhạy cảm (như mã nguồn dự án hoặc thông tin thẻ tín dụng) vào bên trong các truy vấn DNS thông thường để âm thầm tuồn dữ liệu ra ngoài (&lt;strong&gt;Data Exfiltration&lt;/strong&gt;) mà không bị hệ thống IDS/IPS chặn lại.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS Hijacking (Chiếm quyền điều khiển):&lt;/strong&gt; Kẻ gian trực tiếp thay đổi cài đặt máy chủ DNS trên hệ điều hành máy nạn nhân hoặc trên Router để trỏ mọi truy vấn phân giải về một DNS Server do chúng kiểm soát hoàn toàn.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dưới đây là output Wireshark ghi lại một truy vấn DNS bình thường. Nếu bị &lt;strong&gt;DNS Spoofing&lt;/strong&gt;, IP trả về ở gói số 2 sẽ là IP của kẻ tấn công thay vì IP thật:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Máy khách 192.168.1.156 hỏi DNS Server 203.113.188.6 địa chỉ của google.com
# Bộ lọc Wireshark: dns &amp;amp;&amp;amp; ip.addr == 192.168.1.156

No. Time Source Destination Protocol Info
1 0.000000 192.168.1.156 -&amp;gt; 203.113.188.6 DNS Standard query 0x24b7 A google.com
2 0.084123 203.113.188.6 -&amp;gt; 192.168.1.156 DNS Standard query response 0x24b7 A google.com A 142.250.198.46
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="3-dhcp-dynamic-host-configuration-protocol-và-quy-trình-dora"&gt;3. DHCP (Dynamic Host Configuration Protocol) và Quy trình DORA
&lt;/h2&gt;&lt;p&gt;Trước khi máy tính có thể &amp;ldquo;hỏi đường&amp;rdquo; bằng DNS, nó phải làm thủ tục &amp;ldquo;xin hộ khẩu&amp;rdquo; để có một địa chỉ IP nội bộ hợp lệ nhằm gia nhập mạng. Quá trình tự động hóa này do giao thức &lt;strong&gt;DHCP&lt;/strong&gt; đảm nhận, hoạt động ở Tầng 7 và sử dụng cổng &lt;strong&gt;UDP 67&lt;/strong&gt; cho Server, &lt;strong&gt;UDP 68&lt;/strong&gt; cho Client.&lt;/p&gt;
&lt;p&gt;Khi bạn vừa cắm dây cáp mạng hoặc bật Wi-Fi, một quy trình 4 bước mang tên &lt;strong&gt;DORA&lt;/strong&gt; sẽ lập tức diễn ra:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;D — Discover (Khám phá):&lt;/strong&gt; Máy tính của bạn lúc này chưa có IP, nó dùng địa chỉ &lt;code&gt;0.0.0.0&lt;/code&gt; để &amp;ldquo;hét&amp;rdquo; lên toàn mạng bằng gói tin Broadcast: &amp;ldquo;Có ai là DHCP Server ở đây không? Tôi cần một địa chỉ IP!&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;O — Offer (Đề nghị):&lt;/strong&gt; Router (đóng vai trò DHCP Server) nghe thấy và đáp lại: &amp;ldquo;Tôi đây! Tôi đang có sẵn địa chỉ &lt;code&gt;192.168.1.14&lt;/code&gt; trống, cậu có muốn dùng không?&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;R — Request (Yêu cầu):&lt;/strong&gt; Máy của bạn phản hồi lại toàn mạng: &amp;ldquo;Tuyệt quá! Tôi đồng ý dùng địa chỉ &lt;code&gt;.14&lt;/code&gt; đó. Làm ơn khóa địa chỉ đó lại cho tôi nhé!&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A — Acknowledge (Xác nhận):&lt;/strong&gt; Router chốt sổ và thông báo: &amp;ldquo;Ok, địa chỉ &lt;code&gt;.14&lt;/code&gt; là của cậu trong vòng 24 giờ tới. Đây là thông số DNS và Default Gateway để cậu vào mạng&amp;rdquo;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="4-dhcp-starvation-và-rogue-server---sự-nguy-hiểm-của-broadcast"&gt;4. DHCP Starvation và Rogue Server - Sự nguy hiểm của Broadcast
&lt;/h2&gt;&lt;p&gt;Điểm yếu chí mạng của DHCP là nó hoạt động hoàn toàn dựa trên &lt;strong&gt;niềm tin&lt;/strong&gt; vào bất kỳ thiết bị nào phản hồi lại gói tin Broadcast (&lt;code&gt;255.255.255.255&lt;/code&gt;). Kẻ tấn công đứng trong cùng một mạng LAN có thể dễ dàng khai thác niềm tin này:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DHCP Starvation (Tấn công làm cạn kiệt):&lt;/strong&gt; Hacker sử dụng công cụ tự động để tạo ra hàng vạn gói tin Discover với các địa chỉ MAC giả mạo liên tục. Router sẽ ngây thơ cấp phát toàn bộ dải IP trống trong kho của nó (ví dụ từ &lt;code&gt;.2&lt;/code&gt; đến &lt;code&gt;.254&lt;/code&gt;) cho các MAC ảo này. Hậu quả là khi một nhân viên thật kết nối vào mạng, Router sẽ báo &amp;ldquo;hết số&amp;rdquo; và họ không thể nhận được IP để vào mạng.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rogue DHCP Server (Server giả mạo):&lt;/strong&gt; Hacker chủ động dựng lên một DHCP Server giả ngay trong mạng công ty. Khi máy của nhân viên gửi gói tin Discover xin IP, Server giả này sẽ phản hồi nhanh hơn cả Router thật để cấp IP — nhưng nó sẽ cấp cho nạn nhân một &lt;strong&gt;Default Gateway giả mạo&lt;/strong&gt; trỏ thẳng về máy của hacker. Lúc này, toàn bộ dữ liệu nạn nhân gửi ra Internet đều chảy xuyên qua máy kẻ tấn công, tạo nên một đòn &lt;strong&gt;Man-in-the-Middle (MitM)&lt;/strong&gt; hoàn hảo.&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Cảnh báo SOC:&lt;/strong&gt; Để chống lại các cuộc tấn công hạ tầng này, quản trị viên mạng cần cấu hình tính năng &lt;strong&gt;DHCP Snooping&lt;/strong&gt; trên các Switch vật lý. Tính năng này sẽ chỉ cho phép các cổng (Port) kết nối với Router thật mới được quyền gửi gói tin &lt;code&gt;Offer&lt;/code&gt; và &lt;code&gt;Acknowledge&lt;/code&gt;, chặn đứng mọi DHCP Server giả mạo.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Thấu hiểu cách DNS và DHCP vận hành giúp SOC Analyst phát hiện sớm các chiến dịch đánh cắp dữ liệu hoặc nghe lén mạng nội bộ trước khi chúng gây ra hậu quả. Sau khi gói tin của chúng ta đã có IP và tìm được đích đến, nó sẽ được chuyển giao cho các giao thức truyền tải văn bản và tệp tin. Trong Bài 9 tiếp theo, chúng ta sẽ phân tích sâu hơn về HTTP/HTTPS, cách FTP làm lộ mật khẩu trần trụi và kiến trúc đường hầm an toàn của SFTP. Hẹn gặp lại các bạn!&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Lớp 6 (Presentation) &amp; Lớp vỏ Mã hóa - Từ SSL đến TLS và Lỗ hổng POODLE</title><link>/post/presentation-layer-tls/</link><pubDate>Thu, 21 May 2026 22:50:00 +0700</pubDate><guid>/post/presentation-layer-tls/</guid><description>&lt;p&gt;Chào mừng các bạn tiếp tục với Series Giải phẫu Mạng &amp;amp; Packet Analysis! Ở bài trước, chúng ta đã tìm hiểu cách Tầng 5 duy trì các phiên làm việc, nhưng nếu dữ liệu (như mật khẩu, cookie) cứ thế truyền đi trần trụi thì hacker đứng giữa mạng sẽ dễ dàng tóm gọn. Đó là lúc Tầng 6 (Presentation Layer) xuất hiện như một &amp;ldquo;lớp vỏ bọc thép&amp;rdquo; để thông dịch, nén và xáo trộn mọi thông tin trước khi đẩy ra mạng. Hôm nay, chúng ta sẽ cùng mổ xẻ cơ chế hoạt động của Tầng 6, phân tích sự tiến hóa từ SSL lên TLS và bóc trần đòn đánh POODLE khét tiếng đã định hình lại tiêu chuẩn bảo mật toàn cầu.&lt;/p&gt;
&lt;h2 id="1-tầng-6-presentation-làm-nhiệm-vụ-gì"&gt;1. Tầng 6 (Presentation) làm nhiệm vụ gì?
&lt;/h2&gt;&lt;p&gt;Trong khi các tầng dưới chỉ lo việc &amp;ldquo;vận chuyển&amp;rdquo;, Tầng 6 đóng vai trò là một &amp;ldquo;người phiên dịch và đóng gói&amp;rdquo; dữ liệu chuẩn mực để đảm bảo hai thiết bị có hệ điều hành khác nhau vẫn có thể hiểu nhau. Ở tầng này, ranh giới giữa giao thức và định dạng tệp (như JPEG, MP4, JSON, XML) trở nên rất mong manh.&lt;/p&gt;
&lt;p&gt;Tầng 6 đảm nhiệm 3 trọng trách cốt lõi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Thông dịch (Translation):&lt;/strong&gt; Chuyển đổi giữa các bảng mã (như ASCII sang UTF-8). Điều này đảm bảo khi bạn gõ tiếng Việt trên ứng dụng, máy chủ ở Mỹ vẫn hiển thị đúng chữ &amp;ldquo;Học&amp;rdquo; chứ không bị lỗi font ô vuông.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nén dữ liệu (Compression):&lt;/strong&gt; Giảm dung lượng dữ liệu (như luồng stream video MP4) trước khi truyền đi để tiết kiệm băng thông.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mã hóa (Encryption):&lt;/strong&gt; Đây là phần quan trọng nhất đối với Blue Team. Toàn bộ quá trình mã hóa dữ liệu để biến văn bản thuần thành một chuỗi ký tự rác (Encrypted Application Data) được xử lý tại đây. Đại diện tiêu biểu nhất chính là giao thức &lt;strong&gt;SSL/TLS&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-kỷ-nguyên-của-ssl-và-lỗ-hổng-chí-mạng-poodle"&gt;2. Kỷ nguyên của SSL và Lỗ hổng chí mạng POODLE
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Secure Sockets Layer (SSL)&lt;/strong&gt; là thế hệ giao thức mã hóa đầu tiên bảo vệ Internet. Nó hoạt động dựa trên cơ chế bắt tay bằng &lt;strong&gt;Khóa công khai&lt;/strong&gt; (Public Key) và &lt;strong&gt;Khóa bí mật&lt;/strong&gt; (Private Key). Máy khách sẽ kiểm tra &amp;ldquo;Chứng chỉ số&amp;rdquo; của Server, tự tạo ra một &lt;strong&gt;Khóa phiên&lt;/strong&gt; (Session Key) ngẫu nhiên, dùng Khóa công khai của Server bọc lại rồi gửi đi. Chỉ Server cầm Khóa bí mật mới mở được hộp để lấy Khóa phiên dùng cho việc liên lạc sau đó.&lt;/p&gt;
&lt;p&gt;Tuy nhiên, SSL 3.0 đã bị khai tử hoàn toàn bởi một lỗ hổng có tên gọi thú vị: &lt;strong&gt;POODLE&lt;/strong&gt; (Padding Oracle On Downgraded Legacy Encryption).&lt;/p&gt;
&lt;p&gt;Đòn tấn công này đánh trực diện vào cách SSL 3.0 xử lý các &amp;ldquo;dữ liệu đệm&amp;rdquo; (padding). Hacker đứng ở giữa mạng (MitM) sẽ chủ động can thiệp làm nhiễu kết nối để ép Server và Client phải &lt;strong&gt;hạ cấp&lt;/strong&gt; (Downgrade) bảo mật từ TLS xịn xuống dùng SSL 3.0 cũ. Sau đó, chúng liên tục gửi các gói tin chỉnh sửa nhẹ đến Server. Chỉ bằng việc quan sát Server trả lời là &amp;ldquo;Lỗi rồi&amp;rdquo; hay &amp;ldquo;OK&amp;rdquo;, hacker có thể đoán ngược lại từng byte dữ liệu. Sau vài trăm lần thử, chúng lấy được toàn bộ Cookie phiên đăng nhập của bạn mà không cần phải tốn công bẻ khóa.&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Cảnh báo SOC:&lt;/strong&gt; POODLE chứng minh rằng thuật toán mã hóa mạnh đến đâu cũng vô dụng nếu giao thức đàm phán bị lỗi. SOC Analyst cần cấu hình Firewall và Web Server (Nginx, HAProxy) tắt hoàn toàn việc hỗ trợ &lt;strong&gt;SSL v2/v3&lt;/strong&gt;, chỉ chấp nhận &lt;strong&gt;TLS 1.2 trở lên&lt;/strong&gt; để chống lại đòn Downgrade Attack.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="3-sự-tiến-hóa-lên-tls-transport-layer-security"&gt;3. Sự tiến hóa lên TLS (Transport Layer Security)
&lt;/h2&gt;&lt;p&gt;Để khắc phục yếu điểm của SSL, &lt;strong&gt;TLS&lt;/strong&gt; ra đời. Thay vì chỉ mã hóa thụ động, TLS đóng vai trò như một hệ thống an ninh chủ động với các nâng cấp vượt bậc:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Xác thực mạnh mẽ:&lt;/strong&gt; Bỏ hẳn MD5 và SHA-1 để chuyển sang các hàm băm hiện đại như &lt;strong&gt;SHA-256&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chống sửa đổi (Integrity):&lt;/strong&gt; TLS sử dụng thuật toán &lt;strong&gt;HMAC&lt;/strong&gt; (Hash-based Message Authentication Code). Kẻ tấn công không thể thay đổi dù chỉ 1 bit dữ liệu trên đường đi mà không bị hệ thống phát hiện.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bảo mật chuyển tiếp (Perfect Forward Secrecy):&lt;/strong&gt; Nhờ thuật toán trao đổi khóa &lt;strong&gt;ECDHE&lt;/strong&gt;, mỗi phiên làm việc có một khóa riêng. Ngay cả khi hacker đánh cắp được Khóa bí mật tĩnh của máy chủ vào ngày mai, chúng cũng không thể dùng nó để giải mã các gói tin Wireshark mà chúng đã nghe lén từ hôm nay.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="4-giải-phẫu-cipher-suite-trên-wireshark"&gt;4. Giải phẫu Cipher Suite trên Wireshark
&lt;/h2&gt;&lt;p&gt;Khi bạn truy cập một trang web HTTPS, trong gói tin &lt;code&gt;Server Hello&lt;/code&gt; trên Wireshark, máy chủ sẽ chốt lại một &amp;ldquo;Bộ công cụ mật mã&amp;rdquo; (&lt;strong&gt;Cipher Suite&lt;/strong&gt;) duy nhất để hai bên sử dụng. Dưới đây là cách SOC Analyst đọc hiểu bộ mã &lt;code&gt;TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Log Wireshark soi gói tin Server Hello chốt thuật toán mã hóa
# Bộ lọc: tls.handshake.type == 2

Handshake Protocol: Server Hello
 Version: TLS 1.2 (0x0303)
 Session ID Length: 32
 Cipher Suite: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="Cipher-suite" class="gallery-image" data-flex-basis="455px" data-flex-grow="189" height="339" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="/post/presentation-layer-tls/rsa.png" width="643"&gt;&lt;/p&gt;
&lt;p&gt;Cách đọc chuỗi Cipher Suite trên từ trái sang phải: ví dụ trong ảnh là TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;ECDHE&lt;/code&gt;:&lt;/strong&gt; Thuật toán trao đổi khóa (đảm bảo Perfect Forward Secrecy).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;RSA&lt;/code&gt;:&lt;/strong&gt; Thuật toán xác thực danh tính (chứng minh máy chủ qua Certificate).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;CHACHA20_POLY1305&lt;/code&gt;:&lt;/strong&gt; Thuật toán mã hóa đối xứng thực hiện xáo trộn dữ liệu (tốc độ cực nhanh trên thiết bị hiện đại).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;SHA256&lt;/code&gt;:&lt;/strong&gt; Thuật toán băm dùng cho HMAC để kiểm tra tính toàn vẹn của gói tin.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dưới góc độ phân tích sự cố, nếu muốn &amp;ldquo;giải mã&amp;rdquo; các gói tin TLS để xem dữ liệu thô (HTTP) trên Wireshark, bạn có thể buộc trình duyệt xuất file lưu trữ Khóa phiên (Session Key) ra ổ cứng:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Thiết lập biến môi trường để Firefox/Chrome nhả Khóa phiên ra file log&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Chỉ dùng trên máy Lab/máy phân tích, KHÔNG dùng trên máy người dùng thực tế&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;export SSLKEYLOGFILE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;~/tls_keys.log
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;firefox &amp;amp;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="5-mã-hóa-tls-có-an-toàn-tuyệt-đối"&gt;5. Mã hóa TLS có an toàn tuyệt đối?
&lt;/h2&gt;&lt;p&gt;Dù TLS rất thông minh, nó vẫn có những &amp;ldquo;gót chân Achilles&amp;rdquo; mà Blue Team cần dè chừng:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Tấn công vào Chứng chỉ (Certificate Attacks):&lt;/strong&gt; TLS dựa vào niềm tin của Certificate. Nếu hacker lừa người dùng cài một &amp;ldquo;Root Certificate&amp;rdquo; giả vào máy, chúng có thể thực hiện &lt;strong&gt;Man-in-the-Middle (MitM)&lt;/strong&gt; để giải mã mọi thứ trơn tru.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lỗ hổng thực thi (Implementation Bugs):&lt;/strong&gt; Lỗi không nằm ở lý thuyết TLS mà nằm ở người code thư viện — điển hình là vụ &lt;strong&gt;Heartbleed&lt;/strong&gt; trên OpenSSL cho phép đọc trộm bộ nhớ RAM của máy chủ.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tấn công kênh kề (Side-channel):&lt;/strong&gt; Hacker không thèm bẻ khóa, chúng chỉ ngồi đếm kích thước gói tin và thời gian phản hồi để đoán người dùng đang xem trang web gì.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Như vậy, đi qua Tầng 6, dữ liệu của chúng ta đã được đóng gói định dạng và khoác lên mình lớp áo giáp mã hóa bất khả xâm phạm. Giờ đây, &amp;ldquo;thùng hàng&amp;rdquo; này đã sẵn sàng để được giao cho Tầng cuối cùng: Tầng 7 (Application). Ở bài viết tiếp theo — Bài 7, chúng ta sẽ khám phá thế giới của Tầng Ứng dụng, nơi diễn ra các cuộc tấn công dữ dội nhất nhắm vào các giao thức DNS ngây thơ, quá trình xin cấp IP của DHCP và sự nguy hiểm của FTP truyền thống. Đừng bỏ lỡ nhé!&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Lớp 5 (Session) &amp; Ranh giới của Phiên làm việc</title><link>/post/session-layer/</link><pubDate>Thu, 21 May 2026 22:30:00 +0700</pubDate><guid>/post/session-layer/</guid><description>&lt;p&gt;Chào mừng các bạn tiếp tục với Series Giải phẫu Mạng &amp;amp; Packet Analysis! Sau khi đã thiết lập xong &amp;ldquo;đường ống&amp;rdquo; vật lý vững chắc bằng giao thức TCP ở Tầng 4, hệ thống phải đối mặt với một bài toán mới: Làm sao để &amp;ldquo;nhớ mặt&amp;rdquo; người dùng mà không bắt họ phải đăng nhập lại sau mỗi cú click chuột? Đó chính là nhiệm vụ của Tầng 5 (Session Layer) — nơi ranh giới của các phiên làm việc được thiết lập và cũng là nơi hacker tung ra những đòn cướp quyền vô cùng hiểm độc.&lt;/p&gt;
&lt;h2 id="1-tầng-5-session-và-sự-cần-thiết-của-phiên-làm-việc"&gt;1. Tầng 5 (Session) và Sự cần thiết của Phiên làm việc
&lt;/h2&gt;&lt;p&gt;Khi bạn mở trình duyệt web và thực hiện nhiều yêu cầu cùng lúc (như mở nhiều tab, tải nhiều ảnh), dữ liệu có nguy cơ bị lẫn lộn vào nhau. Tầng 5 (Lớp Phiên) sinh ra để giải quyết vấn đề này bằng cách thiết lập, quản lý và kết thúc các phiên kết nối. Nó đóng vai trò tạo ra một ranh giới độc nhất cho từng cuộc liên lạc.&lt;/p&gt;
&lt;p&gt;Ở mức độ truyền tải, Tầng 5 quản lý &amp;ldquo;luồng&amp;rdquo; nói chuyện thông qua 3 chế độ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Đơn công (Simplex):&lt;/strong&gt; Dữ liệu chỉ đi một chiều (như bạn nghe radio).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bán song công (Half-duplex):&lt;/strong&gt; Hai bên nói chuyện luân phiên (như bộ đàm — người này nói xong người kia mới được nói).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Song công toàn phần (Full-duplex):&lt;/strong&gt; Cả hai cùng nói và nghe cùng lúc (như gọi điện thoại di động).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tuy nhiên, bài toán lớn nhất ở đây là &lt;strong&gt;hiệu năng&lt;/strong&gt;. Việc bắt tay (Handshake) ở Tầng 4 (TCP) và Tầng 6 (TLS) cực kỳ tốn thời gian và làm &amp;ldquo;mệt&amp;rdquo; CPU của máy chủ. Để tối ưu hóa, Tầng 5 không bắt hai thiết bị phải chào hỏi lại từ đầu cho mỗi gói tin, mà sử dụng các cơ chế định danh đặc biệt.&lt;/p&gt;
&lt;h2 id="2-giải-phẫu-session-id-và-session-ticket-trên-wireshark"&gt;2. Giải phẫu Session ID và Session Ticket trên Wireshark
&lt;/h2&gt;&lt;p&gt;Để duy trì trạng thái kết nối, Tầng 5 sử dụng hai công cụ chính là &lt;strong&gt;Session ID&lt;/strong&gt; và &lt;strong&gt;Session Ticket&lt;/strong&gt;. Bằng cách dùng Wireshark, chúng ta có thể dễ dàng bắt được những &amp;ldquo;tấm vé&amp;rdquo; này bay trên không gian mạng.&lt;/p&gt;
&lt;h3 id="21-định-danh-cuộc-trò-chuyện-bằng-session-id"&gt;2.1 Định danh cuộc trò chuyện bằng Session ID
&lt;/h3&gt;&lt;p&gt;Sau lần bắt tay đầu tiên thành công, máy chủ sẽ cấp cho bạn một &amp;ldquo;mã số định danh&amp;rdquo; gọi là &lt;strong&gt;Session ID&lt;/strong&gt;. Khi máy bạn gửi hàng nghìn khung dữ liệu tiếp theo, nó chỉ cần đính kèm ID này. Server nhìn vào ID sẽ biết ngay: &amp;ldquo;Đây là khách quen, đã kiểm tra an ninh xong rồi, cho dữ liệu đi thẳng lên Tầng 6 để xử lý!&amp;rdquo;.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Lọc gói tin Server Hello để tìm Session ID do máy chủ cấp phát
# Cú pháp bộ lọc trên Wireshark: tls.handshake.type == 2

Handshake Protocol: Server Hello
 Handshake Type: Server Hello (2)
 Length: 118
 Version: TLS 1.2 (0x0303)
 Random: dc3aa089a0c8825e54cc0106c17a0cb90305776b2d49f405fe30dc0f2bfad484
 Session ID Length: 32
 Session ID: d451a3116057f79488abdba0e27371ef79b25a156fcd8afaf011b9aa5bdb900b
 Cipher Suite: TLS_AES_128_GCM_SHA256 (0x1301)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="Giá trị của handshake" class="gallery-image" data-flex-basis="687px" data-flex-grow="286" height="222" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="/post/session-layer/handshake.png" width="636"&gt;&lt;/p&gt;
&lt;p&gt;Cái dãy số Hex dài đó (d451a311&amp;hellip;) dùng để:
Định danh cuộc trò chuyện: Khi máy Lenovo của bạn gửi hàng nghìn Frame dữ liệu tiếp theo (như các gói DATA của HTTP/2), nó không cần phải gửi lại toàn bộ thông tin chào hỏi. Nó chỉ cần gắn cái ID này vào (hoặc dùng trạng thái đã thiết lập từ ID này).
Nhận diện người quen: Server nhìn vào ID này sẽ biết: &amp;ldquo;À, đây là gói tin tiếp theo của ông bạn ở IP 192.168.1.156, đã kiểm tra xong xuôi rồi, cho dữ liệu đi thẳng lên Tầng 6 để dịch luôn!&amp;rdquo;.&lt;/p&gt;
&lt;h3 id="22-vé-phục-hồi-nhanh-session-ticket"&gt;2.2 Vé phục hồi nhanh (Session Ticket)
&lt;/h3&gt;&lt;p&gt;Để đẩy nhanh tốc độ kết nối lại (0-RTT), máy chủ cung cấp một &lt;strong&gt;Session Ticket&lt;/strong&gt;. Đây thực chất là một cái &amp;ldquo;vé&amp;rdquo; lưu trữ trạng thái bảo mật của phiên trước đó. Thay vì phải tính toán lại các thuật toán mã hóa nặng nề, máy khách chỉ cần trình chiếc vé này ra để nối lại phiên làm việc ngay lập tức.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Lọc gói tin New Session Ticket để xem vé bảo mật được mã hóa
# Cú pháp bộ lọc trên Wireshark: tls.handshake.type == 4

TLSv1.3 Record Layer: Handshake Protocol: New Session Ticket
 Content Type: Application Data (23)
 Version: TLS 1.2 (0x0303)
 Handshake Protocol: New Session Ticket
 Handshake Type: New Session Ticket (4)
 Length: 53
 TLS Session Ticket
 Session Ticket Lifetime Hint: 600 seconds (10 minutes)
 Session Ticket Age Add: 3185912667
 Session Ticket Nonce Length: 8
 Session Ticket: af23cc7378d7440f6a6447726da2062b7d2198d9b8c7aaad6a71213fba0cbb97
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="Session-ticket" class="gallery-image" data-flex-basis="687px" data-flex-grow="286" height="222" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="/post/session-layer/handshake.png" width="636"&gt;&lt;/p&gt;
&lt;h2 id="3-các-đòn-tấn-công-tử-huyệt-nhắm-vào-phiên-làm-việc"&gt;3. Các đòn tấn công tử huyệt nhắm vào Phiên làm việc
&lt;/h2&gt;&lt;p&gt;Hacker hiểu rất rõ giá trị của những mã Session ID này. Vì Server hoàn toàn tin tưởng vào cái vé, nên &lt;strong&gt;kẻ nào cầm vé, kẻ đó có quyền&lt;/strong&gt;. Dưới đây là 3 đòn tấn công kinh điển ở Tầng 5.&lt;/p&gt;
&lt;h3 id="31-cướp-phiên-session-hijacking"&gt;3.1 Cướp Phiên (Session Hijacking)
&lt;/h3&gt;&lt;p&gt;Đây là đòn đánh trực diện nhất. Kẻ địch hoàn toàn &lt;strong&gt;không cần biết mật khẩu&lt;/strong&gt; của bạn.&lt;/p&gt;
&lt;p&gt;Chúng chỉ cần &amp;ldquo;đánh cắp&amp;rdquo; được Session ID đang nằm trong Cookie hoặc bộ nhớ đệm trình duyệt thông qua các kỹ thuật như &lt;strong&gt;Sniffing&lt;/strong&gt; (nghe lén mạng Wi-Fi không an toàn) hoặc tấn công &lt;strong&gt;Cross-Site Scripting (XSS)&lt;/strong&gt;. Khi có được ID này, chúng dùng nó để gửi gói tin lên Server. Server sẽ lầm tưởng hacker chính là bạn và cho phép truy cập thẳng vào tài khoản.&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Cảnh báo SOC:&lt;/strong&gt; Để chống lại Session Hijacking, hệ thống mạng bắt buộc phải mã hóa toàn bộ dữ liệu truyền tải bằng &lt;strong&gt;HTTPS/TLS&lt;/strong&gt; và các Cookie phải được gắn cờ &lt;code&gt;Secure&lt;/code&gt; cùng &lt;code&gt;HttpOnly&lt;/code&gt; để ngăn mã độc JavaScript trích xuất Session ID.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="32-tấn-công-phản-hồi-replay-attack"&gt;3.2 Tấn công Phản hồi (Replay Attack)
&lt;/h3&gt;&lt;p&gt;Lỗ hổng này đánh thẳng vào cơ chế &amp;ldquo;vé phục hồi nhanh&amp;rdquo; (&lt;strong&gt;New Session Ticket / 0-RTT&lt;/strong&gt;) mà chúng ta vừa soi trên Wireshark.&lt;/p&gt;
&lt;p&gt;Vì cái vé này được thiết kế để kết nối nhanh mà không cần bắt tay lại, hacker có thể can thiệp ở giữa mạng (&lt;strong&gt;MitM&lt;/strong&gt;), bắt lấy bản sao gói tin chứa Ticket của bạn và gửi lại cho Server nhiều lần. Nếu hệ thống ứng dụng không có cơ chế chống trùng lặp (ví dụ: dùng &lt;code&gt;timestamp&lt;/code&gt; hoặc &lt;code&gt;nonce&lt;/code&gt;), hacker có thể ép Server thực hiện lại một giao dịch nhạy cảm (như chuyển tiền) nhiều lần chỉ bằng cách &amp;ldquo;phát lại&amp;rdquo; cái vé cũ đó.&lt;/p&gt;
&lt;h3 id="33-cố-định-phiên-session-fixation"&gt;3.3 Cố định Phiên (Session Fixation)
&lt;/h3&gt;&lt;p&gt;Ngược lại với việc đi ăn cắp, trong kỹ thuật này hacker lại chủ động &lt;strong&gt;&amp;ldquo;tặng&amp;rdquo;&lt;/strong&gt; cho bạn một cái ID.&lt;/p&gt;
&lt;p&gt;Kẻ tấn công sẽ tạo ra một Session ID hợp lệ từ trước, sau đó lừa bạn click vào một đường link chứa sẵn ID đó để đăng nhập. Sau khi bạn đăng nhập thành công, hệ thống vô tình &amp;ldquo;đóng dấu xác thực&amp;rdquo; cho cái ID do hacker cung cấp. Lúc này, hacker chỉ cần ung dung nhập cái ID mà chúng đã biết trước đó vào trình duyệt — phiên làm việc lúc này trở thành &amp;ldquo;dùng chung&amp;rdquo; giữa bạn và hacker.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Việc thấu hiểu Tầng 5 giúp SOC Analyst nhận ra rằng: Không phải cứ đăng nhập xong là an toàn tuyệt đối, bởi nếu kẻ gian cướp được &amp;ldquo;tấm vé&amp;rdquo; Session, chúng nghiễm nhiên trở thành người chủ hợp pháp. Tuy nhiên, cái vé đó và toàn bộ dữ liệu ứng dụng thực chất được xáo trộn như thế nào để không ai đọc lén được trên mạng? Trong Bài 6 tiếp theo, chúng ta sẽ bước lên Tầng 6 (Presentation) để bóc tách lớp vỏ mã hóa SSL/TLS, giải phẫu thuật toán CHACHA20 và tìm hiểu lỗ hổng POODLE khét tiếng. Hãy cùng chờ đón nhé!&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>