Threat Hunting với Passive DNS: Phát hiện hạ tầng tấn công của kẻ xâm nhập

Threat Hunting với Passive DNS: Phát hiện hạ tầng tấn công của kẻ xâm nhập

Việc hiểu rõ cách thức kẻ tấn công xây dựng và duy trì hạ tầng tấn công là yếu tố then chốt để thiết kế các cơ chế phòng thủ vững chắc. Trên thực tế, các nhóm tấn công áp dụng nhiều chiến thuật khác nhau nhằm đảm bảo hoạt động của chúng luôn bền vững, linh hoạt và khó bị phát hiện. Trong bài viết này, chúng tôi phân tích các phương pháp mà kẻ tấn công sử dụng để thiết lập hạ tầng tấn công, tập trung vào những kỹ thuật phổ biến như IP churn và thay đổi nhà cung cấp hosting. Đồng thời, bài viết cũng làm rõ cách Juniper Threat Labs khai thác passive DNS để chủ động phát hiện các hạ tầng độc hại ngay từ sớm, trước khi chúng được sử dụng trong các chiến dịch tấn công thực tế.

Tổng quan về hạ tầng tấn công

Hạ tầng tấn công bao gồm các máy chủ, tên miền và các tài nguyên khác mà kẻ tấn công sử dụng để triển khai và duy trì hoạt động xâm nhập. Quá trình thiết lập hạ tầng này thường bao gồm việc cấu hình máy chủ, đăng ký tên miền, hoặc chiếm quyền kiểm soát hạ tầng của nạn nhân, chẳng hạn như các router gia đình chưa được vá lỗi hoặc các thiết bị IoT tồn tại lỗ hổng bảo mật. Một chiến lược phổ biến của kẻ tấn công là sử dụng nhiều máy chủ, mỗi máy chủ gắn với các tên miền và địa chỉ IP khác nhau, sau đó liên tục luân chuyển giữa chúng. Khi một máy chủ hoặc địa chỉ IP bị phát hiện và chặn, kẻ tấn công sẽ nhanh chóng chuyển sang sử dụng các máy chủ dự phòng khác, giúp duy trì tính liên tục của chiến dịch tấn công.

Infrastructure churn đề cập đến việc thường xuyên thay đổi các tên miền và địa chỉ IP gắn với máy chủ của kẻ tấn công. Một kỹ thuật liên quan thường được nhắc đến là DNS fast flux, tuy nhiên hai khái niệm này có những khác biệt quan trọng về cơ chế hoạt động, mức độ tự động hóa và tần suất thay đổi. Cụ thể, infrastructure churn duy trì một tập hợp các tên miền và địa chỉ IP đã được đăng ký sẵn. Khi một tài nguyên bị chặn hoặc bị gỡ bỏ, kẻ tấn công sẽ chuyển sang sử dụng các tài nguyên dự phòng này. Do đó, quá trình thay đổi mang tính phản ứng (reactive) và tần suất tương đối thấp, chỉ xảy ra khi hạ tầng hiện tại không còn khả dụng. Ngược lại, DNS fast flux liên kết một tên miền duy nhất với nhiều địa chỉ IP và liên tục xoay vòng các địa chỉ này trong thời gian rất ngắn, đôi khi chỉ trong vài phút. Cơ chế này được tự động hóa hoàn toàn và mang tính chủ động (proactive), với tần suất thay đổi cao nhằm gây khó khăn tối đa cho việc phát hiện, chặn hoặc triệt phá máy chủ độc hại.

Case Study: Botnet CatDDoS – Cecilio.network

Để minh họa rõ hơn các chiến thuật nói trên, chúng tôi phân tích một case study về botnet CatDDoS với thời gian hoạt động kéo dài sáu tháng. CatDDoS là một botnet thế hệ mới, được phát triển dựa trên mã nguồn của Mirai, nhưng đã được cải tiến đáng kể về mặt kỹ thuật. Cụ thể, CatDDoS sử dụng cấu trúc payload đã được chỉnh sửa, bao gồm việc thay đổi thứ tự các trường dữ liệu so với payload Mirai gốc, nhằm né tránh các cơ chế phát hiện dựa trên chữ ký (signature-based detection). Botnet này cũng sử dụng các tên miền OpenNIC cho hệ thống Command and Control (C&C). OpenNIC là một hệ thống top-level domain (TLD) thay thế, được vận hành bởi một mạng DNS phi lợi nhuận do cộng đồng kiểm soát và hoạt động bên ngoài khuôn khổ quản lý của ICANN. Việc sử dụng OpenNIC giúp kẻ tấn công giảm khả năng bị giám sát, thu hồi hoặc vô hiệu hóa tên miền thông qua các kênh quản lý DNS truyền thống. Trong giai đoạn khởi tạo kết nối với máy chủ C2, botnet CatDDoS sử dụng kết hợp các yêu cầu giao tiếp dạng plaintext và mã hóa. Cơ chế mã hóa được triển khai dựa trên thuật toán ChaCha20, giúp tăng mức độ bảo mật cho luồng điều khiển và gây khó khăn cho việc phân tích lưu lượng mạng.

Ngoài ra, CatDDoS khai thác các lỗ hổng N-day tồn tại trên thiết bị để phục vụ quá trình lây lan. Đây là các lỗ hổng đã được công bố nhưng chưa được vá rộng rãi, thường xuất hiện trên các thiết bị IoT hoặc hệ thống nhúng có mức độ cập nhật bảo mật kém, tạo điều kiện thuận lợi cho botnet mở rộng quy mô nhanh chóng.

Hình 1: Biểu đồ thể hiện sự thay đổi địa chỉ IP của máy chủ C&C (đánh dấu bằng dấu X màu đỏ)

Hãy cùng phân tích hoạt động tấn công của CatDDoS trong khung thời gian sáu tháng. Trong khoảng thời gian này, kẻ tấn công liên tục thay đổi máy chủ và nhà cung cấp hosting nhằm né tránh việc bị phát hiện và ngăn chặn. Hình 1 minh họa sự thay đổi địa chỉ IP của máy chủ Command and Control (C&C), được biểu diễn bằng các dấu X màu đỏ. Việc thay đổi IP liên tục như vậy khiến cho các phương pháp theo dõi và chặn hạ tầng độc hại truyền thống trở nên kém hiệu quả. Bên cạnh đó, Hình 1 cũng thể hiện số lượng truy vấn DNS được quan sát khi phân giải tên miền C&C trong suốt sáu tháng (vùng màu xanh lam). Số lượng truy vấn này có thể được tương quan trực tiếp với mức độ hoạt động của botnet, bao gồm số lượng thiết bị bị nhiễm hoặc các chiến dịch tấn công DDoS đang diễn ra. Đường thẳng màu xanh lá biểu thị thời điểm tên miền lần đầu tiên được ghi nhận trong các commercial threat feed. Trong khi đó, đường thẳng màu xanh dương cho biết thời điểm tên miền này xuất hiện trên VirusTotal, muộn hơn 30 ngày so với lần quan sát ban đầu trong threat feed.

Passive DNS là gì?

Thông qua passive DNS, Juniper Threat Labs có thể phát hiện thêm các thành phần hạ tầng khác được CatDDoS sử dụng. Vậy passive DNS là gì? Passive DNS là các bản ghi nhật ký DNS, thường được thu thập trên các đường truyền mạng (network transit paths) thông qua các cảm biến mạng phân tán. Trong các mạng doanh nghiệp truyền thống, firewall, thiết bị an ninh và các hệ thống thu thập lưu lượng thường được đặt ở rìa mạng (network edge) và có khả năng ghi lại các truy vấn DNS từ phía người dùng. Tuy nhiên, nhiều mạng không cấu hình ghi log lưu lượng DNS do chi phí cao liên quan đến việc thu thập và lưu trữ dữ liệu lịch sử. Ngoài ra, việc phân tích lưu lượng DNS cũng có thể xâm phạm quyền riêng tư người dùng, đặc biệt trong các môi trường nhạy cảm. Các cảm biến passive DNS được thiết kế để giải quyết những thách thức này bằng cách ghi nhận truy vấn DNS tại nhiều điểm khác nhau trên Internet, đồng thời lưu lại các thông tin như tên miền, địa chỉ IP, dấu thời gian (timestamp) và loại bản ghi DNS. Ngoài ra, một số nhà cung cấp dữ liệu passive DNS còn tính toán thêm các trường mở rộng, bao gồm số lượng truy vấn (query count) và thời điểm first seen / last seen của tên miền.

Hình 2 minh họa một ví dụ về cách lưu lượng DNS có thể đi qua các đường truyền khác nhau trên Internet. Các cảm biến passive DNS có thể được triển khai tại bất kỳ vị trí nào trên tuyến đường này để quan sát lưu lượng DNS. Cảm biến càng gần máy chủ DNS có thẩm quyền (DNS authority) thì dữ liệu thu thập được càng mang tính đại diện. Ví dụ, Sensor 1 trong Hình 2 chỉ có thể quan sát lưu lượng DNS xuất phát từ Enterprise 1. Trong khi đó, Sensor 3 có khả năng ghi nhận truy vấn DNS từ nhiều nguồn khác nhau, bao gồm mạng Chính phủ, người dùng dân dụng, trường học và các doanh nghiệp 2 và 3. Dữ liệu thu thập từ các cảm biến cũng cần được xử lý để loại bỏ các bản ghi trùng lặp được ghi nhận tại nhiều điểm khác nhau. Chẳng hạn, một truy vấn DNS từ mạng Chính phủ trong Hình 2 sẽ được cả Sensor 2 và Sensor 3 ghi nhận khi truy vấn đi qua DNS Authority. Các bản ghi trùng lặp này cần được deduplication để đảm bảo rằng số lượng truy vấn quan sát được phản ánh chính xác thực tế.

Hình 2: Ví dụ minh họa các tuyến đường khác nhau trên Internet mà lưu lượng DNS có thể đi qua

Sử dụng Passive DNS cho Threat Hunting

Dữ liệu passive DNS mang tính lịch sử, tức là cho phép theo dõi mối quan hệ giữa tên miền và địa chỉ IP dựa trên các quan sát trong quá khứ. Juniper Threat Labs khai thác tập dữ liệu này để xác định và lập bản đồ các mối liên kết trong hạ tầng tấn công của đối tượng đe dọa. Chúng tôi giả định rằng kẻ tấn công thường kiểm thử (test) các tên miền và địa chỉ IP trước khi chính thức sử dụng chúng trong chiến dịch tấn công. Các hoạt động kiểm thử này hoàn toàn có thể bị cảm biến passive DNS ghi nhận, ngay cả khi cuộc tấn công chưa bắt đầu. Quy trình threat hunting của chúng tôi được minh họa trong Hình 3. Đầu tiên, chúng tôi thu thập một danh sách các tên miền và địa chỉ IP độc hại đã được xác nhận, được gọi là seed infrastructure, từ nhiều nguồn threat intelligence feed khác nhau. Các bản ghi trùng lặp giữa các nguồn sẽ được loại bỏ, đồng thời chỉ lọc lại các máy chủ Command and Control (C&C). Những hạ tầng không thuộc vai trò C&C, chẳng hạn như máy chủ tải mã độc (downloader), website lừa đảo (phishing) hoặc các danh mục hạ tầng khác, sẽ bị loại trừ khỏi quá trình phân tích.

Tiếp theo, chúng tôi truy vấn dữ liệu passive DNS để xác định các mối quan hệ lịch sử liên quan đến các máy chủ C&C trong tập seed infrastructure. Các bản ghi được phát hiện thường chứa nhiễu (noise) và cần được làm sạch trước khi phân tích sâu. Nguồn nhiễu này bao gồm các tên miền và địa chỉ IP liên quan đến những website phổ biến, chẳng hạn như công cụ tìm kiếm, mạng xã hội hoặc các hệ thống Content Delivery Network (CDN). Việc loại bỏ các thành phần nhiễu là bước quan trọng nhằm đảm bảo rằng các mối liên kết còn lại phản ánh chính xác hạ tầng thực sự do kẻ tấn công kiểm soát.

Hình 3: Quy trình threat hunting của JTL sử dụng passive DNS

Chúng tôi áp dụng nhiều kỹ thuật khác nhau để làm sạch (clean up) các kết quả thu được. Một trong số đó là đối chiếu với các danh sách website phổ biến, chẳng hạn như Alexa Top 100K. Bên cạnh đó, chúng tôi có thể ước lượng mức độ phổ biến của tên miền hoặc địa chỉ IP dựa trên dữ liệu passive DNS, thông qua việc phân tích các chỉ số như số lượng truy vấn (query count), thời gian duy trì mối liên kết giữa domain và IP, cũng như số lượng tên miền và địa chỉ IP liên quan đến các thực thể được phát hiện. Dựa trên các heuristic này, chúng tôi loại bỏ những tên miền và địa chỉ IP không liên quan. Ở bước cuối cùng, các phát hiện sẽ được xác thực (validation) bằng cách đối chiếu với các nguồn open-source intelligence (OSINT) nhằm kiểm tra xem các domain và IP được phát hiện có từng bị ghi nhận là độc hại hay không. Sau khi có danh sách cuối cùng các tên miền và địa chỉ IP đáng nghi, chúng tôi xếp hạng (ranking) chúng dựa trên yếu tố thời gian và mức độ phát hiện từ các bên thứ ba.

Trong 13 tháng qua, chúng tôi đã áp dụng kỹ thuật này và phát hiện thành công nhiều mối đe dọa mới nổi trước khi chúng được công bố rộng rãi. Phần tiếp theo sẽ trình bày một case study cụ thể, trong đó phương pháp threat hunting dựa trên passive DNS đã giúp khách hàng của chúng tôi chủ động bảo vệ hệ thống trước các mối đe dọa mới.

Case Study: Remote Access Trojan và hành vi lạm dụng Cloudflare

Vào ngày 01/08/2024, Proofpoint đã công bố một bài phân tích về việc các nhóm tấn công lạm dụng Cloudflare Tunnel để phát tán Remote Access Trojan (RAT). Hình 4 minh họa các giai đoạn của chuỗi tấn công này. Vector lây nhiễm bắt đầu bằng email phishing, trong đó chứa liên kết dẫn tới một downloader site sử dụng giao thức WebDAV. Khi người dùng nhấp vào liên kết, một tệp CMD/BAT sẽ được tải về và thực thi, tiến hành tải Python Installer, sau đó tiếp tục tải xuống thành phần RAT/Trojan. Các nhà nghiên cứu ghi nhận rằng chiến dịch tấn công này đã phân phối nhiều họ RAT khác nhau, bao gồm XWorm, AsyncRAT, VenomRAT và PureLogs Stealer. Sau khi thành phần RAT xâm nhập thành công vào hệ thống mục tiêu, mã độc thường kết nối tới máy chủ Command and Control (C&C) để thu thập và rò rỉ dữ liệu nhạy cảm. Ngoài ra, các nhà nghiên cứu tại eSentire cũng quan sát thấy cùng một mô hình tấn công được triển khai nhằm vào các khách hàng thuộc khối cơ quan chính phủ, cho thấy mức độ lan rộng và mức độ nguy hiểm của chiến dịch này.

Hình 4: Tấn công phishing dẫn đến lây nhiễm mã độc

Dòng thời gian tấn công (Attack Timeline)

Các nhà nghiên cứu của Proofpoint đã quan sát thấy những hoạt động ban đầu của nhóm tác nhân đe dọa vào tháng 02/2024. Những hoạt động này được cho là liên quan đến các chiến dịch phishing sử dụng dịch vụ Cloudflare Tunnel (trycloudflare) để che giấu hạ tầng phân phối mã độc. Trong khi đó, các nhà nghiên cứu của eSentire đã phát hiện một ca lây nhiễm thực tế ảnh hưởng đến khách hàng của họ vào tháng 07/2024. Đến ngày 08/07/2024, Juniper Threat Labs ghi nhận một máy chủ Command and Control (C&C) thông qua một threat intelligence feed. Ngay sau đó, chúng tôi đã khai thác dữ liệu passive DNS phục vụ threat hunting để xác định thêm các thành phần hạ tầng C&C liên quan, mở rộng phạm vi phát hiện ban đầu. Toàn bộ hạ tầng độc hại được phát hiện đã được chia sẻ và phân phối kịp thời tới khách hàng, giúp họ chủ động triển khai các biện pháp phòng vệ trước khi mối đe dọa lan rộng. Bảng dưới đây tổng hợp các phát hiện nổi bật thu được từ quá trình threat hunting của chúng tôi:

Active C&CBackup C&C July 8thBackup C&C July 19th
welxwrm[.]duckdns[.]org

12[.]187[.]175[.]72
51[.]77[.]103[.]216

ncmomenthv[.]duckdns[.]org
rvxwrm5[.]duckdns[.]org
jkdvvs[.]duckdns[.]org
todfg[.]duckdns[.]org
ujhn[.]duckdns[.]org
yasynck642[.]duckdns[.]org
mvenommm[.]duckdns[.]org
yvbhvnc[.]duckdns[.]org
myxwrm5[.]duckdns[.]org
myxwrm[.]duckdns[.]org

Bốn trong số các chỉ báo tấn công (Indicators of Compromise – IoCs) được làm nổi bật có sự trùng khớp với các chỉ báo đã được Proofpoint và eSentire công bố trong báo cáo của họ. Bên cạnh đó, nghiên cứu của chúng tôi còn phát hiện thêm bảy tên miền và hai địa chỉ IP mới, mở rộng đáng kể phạm vi hạ tầng tấn công được nhận diện. Toàn bộ các chỉ báo này đã được tích hợp vào SecIntel feed và phân phối tới khách hàng. Chúng tôi tiếp tục theo dõi sát sao hạ tầng của nhóm tác nhân đe dọa thông qua dữ liệu passive DNS. Các tên miền C&C gần đây nhất được quan sát trong khoảng thời gian từ 31/07 đến 13/08/2024. Danh sách các chỉ báo mới nhất bao gồm:

  • nanarchym[.]duckdns[.]org

  • xwrmmone[.]duckdns[.]org

  • nhvncpure[.]duckdns[.]org

  • modsamsync[.]duckdns[.]org

  • nanarchymomey[.]duckdns[.]org

  • momekxwrm[.]duckdns[.]org

  • hvncmomentpure[.]duckdns[.]org

Có thể thấy rõ rằng các nhóm tấn công liên tục thay đổi tên miền C&C nhằm vượt qua các cơ chế phòng thủ mạng. Theo tính toán của chúng tôi, chiến dịch tấn công này tạo ra trung bình ba tên miền mới mỗi 10 ngày. Ngoài ra, chúng tôi cũng phát hiện rằng một số tên miền có số lượng truy vấn DNS (distinct resolutions) cao hơn đáng kể, cho thấy khả năng tương quan với số lượng thiết bị bị nhiễm lớn hơn. Ví dụ, tên miền ‘ncmomenthv[.]duckdns[.]org’ ghi nhận số lượng truy vấn cao nhất và được chúng tôi xếp hạng là máy chủ C&C hoạt động mạnh nhất trong chiến dịch này. Tên miền này lần đầu tiên được các cảm biến passive DNS ghi nhận vào ngày 04/07 và tiếp tục xuất hiện cho đến tháng 08/2024.

Cần lưu ý rằng nguồn dữ liệu passive DNS không hoàn hảo tuyệt đối. Vị trí triển khai các cảm biến cũng như phân bố thực tế của các thiết bị bị nhiễm có thể gây ra sai lệch nhất định trong quá trình quan sát. Tuy nhiên, cách tiếp cận của chúng tôi tập trung vào việc xác định các mối liên kết giữa tên miền và địa chỉ IP của C&C, từ đó phát hiện sớm hạ tầng tấn công zero-day. Phương pháp chủ động phát hiện (active discovery) này làm gia tăng chi phí vận hành cho kẻ tấn công. Một khi các tên miền hoặc địa chỉ IP bị nhận diện và bị chặn bởi các hệ thống phòng thủ như firewall, hiệu quả tấn công sẽ suy giảm đáng kể. Khi đó, kẻ tấn công buộc phải đầu tư thêm tài nguyên mới để duy trì chiến dịch, làm tăng chi phí và giảm lợi nhuận tổng thể của chúng.

Kết luận

Trong bài viết này, chúng tôi đã trình bày cách Juniper Threat Labs khai thác dữ liệu DNS lịch sử để điều tra và phát hiện các hạ tầng tấn công chưa được sử dụng. Cách tiếp cận này mang lại một góc nhìn độc đáo về sự tiến hóa trong chiến thuật của kẻ tấn công, đồng thời giúp đội ngũ phòng thủ nâng cao khả năng quan sát và phát hiện sớm các tên miền và địa chỉ IP tiềm ẩn rủi ro. Khách hàng sở hữu license Advanced hoặc Premium sẽ tự động nhận được SecIntel feed mới nhất và được bảo vệ trước mối đe dọa này. Chúng tôi sẽ tiếp tục theo dõi chiến dịch này cũng như các chiến dịch tấn công khác bằng phương pháp threat hunting chủ động, nhằm luôn đi trước kẻ tấn công một bước.

CÔNG TY CỔ PHẦN DỊCH VỤ CÔNG NGHỆ DATECH

  • Địa chỉ: Số 23E4 KĐT Cầu Diễn, Tổ 7, Phú Diễn, Bắc Từ Liêm, Hà Nội

  • Điện thoại: 0243 201 2368

  • Hotline: 098 115 6699

  • Email: info@datech.vn

  • Website: https://datech.vn