CHFI v11 - Lab Mô-đun 09: Malware Forensic – Pháp y Số Mã độc

Phần mềm độc hại, hay mã độc, là mối đe dọa phổ biến nhất đối với ngành công nghệ thông tin. Mối đe dọa này thường bao gồm các chương trình được phát triển bởi các đối tượng tội phạm mạng và được thiết kế để truy cập trái phép vào hệ thống máy tính hoặc mạng và đánh cắp dữ liệu nhạy cảm. Các nhà điều tra pháp y nên nắm được các phương pháp được sử dụng bởi mã độc, cũng như cách thức phân tích pháp y mã độc được dùng để xác định và phân tích mã độc.

Kẻ tấn công thường nhúng mã độc vào các tệp PDF và tài liệu Office. Bạn phải có khả năng thực hiện phân tích pháp y để ngăn chặn các hành động tội phạm mạng. Là một nhà điều tra, bạn phải có khả năng phân tích các tệp đáng ngờ và ghi lại các phát hiện của mình. Bạn sẽ được yêu cầu thực hiện phân tích tĩnh và động để đánh giá chức năng của tệp đáng ngờ và tác động của nó đối với hệ thống. Bạn cũng sẽ sử dụng các cơ sở dữ liệu trực tuyến để tìm kiếm các thuộc tính của mã độc. Các nhiệm vụ sau đây sẽ được thực hiện:

  • Kiểm tra các thuộc tính của mã độc trong tệp đáng ngờ.
  • Phân tích một tệp PDF đáng ngờ.
  • Phân tích một tài liệu Microsoft Word đáng ngờ.
  • Sử dụng các công cụ phân tích mã độc trực tuyến hoặc dựa trên phần mềm để tìm kiếm các phần tử đáng ngờ.
  • Thực hiện phân tích trên một mẫu Emotet hoặc các biến thể của nó.

Mục tiêu Bài tập Thực hành

Mục tiêu của bài tập thực hành này là giải thích quy trình phân tích các tệp và tài liệu đáng ngờ bằng cả phân tích tĩnh và động. Mục tiêu này bao gồm đánh giá chức năng của các tệp và tài liệu đáng ngờ cũng như tác động của chúng đối với hệ thống. Các nhiệm vụ khác bao gồm kiểm tra các thuộc tính mã độc trong tệp đáng ngờ, phân tích các tệp PDF và tài liệu Microsoft Word đáng ngờ, và sử dụng các công cụ hoặc tài nguyên trực tuyến để xác định và phân tích mã độc.

Tổng quan về Phương pháp Phân tích Pháp y Mã độc

Phân tích pháp y mã độc là phương pháp xác định và kiểm tra mã độc ẩn hoặc các chuỗi trong một tệp hoặc tài liệu. Nó bao gồm cả phân tích tĩnh và động. Phân tích mã độc giúp các nhà điều tra và pháp y có được cái nhìn tổng quan về chức năng và tác động của mẫu mã độc đối với hệ thống. Nó giúp làm sáng tỏ cách thức mã độc hoạt động, các thay đổi mà nó thực hiện đối với hệ thống, quá trình nó tạo ra để chạy và duy trì trên hệ thống mục tiêu, và địa chỉ hoặc cổng mà nó kết nối.

Nhiệm vụ Bài tập Thực hành

Các nhiệm vụ được đề xuất để hỗ trợ bạn phân tích mã độc:

  • Thực hiện Phân tích Tĩnh trên một tệp đáng ngờ.
  • Thực hiện Phân tích Tĩnh trên một tệp PDF đáng ngờ.
  • Kiểm tra Pháp y một tệp đáng ngờ bằng các tập lệnh Python.
  • Kiểm tra Pháp y một Tài liệu Microsoft Office đáng ngờ.
  • Kiểm tra Mã độc bằng Tài nguyên Trực tuyến.
  • Kiểm tra Nhật ký Sự kiện Windows.

Bài tập Thực hành 1: Thực hiện Phân tích Tĩnh trên một Tệp Đáng ngờ

Kịch bản Bài tập Thực hành

Jacob, một nhân viên của một công ty kế toán, nhận thấy máy tính của anh ta hoạt động bất thường trong vài ngày qua. Nó thường không phản hồi và khởi động lại. Jacob đã thảo luận vấn đề này với người quản lý của mình, người đã liên hệ với nhóm pháp y kỹ thuật số. Jacob được yêu cầu không chạy tệp, nhưng hãy nộp cho nhóm pháp y kỹ thuật số để phân tích.

Robert, một nhà điều tra pháp y kỹ thuật số, biết rằng Jacob đã tải xuống và mở các tệp đáng ngờ từ internet cho cả mục đích cá nhân và chuyên nghiệp. Robert đã duyệt qua tất cả các trang web mà Jacob đã truy cập trong 2 tuần qua và kiểm tra tất cả các tệp đã tải xuống. Robert đã thu thập một tệp thực thi đáng ngờ và hiện cần phải phân tích nó bằng cách sử dụng phân tích tĩnh.

Mục tiêu Bài tập Thực hành

Phân tích tĩnh là quá trình quét một tệp để tìm kiếm mã độc hoặc chuỗi.

Bài tập thực hành này sẽ giúp bạn hiểu cách thức hoạt động của phân tích tĩnh để kiểm tra các tệp mà không cần chạy chúng trên máy. Nó bao gồm các bài tập sau:

  • Quét tệp để tìm kiếm mã độc hoặc chuỗi.
  • Trích xuất tệp để tìm kiếm bất kỳ phần tử ẩn nào.
  • Kiểm tra các PE header của tệp.
  • Xác định mã độc và chuỗi trong tệp.
  • Tìm các thư viện được liên kết và phần phụ thuộc của tệp.
  • Thực hiện tháo gỡ mã.

Tổng quan về Bài tập Thực hành

Bài tập thực hành này sẽ hướng dẫn bạn thực hiện phân tích tĩnh trên một tệp đáng ngờ bằng các công cụ như PEiD, Pestudio, Dependency Walker và IDA Pro.

Nhiệm vụ Bài tập Thực hành

  1. Theo mặc định, máy ảo Windows Server 2022 được chọn. Nhấn Ctrl+Alt+Delete.
  2. Theo mặc định, hồ sơ người dùng Administrator được chọn. Nhấp vào Pa w0rd để dán mật khẩu vào trường mật khẩu và nhấn Enter để đăng nhập.
  3. Nếu trang Networks xuất hiện, nhấp vào Yes để cho phép máy tính của bạn được các máy tính và thiết bị khác trên mạng này phát hiện.
  4. Các tệp độc hại thường bị xáo trộn bằng các trình đóng gói để tránh bị phát hiện. Do đó, bạn cần kiểm tra xem tệp đáng ngờ có chứa bất kỳ chương trình hoặc mã nào được mã hóa không và loại trình đóng gói nào được sử dụng để mã hóa nó.
  5. Để làm như vậy, chúng tôi sẽ sử dụng PEiD, một công cụ phát hiện mã nguồn mở có thể phát hiện các trình đóng gói, trình mã hóa và trình biên dịch được lưu trữ trong các tệp. Mở File Explorer và điều hướng đến E:\CHFI-Tools\CHFIv11 Module 09 Malware Forensics\Static Malware Analysis Tools\PEiD và nhấp đúp vào tệp PEiD.exe.
  6. Giao diện người dùng PEiD sẽ xuất hiện. Để thêm tệp đáng ngờ vào công cụ, nhấp vào dấu chấm lửng (…) được liên kết với tùy chọn File.
  7. Cửa sổ Choose the file to open… sẽ xuất hiện. Điều hướng đến vị trí E:\CHFI-Tools\Evidence Files và chọn tệp njrat.exe. Khi hoàn tất, nhấp vào nút Open.
  8. PEiD sẽ quét tệp và hiển thị tên của trình đóng gói được sử dụng để mã hóa tệp, nếu có, trong phần EP Section.
  9. Trong trường hợp này, phần EP Section hiển thị .text, cho biết không có trình đóng gói nào được sử dụng trong tệp. Nó cũng cho thấy tệp được mã hóa bằng Microsoft Visual C# / .Basic / .NET framework.
  10. Thoát khỏi cửa sổ ứng dụng PEiD.
  11. Vì tệp đáng ngờ không được đóng gói, bước tiếp theo sẽ là xác định và phân tích các phần tử độc hại, nếu có, trong tệp. Chúng tôi sẽ sử dụng Pestudio cho mục đích này.
  12. Để khởi chạy Pestudio, điều hướng đến E:\CHFI-Tools\CHFIv11 Module 09 Malware Forensics\Static Malware Analysis Tools\Pestudio và nhấp đúp vào pestudio.exe.
  13. Giao diện người dùng Pestudio sẽ khởi chạy như trong ảnh chụp màn hình bên dưới. Nếu cửa sổ Open File – Security Alert xuất hiện, nhấp vào Run.
  14. Để tải tệp đáng ngờ vào Pestudio, chọn file từ thanh công cụ và chọn open file từ menu thả xuống.
  15. Cửa sổ Select file to open sẽ xuất hiện trên màn hình. Điều hướng đến vị trí E:\CHFI-Tools\Evidence Files, chọn njrat.exe và nhấp vào Open.
  16. Pestudio sẽ mất một chút thời gian để phân tích tệp đáng ngờ và hiển thị một số thông tin cơ bản về tệp trong phần đầu tiên, như trong ảnh chụp màn hình bên dưới.
  17. Sau khi phân tích thông tin cơ bản được cung cấp bởi công cụ, bạn có thể thu thập các chi tiết sau về tệp có tên là njrat.exe:A. sha256: Mục này hiển thị giá trị băm SHA256 của tệp.
    B. file-size: Mục này hiển thị kích thước của tệp (24064 byte trong trường hợp này).
    C. entropy: Mục này hiển thị giá trị entropy của tệp.
    D. signature: Mục này cho thấy tệp đã được mã hóa bằng Microsoft .NET framework.
    E. bit, file-type, and subsystem: Loại tệp được xác định là executable với CPU là 32-bit và hệ thống con là GUI. Điều này cho thấy tệp sẽ chạy như một tệp thực thi khi được mở trên bất kỳ hệ thống nào và chứa GUI.
    F. compiler-stamp: Mục này hiển thị ngày và giờ mà tệp được biên dịch. Ngày và giờ biên dịch của njrat.exe được hiển thị là Wednesday, 19 August 2020, 06:30:23 UTC.
  18. Sau khi hoàn tất việc phân tích thông tin cơ bản, chuyển sang cửa sổ indicators ở bảng bên trái, nơi hiển thị tất cả các phần tử được tìm thấy trong tệp cho thấy nó có thể là độc hại.
  19. Một số chỉ báo đáng ngờ được tìm thấy trong njrat.exe như sau:A. Phân tích của VirusTotal cho thấy 15 trong số 72 công cụ quét vi-rút đã phát hiện tệp là độc hại.
    B. Tệp chứa tổng cộng 24 chuỗi trong danh sách đen/đáng ngờ, mà chúng ta sẽ phân tích sau trong bài tập thực hành này.
    C. Tệp cố gắng giao tiếp với mạng khi được thực thi và kết nối với địa chỉ IP từ xa 10.0.0.16.
    D. Mã định danh hoặc tên thực của njrat.exe trong mã chương trình được tìm thấy là MyApplication.app.
    E. Giá trị md5 của tệp được hiển thị trong impash > md5.

Số lượng chuỗi trong danh sách đen và công cụ quét vi-rút trên VirusTotal có thể được cập nhật theo thời gian. Do đó, nó có thể khác trong môi trường bài tập thực hành của bạn.

  1. Sau khi bạn đã xác định và phân tích các phần tử đáng ngờ được tìm thấy trong tệp, bước tiếp theo là trích xuất và phân tích các PE header.
  2. Để làm như vậy, chọn optional-header từ bảng bên trái của Pestudio.
  3. Sau khi phân tích ảnh chụp màn hình được trình bày ở trên, bạn có thể thu thập các thông tin sau về tệp njrat.exe trong phần optional-header:A. Giá trị của magic number trong PE32 executable của njrat.exe được đặt thành 0x010B, cho biết tệp thực thi là một tệp thực thi PE32.
    B. entry-point được hiển thị là 0x0000747E, đánh dấu địa chỉ bắt đầu khi tệp thực thi được tải vào bộ nhớ.
    C. base-of-code được hiển thị là 0x00002000, cho biết địa chỉ khi mã được nhúng trong tệp được thực thi trong bộ nhớ.
    D. Kích thước của vùng dữ liệu không được khởi tạo (được gọi là DS) của tệp được hiển thị là size-of-uninitialized-data là 1336 byte, trong khi size-of-initialized-data (được gọi là RS) của tệp được hiển thị là 0 byte.
    E. os-version được đặt là default 4.0, cho biết không có phiên bản hệ điều hành nào được chỉ định tại thời điểm biên dịch.
  4. Bây giờ hãy chuyển sang cửa sổ sections, hiển thị tên và bố cục bộ nhớ của các sections trong tệp đáng ngờ.
  5. Như bạn có thể thấy từ ảnh chụp màn hình ở trên, có ba sections trong tệp njrat.exe: (A) .text, (B) .rsrc, and (C) .reloc. Sau khi kiểm tra section .text, bạn có thể thu thập các chi tiết sau:A. file-ratio: Section .text chứa tỷ lệ tệp cao nhất là 91,49%, cho biết đây là section chính trong tệp.
    B. virtual-sizeraw-size: virtual-size biểu thị không gian được cấp phát cho tệp trong quá trình tải, trong khi raw-size phản ánh không gian mà tệp chiếm trên ổ cứng. Nếu virtual-size lớn hơn nhiều so với raw-size, nó thường cho thấy sự hiện diện của mã độc. Trong trường hợp này, virtual-size của tệp trong section .text (22016 byte) lớn hơn raw-size của nó (21364 byte).
    C. entry-point: Phân tích công cụ cho thấy một địa chỉ bộ nhớ cho entry-point trong section .text.
    D. execute: Phân tích công cụ hiển thị một dấu chéo cho thuộc tính thực thi trong section .text.C & D cho thấy section .text chứa mã nhị phân của tệp njrat.exe.
  6. Chúng tôi sẽ phân tích các chuỗi đáng ngờ được tìm thấy trong tệp. Để làm như vậy, hãy chuyển sang cửa sổ strings ở bảng bên trái của ứng dụng.
  7. Cửa sổ strings hiển thị các phần sau, như có thể thấy ở phía bên phải của ảnh chụp màn hình bên dưới:A. encoding (2): Loại chuỗi được tìm thấy trong tệp ở định dạng ASCII hoặc Unicode.
    B. size (bytes): Kích thước của mỗi chuỗi tính bằng byte.
    C. location: Địa chỉ bộ nhớ của mỗi chuỗi được tìm thấy.
    D. flag (34): Phần này sử dụng ký hiệu ‘x’ để đánh dấu các chuỗi được công cụ đưa vào danh sách đen. Như bạn có thể thấy, có 25 chuỗi trong danh sách đen được tìm thấy trong tệp.
    E. label (453): Phần này cung cấp các gợi ý cho các chuỗi được tìm thấy và xác định xem chúng có liên quan đến bất kỳ tiện ích, khóa registry nào hay không, v.v. Có 33 gợi ý được xác định bởi công cụ.
    F. value: Phần này trình bày các chuỗi có thể đọckhông thể đọc được tìm thấy trong tệp. Có ~360 chuỗi được tìm thấy trong tệp njrat.exe.
  8. Để phân tích các chuỗi được công cụ đưa vào danh sách đen, nhấp đúp vào phần flag. Thao tác này sẽ liệt kê tất cả các chuỗi trong danh sách đen trong một hàng.
  9. Sau khi kiểm tra kỹ các chuỗi trong danh sách đen, như trong ảnh chụp màn hình bên dưới, bạn sẽ thấy nhiều hàm dựa trên Windows mà tệp njrat.exe gọi tại thời điểm thực thi.
  10. Phân tích chi tiết các chuỗi trong danh sách đen tiết lộ những điều sau về chức năng và hành vi của tệp njrat.exe:
    • Sự hiện diện của các hàm Windows như SendConnect trong chuỗi cho thấy njrat.exe cố gắng kết nối với một địa chỉ IP từ xa (được xác định là 10.0.0.16) khi thực thi.
    • Tệp gọi các hàm như ToBase64StringFromBase64String, cho thấy nó mã hóa và giải mã dữ liệu được thu thập từ máy mục tiêu, điều mà nó có thể sửa đổi hoặc xóa trong quá trình thực thi.
    • Nó gọi hàm GetCurrentProcess, hàm trả về một handle cho tiến trình hiện tại được sử dụng bởi nhiều chương trình độc hại để ngăn chặn Data Execution Prevention (DEP). DEP là một hàm bảo mật ngăn các chương trình độc hại chạy trong bộ nhớ.
    • Tệp sử dụng hàm GetSystemDirectory để truy xuất thư mục hệ thống của máy mục tiêu. Nó cũng sử dụng hàm GetDriveType để truy xuất thông tin về các ổ đĩa được kết nối với máy mục tiêu.
    • Ngoài ra, bạn có thể thấy việc sử dụng các hàm khác như GetForegroundWindow (được sử dụng để truy xuất cửa sổ hiện tại của người dùng mở), GetKeyState (được sử dụng để chụp trạng thái của tất cả các phím ảo), GetKeyboardState (được sử dụng để truy xuất thông tin về tất cả các phím hiện tại và bàn phím), GetKeyboardLayout (được sử dụng để truy xuất bố cục bàn phím hiện tại của luồng đã chỉ định) và GetAsyncKeyState (được sử dụng để xác định xem phím đã được nhấn hay nhả) trên mục tiêu. Tất cả những điều này cho thấy rằng tệp njrat.exe có thể hoạt động như một keylogger.
  11. Cuộn xuống thêm, bạn sẽ thấy nhiều chuỗi có thể đọc khác được nhúng trong tệp njrat.exe có vẻ đáng ngờ.
  12. Phân tích các chuỗi, như trong ảnh chụp màn hình, tiết lộ những điều sau về chức năng của njrat.exe khi thực thi:
    • Tệp sử dụng các lệnh netsh firewall để sửa đổi cài đặt tường lửa hiện có trên máy đáng ngờ. Nó phát hành netsh firewall add allowedprogram để đầu tiên bật chương trình thông qua tường lửa và sau đó là netsh firewall delete allowedprogram để vô hiệu hóa chương trình đó. Nó cũng gọi từ xa dòng lệnh hoặc cmd.exe trên máy đáng ngờ để kết nối với máy chủ Command and Control (C2) của nó.
    • Chuỗi RegistryKey là chuỗi khóa registry Software\Microsoft\Windows\CurrentVersion\Run, thường được các chương trình độc hại sử dụng để duy trì trên máy mục tiêu.
    • Các chuỗi SpaceEnter có thể là một phần của việc ghi lại bàn phím vì keystrokes thường có các phím SpaceEnter.
    • Bạn có thể thấy tên của các tệp thực thi, chẳng hạn như Jex.exeServer.exe, trong các chuỗi. Bằng cách so sánh phân tích của các tệp thực thi với các chuỗi trong danh sách đen, có thể giả định rằng tệp njrat.exe tạo ra các tệp thực thi độc hại như Jex.exeServer.exe khi thực thi và sử dụng chúng để thực hiện các hoạt động độc hại.
  13. Cuộn xuống thêm, bạn có thể thấy nhiều chuỗi độc hại khác trong njrat.exe, chẳng hạn như get MachineName, get UserName, FileSystemInfo, get LastAccessTime, get LastWriteTime, get CreationTime, get OSfullname, và get OSVersion, tiết lộ các chi tiết về máy mục tiêu, chẳng hạn như tên người dùng, ngày và giờ hiện tại, và tên và phiên bản hệ điều hành.
  14. Phân tích các chuỗi khác được tìm thấy trong njrat.exe kỹ lưỡng. Sau khi hoàn tất, thoát khỏi công cụ Pestudio.
  15. Nhiệm vụ tiếp theo trong bài tập thực hành này là xác định các thư viện được liên kết và phần phụ thuộc của tệp njrat.exe. Chúng tôi sẽ sử dụng công cụ Dependency Walker cho mục đích này.
  16. Để khởi chạy Dependency Walker, điều hướng đến E:\CHFI-Tools\CHFIv11 Module 09 Malware Forensics\Static Malware Analysis Tools\Dependency Walker và nhấp đúp vào depends.exe.
  17. Giao diện người dùng Dependency Walker sẽ xuất hiện, như trong ảnh chụp màn hình bên dưới.
  18. Để tải tệp đáng ngờ vào công cụ, chọn File từ thanh công cụ và nhấp vào Open… từ menu thả xuống.
  19. Cửa sổ Open sẽ xuất hiện. Điều hướng đến vị trí E:\CHFI-Tools\Evidence Files, chọn njrat.exe và nhấp vào Open. Nếu một cửa sổ bật lên Dependency Walker xuất hiện hiển thị lỗi, nhấp vào OK để tiếp tục.
  20. Công cụ sẽ mất một chút thời gian để kiểm tra tệp và hiển thị danh sách các Thư viện Liên kết Năng động (DLL) được liên kết với tệp ở bên trái bên dưới Module Dependency Tree (A). Ở phần trên bên phải, công cụ hiển thị các Parent Imports của một DLL đã chỉ định (B) và ở bảng giữa, nó hiển thị các Exports của DLL đó (C).
  21. Nhấp vào View từ menu thanh công cụ và chọn Full Paths từ menu thả xuống.
  22. Thao tác này cho phép bạn xem đường dẫn đầy đủ của các DLL được liên kết với njrat.exe trong Module Dependency Tree.
  23. Như bạn có thể thấy từ phần được đánh dấu trong ảnh chụp màn hình ở trên, njrat.exe chỉ sử dụng MSCOREE.DLL, là một DLL của Windows XP, sử dụng các DLL khác như KERNEL32.DLL, USER32.DLL, ADVAPI32.DLL, SHLWAPI.DLL, URLMON.DLL, và VERSION.DLL trong quá trình chạy.
  24. Nhấp vào từng DLL để xem các Parent Imports của nó. Nhấp vào c:\windows\system32\MSCOREE.DLL cho thấy nó chỉ có _CorExeMain làm Parent Import.
  25. Hàm _CorExeMain được sử dụng để bắt đầu thực thi mã được quản lý (trong trường hợp này, tệp njrat.exe vì nó được xây dựng bằng .NET framework).
  26. Nhấp vào c:\windows\system32\KERNEL32.DLL, bạn có thể thấy nhiều Parent Imports.
  27. Phân tích các Parent Imports của KERNEL32.DLL tiết lộ những điều sau:A. Hàm CreateFileW được sử dụng để tạo hoặc mở tệp trong bộ nhớ. Hàm CreateFileMapping được sử dụng để ánh xạ tệp vào bộ nhớ. Bằng cách so sánh các chuỗi trong danh sách đen và các phát hiện này, có thể giả định rằng tệp njrat.exe sử dụng các hàm này để tạo và truy cập các tệp thực thi có tên là Jex.exeServer.exe.
    B. Tệp njrat.exe cũng sử dụng hàm CreateMutex, được sử dụng bởi các chương trình độc hại để ngăn chặn nhiều trường hợp của cùng một phần mềm độc hại chạy trên máy mục tiêu.
    C. Việc sử dụng hàm CreateToolhelp32Snapshot cho thấy tệp sẽ chụp nhanh các tiến trình đã chỉ định trên máy mục tiêu khi thực thi. Điều này củng cố thêm thực tế rằng tệp là độc hại.
  28. Cuộn xuống thêm, bạn sẽ tìm thấy các Import Functions như FindFirstFileW (A), được sử dụng bởi các chương trình độc hại để duyệt qua hệ thống tệp, FindFirstFileExW (được sử dụng để truy xuất tên tệp của tệp tiếp theo trong thư mục hoặc chuỗi tệp đang được tìm kiếm), và GetCurrentThreadId (B), được sử dụng bởi các chương trình độc hại để truy xuất thông tin về các tiến trình đang chạy trên hệ thống mục tiêu.
  29. Bằng cách phân tích các hàm này, có thể giả định rằng tệp njrat.exe sẽ duyệt qua hệ thống tệp của máy mục tiêu khi thực thi, mở và sửa đổi tệp, và thu thập thông tin về các tiến trình đang chạy để gửi dữ liệu đến máy của kẻ tấn công.
  30. Cuộn xuống thêm, bạn sẽ thấy nhiều hàm Import khác trong KERNEL32.DLL có thể được sử dụng cho mục đích độc hại.
  31. Phân tích thêm về các Imports được đánh dấu trong ảnh chụp màn hình tiết lộ những điều sau về chức năng của njrat.exe trên máy mục tiêu khi thực thi:A. Tệp njrat.exe có thể sử dụng hàm GetDateFormatW để truy xuất định dạng ngày tháng cục bộ.
    B. Việc Import các hàm như GetFileAttributesW, GetFileAttributesExW, GetFileType, GetFileSize, và GetFileSizeEx cho thấy njrat.exe sẽ cố gắng truy xuất thông tin về loại, kích thước và các thuộc tính của các tệp từ hệ thống tệp của máy mục tiêu.
    C. Tệp có thể sử dụng hàm GetLocalTime để nhận thông tin về thời gian cục bộ của máy.
    D. Việc sử dụng các hàm như GetModuleFileNameAGetModuleNameW cho thấy nó có thể cố gắng sao chép hoặc sửa đổi các tệp đang chạy trên máy mục tiêu.
    E. Tệp sử dụng hàm GetProcAddress để gọi các hàm từ các DLL khác một cách ẩn.
  32. Quan sát c:\windows\system32\USER32.DLL trong phần Parent Imports của nó. Sử dụng hàm này, njrat.exe có thể cố gắng trích xuất thông tin về máy trạm Windows và đối tượng của người dùng hiện tại trên máy mục tiêu, bao gồm cả hoạt động chuột và bàn phím.
  33. Bây giờ nhấp vào c:\windows\system32\ADVAPI32.DLL để xem các Parent ImportsExports của nó.
  34. Sau khi kiểm tra kỹ các Imports được đánh dấu trong ảnh chụp màn hình ở trên, bạn có thể giả định những điều sau về chức năng của njrat.exe khi thực thi:a. Tệp njrat.exe sẽ mở các khóa registry cụ thể khi thực thi và truy vấn loại và dữ liệu liên quan đến khóa đã mở đó thông qua hàm RegOpenKeyExWRegQueryValueExW.
    b. Sau đó, nó sẽ thêm một khóa con trong khóa registry đã mở. Khi giá trị khóa con được tạo và lưu, nó sẽ sử dụng hàm RegQueryInfoKeyWRegSetValueExW.
    c. Trong phần Exports của SHLWAPI.DLL, bạn sẽ thấy hàm SHAddInitialA, khởi tạo băm SHA1 của một luồng dữ liệu, và hàm A_SHAUpdate, tính toán giá trị băm cuối cùng bằng cách thêm nhiều dữ liệu hơn vào một đối tượng đã được băm.
  35. Sau khi so sánh kết quả phân tích phần mềm với các phát hiện này, có thể giả định rằng njrat.exe sẽ tạo và lưu giá trị khóa con Software\Microsoft\Windows\CurrentVersion\Run để duy trì trên hệ thống mục tiêu.
  36. Nhấp vào c:\windows\system32\URLMON.DLL trong phần Parent Imports của nó. Sử dụng hàm này, njrat.exe có thể tải xuống dữ liệu từ internet bằng địa chỉ URL.
  37. Kiểm tra các DLL khác được liên kết với njrat.exe và các phụ thuộc tệp của nó. Sau khi hoàn tất phân tích với Dependency Walker, thoát khỏi công cụ.
  38. Bây giờ chúng tôi sẽ cố gắng tháo gỡ mã được nhúng trong tệp đáng ngờ bằng IDA Pro.
  39. Để khởi chạy IDA Pro, điều hướng đến E:\CHFI-Tools\CHFIv11 Module 09 Malware Forensics\Static Malware Analysis Tools\IDA Pro và nhấp đúp vào idafree63_Windows.exe. Nếu một cửa sổ bật lên Open File – Security Warning xuất hiện, nhấp vào Run.
  40. Cửa sổ IDA Freeware 8.2 Setup Wizard sẽ xuất hiện. Làm theo các bước cài đặt được hướng dẫn bởi trình hướng dẫn để hoàn tất quá trình cài đặt công cụ. Nếu License Agreement xuất hiện, hãy chọn I accept the agreement và nhấp vào Next.
  41. Trong bước cuối cùng của trình hướng dẫn cài đặt, nhấp vào Finish.
  42. Bây giờ, nhấp đúp vào biểu tượng IDA Freeware trên Desktop để khởi chạy ứng dụng. Nếu cửa sổ IDA License xuất hiện, nhấp vào Agree.
  43. Cửa sổ IDA: Quick start sẽ xuất hiện. Nhấp vào nút New để thêm tệp đáng ngờ để phân tích.
  44. Công cụ sẽ mở một hộp thoại có tên Select file to disassemble với giao diện người dùng chính ở nền.
  45. Điều hướng đến vị trí E:\CHFI-Tools\Evidence Files, chọn njrat.exe và nhấp vào Open.
  46. Thao tác này sẽ khiến cửa sổ Load a new file xuất hiện trên màn hình. Đối với mục Load file E:\CHFI-Tools\Evidence Files\njrat.exe as, chọn Portable executable for 80386 (PE) [pe.dll]. Đảm bảo tùy chọn Create SegmentsCreate FLAT groups được chọn. Giữ tất cả các tùy chọn khác là mặc định, như trong ảnh chụp màn hình bên dưới. Khi hoàn tất, nhấp vào OK.
  47. Công cụ sẽ mất một chút thời gian để tải tệp vào cơ sở dữ liệu. Sau khi được tải thành công, nó sẽ hiển thị dạng mã lệnh của các lệnh ngôn ngữ assembly đáng ngờ và hiển thị theo nhiều dạng khác nhau trong giao diện người dùng của nó.
  48. Sau khi công cụ đã tải và thực hiện quá trình tháo gỡ ban đầu trên mã nguồn của tệp njrat.exe, giao diện người dùng của nó sẽ trông giống như ảnh chụp màn hình sau đây.
  49. Công cụ trình bày nhiều cửa sổ xem dữ liệu khác nhau để kiểm tra thông tin thu thập được từ phân tích ban đầu của tệp đã tải, chẳng hạn như cửa sổ Functions, Graph overview, IDA View-A, Structures, Enums, Imports, Exports, v.v.
  50. Đầu tiên, chúng tôi sẽ kéo và mở rộng cửa sổ Functions và kiểm tra nội dung của nó. Cửa sổ Functions hiển thị tất cả các hàm được tìm thấy trong chương trình.
  51. Trong ảnh chụp màn hình ở trên, bạn có thể thấy cửa sổ Functions liệt kê start là hàm trong njrat.exe, nằm trong phần .text của tệp. Nó bắt đầu ở địa chỉ ảo 0040747E, dài 00000006 byte và có flag R được liên kết với nó, có nghĩa là nó trả về call _CorExeMain.
  52. Để có thêm giải thích về bất kỳ hàm cụ thể nào, nhấp chuột phải vào hàm đó và chọn Edit function… từ danh sách thả xuống.
  53. Cửa sổ Edit Function sẽ mở ra, hiển thị Start addressEnd address của hàm đã chọn.
  54. Bạn có thể thấy từ ảnh chụp màn hình rằng hàm start bắt đầu ở địa chỉ ảo 0040747E và kết thúc ở 00407485 trong phần .text của tệp. Khi phân tích hoàn tất, nhấp vào OK để đóng cửa sổ.
  55. Nhấn F11 để thu nhỏ cửa sổ Functions.
  56. Bây giờ, nhấp vào cửa sổ IDA View-A, cửa sổ hiển thị mã tháo gỡ thực tế của tệp đáng ngờ.
  57. Bạn có thể thấy các điểm sau từ ảnh chụp màn hình ở trên:A. Cửa sổ tháo gỡ cho thấy hàm start bắt đầu ở địa chỉ ảo 0040747E, có nghĩa là đó là entry point của tệp thực thi.
    B. Đoạn văn bản (Synchronized with Hex View-1) cho biết bất kỳ vị trí hoặc địa chỉ nào được chọn trong cửa sổ tháo gỡ chính tương ứng với dữ liệu trong tab Hex View-1.
    C. Chúng ta thấy jmp _CorExeMain, là lệnh nhảy đến hàm _CorExeMain.
  58. Nhấp đúp vào _CorExeMain, và công cụ sẽ đưa bạn đến phần .text của địa chỉ ảo của nó. Bạn có thể đóng cửa sổ Functions để xem toàn bộ cửa sổ IDA View-A.
  59. Sau khi phân tích kỹ, chúng ta có được các thông tin sau:A. Địa chỉ ảo của hàm _CorExeMain00402000:.idata.
    B. Phần _CorExeMain được đánh dấu là Externs bởi IDA Pro và được tô màu hồng trong giao diện người dùng. IDA Pro sử dụng từ khóa Externs để trỏ đến một phần bộ nhớ, phần này định nghĩa một hàm API hoặc hàm (trong trường hợp này là _CorExeMain) từ tệp DLL (MSCOREE.DLL).
    C. Bạn cũng có thể thấy rằng _CorExeMain được liên kết với DATA XREF: .text:00407434. Điều này có nghĩa là hàm _CorExeMain được tham chiếu lại tại địa chỉ ảo 00407434 trong phần .text.
  60. Nhấp đúp vào 00407434 để đến địa chỉ ảo đó và kiểm tra nó.
  61. Trong phần .text:00407434, bạn có thể thấy dd _CorExeMain, được đánh dấu là Import Address Table. Ngay bên cạnh jmp _CorExeMain, điểm mà chúng tôi bắt đầu tháo gỡ mã thực thi.
  62. Đây là điểm chương trình, địa chỉ .text:0040747E của tệp njrat.exe bắt đầu. Sau đó, nó nhảy đến _CorExeMain, có địa chỉ ảo là .idata:00402000.
  63. Nhấp đúp vào _CorExeMain một lần nữa để quay lại phần .text của địa chỉ ảo của nó.
  64. Phần .text của địa chỉ ảo .idata:00402000 sẽ xuất hiện lại. Chúng ta có thể thấy rằng IDA Pro đã nhận dạng phần .text của tệp bắt đầu từ địa chỉ .text:00402008 dưới dạng Segment type: Externs name mscoree.dll. Do đó, chúng ta có thể giả định rằng mã chính của tệp njrat.exe sẽ nằm ở đâu đó trong phần này.
  65. Cuộn xuống để tìm bất kỳ mô tả có thể đọc được nào trong mã trong phần .text. Bắt đầu từ địa chỉ .text:004058DA, bạn có thể thấy các mô tả có thể đọc được như System.Runtime.CompilerServices, System.IO.FileInfo, v.v.
  66. Cuộn xuống thêm và kiểm tra tất cả các mô tả

Bạn sẽ nhận thấy rằng phần lớn các mô tả có thể đọc được tại đây đã được xác định và phân tích dưới dạng chuỗi trong công cụ Pestudio và dưới dạng Parent Imports của DLL trong công cụ Dependency Walker.
87. Bắt đầu từ địa chỉ .text:00406898, bạn sẽ thấy một loạt các giá trị ngẫu nhiên.
88. Chuyển sang cửa sổ Hex View-1 trên công cụ để xem biểu diễn hex của các giá trị này.
89. Trong kết xuất hex, chúng ta thấy các từ khóa như Server.exe và TEMP (A). Điều này có thể cho thấy rằng njrat.exe sẽ tạo và lưu một tệp thực thi có tên là Server.exe trong thư mục Temp của máy mục tiêu khi thực thi. Phần này cũng hiển thị địa chỉ IP từ xa 10.0.0.16 (đã được xác định trước đó trong cửa sổ indicators trên công cụ Pestudio) và 1177 (B), có thể là số cổng mà tệp sử dụng.
90. Chuyển đổi giữa các tab IDA View-A và Hex View-1 để kiểm tra kỹ mã nguồn của tệp trong phần .text.
91. Sau khi hoàn tất, hãy chuyển sang tab Structures, hiển thị các cấu trúc dữ liệu được tìm thấy trong mã của tệp đang được phân tích. Trong trường hợp njrat.exe, IDA Pro không tìm thấy cấu trúc dữ liệu nào.
92. Bây giờ, hãy chuyển sang cửa sổ Enums, viết tắt của Enumerations. Cửa sổ này liệt kê tất cả dữ liệu enum được tìm thấy trong tệp đang được phân tích. Trong trường hợp njrat.exe, IDA Pro không tìm thấy bất kỳ enum nào.
93. Tương tự, nhấp vào cửa sổ Imports và Exports để xem nội dung của chúng. Trong cửa sổ Imports, công cụ chỉ liệt kê hàm _CorExeMain mà njrat.exe gọi từ thư viện MSCOREE.DLL. Như chúng ta đã thấy trong công cụ Dependency Walker, njrat.exe gọi các DLL khác như KERNEL32.DLL, USER32.DLL, v.v. thông qua MSCOREE.DLL. Do đó, các thư viện đó không được công cụ liệt kê.
94. Trong cửa sổ Exports, chúng ta thấy hàm start với địa chỉ ảo của nó, như có thể thấy trong ảnh chụp màn hình bên dưới.
95. Từ phân tích tĩnh được thực hiện thông qua PEiD, Pestudio, Dependency Walker và IDA Pro, có thể xác định rằng tệp njrat.exe là một phần mềm độc hại. Khi được thực thi trên hệ thống, nó sẽ hoạt động như một keylogger, chụp màn hình, các tiến trình hiện tại, chuột và hoạt động bàn phím của người dùng hiện tại trên hệ thống mục tiêu. Nó sẽ sửa đổi các thuộc tính của Tường lửa Windows và cố gắng kết nối với địa chỉ IP từ xa 10.0.0.16 qua cổng 1177 để gửi thông tin được chụp đến kẻ tấn công. Do đó, nó cho phép kẻ tấn công xem và truy cập máy tính mục tiêu từ xa. Nó sẽ tạo một tệp có tên là Server.exe trong thư mục Temp và cũng sửa đổi các khóa registry trong Software\Microsoft\Windows\CurrentVersion\Run để nó có thể tự động chạy trên hệ thống mục tiêu bất cứ khi nào hệ thống được khởi động lại hoặc người dùng đăng nhập.
96. Do đó, bạn có thể xem xét tệp đáng ngờ bằng cách sử dụng các kỹ thuật phân tích tĩnh và tìm hiểu xem nó có bất kỳ chức năng độc hại nào hay không.
97. Đóng tất cả các cửa sổ đang mở.

Bài tập Thực hành 2: Thực hiện Phân tích Tĩnh trên một Tệp Đáng ngờ bằng các tập lệnh Python

Kịch bản Bài tập Thực hành

Trong một cuộc điều tra an ninh mạng, Smith, một điều tra viên pháp y, nhận được một tệp thực thi từ một hệ thống được gắn cờ là đáng ngờ. Để tìm hiểu sâu hơn về các mối đe dọa tiềm ẩn của nó, Smith đã chọn thực hiện phân tích tĩnh phần mềm độc hại. Được trang bị nhiều tập lệnh Python khác nhau, Smith đã xem xét kỹ lưỡng tệp thực thi, nhằm mục đích khám phá thông tin chi tiết về chức năng của nó và các rủi ro tiềm ẩn mà nó có thể gây ra.

Mục tiêu Bài tập Thực hành

Phân tích tĩnh là quá trình quét tệp để tìm kiếm mã độc hoặc chuỗi và xác minh tác động của nó đối với hệ thống và các thuộc tính mạng mà không cần chạy nó trên máy.

Mục tiêu của bài tập thực hành này là giúp bạn hiểu cách sử dụng các tập lệnh Python khác nhau để kiểm tra tệp .exe đáng ngờ.

Tổng quan về Bài tập Thực hành

Bài tập thực hành này làm quen bạn với quy trình tiến hành kiểm tra tệp .exe đáng ngờ mà không cần thực thi nó. Nó giúp bạn hiểu cách thực hiện lấy dấu vân tay tệp, trích xuất chuỗi, phụ thuộc tệp và thông tin PE từ tệp độc hại.

Nhiệm vụ Bài tập Thực hành

  1. Nhấp vào Ubuntu Forensics để chuyển sang máy Ubuntu Forensics.
  2. Theo mặc định, hồ sơ người dùng jason được chọn. Nhập mật khẩu toor trong trường Password và nhấn Enter để đăng nhập.
  3. Chúng tôi sẽ thực hiện phân tích tĩnh trên một tệp độc hại có tên là Infected.exe. Để làm như vậy, chúng ta cần sao chép Infected.exe từ thư mục CHFI-Tools\Evidence Files và dán nó vào thư mục Home.
  4. Nhấp vào biểu tượng Files trong bảng Launcher để khởi chạy File Manager.
  5. Cửa sổ File Manager sẽ xuất hiện, trỏ đến thư mục Home. Nhấp vào thư mục được đánh dấu chfi-tools on 10.10.1.22.
  6. CHFI-Tools sẽ xuất hiện trong cửa sổ. Điều hướng đến thư mục Evidence Files, sao chép tệp Infected.exe và dán nó vào thư mục Home.
  7. Bây giờ, chúng tôi sẽ thực hiện lấy dấu vân tay tệp bằng cách sử dụng các thuật toán băm phổ biến như MD5, SHA-1 và SHA-256.
  8. Để làm như vậy, hãy nhấp vào biểu tượng Terminal từ bảng launcher để khởi chạy dòng lệnh terminal.
  9. Dòng lệnh terminal sẽ khởi chạy. Bạn cần quyền root trong terminal để cài đặt ứng dụng.
  10. Bây giờ, gõ sudo su và nhấn Enter. Bạn sẽ được nhắc nhập mật khẩu. Nhập toor làm mật khẩu và nhấn Enter.
  11. Bây giờ, bạn sẽ vào terminal root, như trong ảnh chụp màn hình sau:
  12. Trong cửa sổ terminal, gõ gedit file_fingerprinting.py và nhấn Enter để mở cửa sổ Text Editor.
  13. Trình soạn thảo văn bản file_fingerprinting.py sẽ được mở. Bây giờ, gõ mã được hiển thị trong ảnh chụp màn hình bên dưới vào tệp và lưu nó trong thư mục Home. Để thuận tiện, chúng tôi đã đặt tập lệnh Python (file_fingerprinting.py) cùng với đường dẫn tệp exe tại vị trí chfi-tools on 10.10.1.22\CHFIv11 Module 09 Malware Forensics\Python Scripts. Nếu bạn muốn sử dụng tệp này, hãy sao chép tệp file_fingerprinting.py, dán nó vào thư mục Home và tiếp tục từ Bước #15. Chúng tôi đã cung cấp các chú thích trong tập lệnh để hiểu rõ hơn.
  14. Để phân tích tệp Infected.exe, chúng ta cần thay thế filePath trong dòng 17 bằng đường dẫn đến tệp Infected.exe như trong ảnh chụp màn hình; lưu nó và đóng cửa sổ Text Editor.
  15. Bây giờ, hãy chuyển về cửa sổ terminal, gõ python3 file_fingerprinting.py và nhấn Enter để chạy tập lệnh Python.
  16. Khi tập lệnh được thực thi thành công, bạn có thể xem giá trị băm SHA-256 của tệp Infected.exe.
  17. Bây giờ, chúng tôi sẽ phân tích tệp PE bằng thư viện Python pefile. Để làm như vậy, trong cửa sổ Terminal, gõ gedit pe_parsing.py và nhấn Enter.
  18. Trình soạn thảo văn bản pe_parsing.py sẽ được mở. Bây giờ, gõ mã được hiển thị trong ảnh chụp màn hình bên dưới vào tệp. Chúng tôi đã cung cấp các chú thích trong tập lệnh để hiểu rõ hơn.
  19. Để phân tích tệp Infected.exe, chúng ta cần thay thế path_to_pe_file.exe trong dòng 3 bằng đường dẫn đến tệp Infected.exe như trong ảnh chụp màn hình, lưu nó và đóng cửa sổ Text Editor.
  20. Bây giờ, hãy chuyển về cửa sổ terminal, gõ pip install pefile và nhấn Enter để cài đặt thư viện Python pefile.
  21. Trong cửa sổ Terminal, gõ python3 pe_parsing.py và nhấn Enter để chạy tập lệnh Python. Để thuận tiện, chúng tôi đã đặt tập lệnh Python (pe_parsing.py) cùng với đường dẫn tệp pe tại vị trí chfi-tools on 10.10.1.22\CHFIv11 Module 09 Malware Forensics\Python Scripts. Nếu bạn muốn sử dụng tệp này, hãy sao chép tệp pe_parsing.py và dán nó vào thư mục Home.
  22. Sau khi thực thi tập lệnh thành công, bạn có thể xem thông tin PE của tệp Infected.exe như trong ảnh chụp màn hình.
  23. Các nhà điều tra có thể phân tích kết quả cuối cùng để tìm các đặc điểm như tên section bất thường, giá trị entropy, sự hiện diện của các chữ ký phần mềm độc hại đã biết, các mục nhập cho bất thường, phân tích các ký hiệu được xuất cho các hàm độc hại tiềm ẩn, các lệnh gọi API bất thường, v.v.
  24. Bây giờ, chúng tôi sẽ xác định các phụ thuộc tệp của tệp đáng ngờ bằng Python. Để làm như vậy, trong cửa sổ Terminal, gõ gedit file_dependencies.py và nhấn Enter.
  25. Trình soạn thảo văn bản file_dependencies.py sẽ được mở. Bây giờ, gõ mã được hiển thị trong ảnh chụp màn hình bên dưới vào tệp và lưu nó trong thư mục Home. Để thuận tiện, chúng tôi đã đặt tập lệnh Python (file_dependencies.py) cùng với đường dẫn tệp exe tại vị trí chfi-tools on 10.10.1.22\CHFIv11 Module 09 Malware Forensics\Python Scripts. Nếu bạn muốn sử dụng tệp này, hãy sao chép tệp file_dependencies.py, dán nó vào thư mục Home và tiếp tục từ Bước #27. Chúng tôi đã cung cấp các chú thích trong tập lệnh để hiểu rõ hơn.
  26. Để phân tích tệp Infected.exe, chúng ta cần thay thế path/to/executable.exe trong dòng 8 bằng đường dẫn đến tệp Infected.exe như trong ảnh chụp màn hình; lưu nó và đóng cửa sổ Text Editor.
  27. Trong cửa sổ Terminal, gõ python3 file_dependencies.py và nhấn Enter để chạy tập lệnh Python.
  28. Khi tập lệnh được thực thi thành công, bạn có thể xem các phụ thuộc của tệp Infected.exe như trong ảnh chụp màn hình.
  29. Việc tìm kiếm các phụ thuộc sẽ giúp điều tra viên hiểu được các thư viện động hoặc mô-đun mà một tệp thực thi độc hại phụ thuộc vào.
  30. Bây giờ, chúng tôi sẽ thực hiện tìm kiếm chuỗi bằng Python trên một tệp đáng ngờ. Để làm như vậy, trong cửa sổ Terminal, gõ gedit string_search.py và nhấn Enter.
  31. Tệp string_search.py trong trình soạn thảo văn bản sẽ được mở. Bây giờ, gõ mã được hiển thị trong ảnh chụp màn hình bên dưới vào tệp và lưu nó trong thư mục Home. Để thuận tiện, chúng tôi đã đặt tập lệnh Python (string_search.py) cùng với đường dẫn tệp exe tại vị trí chfi-tools on 10.10.1.22\CHFIv11 Module 09 Malware Forensics\Python Scripts. Nếu bạn muốn sử dụng tệp này, hãy sao chép tệp string_search.py, dán nó vào thư mục Home và tiếp tục từ Bước #33. Chúng tôi đã cung cấp các chú thích trong tập lệnh để hiểu rõ hơn. Các điều tra viên phải sử dụng thư viện chuẩn của Python như re và sys, cung cấp các cách đơn giản để tìm kiếm chuỗi trong tệp nhị phân.
  32. Để phân tích tệp Infected.exe, chúng ta cần thay thế tệp path_to_malware trong dòng 13 bằng đường dẫn đến tệp Infected.exe như trong ảnh chụp màn hình. Lưu nó và đóng cửa sổ Text Editor.
  33. Trong cửa sổ Terminal, gõ python3 string_search.py và nhấn Enter để chạy tập lệnh Python.
  34. Khi tập lệnh được thực thi thành công, bạn có thể xem các chuỗi của tệp Infected.exe như trong ảnh chụp màn hình.
  35. Việc thực hiện tìm kiếm chuỗi giúp hiểu được chức năng của phần mềm độc hại, phát hiện URL được mã hóa cứng, đường dẫn tệp, khóa registry và các chỉ báo thỏa hiệp khác.
  36. Do đó, bạn có thể xem xét tệp đáng ngờ bằng cách sử dụng tập lệnh Python.
  37. Đóng tất cả các cửa sổ đang mở.

Bài tập Thực hành 3: Kiểm tra Pháp y một Tệp PDF Đáng ngờ

Kịch bản Bài tập Thực hành

Các tệp PDF là các tệp được chia sẻ phổ biến nhất do kích thước nhỏ và dễ sử dụng. Kẻ tấn công có thể ẩn các tập lệnh độc hại trong các tệp PDF được thực thi khi người dùng cố gắng mở tệp. Các tập lệnh độc hại như vậy có thể dễ dàng vượt qua bảo mật hệ thống và mạng và cài đặt các chương trình độc hại khác trên hệ thống. Các nhà điều tra cần chạy các lần quét khác nhau trên tệp PDF mẫu để xác định sự hiện diện của các đối tượng hoặc luồng đáng ngờ và trích xuất chúng để xác định xem tệp PDF có độc hại hay không.

Mục tiêu Bài tập Thực hành

Định dạng Tài liệu Di động (PDF) là một định dạng tệp hỗ trợ lưu trữ có cấu trúc và nhúng đồ họa, hình ảnh, chuỗi, liên kết, v.v. Các đặc điểm này của định dạng cho phép kẻ tấn công nhúng chuỗi và tập lệnh độc hại trong tài liệu. Do đó, một điều tra viên phải biết cách thực hiện kiểm tra tĩnh của tệp PDF đáng ngờ và xác định xem nó có chứa bất kỳ chức năng độc hại nào hay không.

Mục tiêu của bài tập thực hành này là giúp bạn hiểu cách phân tích cú pháp và phân tích các đối tượng và luồng được nhúng trong tệp PDF đáng ngờ thông qua các quy trình phân tích tĩnh phần mềm độc hại.

Tổng quan về Bài tập Thực hành

Bài tập thực hành này làm quen bạn với quá trình tiến hành kiểm tra tệp PDF đáng ngờ mà không cần thực thi nó. Nó giúp bạn hiểu cách trích xuất các đối tượng và luồng được nhúng trong tệp PDF bằng các công cụ dựa trên python khác nhau và phân tích chúng một cách chuyên sâu để xác định xem tệp PDF có độc hại hay không.

Nhiệm vụ Bài tập Thực hành

  1. Nhấp vào Ubuntu Forensics để chọn máy ảo Ubuntu Forensics.
  2. Theo mặc định, hồ sơ người dùng jason được chọn, hãy nhập mật khẩu toor trong trường Password và nhấn Enter để đăng nhập.
  3. Nhấp vào biểu tượng Files trong bảng Launcher để khởi chạy File Manager.
  4. Cửa sổ quản lý tệp sẽ xuất hiện, trỏ đến thư mục Home. Nhấp vào thư mục được đánh dấu chfi-tools on 10.10.1.22.
  5. Thư mục Chfi-tools sẽ xuất hiện trong cửa sổ.
  6. Bây giờ hãy chuyển đến CHFIv11 Module 09 Malware Forensics -> Static Malware Analysis Tools. Bạn sẽ thấy thư mục DidierStevensSuite ở đó.
  7. Sao chép thư mục DidierStevensSuite và dán nó vào thư mục Home của Ubuntu.
  8. Bây giờ, điều hướng đến thư mục dùng chung chfi-tools -> Evidence Files. Cuộn xuống và bạn sẽ thấy tệp Infected.pdf ở đó.
  9. Sao chép tệp và dán nó vào thư mục Home.
  10. Chúng ta đã sẵn sàng để phân tích Infected.pdf trên máy Ubuntu Forensics. Nhấp vào biểu tượng Terminal từ bảng launcher để khởi chạy dòng lệnh terminal.
  11. Dòng lệnh terminal sẽ khởi chạy. Gõ sudo su và nhấn Enter. Bạn sẽ được nhắc nhập mật khẩu. Gõ toor làm mật khẩu và nhấn Enter. Bây giờ, bạn sẽ vào terminal root.
  12. Chúng tôi sẽ sử dụng các công cụ dựa trên python từ thư mục DidierStevensSuite để phân tích tài liệu Infected.pdf. Đầu tiên, gõ cd DidierStevensSuite và nhấn Enter. Thao tác này sẽ đưa bạn vào thư mục DidierStevensSuite trên terminal.
  13. Bây giờ chúng tôi sẽ sử dụng công cụ pdfid.py để quét Infected.pdf để tìm các phần tử hoặc từ khóa đáng ngờ. Gõ python3 pdfid.py /home/jason/Infected.pdf và nhấn Enter. Kết quả sẽ hiển thị cấu trúc của tệp PDF, chứa tiêu đề PDF và nội dung của tệp.
  14. Chúng ta có thể thấy từ kết quả được đánh dấu ở trên rằng Infected.pdf chứa các phần tử đáng ngờ như /JS hoặc /JavaScript và /OpenAction. Phần tử /OpenAction cho biết tệp PDF có thể thực thi một hành động khi được mở.
  15. Bây giờ chúng tôi sẽ sử dụng công cụ pdf-parser.py từ thư mục DidierStevensSuite để trích xuất thêm dữ liệu từ tệp PDF.
  16. Để làm như vậy, gõ python3 pdf-parser.py /home/jason/Infected.pdf và nhấn Enter. Kết quả sẽ hiển thị tất cả các đối tượng gián tiếp theo thứ tự được sử dụng để tạo tệp PDF.
  17. Phân tích kết quả được đánh dấu ở trên cho thấy đối tượng 1 (được chiếu là Obj 1 0) tham chiếu đến đối tượng 5 của tệp PDF (được chiếu là 5 0 R), có chức năng OpenAction được nhúng trong đó.
  18. Cuộn xuống để xem các đối tượng khác có trong tệp.
  19. Phân tích đối tượng 5 (được chiếu là obj 5 0), như trong kết quả được đánh dấu ở trên, cho thấy Type của nó là /Action và nó tham chiếu đến đối tượng 6 (được chiếu là 6 0 R) của tệp (A). Kiểm tra thêm đối tượng 5 cho thấy nó chứa một tiêu đề có thẻ JavaScript và nó liên quan đến chức năng của đối tượng 6 (được chiếu là JS 6 0 R) của tệp (B). Khi kiểm tra đối tượng 6, chúng ta thấy nó chứa một stream (C).
  20. Bây giờ chúng tôi sẽ sử dụng ứng dụng PDF Stream Dumper để xem các đối tượng và JavaScript được nhúng trong tệp PDF bên trong giao diện đồ họa và thực hiện kiểm tra chuyên sâu về chúng.
  21. Bây giờ, hãy chuyển sang máy ảo Windows Server 2022 bằng cách nhấp vào Windows Server 2022.
  22. Mở File Explorer và điều hướng đến E:\CHFI-Tools\CHFIv11 Module 09 Malware Forensics\Static Malware Analysis Tools\PDF Stream Dumper và nhấp đúp vào PDFStreamDumper_Setup.exe. Nếu một cửa sổ bật lên Open File – Security Warning xuất hiện, nhấp vào Run.
  23. Trình hướng dẫn PDFStreamDumper Setup Wizard sẽ khởi chạy. Làm theo các hướng dẫn cài đặt được hướng dẫn bởi trình hướng dẫn để cài đặt ứng dụng. Vào cuối quá trình cài đặt, đảm bảo rằng các tùy chọn View ReadMeInstall AS3 Flash Decompiler không được chọn trong trình hướng dẫn cài đặt và sau đó nhấp vào Finish.
  24. Bây giờ, nhấp đúp vào biểu tượng PDFStreamDumper.exe nằm trên Desktop để khởi chạy ứng dụng.
  25. Giao diện người dùng PDFStreamDumper xuất hiện trên màn hình. Nhấp vào Load từ thanh công cụ và chọn tùy chọn Pdf File, như trong ảnh chụp màn hình sau.
  26. Cửa sổ Load PDF File sẽ xuất hiện. Điều hướng đến vị trí E:\CHFI-Tools\Evidence Files, chọn tệp Infected.pdf và nhấp vào Open để tải tệp lên ứng dụng.
  27. PDF Stream Dumper phân tích tệp PDF và liệt kê tất cả các đối tượng có trong đó ở góc trên bên trái của ứng dụng. Tệp Infected.pdf chứa 7 đối tượng, như được đánh dấu trong ảnh chụp màn hình bên dưới.
  28. Từ ảnh chụp màn hình ở trên, chúng ta có thể thấy rằng ứng dụng hiển thị nội dung theo các màu khác nhau tùy thuộc vào loại của chúng. Tại đây, đối tượng 1 được đánh dấu màu xanh lục, đối tượng 5 màu đỏ và đối tượng 6 màu xanh lam. Để xem màu của đối tượng 1, hãy chuyển đến tab Objects và cuộn xuống.
  29. Để hiểu các đặc tả màu, nhấp vào Tools từ thanh công cụ và chọn tùy chọn About Listview Colors từ menu thả xuống.
  30. Hộp thoại PDFStreamDumper xuất hiện, hiển thị các đặc tả màu được ứng dụng sử dụng.
  31. Theo các đặc tả màu được liệt kê trong hộp thoại PDFStreamDumper và phân tích kết quả được hiển thị bởi pdf-parser.py, chúng ta có thể xác định rằng đối tượng 1 được đánh dấu màu xanh lục vì nó chứa chức năng OpenAction, đối tượng 5 màu đỏ vì nó bao gồm một thẻ tiêu đề JavaScript, và đối tượng 6 màu xanh lam vì nó chứa một stream đối tượng. Nhấp vào OK để đóng hộp thoại.
  32. Nhấp vào từng đối tượng ở bên trái của ứng dụng để xem nội dung của chúng.
  33. Phân tích đối tượng 1đối tượng 5 cho thấy cùng nội dung trong tab Text của PDFStreamDumper như chúng ta đã thấy trước đó trong kết quả của công cụ pdf-parser.py trên máy ảo Ubuntu Forensics.
  34. Bây giờ chúng tôi sẽ phân tích nội dung của đối tượng 6 trong Infected.pdf. Nhấp vào mục đối tượng 6 từ menu đối tượng ở bên trái. Công cụ sẽ giải mã stream được nhúng trong đối tượng 6 và hiển thị nó trong tab Text.
  35. Phân tích stream được giải mã trong đối tượng 6, như trong ảnh chụp màn hình ở trên, cho thấy nó chứa mã JavaScript thực tế.
  36. Cuộn xuống để kiểm tra bất kỳ chuỗi có thể đọc được nào trong stream của đối tượng 6 đáng ngờ.
  37. Trong phần được đánh dấu ở trên của stream của đối tượng 6 của tệp PDF, bạn có thể nhận thấy hàm JavaScript util.printf(), thường được tìm thấy trong các tài liệu Adobe độc hại. Khi thực thi, hàm JavaScript này có thể thu thập dữ liệu hệ thống và hiển thị nó cho kẻ tấn công.
  38. Bạn cũng có thể chuyển sang các tab HexDump và Stream Details, như trong ảnh chụp màn hình bên dưới, để tiến hành phân tích chi tiết nội dung của đối tượng 6 trong Infected.pdf.
  39. Bây giờ chúng ta cần xác định xem tệp PDF đang được phân tích có chứa bất kỳ khai thác nào hay không. Để làm như vậy, hãy nhấp vào nút Exploit_Scan từ thanh công cụ (1), nút này sẽ quét tệp một cách kỹ lưỡng để tìm bất kỳ khai thác PDF đã biết nào và hiển thị chúng trong một tệp văn bản (2).
  40. Tệp văn bản chỉ định loại khai thác được sử dụng (A), ngày nhúng khai thác vào tệp PDF (B), phiên bản Adobe Acrobat và Reader mà khai thác thường được tìm thấy (C), tên của khai thác (D) và số đối tượng hoặc stream chứa khai thác (E).
  41. Thông tin thu thập được từ tệp văn bản như sau:A. Loại khai thác: Exploit CVE-2008-2992
    B. Ngày nhúng khai thác vào tệp PDF: 11.4.08
    C. Phiên bản Adobe Acrobat và Reader: 8.1.2
    D. Tên của khai thác: util.printf
    E. Nơi khai thác được tìm thấy trong tệp PDF: Trong stream 6 cũng như trong hộp văn bản chính
  42. Để tìm hiểu thêm về loại khai thác, hãy sao chép tên của nó (tức là, CVE-2008-2992) từ tệp văn bản. Sau đó, đóng tệp văn bản và công cụ.
  43. Khởi chạy trình duyệt, gõ https://cve.mitre.org vào thanh địa chỉ và nhấn Enter.
  44. Trang web CVE – Common Vulnerabilities and Exposure (CVE) sẽ xuất hiện trên màn hình. Cơ sở dữ liệu CVE chứa danh sách các mục nhập cho các lỗ hổng bảo mật mạng đã biết.
  45. Để tìm thêm thông tin về CVE-2008-2992, nhấp vào tab Search CVE List trên trang web.
  46. Trang Search CVE List mở ra. Dán số CVE thu thập được từ tệp văn bản vào hộp tìm kiếm và nhấp vào nút Submit.
  47. Mục nhập CVE-2008-2992 mở ra trong cơ sở dữ liệu CVE. Nó cho thấy có một lỗ hổng tràn bộ đệm dựa trên stack tồn tại trong Adobe Acrobat và Reader phiên bản 8.1.2 và các phiên bản trước đó, cho phép kẻ tấn công chạy mã tùy ý trên bất kỳ hệ thống nào từ xa thông qua các tệp PDF. Các tệp PDF này được tạo bằng mã JavaScript được thực thi khi các tệp PDF được mở và gọi hàm độc hại util.printf(). Do đó, phân tích tĩnh của Infected.pdf cho thấy tệp này là độc hại.
  48. Do đó, bạn có thể kiểm tra bất kỳ tệp PDF đáng ngờ nào mà không cần mở nó và kiểm tra xem nó có chứa bất kỳ thành phần độc hại nào được nhúng bên trong hay không.
  49. Đóng tất cả các cửa sổ đang mở.

Bài tập Thực hành 4: Kiểm tra Pháp y một Tài liệu Microsoft Office Đáng ngờ

Kịch bản Bài tập Thực hành

Richard, một nhân viên thuộc nhóm tài chính của một công ty Áo, đã nhận được email từ nhà cung cấp của họ liên quan đến việc thanh toán hóa đơn. Email có kèm theo hóa đơn dưới dạng tài liệu Microsoft Word. Vì đã đến cuối tháng, Richard đã tải xuống và mở tài liệu Word để xử lý hóa đơn. Sau một thời gian, hệ thống của anh ta bắt đầu hoạt động sai. Nghi ngờ có điều gì đó không ổn, Richard đã thông báo cho nhóm an ninh mạng của công ty để điều tra vấn đề này.

Jason từ bộ phận pháp y mạng được giao cho vụ án. Là một phần của cuộc điều tra, Jason đã giám sát máy bị xâm nhập của Richard, ngắt kết nối nó khỏi mạng và thu thập tài liệu Word đáng ngờ. Anh ta hiện cần phân tích cú pháp mã tài liệu Word đáng ngờ thông qua các công cụ pháp y để xem tài liệu có chứa bất kỳ chuỗi hoặc mã độc hại nào hay không.

Mục tiêu Bài tập Thực hành

Các tệp MS Office như tài liệu Word và bảng tính Excel thường đóng vai trò là vật mang trong các chiến dịch thư rác vì kẻ tấn công cố gắng truyền tệp thực thi được đóng gói trá hình thành tài liệu. Do đó, các nhà điều tra cần biết cách phân tích tài liệu MS Office đáng ngờ và tìm mã độc hoặc chuỗi mà không cần thực thi tệp trên hệ thống.

Mục tiêu của bài tập thực hành này là giúp bạn hiểu cách thực hiện phân tích tĩnh trên bất kỳ tài liệu MS Office đáng ngờ nào và xem nó có chứa bất kỳ phần tử hoặc mã độc hại nào hay không.

Tổng quan về Bài tập Thực hành

Trong bài tập thực hành này, chúng tôi sẽ trình bày cách phân tích cấu trúc của tài liệu Microsoft Office đáng ngờ bằng các công cụ dựa trên python khác nhau từ DidierStevensSuite và OleTools, và kiểm tra xem nó có chứa bất kỳ phần tử, chuỗi hoặc mã ẩn độc hại nào hay không. Chúng tôi cũng sẽ phân tích cú pháp và kiểm tra tài liệu Word bằng công cụ OffVis để tìm hiểu thêm về tác động của nó đối với hệ thống và mạng.

Nhiệm vụ Bài tập Thực hành

  1. Trong bài tập thực hành này, chúng tôi sẽ phân tích một tài liệu MS Word đáng ngờ có tên là Infected.docx bằng các công cụ dựa trên python từ DidierStevensSuiteOleTools. Các công cụ này nằm trong E:\CHFI-Tools\CHFIv11 Module 09 Malware Forensics\Static Malware Analysis Tools trên máy Windows Server 2022.
  2. Thư mục OleTools chứa một tệp OleTools.zip. Trước khi bắt đầu bài tập thực hành này, hãy giải nén nội dung của tệp bên trong thư mục OleTools.
  3. Mở File Explorer và điều hướng đến E:\CHFI-Tools\CHFIv11 Module 09 Malware Forensics\Static Malware Analysis Tools\OleTools. Bạn sẽ thấy tệp OleTools.zip tại vị trí này.
  4. Nhấp chuột phải vào tệp OleTools.zip và chọn Extract Here từ menu ngữ cảnh để trích xuất nội dung của nó. Sau khi được trích xuất, bạn sẽ thấy một thư mục có tên là oletools-master.
  5. Xóa tệp OleTools.zip. Bây giờ, hãy chuyển đến thư mục oletools-master và sao chép nội dung của nó.
  6. Quay lại E:\CHFI-Tools\CHFIv11 Module 09 Malware Forensics\Static Malware Analysis Tools\OleTools và dán nội dung của thư mục oletools-master vào đó. Sau khi hoàn tất, xóa thư mục oletools-master. Bây giờ, thư mục OleTools sẽ trông như sau:
  7. Bạn đã sẵn sàng để tiếp tục với bài tập thực hành.
  8. Nhấp vào Ubuntu Forensics để chọn máy ảo Ubuntu Forensics.
  9. Theo mặc định, hồ sơ người dùng jason được chọn, hãy nhập mật khẩu toor trong trường Password và nhấn Enter để đăng nhập. Nếu nó không yêu cầu mật khẩu, bạn có thể bỏ qua bước trên.
  10. Để bắt đầu với bài tập thực hành, chúng ta cần sao chép thư mục OleTools và tệp Infected.docx vào thư mục Home của Ubuntu.
  11. Do đó, nhấp vào biểu tượng Files trên bảng Launcher để khởi chạy File Manager.
  12. Khi cửa sổ File Manager mở ra, nhấp vào thư mục được đánh dấu chfi-tools on 10.10.1.22.
  13. Thư mục Chfi-tools xuất hiện trong cửa sổ.
  14. Bây giờ hãy chuyển đến CHFIv11 Module 09 Malware Forensics -> Static Malware Analysis Tools. Bạn sẽ thấy thư mục OleTools ở đó.
  15. Sao chép thư mục OleTools và dán nó vào thư mục Home của Ubuntu.
  16. Điều hướng đến thư mục được chia sẻ chfi-tools on 10.10.1.22 -> Evidence Files và bạn sẽ thấy tệp Infected.docx ở đó.
  17. Sao chép tài liệu Infected.docx và dán nó vào thư mục Home của Ubuntu.
  18. Các tập lệnh dựa trên python từ DidierStevensSuite và OleTools yêu cầu các mô-đun python bổ sung, chẳng hạn như olefile, colorclass và pyparsing, để chạy đúng cách. Bây giờ, bạn cần cài đặt chúng trước khi chạy các tập lệnh.
  19. Nhấp vào biểu tượng Terminal từ bảng launcher để khởi chạy dòng lệnh terminal.
  20. Dòng lệnh terminal sẽ khởi chạy. Bạn cần quyền root trong terminal để cài đặt các gói python cần thiết.
  21. Bây giờ, gõ sudo su và nhấn Enter. Bạn sẽ được nhắc nhập mật khẩu. Gõ toor làm mật khẩu và nhấn Enter.
  22. Bây giờ, bạn sẽ vào terminal root.
  23. Để cài đặt olefile, hãy gõ pip3 install -U olefile và nhấn Enter. Gói olefile sẽ được cài đặt trên máy. Nếu bạn gặp bất kỳ sự cố nào với kết nối internet, hãy phát hành lệnh ifdown -a theo sau là ifup -a và sau đó chạy lệnh pip3 install -U olefile.
  24. Bây giờ chúng tôi sẽ cài đặt colorclass, là một thư viện văn bản màu dựa trên ANSI cho python. Để cài đặt, hãy gõ pip3 install colorclass và nhấn Enter.
  25. Tiếp theo để cài đặt là pyparsing, là một mô-đun python để phân tích cú pháp. Gõ apt-get install -y python3-pyparsing và nhấn Enter để cài đặt mô-đun trên máy.
  26. Bây giờ chúng ta đã sẵn sàng để kiểm tra tài liệu Word đáng ngờ có tên là Infected.docx. Đầu tiên, chúng tôi sẽ phân tích tài liệu bằng oleid.py từ OleTools để tìm kiếm sự hiện diện của bất kỳ phần tử đáng ngờ nào trong đó, chẳng hạn như các đối tượng flash được nhúng hoặc macro VBA.
  27. cd OleTools/oletools và nhấn Enter, thao tác này sẽ đưa bạn vào thư mục oletools, nơi oleid.py được đặt.
  28. Bây giờ, gõ python3 oleid.py /home/jason/Infected.docx và nhấn Enter. Công cụ sẽ quét tài liệu để tìm bất kỳ phần tử đáng ngờ nào và hiển thị kết quả trong kết quả.
  29. Phần được đánh dấu của kết quả trong ảnh chụp màn hình ở trên cho thấy Infected.docx đã kích hoạt macro VBA.
  30. Chúng tôi sẽ kiểm tra tài liệu bằng tập lệnh python oledump, là một phần của DidierStevensSuite.
  31. oledump.py là một chương trình để phân tích các luồng dữ liệu có trong các tệp OLE. Nó cũng kết xuất nội dung của bất kỳ luồng cụ thể nào, có thể được sử dụng để phân tích thêm.
  32. Để sử dụng oledump.py, trước tiên hãy chuyển sang thư mục chính bằng cách gõ cd /home/jason và nhấn Enter. Sau đó, gõ cd DidierStevensSuite và nhấn Enter. Dòng lệnh terminal bây giờ sẽ trỏ đến thư mục DidierStevensSuite.
  33. Để kiểm tra Infected.docx thông qua oledump.py, hãy gõ python3 oledump.py /home/jason/Infected.docx và nhấn Enter. Nó phân tích tài liệu và hiển thị tất cả các luồng được nhúng trong đó, như được hiển thị trong ảnh chụp màn hình bên dưới:

    34. Trong kết quả của ảnh chụp màn hình ở trên, bạn có thể thấy rằng tài liệu MS Word có 15 luồng được nhúng trong đó. Trong phần được đánh dấu của kết quả, bạn cũng có thể quan sát thấy chữ M bên cạnh luồng số 8, cho biết nó chứa macro VBA.

    35. Bây giờ chúng ta sẽ kết xuất nội dung của luồng số 8 bằng oledump.py để kiểm tra xem có bất kỳ mục đáng ngờ nào trong đó hay không.

    36. Để kết xuất nội dung của luồng số 8, hãy nhập python3 oledump.py -s 8 /home/jason/Infected.docx > /home/jason/stream8dump.txt và nhấn Enter. Thao tác này sẽ kết xuất nội dung của luồng số 8 vào một tệp văn bản có tên là stream8dump.txt và lưu nó trong thư mục Home.

    37. Để mở tệp văn bản và kiểm tra kết xuất, hãy nhập gedit /home/jason/stream8dump.txt và nhấn Enter.

    38. Tệp văn bản có tên là stream8dump.txt sẽ xuất hiện trên màn hình.

    39. Từ nội dung kết xuất được đánh dấu của ảnh chụp màn hình ở trên, bạn có thể quan sát thấy URLDownloadToFileA. Điều này cho biết rằng tài liệu Word có thể tải xuống các tệp từ internet.

    40. Cuộn xuống để phân tích thêm nội dung kết xuất của luồng số 8.

    41. Trong nội dung kết xuất được đánh dấu của ảnh chụp màn hình, bạn có thể quan sát thấy các URL như http://germanya.com.ec/logs/test.exe (A) và http://germanya.com.ec/logs/counter.php (C). Bạn cũng có thể thấy tên của một tệp thực thi khác có tên là sfjozjero.exe (B).

    42. Bằng cách so sánh VBA URLDownloadToFileA với các URL, chúng ta có thể giả định rằng tài liệu Infected.docx cố gắng tải xuống các tệp có tên test.exe và counter.php từ http://germanya.com.ec/logs và cũng là một tệp .exe có tên sfjozjero.exe khi được mở. Đóng cửa sổ Text Editor.

    43. Để hiểu rõ hơn về các thành phần ẩn của tài liệu Word, chúng ta cần chạy tập lệnh olevba từ OleTools. Chúng ta sẽ sử dụng tập lệnh này để phân tích tệp, trích xuất mã nguồn của macro và kiểm tra kết quả phân tích chi tiết.

    44. Để sử dụng tập lệnh olevba, trước tiên hãy chuyển sang thư mục chính bằng cách chạy lệnh cd /home/jason. Sau đó, phát hành lệnh cd OleTools/oletools để vào thư mục nơi tập lệnh được đặt.

    45. Bây giờ, hãy nhập python3 olevba.py -c /home/jason/Infected.docx và nhấn Enter. Tập lệnh kiểm tra và trích xuất mã nguồn của macro được nhúng, như trong ảnh chụp màn hình bên dưới:

    46. Các phần được đánh dấu trong ảnh chụp màn hình hiển thị một số hàm VBA đáng ngờ được tìm thấy trong mã nguồn của tài liệu Infected.docx:
    A. Lib: Trong tập lệnh VBA, mệnh đề lib là bắt buộc để chạy mã từ DLL. B. Auto_Open: Sự hiện diện của hàm VBA này cho biết rằng tệp Infected.docx có thể chạy mã tự động khi được mở. C. Environ: Hàm Environ trong VBA được sử dụng để đọc một biến hệ điều hành. Trong mã VBA được nhúng trong tệp Infected.docx, hàm Environ trỏ đến thư mục TMP hoặc Temp của hệ điều hành mục tiêu. D. URLDownloadToFileA: Hàm URLDownloadToFile trong VBA được sử dụng để tải xuống các tệp từ internet. Điều này cho biết rằng tệp Infected.docx có thể tải xuống các tệp từ các trang web khi được mở. E. Shell: Sự hiện diện của hàm Shell cho thấy Infected.docx có thể thực thi các chương trình trên hệ thống mục tiêu.

    Use code with caution.
    Khi kiểm tra kỹ mã nguồn của macro, bạn cũng sẽ tìm thấy hai URL http://germanya.com.ec/logs/test.exe (A) và http://germanya.com.ec/logs/counter.php (C), một tệp thực thi có tên sfjozjero.exe (B) và Ikjljlljk (D) trong mã.
    Bây giờ chúng ta sẽ chạy tập lệnh olevba để xem kết quả phân tích. Để làm như vậy, hãy nhập python3 olevba.py -a /home/jason/Infected.docx và nhấn Enter. Kết quả phân tích hiển thị tất cả các phần tử đáng ngờ và Chỉ số Thỏa hiệp (IoC) có trong tài liệu Word.
    Bằng cách kiểm tra kết quả phân tích như được mô tả trong ảnh chụp màn hình ở trên, có thể suy ra rằng khi Infected.docx được mở trên bất kỳ máy nào, nó sẽ tự động thực thi mã VBA tải xuống test.exe và counter.php vào máy từ http://germanya.com.ec/logs. Sau khi tải xuống, tên tệp này được đổi thành sfjozjero.exe và Ikjljlljk và chúng được lưu trong thư mục Temp bên trong hệ thống. Điều này cho thấy rằng tệp này là độc hại.
    Từ phân tích được thực hiện trên tài liệu đáng ngờ bằng cách sử dụng các tập lệnh dựa trên python từ DidierStevensSuite và OleTools, có thể xác định rằng nó bao gồm chức năng độc hại. Tuy nhiên, với tư cách là một điều tra viên, bạn cần xem xét mã hóa của nó một cách chuyên sâu và thu thập thêm thông tin.
    Để làm như vậy, chúng ta sẽ sử dụng công cụ OffVis, có thể kiểm tra các giá trị hex và dữ liệu văn bản thuần túy tương đương của chúng trong một tệp Microsoft Word đáng ngờ.
    Bây giờ, hãy chuyển sang máy ảo Windows Server 2022 bằng cách nhấp vào Windows Server 2022 và sau đó nhấp vào Ctrl+Alt+Delete.
    Mở File Explorer và điều hướng đến E:\CHFI-Tools\CHFIv11 Module 09 Malware Forensics\Static Malware Analysis Tools, nơi bạn sẽ thấy thư mục OffVis.
    Nhấp đúp vào thư mục OffVis và bạn sẽ thấy tệp OffVis.exe. Nhấp đúp vào tệp OffVis.exe để khởi chạy nó.
    Giao diện người dùng OffVis sẽ xuất hiện.
    Bây giờ hãy nhấp vào File từ thanh công cụ và chọn tùy chọn Open Data File… từ danh sách thả xuống.
    Cửa sổ Select A Data File xuất hiện. Điều hướng đến vị trí của tài liệu Word độc hại (tức là, E:\CHFI-Tools\Evidence Files), chọn Infected.docx và nhấp vào Open.
    Công cụ bây giờ sẽ hiển thị dữ liệu hex của Infected.docx.
    Sau khi tải lên tài liệu Word, bạn cần chọn định dạng để phân tích cú pháp. Nhấp vào danh sách thả xuống Parser nằm bên dưới thanh công cụ và chọn hàm WordBinaryFormatDetectionLogic.
    Sau khi chọn hàm, nhấp vào Parse.
    Công cụ bây giờ sẽ hiển thị dữ liệu hex của Infected.docx trong Raw File Content ở bên trái (A), cùng với địa chỉ của dữ liệu trong Parsing Results ở bên phải (B), đại diện cho vị trí chuỗi hoặc phần tử trong tệp.
    Cuộn xuống để xem các chuỗi có thể nhận dạng trong công cụ.
    Trong ảnh chụp màn hình bên dưới, công cụ hiển thị mã: “INCLUDEPICTURE “C:\Users\clein\Desktop\a.png” * MERGEFORMATINET”, có vẻ là một lệnh để thêm hình ảnh có tên là a.png vào Desktop của hệ thống mục tiêu (A). Nhấp đúp vào chuỗi, và công cụ sẽ hiển thị vị trí của nó trong tệp Word ở bên phải trong cột Parsing Results (B).
    Cuộn xuống để tìm thêm các chuỗi có thể nhận dạng. Quan sát kỹ cho thấy tệp cố gắng kết nối với nhiều trang web thông qua các liên kết URL được nhúng như sau:
    A. http://ns.adobe.com/xap/1.0/

    B. http://www.w3.org/1999/02/22-rdf-syntax-ns#

    C. http://purl.org/dc/elements/1.1/
    Khi cuộn xuống thêm, bạn sẽ nhận thấy rằng Infected.docx bao gồm mã cho phép nó thao tác với các tệp chương trình hệ thống khác nhau như sau:
    A. C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL

    B. C:\Program Files\Microsoft Office\Office12\MSWORD.OLB

    C. C:\Windows\system32\stdole2.tlb

    D. C:\Program Files\Common Files\Microsoft Shared\Office12\MSO.DLL
    Khi bạn cuộn xuống dòng 00081450, bạn sẽ nhận thấy nhiều từ khóa VBA đáng ngờ như URLDownloadToFileA (A), AutoOpen hoặc Auto_Open (B) và Workbook_Open (C). Tất cả các từ khóa này cho thấy rằng tài liệu Word tự động thực thi một số hàm khi được mở và tải xuống các tệp từ internet.
    Khi bạn cuộn xuống dòng số 00081520, bạn sẽ nhận thấy một liên kết ngoài http://linksur.cl/tienda/css/tert.exe, từ TMP và một tệp thực thi có tên là sfjozjeri.exe (A). Bắt đầu từ dòng số 000816F0, bạn sẽ tìm thấy một liên kết ngoài khác http://bit.ly/1gudjpa theo sau là Ikjljlljk (B).
    Từ kết quả phân tích ở trên, có thể suy ra rằng khi ai đó mở tệp Word, nó sẽ tự động thực thi một số hàm và tải xuống tệp tert.exe từ URL http://linksur.cl/tienda/tert.exe vào máy. Nó cũng lưu một tệp có tên sfjozjeri.exe vào thư mục Temp của máy mục tiêu. Tương tự, tệp tải xuống tệp Ikjljlljk từ liên kết http://bit.ly/1gudjpa.
    Bây giờ, cuộn xuống dòng số 00081770. Bạn sẽ quan sát thấy các liên kết ngoài http://germanya.com.ec/logs/test.exehttp://germanya.com.ec/logs/counter.php, theo sau là các tệp test.exe và sfjozjero.exe.
    Bằng cách so sánh kết quả phân tích này với kết quả của tập lệnh olevba, có thể suy ra rằng Infected.docx tải xuống các tệp test.exe và counter.php vào bất kỳ hệ thống nào thông qua http://germanya.com.ec/logs khi được mở. Sau đó, nó đổi tên các tệp này thành sfjozjero.exe và Ikjljlljk và lưu chúng trong thư mục Temp bên trong hệ thống. Điều này cho thấy rằng tệp này là độc hại.
    Do đó, bạn có thể phân tích cú pháp và phân tích tài liệu MS Office Word đáng ngờ và kiểm tra mã, chuỗi và các phần tử được nhúng bên trong nó để xác định xem nó có chứa bất kỳ chức năng độc hại nào hay không.
    Đóng tất cả các cửa sổ đang mở.
    Bài tập Thực hành 5: Kiểm tra một Tệp Đáng ngờ bằng Tài nguyên Trực tuyến
    Kịch bản Bài tập Thực hành
    Jason, một điều tra viên pháp y, đã kiểm tra một máy bị nhiễm phần mềm độc hại và có thể thu thập một tài liệu MS Word đáng ngờ từ đó. Anh ta đã thực hiện phân tích tĩnh trên tài liệu và xác định một số thành phần độc hại ẩn trong tệp có thể đã gây ra nhiễm trùng trong máy mục tiêu. Anh ta hiện cần kiểm tra tệp bằng cách sử dụng các tài nguyên trực tuyến cung cấp dịch vụ phân tích phần mềm độc hại tự động và trích xuất thêm thông tin về chức năng của tệp.
    Mục tiêu Bài tập Thực hành
    Có các tài nguyên trực tuyến quét bất kỳ tệp đáng ngờ nào bằng cách sử dụng các quy trình phân tích tĩnh phần mềm độc hại và cung cấp kết quả tự động để dễ dàng xác định bất kỳ thành phần độc hại nào được nhúng trong tệp.
    Mục tiêu của bài tập thực hành này là giúp bạn hiểu cách quét tài liệu đáng ngờ bằng cách sử dụng các tài nguyên trực tuyến và thu thập bất kỳ thông tin nào có thể chứng minh tài liệu đó là độc hại.
    Tổng quan về Bài tập Thực hành
    Trong bài tập thực hành trước, Kiểm tra Pháp y một Tài liệu Microsoft Office Đáng ngờ, chúng tôi đã chỉ ra cách bạn có thể thực hiện phân tích tĩnh trên tài liệu Office đáng ngờ bằng cách sử dụng các tập lệnh dựa trên python và các công cụ khác. Trong bài tập thực hành này, chúng tôi sẽ trình bày cách kiểm tra bất kỳ tài liệu độc hại nào thông qua các trang web cung cấp dịch vụ phân tích phần mềm độc hại trực tuyến, chẳng hạn như VirusTotal và Hybrid Analysis, và trích xuất thêm thông tin về chức năng và hành vi của phần mềm độc hại.
    Trong bài tập thực hành này, chúng tôi sẽ quét Tài liệu Microsoft Word đáng ngờ bằng cách sử dụng các trang web cung cấp dịch vụ phân tích phần mềm độc hại trực tuyến như VirusTotal và Hybrid Analysis. Vì dữ liệu có sẵn trên các trang web này thường xuyên được cập nhật, một số phát hiện được trình bày trong bài tập thực hành này có thể khác trong môi trường bài tập thực hành của bạn.
    Nhiệm vụ Bài tập Thực hành
    Chúng tôi sẽ tải lên tài liệu MS Office đáng ngờ lên trang web www.virustotal.com, trang web này sẽ quét tài liệu bằng nhiều trình quét vi-rút và kiểm tra xem nó có chứa bất kỳ chữ ký độc hại nào hay không.
    Trong máy Windows Server 2022, hãy mở một trình duyệt, nhập www.virustotal.com vào thanh địa chỉ và nhấn Enter để truy cập Trang web VirusTotal.
    Trang đích VirusTotal sẽ xuất hiện trên màn hình.
    Đảm bảo tab FILE được chọn. Bây giờ hãy nhấp vào nút Choose file để tải lên tệp đáng ngờ.
    Một cửa sổ Open sẽ xuất hiện trên màn hình. Điều hướng đến vị trí E:\CHFI-Tools\Evidence Files, chọn Infected.docx và nhấp vào Open.
    Khi tài liệu được tải lên, trang web sẽ phân tích nội dung của tài liệu bằng cơ sở dữ liệu của các công cụ chống vi-rút khác nhau và hiển thị kết quả. Kết quả phân tích trong ảnh chụp màn hình sau cho thấy 43 trong số 62 công cụ chống vi-rút đã phát hiện tài liệu là độc hại.

    Số lượng công cụ chống vi-rút có thể được cập nhật. Do đó, nó có thể khác nhau trong môi trường bài tập thực hành của bạn.
    Cuộn xuống thêm để xem kết quả phân tích chi tiết. Trong tab DETECTION, bạn sẽ tìm thấy tên của tất cả các công cụ chống vi-rút đã phát hiện tệp là độc hại. Phân tích của chúng cũng hiển thị loại chức năng độc hại mà tệp bao gồm. Bạn có thể thấy các từ khóa như VBA, Trojan, Downloader, Dropper, v.v.
    Chuyển sang tab DETAILS. Bạn sẽ tìm thấy một phần có tên là Basic Properties, chứa thông tin liên quan đến tài liệu, chẳng hạn như giá trị MD5, SHA-1, SHA-256 và Vhash của nó, Loại tệp, Magic và Kích thước tệp.
    Sau khi phân tích kỹ trường Magic, bạn có thể thấy rằng năm Last Printed của Infected.docx được hiển thị là năm 2006 (A), trong khi Create Date/Time được hiển thị là năm 2009 (B), điều này mâu thuẫn. Nó có thể cho thấy rằng tài liệu, khi được thực thi, cố gắng thao tác cài đặt ngày giờ của hệ thống.
    Cuộn xuống và bạn sẽ tìm thấy hai phần nữa: HistoryNames. Phần History hiển thị Thời gian tạo, Lần gửi đầu tiên, Lần gửi cuối cùng và Phân tích cuối cùng của tài liệu. Phần Names bao gồm tất cả các tên mà tệp đã được quét trong VirusTotal hoặc được tìm thấy trên internet.
    Bây giờ hãy chuyển sang tab RELATIONS. Bạn sẽ tìm thấy hai phần chính: Contacted DomainsBundled Files.
    Trong phần Contacted Domains, như trong ảnh chụp màn hình bên dưới, bạn có thể quan sát thấy một liên kết ngoài germanya.com.ec. Điều này cho biết rằng tệp cố gắng kết nối với liên kết khi thực thi. Kết quả phân tích cũng hiển thị sự hiện diện của Bundled Files. Nó hiển thị loại tệp đó là VBA, tỷ lệ phát hiện là 22/59 và cung cấp giá trị SHA-256 của nó. Điều này có nghĩa là Infected.docx sẽ thực thi macro VBA được nhúng trong đó khi được mở, tải xuống các tệp độc hại từ internet bằng cách kết nối với germanya.com.ec và thực thi chúng trên hệ thống mục tiêu.

    Tỷ lệ phát hiện trong tab RELATIONS có thể được cập nhật. Do đó, kết quả có thể khác nhau trong môi trường bài tập thực hành của bạn.
    Khi việc kiểm tra thông tin có trong tab RELATIONS hoàn tất, hãy chuyển sang tab BEHAVIOR. Tab này bao gồm chi tiết về cách tài liệu Word độc hại sẽ tương tác với hệ thống mục tiêu và các thuộc tính mạng khi thực thi.
    Trên tab BEHAVIOR, như trong ảnh chụp màn hình bên dưới, bạn có thể thấy rằng phân tích hành vi của Infected.docx đã được thực hiện bởi Tencent HABO, DOCGuard, VirusTotal Jujubox, Zenbox – một hệ thống phân tích phần mềm độc hại trực tuyến. Bạn có thể cuộn xuống để xem Activity Summary, chứa Dynamic Analysis Sandbox Detections, MITRE ATT&CK Tactics and Techniques, v.v.
    Cuộn xuống đến Network Communication, bạn cũng có thể nhận thấy liên kết ngoài germanya.com.ec trong phần Network CommunicationsMemory Pattern Domains, Memory Pattern Urls, v.v.
    Cuộn xuống để đến phần tiếp theo trên tab BEHAVIOR, đó là File System Actions. Phần này cho thấy cách tài liệu Infected.docx sẽ tương tác với hệ thống tệp của máy mục tiêu trong quá trình chạy.
    Sau khi kiểm tra kỹ trường Files Opened trong phần File System Actions, như trong ảnh chụp màn hình bên dưới, bạn có thể thấy một mục nhập có nội dung là C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE và C:\Program Files\Microsoft Office\OFFICE16\WINWORD.EXE. WINWORD.EXE là một tiến trình hợp pháp cho Microsoft Office Word. Tuy nhiên, mục nhập này đáng chú ý ở đây vì các chương trình độc hại thường cố gắng lây nhiễm và gây hại cho các hệ thống mục tiêu bằng cách liên kết chúng với tiến trình WINWORD.EXE để tránh bị phát hiện.
    Tương tự, bạn cũng có thể kiểm tra các trường Files CreatedFiles Deleted (như được đánh dấu trong ảnh chụp màn hình ở trên) hiển thị các đường dẫn tệp sẽ được tạo và xóa bởi Infected.docx khi thực thi.
    Khi cuộn xuống, phần tiếp theo xuất hiện trong tab BEHAVIORRegistry Actions. Phần này hiển thị các khóa registry được mở, tạo, sửa đổi và xóa bởi Infected.docx khi thực thi.
    Bạn có thể kiểm tra các mục nhập được liệt kê trong trường Registry Keys Opened để thu thập thông tin về các khóa registry được truy cập bởi Infected.docx trong quá trình thực thi.
    Tương tự, bạn cũng có thể kiểm tra danh sách Registry Keys SetRegistry Keys Deleted bởi tài liệu Word, như trong ảnh chụp màn hình bên dưới.
    Trong phần Process and Service Actions xuất hiện tiếp theo khi cuộn xuống trang web, bạn có thể thấy các Processes Created và cũng thấy rằng Infected.docx sẽ kích hoạt các dịch vụ Windows như Remote Access Connection Manager (Rasman)System Event Notification Service (SENS) khi thực thi. Dịch vụ Rasman quản lý VPN và kết nối quay số trên máy Windows khi nó cố gắng kết nối internet. Điều này có thể cho thấy rằng tài liệu đáng ngờ thao túng các dịch vụ Windows này để tải xuống các tệp từ internet.
    Cuộn xuống thêm và bạn sẽ thấy phần Synchronization Mechanisms and Signals. Tại đây, bạn có thể nhận thấy danh sách các mutex sẽ được tạo và truy cập bởi tài liệu Infected.docx khi thực thi. Các chương trình độc hại thường tạo Mutual Exclusive Object (Mutex) để tránh lây nhiễm hệ thống nhiều lần và giao tiếp hiệu quả với tất cả các thành phần của nó trên máy mục tiêu. Ảnh chụp màn hình sau hiển thị danh sách các Mutexes Created bởi Infected.docx trên hệ thống mục tiêu.
    Trong trường Mutexes Opened, bạn có thể quan sát thấy nhiều tên đối tượng mutex tương tự như những tên được liệt kê trong trường Mutexes Created. Điều này cho thấy rằng tài liệu đáng ngờ sẽ trước tiên tạo các đối tượng mutex này và truy cập chúng để thực hiện các hoạt động độc hại trên hệ thống mục tiêu.
    Phân tích thêm về các đối tượng mutex được liệt kê trong trường Mutexes Opened cho thấy Infected.docx có thể truy cập, như được phản ánh trong ảnh chụp màn hình ở trên, nhiều đối tượng mutex thường được các chương trình độc hại sử dụng để kết nối với mạng và tải xuống các tệp từ internet.
    Khi cuộn xuống thêm, bạn sẽ thấy phần Modules Loaded, trong đó liệt kê tất cả các mô-đun hệ thống sẽ được Infected.docx sử dụng trong quá trình chạy.
    Khi mở rộng trường Runtime Modules như trong ảnh chụp màn hình bên dưới, bạn sẽ quan sát thấy một số tệp hệ thống đáng ngờ mà Infected.docx gọi trong quá trình thực thi:
    C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE: các chương trình độc hại thường sử dụng tiến trình WINWORD.EXE để lây nhiễm hệ thống mục tiêu.
    SETUPAPI.dll: Một tệp hệ thống thường được phần mềm độc hại gọi để cài đặt và chạy các tệp thực thi đã tải xuống từ Internet.
    Dnsapi: Một tệp hệ thống được yêu cầu để cấu hình hệ thống tên miền (DNS) trong hệ điều hành Windows và thường được các chương trình độc hại sử dụng để kết nối với bất kỳ liên kết ngoài nào để tải xuống bất kỳ tệp thực thi nào.
    RASMAN.DLL: Tài liệu Word đáng ngờ có thể sử dụng tệp hệ thống này để kết nối với mạng của hệ thống mục tiêu.
    Bây giờ chúng tôi sẽ kiểm tra tệp Infected.docx thông qua trang web Hybrid Analysis, trang web này cung cấp dịch vụ phân tích phần mềm độc hại tự động. Để làm như vậy, hãy mở một cửa sổ trình duyệt khác và đóng cửa sổ VirusTotal.
    Trong cửa sổ trình duyệt mới được khởi chạy, hãy nhập www.hybrid-analysis.com vào thanh địa chỉ và nhấn Enter.
    Trang web Hybrid Analysis sẽ mở ra.
    Bây giờ, bạn cần tải lên Infected.docx trên Hybrid Analysis để thực hiện phân tích. Trên tab File/URL, nhấp vào hộp Drag & Drop For Instant Analysis, như trong ảnh chụp màn hình sau.
    Một cửa sổ có tên là Open xuất hiện trên màn hình. Điều hướng đến vị trí E:\CHFI-Tools\Evidence Files và chọn Infected.docx. Sau khi hoàn tất, nhấp vào nút Open.
    Một cửa sổ bật lên có tên là Getting Things Ready sẽ xuất hiện trên trình duyệt, cho thấy rằng tệp Infected.docx đang được tải lên trên Hybrid Analysis.
    Cuộn xuống cửa sổ bật lên và bạn sẽ thấy một số trường ở đó, chẳng hạn như Your E-Mail (A), Your Comment (B), v.v. Các trường này là tùy chọn và bạn có thể điền chúng nếu muốn. Ở đây, chúng tôi đã cung cấp Analysis of Infected.docx trong hộp Your Comment. Đảm bảo rằng các tùy chọn Do not Submit my sample to unaffiliated third parties, Allow community members to access sample, I consent to the Terms and Conditions and Data Protection Policy,I’m not a robot đều được chọn (C). Sau khi hoàn tất, nhấp vào nút Continue » (D).
    Một cửa sổ bật lên Analysis Environments xuất hiện, phản ánh các giá trị Name, Size, Type, MIME và SHA256 của Infected.docx. Trong phần Available, chọn Windows 7 64 bit và nhấp vào Generate Public Report. Thu nhỏ để xem nút Generate Public Report.
    Hybrid Analysis quét tệp và cho thấy nó là độc hại. Trong Analysis Overview, bạn có thể quan sát thấy Threat Score của tệp là 100/100 và AV Detection của tệp là 71%, cho biết rằng hầu hết các công cụ chống vi-rút trực tuyến đã phát hiện tệp này là độc hại.

    Tỷ lệ phát hiện AV có thể được cập nhật. Do đó, nó có thể khác nhau trong môi trường bài tập thực hành của bạn.
    Cuộn xuống và bạn sẽ thấy một phần có tên là Anti-Virus Results, hiển thị các công cụ chống vi-rút khác nhau và phân tích của chúng về tệp đang được kiểm tra. Trong phần đó, bạn có thể quan sát thấy rằng công cụ chống vi-rút CrowdStrike Falcon đã phát hiện Infected.docx là 100% độc hại. Theo kết quả phân tích của công cụ chống vi-rút MetaDefender, tệp này có 58% phần tử độc hại.

    Tỷ lệ phát hiện có thể khác nhau trong môi trường bài tập thực hành của bạn.
    Cuộn xuống thêm và bạn sẽ thấy các giá trị băm và tên khác nhau của Infected.docx trong phần Falcon Sandbox Reports đã được gửi và phân tích trước đó trên trang web Hybrid Analysis. Nhấp vào tên infected_doc.docx, như trong ảnh chụp màn hình bên dưới, để xem kết quả phân tích chi tiết.

    Trang web mất một chút thời gian để tạo Báo cáo Falcon Sandbox.
    Một cửa sổ trình duyệt khác sẽ mở ra hiển thị báo cáo phân tích của tệp infected_doc.docx.
    Cuộn xuống và bạn sẽ thấy một phần có tên là Indicators, trong đó liệt kê các Malicious Indicators. Các chỉ báo này phản ánh các đặc điểm được tìm thấy trong tài liệu Word được coi là độc hại. Khi kiểm tra kỹ các Malicious Indicators được liệt kê trong ảnh chụp màn hình ở trên, bạn có thể quan sát thấy rằng các chỉ báo trong phần phụ Malicious Indicators được chia thành hai danh mục: External SystemsUnusual Characteristics.
    Các chỉ báo được liệt kê trong danh mục External Systems cho thấy rằng tệp được tìm thấy là độc hại bởi một số lượng lớn các công cụ chống vi-rút. Chỉ báo được liệt kê trong danh mục Unusual Characteristics cho thấy rằng tệp ‘Chứa macro VBA được nhúng với các từ khóa cho thấy hành vi tự động thực thi.’ Điều này đề cập đến chức năng Auto_Open được tìm thấy trong mã nguồn của tài liệu Word trong quá trình phân tích tĩnh thông qua các tập lệnh python trong Bài tập Thực hành 3 Kiểm tra Pháp y một Tài liệu Office Đáng ngờ.
    Khi cuộn xuống thêm, bạn sẽ quan sát thấy một phần phụ khác có tên là Suspicious Indicators. Các Suspicious Indicators này phản ánh các phần tử được tìm thấy trong tài liệu Word mẫu là đáng ngờ và có thể có trong bất kỳ chương trình độc hại nào.
    Bạn có thể quan sát thấy trong ảnh chụp màn hình bên dưới rằng phần phụ Suspicious Indicators được chia thành ba danh mục chính: Exploit/Shellcode, External SystemsUnusual Characteristics.
    Nhấp vào từng danh mục để xem kết quả chỉ báo chi tiết.
    Chỉ báo được liệt kê trong danh mục Exploit/Shellcode hiển thị cả hai URL được tìm thấy trong mã VBA: http://germanya.com.ec/logs/test.exehttp://germanya.com.ec/logs/counter.php. Chỉ báo được liệt kê trong danh mục External Systems hiển thị tỷ lệ phát hiện của các URL này là độc hại bởi các công cụ chống vi-rút có uy tín.
    Phân tích chỉ báo đầu tiên được tìm thấy trong danh mục Unusual Characteristics cho thấy tên của các tệp thực thi như test.exe và sfjozjero.exe. Chỉ báo cuối cùng từ danh mục này hiển thị tất cả các từ khóa đáng ngờ được tìm thấy trong tài liệu Word mẫu, chẳng hạn như Lib, Shell, Environ và URLDownloadToFileA.
    Cuộn xuống thêm và bạn sẽ thấy một tiến trình được liên kết với Infected.docx có tên WINWORD.EXE, đã được Hybrid Analysis phân tích. Nhấp vào WINWORD.EXE để xem chức năng của tiến trình.
    Một cửa sổ bật lên với tiêu đề WINWORD.EXE sẽ mở ra. Cửa sổ bật lên bao gồm một số tab, chẳng hạn như API calls, Registry, Mutants, Handles, Modules và Files. Trong tab API calls, bạn có thể thấy rằng tiến trình WINWORD.EXE thực hiện tổng cộng 1468 lệnh gọi API sau khi được tạo.
    Chuyển sang tab Registry để xem các khóa registry được tạo, mở và xóa bởi WINWORD.EXE.
    Bây giờ hãy chuyển đến tab Files. Cuộn xuống và kiểm tra các tệp được tạo bởi tiến trình WINWORD.EXE. Bạn sẽ quan sát thấy một tệp có tên WINWORD.EXE.config với FILE_READ_ATTRIBUTES.
    Khi cuộn xuống thêm, bạn sẽ quan sát thấy một tệp khác có tên DFCA62B1A68BB22EOB.TMP được tạo trong thư mục Temp, có các thuộc tính GENERIC_WRITE, GENERIC_READ, DELETEFILE_READ_ATTRIBUTES.
    Bằng cách so sánh kết quả phân tích trên tab Files của WINWORD.EXE, có thể suy ra rằng Infected.docx tham chiếu đến tệp WINWORD.EXE.config tại thời điểm thực thi để sử dụng tiến trình WINWORD.EXE cho mục đích độc hại và sau đó tạo một tệp tạm thời độc hại có tên là DFCA62B1A68BB22EOB.TMP, có thể ghi, đọc và xóa bất kỳ tệp nào trên hệ thống mục tiêu.
    Do đó, bạn có thể quét một tệp đáng ngờ bằng cách sử dụng các tài nguyên trực tuyến và thu thập thêm thông tin về chức năng và hành vi của nó trên hệ thống và mạng mục tiêu.
    Đóng tất cả các cửa sổ đang mở.
    Bài tập Thực hành 6: Phân tích phần mềm độc hại Emotet
    Kịch bản bài tập thực hành
    Kể từ khi được phát hiện vào năm 2014, Emotet đã là một trong những phần mềm độc hại phá hoại nhất ảnh hưởng đến các cơ quan chính phủ, công cộng và tư nhân bằng cách đánh cắp thông tin nhạy cảm như thông tin đăng nhập ngân hàng của người dùng, ID và mật khẩu được lưu trữ cục bộ, v.v. Emotet là một loại Trojan ngân hàng lây lan qua email chứa tệp đính kèm hoặc liên kết độc hại. Khi mô-đun Emotet chính được tải trên hệ thống mục tiêu, nó sẽ tải xuống các tệp nhị phân có chứa tải trọng thực tế hoặc phân phối phần mềm độc hại khác như Zeus Panda, TrickBot và IcedID. Nó cũng thu thập thông tin nhạy cảm và bí mật kết nối với máy chủ Command and Control (C2) của nó để nhận thêm hướng dẫn hoặc xuất dữ liệu bị đánh cắp.
    Bằng cách liên tục thay đổi các tính năng có thể xác định của nó, Emotet có thể dễ dàng tránh bị phát hiện bởi các công cụ chống vi-rút truyền thống. Mô-đun Emotet chính bị xáo trộn rất nhiều, được giải quyết động trong quá trình chạy. Với tư cách là một điều tra viên, bạn cần kiểm tra vòng đời lây nhiễm của phần mềm độc hại Emotet trong thời gian thực – cách nó tự tải vào hệ thống và lây lan nhiễm trùng bằng cách sử dụng cả thuộc tính hệ thống và mạng.
    Mục tiêu bài tập thực hành
    Emotet ban đầu được biết đến là thuộc về một họ Trojan ngân hàng chủ yếu lây lan qua việc phân phối email spam/lừa đảo có siêu liên kết hoặc tệp đính kèm độc hại. Khi nó truy cập vào bất kỳ hệ thống nào, nó sẽ tải xuống các mô-đun bổ sung của tải trọng có các chức năng độc hại.
    Mục tiêu của bài tập thực hành này là cung cấp cho bạn trải nghiệm thực tế về cách các biến thể phần mềm độc hại Emotet hoạt động khi chúng được thực thi trên hệ thống trong thời gian thực.
    Tổng quan về bài tập thực hành
    Bài tập thực hành này làm quen bạn với quá trình kiểm tra cách một biến thể của phần mềm độc hại Emotet tương tác với hệ thống mục tiêu và các thuộc tính mạng của nó trong thời gian thực bằng cách sử dụng các công cụ như Process Monitor và Wireshark.
    Nhiệm vụ bài tập thực hành
    Đảm bảo rằng cả Tường lửa Windows và Windows Defender đều đã tắt trên máy ảo trước khi bắt đầu bài tập thực hành này.
    Phần mềm độc hại Emotet chủ yếu lây lan qua các chiến dịch email spam. Những email này thường xuất hiện từ một nguồn hợp pháp và bao gồm tệp đính kèm hoặc liên kết đến một tệp hoặc tài liệu chứa trình tải xuống Emotet. Những tài liệu này thường được ngụy trang thành hóa đơn, đơn đặt hàng, v.v.
    Mặc dù định dạng tệp của tệp đính kèm chứa trình tải xuống Emotet khác nhau giữa các biến thể Emotet khác nhau, tài liệu Microsoft Word 97-2003 (.doc) vẫn là một trong những định dạng phổ biến nhất để phân phối Emotet. Do đó, trong bài tập thực hành này, chúng tôi sẽ phân tích một tài liệu Microsoft Word có chứa trình tải xuống Emotet.
    Trong máy Windows Server 2022, hãy mở File Explorer và điều hướng đến E:\CHFI-Tools\Evidence Files\Emotet Malware và bạn sẽ thấy một tài liệu Word có tên là Payroll Invoice.doc ở đó.
    Nhấp đúp vào tệp Payroll Invoice.doc. Tài liệu Microsoft Word sẽ mở ra.
    Bạn có thể quan sát thấy những điều sau từ ảnh chụp màn hình ở trên:
    A. Microsoft Word đã mở tài liệu trong Chế độ xem được bảo vệ. Tính năng này được kích hoạt theo mặc định trong tất cả các phiên bản mới nhất của Microsoft Word đối với các tài liệu được tải xuống từ internet. Tính năng này được thiết kế để bảo vệ người dùng khỏi vi-rút và phần mềm độc hại. Khi quan sát kỹ, bạn cũng sẽ thấy một nút có tên là Kích hoạt Chỉnh sửa trong phần này.

    B. Vì các phiên bản mới nhất của Microsoft Word mở tệp được tải xuống từ internet trong Chế độ xem được bảo vệ, hầu hết các tài liệu Emotet thường chứa hình ảnh được nhúng. Những hình ảnh này sẽ nhắc người dùng nhấp vào nút Kích hoạt

Chỉnh sửa (như có thể thấy trong ảnh chụp màn hình ở trên), vô hiệu hóa Chế độ xem được bảo vệ của Microsoft Word và sau đó nhấp vào nút Kích hoạt Nội dung, làm cho tài liệu có thể chỉnh sửa được đối với người dùng.

  1. Nhấp vào nút Kích hoạt Chỉnh sửa và bạn sẽ quan sát thấy các thay đổi sau trong tài liệu:
  2. Như bạn có thể quan sát thấy trong ảnh chụp màn hình ở trên, Microsoft Word hiện đã kích hoạt CẢNH BÁO BẢO MẬT nói rằng ‘Macro đã bị vô hiệu hóa’. Trình tải xuống Emotet dựa trên các định dạng tệp Microsoft Office, chẳng hạn như tài liệu Word (.doc hoặc .docx) hoặc bảng tính excel (.xml), sử dụng macro VBA để kết nối với các URL khác nhau và tải xuống các tải trọng bổ sung. Các macro này được thiết kế để chạy tự động trong nền khi tài liệu được mở. Tuy nhiên, các phiên bản gần đây của Microsoft Word sẽ vô hiệu hóa việc thực thi macro tự động trong tài liệu theo mặc định. Do đó, người dùng cần nhấp vào nút Kích hoạt Nội dung, thực thi macro và khởi tạo chuỗi lây nhiễm.
  3. Bây giờ chúng ta sẽ phân tích mã VBA cố gắng tải xuống các tải trọng bằng cách kết nối với một số URL. Để làm như vậy, hãy nhấp vào View trên thanh menu. Sau đó, trên menu View, nhấp vào Macros và chọn View Macros từ menu thả xuống.
    Nếu bạn đang sử dụng ứng dụng Microsoft Office 365 để phân tích tài liệu độc hại, thanh menu có thể không khả dụng ngay cả sau khi nhấp vào nút Kích hoạt Chỉnh sửa. Trong trường hợp đó, bạn cần nhấp vào nút Dấu ba chấm (…) ở góc trên cùng bên phải của tài liệu để thanh menu xuất hiện trong Microsoft Word.
  4. Cửa sổ Macros sẽ mở ra. Cửa sổ này cung cấp cho bạn tùy chọn để Chạy, Chỉnh sửa, Tạo hoặc Xóa mã VBA được nhúng trong tài liệu. Để phân tích mã, hãy nhấp vào nút Chỉnh sửa.
  5. Cửa sổ Payroll Invoice – ThisDocument (Code) sẽ mở ra trong một cửa sổ riêng biệt có tên là Microsoft Visual Basic for Applications.
  6. Như bạn có thể thấy từ ảnh chụp màn hình ở trên, mã VBA trong cửa sổ Payroll Invoice – ThisDocument (Code) bị xáo trộn rất nhiều, mở ra với chức năng Sub Document_Open và chứa nhiều chuỗi bị phân mảnh. Hơn nữa, một chuỗi bị phân mảnh được tạo thành từ nhiều chuỗi ghép lại với nhau, điều này gây khó khăn cho việc thực hiện phân tích tĩnh trên mã để xác định và kiểm tra tập lệnh độc hại thực tế.
  7. Ở phía trên bên trái của cửa sổ Microsoft Visual Basic for Applications, bạn có thể nhận thấy rằng Project (Payroll Invoice) bao gồm Modules, cho biết rằng có các hướng dẫn được mã hóa VBA khác trong tài liệu. Mở rộng phần Modules và bạn sẽ tìm thấy tên của ba Modules: EGeh7Qv, femEHsXII và SWq8vN.
  8. Nhấp đúp vào mô-đun EGeh7Qv để xem mã VBA được nhúng trong đó.
  9. Bạn có thể quan sát thấy trong mã được đánh dấu của mô-đun EGeh7Qv rằng một số chuỗi, chẳng hạn như aNoyOUfxj và g9Bn5dZK, được đặt thành Nothing. Điều này có nghĩa là mã VBA được tìm thấy trong Payroll Invoice – ThisDocument (Code) chứa nhiều phần tử rác; điều này đã được thực hiện có chủ đích để ẩn tập lệnh độc hại thực tế.
  10. Tương tự, hãy phân tích các hướng dẫn được mã hóa trong các mô-đun femEHsXII và SWq8vN.
  11. Chúng tôi đã tìm thấy từ khóa BASE64 trong mã VBA bên trong Mô-đun femEHsXII. Điều này cho biết rằng mã hóa Base64 tạo thành một lớp xáo trộn trong tập lệnh độc hại thực tế.
    Để phân tích hành vi và chức năng của biến thể Emotet trong thời gian thực, bạn cần nhấp vào nút Kích hoạt Nội dung trong tài liệu. Thao tác này sẽ thực thi macro VBA, nhắc trình tải xuống Emotet kết nối với máy chủ C2 của nó, tải xuống một hoặc nhiều tải trọng có các chức năng độc hại và chạy chúng trong hệ thống. Tuy nhiên, các URL được gọi bởi trình tải xuống Emotet chỉ hoạt động trong vài ngày và thay đổi thường xuyên. Do đó, các URL được nhúng trong mã bị xáo trộn của biến thể Emotet đang được phân tích trong bài tập thực hành này có thể đã lỗi thời. Do đó, để cung cấp cho bạn trải nghiệm thực tế về phân tích phần mềm độc hại Emotet, chúng tôi sẽ phân tích một tệp nhật ký ProcMon và một tệp chụp gói tin, sẽ cho thấy cách một biến thể hoạt động của Emotet tương tác với các thuộc tính mạng và các tiến trình độc hại mà nó tạo ra trong quá trình chạy.
    thêm nữa…
  12. Đóng Microsoft Visual Basic for Applications và tài liệu Word có tên là Payroll Invoice.doc. Nếu bạn nhận được thông báo cảnh báo của Microsoft Word về việc bạn có muốn lưu các thay đổi đã thực hiện trong tệp hay không, hãy nhấp vào Không Lưu.
  13. Chúng tôi sẽ sử dụng công cụ Wireshark để theo dõi cách biến thể Emotet giao tiếp với mạng sau khi người dùng nhấp vào nút Kích hoạt Nội dung và thực thi macro.
  14. Điều hướng đến E:\CHFI-Tools\CHFIv11 Module 08 Network Forensics\Traffic Capturing and Analysis Tools\Wireshark, nhấp đúp vào Wireshark-win64-3.2.6.exe để khởi chạy chương trình thiết lập và làm theo hướng dẫn cài đặt được hướng dẫn bởi trình hướng dẫn để hoàn tất quá trình cài đặt Wireshark. Nếu một cửa sổ bật lên Open File – Security Warning xuất hiện, nhấp vào Run.
    Trong quá trình cài đặt, trong phần Nhiệm vụ Bổ sung, bạn có thể chọn tùy chọn Biểu tượng Màn hình Wireshark được hiển thị trong ảnh chụp màn hình bên dưới để thuận tiện khởi chạy ứng dụng từ lối tắt trên Màn hình nếu cần. Đối với các bước cài đặt còn lại, bạn có thể để tất cả các tùy chọn là mặc định hoặc như hiện tại và tiếp tục để hoàn tất quá trình cài đặt.
  15. Nhấp đúp vào biểu tượng lối tắt Wireshark trên Màn hình để khởi chạy ứng dụng.
  16. Cửa sổ Wireshark Network Analyzer xuất hiện trên màn hình.
    Nếu cửa sổ Cập nhật Phần mềm xuất hiện, hãy nhấp vào nút Bỏ qua phiên bản này.
  17. Để tải tệp chụp gói tin cho Emotet, hãy chọn File từ thanh công cụ và sau đó nhấp vào Open.
  18. Cửa sổ Wireshark Open Capture File sẽ mở ra. Điều hướng đến vị trí E:\CHFI-Tools\Evidence Files\Emotet Malware\Artifacts, chọn tệp Emotet Network Activities.pcap và nhấp vào Open.
  19. Tệp pcap đã tải hiển thị lưu lượng mạng thời gian thực, được tạo sau khi một biến thể hoạt động của Emotet được chạy trên hệ thống. Trong cài đặt mạng này, địa chỉ IP của máy nghi ngờ/bị nhiễm là 192.168.1.125. Với biến thể Emotet đang chạy tích cực trong nền, bây giờ chúng tôi sẽ theo dõi các địa chỉ IP/URL mà máy đáng ngờ đang cố gắng kết nối.
  20. Khi cuộn xuống các gói tin được chụp, bạn có thể quan sát thấy một yêu cầu GET từ máy đáng ngờ đến một địa chỉ IP từ xa 177.185.192.135 qua giao thức HTTP. Chọn mục gói tin này trong bảng danh sách gói tin.
  21. Mở rộng nút Hypertext Transfer Protocol để xem chi tiết yêu cầu.
  22. Trong ảnh chụp màn hình ở trên, bạn có thể thấy rằng máy đáng ngờ có IP 192.168.1.125 (A) trên cổng 49176 (C) đang cố gắng giao tiếp với một trang web http://maisbrasilphoto.com.br được lưu trữ trên IP 177.185.192.135 (B) qua cổng HTTP 80 (D). Yêu cầu URI đầy đủ được xác định là http://maisbrasilphoto.com.br/yWEiMr/ (E).
  23. Điều này cho thấy rằng mã VBA bên trong tài liệu Word chứa trình tải xuống Emotet đã được thực thi và phần mềm độc hại hiện đang cố gắng tải xuống tải trọng độc hại bằng cách liên hệ với URL http://maisbrasilphoto.com.br.
  24. Để phân tích thêm gói tin được chụp, nhấp chuột phải vào nó và chuyển đến Follow -> TCP Stream.
  25. Cửa sổ Wireshark Follow TCP Stream (tcp.stream eq 1) sẽ xuất hiện.
  26. Phân tích luồng TCP cung cấp các thông tin sau:A. Tên của trang web Host là maisbrasilphoto.com.br.
    B. Content-Disposition được nhận dạng là một tệp đính kèm.
    C. Tên tệp thực thi đang được tải xuống là 33096.exe.
    D. Content-Transfer-Encoding cho thấy đối tượng được tải xuống là một tệp nhị phân.
  27. Bạn có thể theo dõi và kiểm tra tất cả các gói tin khác được chụp trong tệp Emotet Network Activities.pcap. Sau khi hoàn tất phân tích, hãy đóng cửa sổ Wireshark.
  28. Phần mềm độc hại Emotet tải xuống các tệp nhị phân như vậy chứa các tải trọng độc hại với sự trợ giúp của các tiến trình Windows hợp pháp như Command-line Prompt và Windows PowerShell. Với một biến thể hoạt động của phần mềm độc hại Emotet đang chạy trên hệ thống, bạn sẽ thấy các tiến trình tương tự như những tiến trình mà chúng tôi sẽ trình bày bây giờ thông qua công cụ Process Monitor.
  29. Để khởi chạy Process Monitor, điều hướng đến E:\CHFI-Tools\CHFIv11 Module 09 Malware Forensics\Dynamic Malware Analysis Tools\Process Monitor và nhấp đúp vào procmon64.exe. Nếu Thỏa thuận Giấy phép Process Monitor mở ra, hãy nhấp vào Agree.
  30. Giao diện người dùng Process Monitor sẽ xuất hiện. Công cụ sẽ ngay lập tức bắt đầu chụp tất cả các tiến trình đang chạy trên máy của bạn.
  31. Để tải tệp nhật ký ProcMon liên quan đến các tiến trình được tạo bởi một biến thể hoạt động của Emotet, hãy nhấp vào File trên thanh công cụ và chọn Open….
  32. Trên cửa sổ Open xuất hiện, điều hướng đến vị trí E:\CHFI-Tools\Evidence Files\Emotet Malware\Artifacts, chọn Emotet ProcMon log.PML và nhấp vào Open.
  33. Tệp nhật ký Emotet ProcMon được tải vào Process Monitor, nơi bạn có thể thấy tất cả các tiến trình đang chạy trên máy bị nhiễm một biến thể Emotet hoạt động.
  34. Vì biến thể Emotet được thực thi thông qua tài liệu Word, chúng ta cần tìm kiếm tiến trình có tên là WINWORD.EXE. Chuyển đến Tools -> Process Tree… để xem tất cả các tiến trình cha và tiến trình con đang hoạt động trên hệ thống.
  35. Process Monitor hiển thị tất cả các tiến trình cha và tiến trình con của chúng trên máy đáng ngờ trong cửa sổ Process Tree.
  36. Khi cuộn xuống, bạn sẽ quan sát thấy tiến trình WINWORD.EXE và một số tiến trình con được liên kết, điều này là bất thường và là một chỉ báo của phần mềm độc hại.
  37. Bạn có thể thu thập các thông tin sau từ phần được đánh dấu của ảnh chụp màn hình ở trên:A. WINWORD.EXE (PID 2384) đã sinh ra Windows PowerShell làm tiến trình con của nó, cho biết rằng mã VBA bị xáo trộn trong tài liệu độc hại chứa biến thể Emotet chứa một tập lệnh PowerShell. Khi macro VBA được chạy trên máy đáng ngờ, chúng gọi PowerShell.exe và thực thi một tập lệnh độc hại. Tập lệnh này chứa hướng dẫn về các URL nào để kết nối để tải xuống tải trọng. Biến thể Emotet đang được phân tích trong bài tập thực hành này đã tải xuống tệp nhị phân độc hại 33096.exe bằng cách kết nối với http://maisbrasilphoto.com.br thông qua PowerShell.
    B. Bạn có thể thấy rằng tập lệnh PowerShell đã tải xuống và thực thi tiến trình có tên 133804.exe với PID 624 trên máy đáng ngờ trước khi nó thoát dưới dạng tiến trình con của WINWORD.EXE. Tiến trình được tạo trên đường dẫn C:\Users\Public. Tên của tệp nhị phân chứa tải trọng khi được tải xuống từ máy chủ và khi được chạy dưới dạng tiến trình trên hệ thống có thể khác nhau.
    C. Tiến trình 133804.exe đã tạo một tệp nhị phân khác có tên markerswwa.exe với PID 3056 trước khi tự kết thúc dưới dạng tiến trình. Tiến trình độc hại này cũng được tạo trên ổ đĩa hệ thống của máy bị nhiễm. Đường dẫn của tiến trình này là C:\Users\Bill\AppData\Local\Microsoft\Windows (ở đây, Bill là người dùng trên máy đáng ngờ).
    D. markerswwa.exe đã mở một tiến trình Windows khác có tên REG.exe với PID 2324. Tuy nhiên, tiến trình này cũng bị đóng sau một thời gian. REG.exe là một Công cụ Bảng điều khiển Registry của Windows và nằm tại C:\Windows\SysWOW64. Tiến trình này thường được các tác giả phần mềm độc hại sử dụng để thực hiện các hoạt động độc hại trên hệ thống bị nhiễm.
  38. Nhấp vào REG.exe để xem tiến trình có bao gồm bất kỳ lệnh nào hay không.
  39. Trong phần lệnh của REG.exe, chúng ta thấy lệnh bắt đầu bằng ‘REG ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v markerswwa /t REG_SZ /d..’
  40. Để xem lệnh đầy đủ, hãy sao chép nó, mở Notepad và dán lệnh như được hiển thị trong ảnh chụp màn hình bên dưới:
  41. Lệnh cho biết rằng tệp nhị phân markerswwa.exe đã sử dụng tiến trình REG.exe để thêm một giá trị khóa con trong HKCU\SOFTWARE\Micorosoft\Windows\CurrentVersion\Run để duy trì trên máy đáng ngờ. Đây là khóa registry AutoStart trong hệ điều hành Windows, cho phép phần mềm độc hại Emotet chạy tự động mỗi khi người dùng đăng nhập vào hệ thống.
    Đóng cửa sổ Notepad sau khi xem lệnh.
  42. Bây giờ, chúng ta sẽ kiểm tra dòng thời gian của chuỗi lây nhiễm của biến thể Emotet đang được phân tích bằng cách nhấp vào từng tiến trình con trong WINWORD.EXE và kiểm tra thời gian Bắt đầu và Kết thúc của chúng. Một ảnh chụp màn hình cộng tác được trình bày bên dưới:
  43. Bạn có thể thu thập các chi tiết sau từ phần được đánh dấu của ảnh chụp màn hình ở trên:A. Ngay khi tài liệu độc hại chứa trình tải xuống Emotet được mở, macro VBA sẽ chạy và sinh ra Powershell.exe thông qua một tập lệnh độc hại.
    B. Powershell.exe tải xuống tải trọng thông qua tập lệnh, thực thi tiến trình có tên 133804.exe (PID 624) và bị đóng dưới dạng tiến trình trong vòng 10 giây.
    C. Tệp 133804.exe chứa tải trọng chỉ chạy trong 2 giây dưới dạng tiến trình trên máy đáng ngờ và tạo một tệp nhị phân độc hại khác có tên là markerswwa.exe (PID 3056) trước khi thoát.
    D. Tiến trình độc hại markerswwa.exe mở REG.exe để đạt được sự duy trì trên máy đáng ngờ.
    E. REG.exe mở ra và đóng lại dưới dạng tiến trình con ngay lập tức. Chỉ markerswwa.exe dưới dạng tiến trình tiếp tục chạy trong khi tất cả các tiến trình cha của nó bị đóng.

Các biến thể khác nhau của phần mềm độc hại Emotet có thể có các chức năng khác nhau. Trong bài tập thực hành này, chúng tôi đã cố gắng trình bày cách lây nhiễm Emotet bắt đầu trong hầu hết các trường hợp và những thay đổi mà nó thường thực hiện trên hệ thống và thuộc tính mạng để chạy và duy trì trên máy đã bị nhiễm.
50. Đóng tất cả các cửa sổ đang mở.

Bài tập Thực hành 7: Kiểm tra Nhật ký Sự kiện Windows

Kịch bản bài tập thực hành

Sam là một điều tra viên pháp y kỹ thuật số đang làm việc trên một vụ án liên quan đến vi phạm bảo mật bị nghi ngờ trên một hệ thống berbasis Windows. Tổ chức đã báo cáo các hoạt động bất thường và nhiệm vụ của anh ta là kiểm tra Nhật ký Sự kiện Windows để ghép lại dòng thời gian của các sự kiện dẫn đến sự cố. Mục tiêu của Sam là xác định bất kỳ dấu hiệu nào của truy cập trái phép, khai thác hệ thống hoặc các hoạt động độc hại khác.

Mục tiêu bài tập thực hành

Nhật ký Sự kiện Windows là các bản ghi quan trọng ghi lại hoạt động của hệ thống trên các hệ thống berbasis Windows. Được phân loại thành các nhật ký Ứng dụng, Bảo mật và Hệ thống, chúng cung cấp thông tin chi tiết có giá trị về các sự kiện hệ thống, lỗi và sự cố bảo mật. Việc phân tích các nhật ký này hỗ trợ khắc phục sự cố, giám sát tình trạng hệ thống và tiến hành điều tra pháp y để phát hiện và ứng phó với các mối đe dọa tiềm ẩn.

Mục tiêu của bài tập thực hành này là cung cấp cho bạn trải nghiệm thực tế về cách kiểm tra nhật ký sự kiện Windows để tìm bất kỳ sự bất thường nào.

Tổng quan về bài tập thực hành

Bài tập thực hành này làm quen bạn với quá trình kiểm tra nhật ký sự kiện Windows để tìm các sự kiện đáng ngờ bằng cách sử dụng Trình xem Sự kiện Windows.

Nhiệm vụ bài tập thực hành

Vì mục đích trình bày, chúng tôi đã thực thi một tệp server.exe và chụp các nhật ký sự kiện.

  1. Trong máy Windows Server 2022, hãy điều hướng đến thư mục E:\CHFI-Tools\Evidence Files\Event Logs và nhấp đúp vào tệp Event_logs.evtx.
  2. Cửa sổ Event Viewer sẽ mở ra, hiển thị các sự kiện.
  3. Bây giờ, chúng tôi sẽ kiểm tra cách một điều tra viên có thể kiểm tra nhật ký sự kiện Windows.
  4. Để xem sự kiện hiển thị việc tạo một tiến trình, hãy nhấp vào tùy chọn Filter Current Log… từ phần Actions.
  5. Cửa sổ Filter Current Log sẽ mở ra. Bây giờ hãy thay thế trong hộp ở trên phần Task category bằng 4688 và nhấp vào OK.
  6. Event Viewer sẽ hiển thị tất cả các sự kiện tạo tiến trình với ID sự kiện 4688.
  7. Cuộn xuống và nhấp đúp vào nhật ký sự kiện có dấu thời gian 12/22/23 4:01:39 AM để phân tích nội dung của nó.
  8. Cửa sổ Event Properties sẽ xuất hiện, cuộn xuống để xem các chi tiết như New Process Name, New Process ID, Creator Process ID. Chúng ta có thể thấy đường dẫn của tệp đáng ngờ tại trường New Process Name (E:\CHFI-Tools\Server.exe).
  9. Đóng cửa sổ Event Properties.
  10. Bây giờ chúng ta sẽ xem sự kiện hiển thị kết nối mạng ra ngoài giữa tiến trình và máy trạm bên ngoài, cùng với địa chỉ đích và cổng. Nhấp vào tùy chọn Clear Filter từ phần Actions để xóa bộ lọc đã chọn.
  11. Nhấp vào tùy chọn Filter Current Log… từ phần Actions. Cửa sổ Filter Current Log sẽ mở ra. Bây giờ hãy thay thế trong hộp ở trên phần Task category bằng 5156 và nhấp vào OK.
  12. Event Viewer hiển thị tất cả các sự kiện kết nối mạng vào và ra với ID sự kiện 5156.
  13. Cuộn xuống và tại sự kiện có dấu thời gian 12/22/23 4:01:43 AM, chúng ta có thể thấy rằng đã có kết nối mạng Inbound từ địa chỉ IP 10.10.1.11.
  14. Trong ảnh chụp màn hình ở trên, chúng ta có thể xem Direction Type, Destination IP addressPort, Application được sử dụng để kết nối với IP bên ngoài hoặc bên trong.
  15. Bây giờ, chúng ta sẽ phân tích nhật ký sự kiện để tìm nỗ lực truy cập vào một đối tượng trong hệ thống. Để làm như vậy, chúng ta sẽ lọc các nhật ký sự kiện hiện tại với ID sự kiện 4663, hiển thị các sự kiện liên quan đến truy cập đối tượng.
  16. Xóa bộ lọc và nhấp vào tùy chọn Filter Current Log… từ phần Actions.
  17. Cửa sổ Filter Current Log mở ra. Bây giờ hãy thay thế trong hộp ở trên phần Task category bằng 4663 và nhấp vào OK.
  18. Trình xem Sự kiện hiển thị tất cả các sự kiện truy cập đối tượng với ID sự kiện 4663.
  19. Trong ảnh chụp màn hình ở trên, chúng ta có thể xem Tên, Loại của Đối tượng và ID Tiến trình, Loại Truy cập.
  20. Từ các ảnh chụp màn hình ở trên, chúng ta có thể thấy rằng tệp mmc.exe đang thực hiện các hàm ReadData, Read_Control, Execute/Traverse.
  21. Bây giờ chúng ta sẽ kiểm tra bất kỳ mục nhập đã xóa nào trong nhật ký sự kiện, xóa bộ lọc và nhấp vào tùy chọn Filter Current Log… từ phần Actions. Cửa sổ Filter Current Log mở ra. Bây giờ hãy thay thế trong hộp ở trên phần Task category bằng 4660 và nhấp vào OK.
  22. Trình xem Sự kiện hiển thị tất cả các sự kiện của các đối tượng đã xóa với ID sự kiện 4660.
  23. Cuộn xuống dấu thời gian 12/22/23 4:24:18 AM, bạn có thể thấy rằng một đối tượng đã bị xóa bởi mmc.exe.
  24. Trong ảnh chụp màn hình ở trên, bạn có thể xem Tên Tài khoản, Miền Tài khoản, ID Tiến trình.
  25. Theo cách này, một điều tra viên có thể kiểm tra nhật ký sự kiện để tìm bất kỳ hoạt động đáng ngờ nào.
  26. Đóng tất cả các cửa sổ đang mở.
Bài viết cùng danh mục