Lỗ hổng bảo mật của Microsoft Office CVE-2017-11882 là một lỗ hổng trên định dạng file rtf , doc , dot , wbz , wiz. Lỗ hổng này cho phép attacker có thể thực thi lệnh từ xa thông qua tập tin .doc hoặc rtf. Lỗ hổng này lợi dụng các OLE Object được nhúng trong RTF để khai thác lỗ hổng. Lỗ hổng này được tận dụng trong nhiều cuộc tấn công APT để phát tán và lây lan mã độc. Một tài liệu liên quan đến một tài liệu nội bộ được phát hiện có chứa mã độc. Trong bài viết này mình sẽ trình bày chiến dịch tấn công này.

Tài liệu RTF

SHA256:  42162c495e835cdf28670661a53d47d12255d9c791c1c5653673b25fb587ffed

Bằng rtfobj 3 đối tượng ole đã được trích xuất trong file rtf này:

OLE Object.

Hướng dẫn và cách sử dụng rtfobj:
https://github.com/decalage2/oletools/wiki/rtfobj
Một OLEObj được trích xuất được nhúng vào file RTF này. Một file 8.t được ghi vào thư mục Temp.

 Format data – Custom data.

Format data- Custom data.
Dường như file 8.t này đã được mã hóa.
Kiểm tra 2 Oleobj còn lại thấy một chuỗi 7e079a2524fa63a55fbcfe !!!!!!!
Google string này phát hiện đây là CVE-2017-1882.

String CVE-2017-11882.

Hai Oleobj được tìm thấy sử dụng một lỗ hổng khác. Đó là CVE-2017-11882. CVE này có thể chạy một file thực thi bất kì khi mở tài liệu.

Equation Oleobj.

Ở cuối Oleobj có một hàm API để tạo ra một file PE. Vấn đề đặt ra là cần phải tìm file PE được tạo ra này và cách sử dụng filr 8.t.
Chạy lại file RTF sau đó kiểm tra các process được tạo ra bằng ProcessExplorer

Khi chạy file RTF process EQNEDT32.exe được tạo ra bởi WINDWORD.exe bằng CreatProcess. Cần một breakpoint tại đây ! Nhưng EQNEDT32.exe được WINWORD.exe gọi bằng COM object. Do đó phai sử dụng một kĩ thuật khác là Image File Execution Options.
Kĩ thuật này có thể tìm thấy tại đây:
https://blog.malwarebytes.com/101/2015/12/an-introduction-to-image-file-execution-options
Tiến hành tạo Registry

Registry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

Giá trị gán vào debugger khi EQNEDT32.exe chạy

EQNEDT32.exe chạy bằng debugger.

Đặt breakpoint tại hàm CreatFile để kiểm tra shellcode có đọc file 8.t được tạo ra ở thư mục Temp hay không.

File 8.t được tạo ra tại thư mục Temp.

Hash SHA256: 2c60d4312e4416745e56048ee35e694a79e1bc77e7e4d0b5811e64c84a72d2d7

Đường dẫn của file được ghi vào stack:

File path được ghi tại dword ptr ss: [ebp-4].

F8 !

Shellcode.

Sau khi CreateFile, hàm GetFileSize để tạo bộ nhớ ảo chứa file 8.t. Sau đó Shell code tiến hành giải mã file 8.t

File 8.t được load vào stack.

Việc giải mã file 8.t rất đơn giản. EQNEDT32.exe xor file 8.t với key đã được fix cứng:

Decrypt file 8.t

Sau khi giải mã có được file 8.t là một file PE !

Binary file 8.t.

Sau khi GetmoduleFileName được gọi để lấy đường dẫn của file EQNEDT32.exe, EQNEDT32.exe bị tạm dừng và ghi đè nội dung file PE vừa được giải mã vào file EQNEDT32.exe và thực thi file PE này luôn.

Ghi đè File EQNEDT32.exe.

Process được tạo.

Sau khi phát hiện ra process EQNEDT32.exe đang chạy, tiến hành dump file EQNEDT.exe. Sau một hồi lần mò các API CreateFile ta có một hàm sub_00401150 là một hàm drop file.

Sub_00401150.

Sau khi xref hàm drop file này phát hiện nó chỉ được gọi bời hàm sub_4012D0 và được gọi 2 lần:

Sub_4012D0.

Điều này chứng tỏ có 2 file được tạo ra. Đặt breakpoint tại tại hàm 2 hàm drop file.

breakpoint tại hàm đầu tiên.

Một file RasTls.dll được tạo ra tại thư mục AppData \\ Roaming \\ Microsoft \\ Windows \\ Network Shortcut .

RasTls.dll.

Hash SHA256: 9f5da7524817736cd85d87dae93fdbe478385baac1c0aa3102b6ad50d7e5e368

Tiếp tục đặt breakpoint tại hàm drop file thứ 2!

File thứ 2 được tạo ra là dascgosrky.exe tại đường dẫn AppData \\ Roaming \\ Microsoft \\ Windows \\ Network Shortcut :

dascgosrky.exe.

Hash SHA256: f9ebf6aeb3f0fb0c29bd8f3d652476cd1fe8bd9a0c11cb15c43de33bbce0bf68

Nhiệm vụ của file EQNEDT.exe là ghi 2 file tạo thư mục AppData \\ Roaming \\ Microsoft \\ Windows \\ Network Shortcut

2 file được ghi.

Kiểm tra file exe đầu Dascgosrky.exe thì nó là một phần mềm hợp pháp được cung cấp bởi Symantec – một công ty cung cấp các dịch vụ về bảo mật.

Dascgosrky.exe

Nhưng file dll chưa được sử dụng ! Tiến hành mở file Dascgosrky.exe bằng IDA và tìm API LoadLibrary.

Dascgosrky.exe gọi RasTls.dll.

Tại thẻ export trong IDA có 1 điểm dllentrypoint:

Functions được gọi.

Hijacking DLL là một kĩ thuật thay vì thực thi hành vi độc hại bằng file thực thi (exe) thì nó sẽ thực thi các hành vi độc hại bằng cách gọi các hàm trong dll. Kĩ thuật này nhằm tránh các hệ thống monitor giám sát hành vi của các file thực thi.

Tên miền được kết nối đến là wouderfulu.impresstravel.ga và được phâ n giải với IP: 192.99.181.14.

wouderfulu.impresstravel.ga

Ngoài ra còn một domain nữa có IP là: 176.223.165.122.

176.223.165.122.

Danh sách các domain mà mã độc có kết nối đến:

  • dn.dulichbiendao.org
  • gateway.vietbaotinmoi.com
  • fis.malware-sinkhole.net
  • hn.dulichbiendao.org
  • halong.dulichculao.com
  • news.malware-sinkhole.net
  • cat.toonganuh.com
  • new.sggpnews.com
  • dulichculao.com
  • coco.sodexoa.com.
  • thoitiet.malware-sinkhole.net
  • wouderfulu.impresstravel.ga
  • toonganuh.com
  • coco.sodexoa.com

Địa chỉ IPs:

  • 192.99.181.14
  • 176.223.165.122

Tên miên halong.dulichculao.com là một tên miền đã được sử dụng bởi một cuộc tấn công tương tự trước đó. Cách tấn công cũng tương tự như lần này. Hacker sử dụng file RTF để tiến hành dowload một trojan là một RAT (Remote Access Trojan) cũng là một file dll tương tự trên có thể lấy được thông tin người dùng:

  • Tắt hoặc khởi động lại máy ảo.
  • Lấy thông tin ổ đĩa, file, danh sách các file trong ổ.
  • Sửa, xóa, đổi tên, tải, thực thi file bất kì.
  • Chụp ảnh màn hình.
  • Thực hiện shell.

CVE-2017-11882 là một lỗ hổng nghiêm trọng có thể dẫn đến nguy cơ bị mất cắp thông tin một cách nghiêm trọng. Do đó chúng ta cần phải cập nhật kịp thời các bản vá của windows cũng như các bản vá của offfice.

Nguồn: Sebdraven​

1.256 lượt xem