Page cover

DIỄN TẬP QUỐC TẾ ACID 2024

Diễn tập thường niên của 10 CERT quốc gia khu vực Đông Nam Á và 5 quốc gia đối thoại gồm Ấn Độ, Hàn Quốc, Nhật Bản, Trung Quốc, và Úc phối hợp trong hoạt động ứng cứu, tăng cường năng lực xử lý sự cố.

Mở đầu

Năm nay, mình rất vui mừng khi có cơ hội tham gia "Diễn tập quốc tế về ứng cứu sự cố an toàn thông tin mạng - ACID 2024", một sự kiện dành riêng cho các thành viên trong mạng lưới ứng cứu sự cố.

Nhân dịp này, mình muốn ghi lại một số điểm quan trọng trong một bài tóm tắt nhằm chủ động ứng phó với sự gia tăng của các cuộc tấn công mạng sử dụng AI.

Kịch bản trong đề tài gần gũi với thực tế, vì vậy việc áp dụng những kiến thức đã học trở nên vô cùng thú vị và hữu ích.

Kịch bản:

Với vai trò là CERT team, chúng tôi hỗ trợ công ty AB Innovations trong việc xử lý sự cố:

Ngay sau khi nhận được email từ công ty, chúng tôi đã nhanh chóng đưa ra một số khuyến nghị nhằm ngăn chặn và khắc phục sự cố tạm thời.

Inject 02

Sau khi tiếp nhận phản hồi và thực hiện các bước ngăn chặn tạm thời, chúng tôi đã thu thập được một số bằng chứng quan trọng nhằm phân tích cuộc tấn công qua file pcapng nhận từ công ty, chứa thông tin chi tiết về lưu lượng mạng trong khoảng thời gian diễn ra sự cố.

File này sẽ cho phép chúng tôi xem xét các gói dữ liệu được truyền đi giữa các địa chỉ IP, từ đó xác định được nguồn gốc và hướng đi của cuộc tấn công. Các thông tin trong file pcap sẽ giúp tôi phân tích các hành động đáng ngờ, như xác định IP nguồn, IP đích, và các phương thức giao tiếp đã được sử dụng, cũng như phát hiện bất kỳ sự bất thường nào trong lưu lượng mạng. Việc phân tích kỹ lưỡng file này là bước quan trọng đầu tiên trong quá trình điều tra, giúp tôi có cái nhìn tổng quan về các hoạt động có thể liên quan đến cuộc tấn công.

Một số bước phân tích file pcapng

Sau khi phân tích sơ bộ các bằng chứng, tôi nhận thấy có sự bất thường về lưu lượng lớn giữa địa chỉ IP nguồn 10.0.2.15 và địa chỉ IP đích 89.248.163.49

  • Kiểm tra conversation:

  • Filter packet: ip.src==10.0.2.15 && ip.dst==89.248.163.49

  • Flow TCP stream: tcp.stream eq 110

  • Flow TCP stream: tcp.stream eq 111

Dựa trên các bằng chứng thu thập được từ file pcapng, có thể xác định rằng địa chỉ IP nội bộ 10.0.2.15 với User-Agent: curl/8.7.1 đã thực hiện thành công việc gửi tệp customers.csv đến địa chỉ IP 89.248.163.49, được lưu trữ trên máy chủ chạy Server: Werkzeug/3.0.4 Python/3.10.12.

Khi kiểm tra IP 89.248.163.49 trên VirusTotal, có thể xác nhận đây là một IP độc hại (malicious). Điều này cho thấy hành động gửi tệp có thể là một phần của hoạt động tấn công hoặc rò rỉ dữ liệu, cần được xem xét và xử lý nghiêm túc để ngăn chặn các mối đe dọa tiềm ẩn.

Inject 03

Sau khi báo cáo các thông tin thu thập được từ nhật ký mạng, công ty đã tiến hành trích xuất thêm tệp MFT để tìm kiếm thêm thông tin bổ sung về cuộc tấn công.

Chúng tôi đã tiến hành phân tích file MFT (Master File Table). File MFT chứa thông tin quan trọng về cấu trúc tệp trên hệ thống NTFS, bao gồm các thuộc tính của từng tệp, thời gian tạo, sửa đổi và truy cập, cũng như kích thước và vị trí của chúng trên đĩa.

Việc có được file MFT sẽ giúp chúng tôi hiểu rõ hơn về các tệp liên quan đến cuộc tấn công, xác định xem có bất kỳ tệp nào bị thay đổi hoặc xóa một cách đáng ngờ không. Bằng cách kết hợp thông tin từ cả file pcapng và MFT, chúng tôi có thể dựng lại các sự kiện và hành động xảy ra trong quá trình tấn công, từ đó đưa ra những đánh giá chính xác hơn về bản chất và quy mô của sự cố.

Một số bước phân tích cơ bản MFT file

Chúng tôi sử dụng công cụ MFTECmd để thực hiện quá trình trích xuất thông tin từ file $MFT (Master File Table). Việc sử dụng MFTECmd cho phép tôi thu thập và phân tích các dữ liệu quan trọng liên quan đến cấu trúc và trạng thái của các tệp trên hệ thống NTFS. Công cụ này giúp chúng tôi dễ dàng xác định các thuộc tính của tệp, dấu thời gian và các thông tin khác, từ đó cung cấp cái nhìn sâu sắc về hoạt động của hệ thống và hỗ trợ trong việc phát hiện các hành vi bất thường.

Sau khi trích xuất file CSV từ MFTECmd, chúng tôi đã sử dụng Timeline Explorer để phân tích và trực quan hóa dữ liệu. Công cụ này cho phép tôi nhập file CSV đã trích xuất và tổ chức các sự kiện theo dòng thời gian, từ đó tạo ra một cái nhìn rõ ràng về các hoạt động trên hệ thống.

Thông tin cho thấy các hoạt động đáng ngờ đã xảy ra sau khi một nhân viên tải xuống và thực thi một tệp tin. Dựa vào manh mối này, tôi đã tiến hành tìm kiếm trên Timeline Explorer, tập trung vào đường dẫn liên quan đến thư mục tải xuống, cụ thể là Downloadsđể xác định nguồn gốc và thời điểm của tệp tin nghi vấn.

Trong quá trình điều tra, chúng tôi đã phát hiện rằng tệp tin customers.csv đã được lấy từ địa chỉ IP 89.248.163.49 trong network logs cũng nằm trong thư mục Downloads. Ngoài ra, tôi cũng nhận thấy sự hiện diện của tệp tin F0rtigate_setup.exe mà chúng tôi đánh giá là đáng ngờ và có thể liên quan đến các hoạt động bất thường đang diễn ra trong tài khoản của người dùng Alice Wong.

Sau đó, chúng tôi tiến hành tìm kiếm thông tin thêm về tệp F0rtigate_setup.exe và phát hiện rằng file prefetch của F0rtigate_setup.exe đã được tạo ra.

Prefetch File First-time Execution: When you run an application (e.g., an .exe file) for the first time, Windows will create a corresponding prefetch file. This file is stored in the C:\Windows\Prefetch directory, with a .pf extension. The file records details about the application, such as the files, libraries (DLLs), and resources it uses during the loading process. Subsequent Executions: On subsequent executions of the same program, Windows uses the prefetch file to optimize the loading process, making it faster. Each time the program is run, Windows might update the prefetch file with new information if the behavior of the program changes (e.g., accessing different resources). Windows Boot Process: Prefetching is also used during the boot process. Windows generates prefetch files for system files loaded during boot to help improve startup times. These are stored as NTOSBOOT-B00DFAAD.pf or similar in the prefetch directory.

Dựa vào thư mục .\Windows\prefetch, ta xác định được rằng tệp F0rtigate_setup.exe đã được thực thi lần đầu tiên vào lúc09:51:15nngày 13/08/2024. Sau khi thực thi, tệp này đã khởi chạy một loạt các lệnh đáng ngờ bao gồm:

  • netnet1: Đây là các lệnh quản lý mạng trong Windows, thường được sử dụng để hiển thị hoặc cấu hình thông tin về người dùng, nhóm, chia sẻ tài nguyên, và dịch vụ mạng. Việc sử dụng chúng có thể chỉ ra rằng kẻ tấn công đã cố gắng thao tác với cấu hình người dùng hoặc dịch vụ mạng để duy trì quyền truy cập hoặc mở rộng kiểm soát trên hệ thống.

  • curl: Lệnh này thường được sử dụng để truyền tải dữ liệu qua các giao thức khác nhau, bao gồm HTTP và FTP. Sự hiện diện của curl trong lệnh thực thi chỉ ra rằng kẻ tấn công có thể đã tải hoặc tải lên tệp từ một máy chủ từ xa, có khả năng thực hiện data exfiltration (đánh cắp dữ liệu) hoặc tải thêm các công cụ độc hại.

Từ đó, chúng ta có thể suy luận rằng tệp F0rtigate_setup.exe có thể là một phần của chiến dịch tấn công, với mục tiêu không chỉ chiếm quyền kiểm soát hệ thống mà còn thực hiện các hoạt động độc hại khác,…

Để xác định xem file F0rtigate_setup.exe có thiết lập cơ chế persistence không ta có thể kiểm tra trong thư mục Startup

Tôi nhận thấy tệp svch0st.exe trong đường dẫn .\\Users\\Alice Wong\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup có dấu hiệu đáng ngờ.

  • Trước hết, tên tệp svch0st.exe gần giống với tệp hệ thống hợp pháp svchost.exe (Service Host) của Windows, nhưng thay vì chữ "o", tệp này sử dụng số "0". Điều này cho thấy khả năng tệp là một bản giả mạo nhằm qua mặt người dùng hoặc hệ thống.

  • Hơn nữa, việc tệp này nằm trong thư mục Startup chỉ ra rằng nó có thể tự động khởi chạy mỗi khi người dùng Alice Wong đăng nhập vào hệ thống. Đây là một đặc điểm điển hình của các tệp được thiết lập để duy trì persistence.

  • Cuối cùng, thời gian tạo tệp trùng khớp với thời điểm người dùng thực thi F0rtigate_setup.exe, củng cố thêm nghi vấn rằng đây là một phần của quá trình tấn công.

Do đó, có thể kết luận rằng svch0st.exe là một file persistence, được thiết lập nhằm duy trì sự hiện diện trên hệ thống và thực thi mỗi khi người dùng đăng nhập.

Inject 04

Sau khi gửi báo cáo phân tích về MFT chúng tôi tiếp tục nhận được đoạn code đáng ngờ từ công ty

  • Thiết Lập API Key:

    • Dòng này gán một khóa API cố định cho một đối tượng (wormgpt). Khóa API này có khả năng được sử dụng để xác thực các yêu cầu đến dịch vụ dựa trên AI (chạy AI thông qua API AI).

  • Thiết Lập Mô Hình:

    • Mô hình được sử dụng là text-davinci-003, phiên bản nổi tiếng của GPT-3 từ OpenAI. Mô hình này có khả năng tạo ra văn bản giống như con người dựa trên các prompt được cung cấp.

  • Biến instruct chứa một chuỗi dài đã được mã hóa, chúng tôi decode được chuỗi từ Base64 và Decimal trên CyberChef

Sau khi giải mã, AI sẽ nhận được yêu cầu cụ thể về việc tạo một đoạn mã Python để quét các thư mục, nhận diện các file có đuôi .pdf.csv, rồi sao chép chúng vào một thư mục mới có tên là backup. Đoạn mã yêu cầu cũng bao gồm việc xử lý các lỗi liên quan đến quyền truy cập hoặc việc tập tin đang được sử dụng, và in thông báo lỗi rõ ràng. Yêu cầu không bao gồm việc chú thích đoạn mã.

Chúng tôi cũng đã thử với chatGPT ra được đoạn code:

  • Chuỗi trong instruct được giải mã bằng một phương pháp giải mã tùy chỉnh

  • Sử Dụng AI Để Tạo Văn Bản:

    • Một yêu cầu hoàn thành được gửi đến mô hình wormgpt, sử dụng prompt đã được giải mã. Mô hình tạo ra tối đa 5 phản hồi (n=5), với giới hạn 100 token. Tham số temperature (0.5) là một điều khiển về độ ngẫu nhiên của đầu ra từ mô hình.

  • Thực Thi Mã Được Tạo Ra:

    • Văn bản được tạo ra bởi AI được thực thi như một đoạn mã Python bằng cách sử dụng hàm exec(). Điều này cực kỳ nguy hiểm, vì nó có thể chạy bất kỳ mã nào được tạo ra bởi mô hình, có thể dẫn đến việc xâm nhập hệ thống hoặc lây lan phần mềm độc hại.

Việc lợi dụng AI trong các cuộc tấn công mạng không chỉ giúp kẻ tấn công tăng cường tính hiệu quả và độ chính xác mà còn giúp họ ẩn mình tốt hơn trong các hệ thống mà họ đang tấn công. Điều này đặt ra thách thức lớn cho các chuyên gia bảo mật trong việc phát hiện và ngăn chặn các mối đe dọa ngày càng tinh vi

Inject 05

Sau khi gửi báo cáo phân tích về lý do phần mềm Antivirus của họ không phát hiện được mã độc, chúng tôi nhận được phản hồi rằng file customers.csv không còn tồn tại trên máy tính sau khi họ chạy file F0rtigate_setup.exe.

Để làm rõ tình hình, chúng tôi đã tiến hành điều tra thêm bằng cách phân tích file sysmon.evtx mà họ cung cấp.

Trong quá trình điều tra, chúng tôi đã sử dụng Event Log Viewer để rà soát các sự kiện liên quan đến file này.

Tại đây, tôi tập trung vào việc tìm kiếm các sự kiện liên quan đến việc thực thi F0rtigate_setup.exe

  • Event ID 1: Process Creation - Các sự kiện liên tiếp xảy ra để hiểu rõ cuộc tấn công

Thực thi F0rtigate_setup.exe

Kiểm tra tài khoản người dùng hiện tại với whoami

Sử dụng netnet 1

Ở Event tiếp theo vào lúc 2024-08-13 09:52:01.292 attacker chạy đoạn script PowerShell thực hiện nhiều hành động trên hệ thống Windows:

  1. Mở Command Prompt: Lệnh khởi động Command Prompt bằng cách sử dụng cmd.exe.

  2. Chạy lệnh PowerShell: Lệnh này thực hiện một lệnh PowerShell bao gồm:

    • Tải xuống một tệp:

      • Nó sử dụng System.Net.WebClient để tải xuống một tệp có tên svch0st.exe (persistence) từ URL http://10.0.2.15:8080/ (C2)

      • Tệp này được tải xuống vào hai vị trí:

        • Thư mục Startup, có nghĩa là nó sẽ được thực thi khi người dùng đăng nhập.

        • Thư mục Temp của Local để sử dụng tạm thời.

  3. Tải lên một tệp:

    • Attacker sử dụng curl để đánh cắp tệp có tên customers.csv từ thư mục Downloads của người dùng đến một máy chủ web tại http://10.0.2.15:5000/upload.

  4. Xóa tệp gốc:

    • Sau khi đánh cắp file, attacker đồng thời sử dụng lệnh xóa tệp customers.csv khỏi thư mục Downloads.

Tại đây, chúng tôi phát hiện rằng C2 là một địa chỉ IP nội bộ, cho thấy rằng server của công ty có thể đã bị xâm phạm trước khi người dùng bị dính mã độc. Điều này dẫn đến việc server trở thành server (C2) cho việc duy trì mã độc và nhận data exfiltration.

Inject 06

Sau khi nhận được báo cáo tiếp theo, họ đã điều tra nội bộ và phát hiện server 10.0.2.15 đã bị xâm nhập trước đó và trung gian để lấy cắp dữ liệu. Và từ cuộc điều tra họ phát hiện một nhân viên phòng tài chính đã nhận được một email phishing đáng ngờ có thể dẫn đến cuộc tấn công mã độc ở trên

Chúng tôi sử dụng tool online để phân tích email này: Sublime Security | Sublime Security

Check EML

Dựa trên thông tin từ EML, chúng tôi có thể thấy một bức tranh rõ ràng về các yếu tố liên quan đến một cuộc tấn công phishing tinh vi. Đầu tiên, điểm khởi đầu của cuộc tấn công này chính là địa chỉ IP 202.164.39.146, được sử dụng để gửi đi email từ dịch vụ emkei.cz. Đây là một công cụ không cần xác thực, cho phép kẻ tấn công gửi thông điệp mà không để lại dấu vết rõ ràng.

Địa chỉ email giả mạo peterzhang_abinmo@ablnnovations.com có đuôi giống với đuôi email công ty, điều này dễ dàng khiến nhân viên cảm thấy quen thuộc và không cảnh giác khi nhận được email. Việc sử dụng tên miền tương tự với tên công ty thực sự là một chiến thuật phổ biến trong các cuộc tấn công phishing, vì nó đánh lừa nạn nhân nghĩ rằng thông điệp đang được gửi từ một nguồn đáng tin cậy. Việc địa chỉ này không khớp với Return-Path là một dấu hiệu rõ ràng của hành vi giả mạo, cho thấy kẻ tấn công đang cố tình sử dụng một danh tính không có thật để đánh lừa người nhận. Chúng ta không thể không nhắc đến các chính sách xác thực SPF và DMARC. Kết quả kiểm tra SPF cho thấy là softfail, chỉ ra rằng địa chỉ IP không được phép gửi email từ miền ablnnovations.com. Thậm chí, DMARC còn rõ ràng hơn khi cho kết quả fail, một điểm cho thấy rằng email này không chỉ không hợp lệ mà còn tiềm ẩn nguy cơ lớn đối với người nhận.

Cách thức gửi email qua một dịch vụ như emkei.cz cho phép kẻ tấn công ẩn mình khỏi những cơ chế giám sát thông thường. Đặc biệt, địa chỉ email kẻ tấn công sn1@pmee.com được chỉ định trong trường Errors-To, cho thấy rằng đây là nơi mà bất kỳ phản hồi nào sẽ được gửi đến.

Kiểm tra file mã độc zip với exiftool cho thấy file được tạo vào khoản thời gian: 2024:08:19 16:36:42

Summary

Cùng nhìn lại toàn bộ quá trình tấn công từ ban tổ chức qua Cyber Kill Chain

  1. Reconnaissance: Kẻ tấn công đã lợi dụng lỗ hổng zero-day nào đó của công ty để xâm nhập vào mạng lưới của công ty AB Innovations.

  2. Weaponization: Kẻ tấn công tạo ra công cụ tấn công, bao gồm mã độc, để chuẩn bị cho việc khai thác lỗ hổng.

  3. Delivery: Mã độc được gửi thông qua một email lừa đảo tới nhân viên của công ty. Nhân viên này đã nhấp vào tệp đính kèm chứa trình tải mã độc.

  4. Exploitation: Sau khi nhấp vào tệp đính kèm, mã độc được kích hoạt trên hệ thống của nạn nhân, dẫn đến việc khai thác thành công.

  5. Installation: Mã độc được cài đặt trên hệ thống và chuẩn bị cho các hoạt động tiếp theo.

  6. Command and Control (C2): Kẻ tấn công duy trì liên lạc và điều khiển mã độc thông qua máy chủ C2 (Máy chủ nội bộ đã bị khai thác trước đó). Kẻ tấn công lợi dụng AI để sử dụng polymorphic malware để tránh sự phát hiện của các phần mềm diệt virus.

  7. Actions on Objectives: Cuối cùng, do thiếu kiểm soát truy cập và quản lý thông tin xác thực yếu, kẻ tấn công thực hiện việc đánh cắp dữ liệu nhạy cảm của công ty.

Việt Nam tham gia diễn tập quốc tế về ứng phó tấn công mạng dùng AI

Last updated