Worok: Bức tranh lớn về Trí tuệ dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Worok: Bức tranh lớn

Tập trung chủ yếu vào châu Á, nhóm gián điệp mạng mới này sử dụng các công cụ không có giấy tờ, bao gồm cả việc trích xuất mật mã các tải trọng PowerShell từ các tệp PNG

Các nhà nghiên cứu của ESET gần đây đã phát hiện ra các cuộc tấn công có chủ đích sử dụng các công cụ không có giấy tờ nhằm vào nhiều công ty nổi tiếng và chính quyền địa phương, chủ yếu ở châu Á. Các cuộc tấn công này được thực hiện bởi một nhóm gián điệp chưa được biết đến trước đây mà chúng tôi đặt tên là Worok và nhóm này đã hoạt động ít nhất từ ​​năm 2020. Bộ công cụ của Worok bao gồm trình tải C++ CLRLoad, cửa sau PowerShell PowHeartBeat và trình tải C# PNGLoad sử dụng kỹ thuật steganography để trích xuất phần mềm độc hại ẩn giấu. tải trọng từ các tệp PNG.

Worok là ai?

Trong ProxyShell (CVE-2021-34523) tiết lộ lỗ hổng vào đầu năm 2021, chúng tôi đã quan sát thấy hoạt động từ các nhóm APT khác nhau. Một biểu hiện đặc điểm chung với TA428:

  • Thời gian hoạt động
  • Ngành dọc được nhắm mục tiêu
  • Cách sử dụng ShadowPad

Phần còn lại của bộ công cụ rất khác: ví dụ: TA428 đã tham gia vào Có thể thỏa hiệp với máy tính để bàn vào năm 2020. Chúng tôi cho rằng các liên kết chưa đủ mạnh để coi Worok là cùng một nhóm với TA428, nhưng hai nhóm có thể chia sẻ công cụ và có chung sở thích. Chúng tôi quyết định tạo một cụm và đặt tên là Worok. Tên được chọn theo tên một mutex trong bộ tải được nhóm sử dụng. Hoạt động tiếp theo với các biến thể của cùng một công cụ sau đó đã được liên kết với nhóm này. Theo phép đo từ xa của ESET, Worok đã hoạt động từ cuối năm 2020 và tiếp tục hoạt động cho đến thời điểm viết bài này.

Trở lại cuối năm 2020, Worok đã nhắm mục tiêu vào các chính phủ và công ty ở nhiều quốc gia, cụ thể:

  • Một công ty viễn thông ở Đông Á
  • Một ngân hàng ở Trung Á
  • Một công ty công nghiệp hàng hải ở Đông Nam Á
  • Một cơ quan chính phủ ở Trung Đông
  • Một công ty tư nhân ở miền nam châu Phi

Có sự gián đoạn đáng kể trong các hoạt động được quan sát từ năm 2021-05 đến năm 2022-01, nhưng hoạt động của Worok đã quay trở lại vào năm 2022-02, nhắm mục tiêu:

  • Một công ty năng lượng ở Trung Á
  • Một thực thể khu vực công ở Đông Nam Á

Hình 1 trình bày bản đồ nhiệt trực quan của các vùng và ngành dọc được nhắm mục tiêu.

Hình 1. Bản đồ các vùng và ngành mục tiêu

Xem xét hồ sơ của các mục tiêu và các công cụ mà chúng tôi đã thấy được triển khai để chống lại những nạn nhân này, chúng tôi cho rằng mục tiêu chính của Worok là đánh cắp thông tin.

Phân tích kỹ thuật

Mặc dù phần lớn các lượt truy cập ban đầu đều không xác định được, nhưng trong một số trường hợp cho đến năm 2021 và 2022, chúng tôi đã thấy các cách khai thác được sử dụng để chống lại các lỗ hổng ProxyShell. Trong những trường hợp như vậy, các webshell thường được tải lên sau khi khai thác các lỗ hổng này, nhằm mang lại sự ổn định trong mạng của nạn nhân. Sau đó, những người vận hành đã sử dụng nhiều bộ phận cấy ghép khác nhau để đạt được những khả năng cao hơn.

Sau khi đã có được quyền truy cập, các nhà điều hành đã triển khai nhiều công cụ có sẵn công khai để trinh sát, bao gồm Mimikatz, Giun đất, ReGeorgquét NBT, sau đó triển khai các bộ cấy tùy chỉnh của họ: trình tải giai đoạn đầu tiên, tiếp theo là trình tải .NET giai đoạn thứ hai (PNGLoad). Thật không may, chúng tôi không thể truy xuất bất kỳ tải trọng cuối cùng nào. Vào năm 2021, trình tải giai đoạn đầu tiên là một tổ hợp CLR (CLRLoad), trong khi vào năm 2022, trong hầu hết các trường hợp, trình tải này đã được thay thế bằng một cửa hậu PowerShell đầy đủ tính năng (PowHeartBeat) – cả hai chuỗi thực thi đều được mô tả trong Hình 2. Ba chuỗi này các công cụ được mô tả chi tiết trong các phần sau.

Worok: Bức tranh lớn về Trí tuệ dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Hình 2. Chuỗi thỏa hiệp của Workok

CLRLoad: Bộ tải lắp ráp CLR

CLRLoad là một Windows PE chung mà chúng ta đã thấy ở cả phiên bản 32 và 64 bit. Nó là một trình tải được viết bằng C++ để tải giai đoạn tiếp theo (PNGLoad), giai đoạn này phải là một Tập hợp thời gian chạy ngôn ngữ chung (CLR) tập tin DLL. Mã đó được tải từ một tệp nằm trên đĩa trong một thư mục hợp pháp, có lẽ là để đánh lừa nạn nhân hoặc người ứng phó sự cố rằng đó là phần mềm hợp pháp.

Một số mẫu CLRLoad bắt đầu bằng cách giải mã đường dẫn đầy đủ của tệp có nội dung mà chúng sẽ tải ở giai đoạn tiếp theo. Các đường dẫn tệp này được mã hóa bằng XOR một byte, với một khóa khác nhau trong mỗi mẫu. Được giải mã hoặc văn bản rõ ràng, các đường dẫn tệp này là tuyệt đối, sau đây là những đường dẫn chúng tôi đã gặp:

  • C:Tệp chương trìnhVMwareCông cụ VMwareVMware VGAuthxsec_1_5.dll
  • C:Tệp chương trìnhUltraViewermsvbvm80.dll
  • C:Tệp chương trìnhInternet ExplorerJsprofile.dll
  • C:Tệp chương trìnhWinRarRarExtMgt.dll
  • C:Tệp chương trình (x86)Phần mềm FoxitFoxit Readerlucenelib.dll

Tiếp theo, một mutex được tạo và chúng tôi thấy mỗi mẫu có một tên khác nhau. Trình tải sẽ kiểm tra mutex này; nếu tìm thấy, nó sẽ thoát vì trình tải đang chạy. Ở một trong các mẫu, mutex Wo0r0KGWhYGO đã gặp phải, điều này đã đặt tên cho nhóm là Worok.

CLRLoad sau đó tải cụm CLR từ đường dẫn tệp có thể được giải mã. Là mã không được quản lý, CLRLoad đạt được điều này thông qua CorBindToRuntimeEx Lệnh gọi API Windows ở các biến thể 32 bit hoặc CLRTạo sơ thẩm cuộc gọi trong các biến thể 64-bit.

PowHeartBeat: Cửa hậu PowerShell

PowHeartBeat là một cửa hậu đầy đủ tính năng được viết bằng PowerShell, được làm xáo trộn bằng nhiều kỹ thuật khác nhau như nén, mã hóa và mã hóa. Dựa trên phép đo từ xa của ESET, chúng tôi tin rằng PowHeartBeat đã thay thế CLRLoad trong các chiến dịch Worok gần đây hơn làm công cụ được sử dụng để khởi chạy PNGLoad.

Lớp đầu tiên của mã cửa sau bao gồm nhiều đoạn mã PowerShell được mã hóa base64. Sau khi tải trọng được xây dựng lại, nó sẽ được thực thi thông qua IEX. Sau khi được giải mã, một lớp mã bị xáo trộn khác sẽ được thực thi, chúng ta có thể thấy trong Hình 3.

Worok: Bức tranh lớn về Trí tuệ dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Hình 3. Trích đoạn chức năng chính được giải mã của lớp thứ hai của PowHeartBeat

Lớp thứ hai của base64 cửa sau đầu tiên giải mã lớp mã tiếp theo của nó, sau đó được giải mã bằng DES ba lần (chế độ CBC). Sau khi giải mã, mã này được giải nén bằng cách sử dụng gzip thuật toán, do đó tạo ra lớp mã PowerShell thứ ba, đây chính là cửa hậu thực sự. Nó được chia thành hai phần chính: cấu hình và xử lý các lệnh cửa sau.

Lớp mã cửa sau chính cũng được viết bằng PowerShell và sử dụng HTTP hoặc ICMP để liên lạc với máy chủ C&C. Nó hoạt động như mô tả trong Hình 4.

Worok: Bức tranh lớn về Trí tuệ dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Hình 4. Chức năng của PowHeartBeat

Cấu hình

Cấu hình chứa nhiều trường, bao gồm số phiên bản, cấu hình proxy tùy chọn và địa chỉ C&C. Bảng 1 mô tả ý nghĩa của các trường cấu hình trong các phiên bản khác nhau mà chúng tôi đã quan sát.

Bảng 1. Ý nghĩa trường cấu hình

Tên trường Mô tả
nouse / ikuyrtydyfg
(các mẫu khác)
Không sử dụng.
Id khách hàng Mã định danh khách hàng, được sử dụng cho các mục đích sau:
· Là một giá trị khi xây dựng Tiêu đề cookie cho truyền thông C&C.
· Là một tạo phẩm mật mã để mã hóa dữ liệu được gửi.
phiên bản Số phiên bản của PowHeartBeat.
ExecTimes Số lần thử thực hiện được phép khi phát hành một ChạyCmd (lệnh đang chạy) lệnh.
Đại lý người dùng Tác nhân người dùng được sử dụng để liên lạc C&C.
referer referer tiêu đề được sử dụng cho truyền thông C&C.
Chấp nhậnMã hóa Không sử dụng.
Id khách hàng Cookie
Id tác vụ cookie
Id thiết bị đầu cuối cookie
Các giá trị được sử dụng để xây dựng Cookie tiêu đề cho truyền thông C&C.
UrlHttps Giao thức sử dụng cho truyền thông C&C.
Tên miền Url
Địa chỉ IP
Tên miền
URL, (các) tên miền hoặc địa chỉ IP được sử dụng làm máy chủ C&C. Nếu như Tên miền không trống, nó được chọn thay vì Địa chỉ IP. Trong những trường hợp khác, Địa chỉ IP được thực hiện.
UrlGửiTimNhịp đập Đường dẫn URL được sử dụng khi cửa sau yêu cầu máy chủ C&C đưa ra lệnh.
UrlGửiKết quả Đường dẫn URL được sử dụng khi cửa hậu gửi kết quả của lệnh trở lại máy chủ C&C.
GetUrl URL hoàn chỉnh, được PowHeartBeat sử dụng để yêu cầu lệnh từ máy chủ C&C. Nó là sự ghép nối của các thành phần URL ở trên.
ĐặtUrl Giống như GetUrl nhưng được sử dụng để gửi kết quả của lệnh trở lại máy chủ C&C.
đường dẫn hiện tại Không sử dụng.
Cờ kích hoạt proxy Cờ cho biết cửa sau có phải sử dụng proxy hay không để liên lạc với máy chủ C&C.
tin nhắn proxy Địa chỉ của proxy sẽ sử dụng nếu Cờ kích hoạt proxy được thiết lập để $ true.
Khoảng thời gian Thời gian tính bằng giây mà tập lệnh ngủ giữa các yêu cầu GET.
Đường dẫn cấu hình cơ bản Đường dẫn đến tệp cấu hình tùy chọn có chứa Thời gian hoạt động, Thời gian ngừng hoạt động, Khoảng thời gian mặc địnhTên miền. Những giá trị đó sẽ bị ghi đè nếu có tệp.
Thời gian hoạt động Thời điểm trong ngày mà cửa sau bắt đầu hoạt động, nghĩa là nó bắt đầu thực hiện các yêu cầu GET tới máy chủ C&C.
Thời gian ngừng hoạt động Thời gian trong ngày mà backdoor có thể hoạt động, nghĩa là thời điểm nó ngừng gửi yêu cầu tới máy chủ C&C.
Chỉ số tên miền Chỉ mục tên miền hiện tại được sử dụng để liên lạc với máy chủ C&C. Trong trường hợp yêu cầu trả về thông báo lỗi khác với 304 (“Không được sửa đổi”), Chỉ số tên miền được tăng lên.
Chìa khoá bí mật Khóa dùng để giải mã/mã hóa cấu hình. Cấu hình được mã hóa bằng XOR nhiều byte.
NếuNhật ký Không sử dụng.
IfLogFilePath Cờ cho biết liệu ghi nhật ký có được bật hay không.
lối đi Đường dẫn của tệp nhật ký.
Tệp proxy Đường dẫn tệp của cấu hình proxy tùy chọn. Nếu nó trống hoặc không được tìm thấy trong hệ thống tệp, cửa sau sẽ truy xuất cài đặt proxy của người dùng từ giá trị đăng ký HKCUSoftwareMicrosoftWindowsCurrentVersionInternet SettingProxyServer .
IfConfig Cờ cho biết có nên sử dụng tệp cấu hình hay không.

Hình 5 hiển thị ví dụ về cấu hình được trích xuất từ ​​mẫu PowHeartBeat (SHA-1: 757ABA12D04FD1167528FDD107A441D11CD8C427).

Hình 5. Ví dụ cấu hình

Mã hóa dữ liệu

PowHeartBeat mã hóa nhật ký và nội dung tệp cấu hình bổ sung.

Nội dung tệp nhật ký được mã hóa thông qua XOR nhiều byte với khóa được chỉ định ở dạng văn bản rõ ràng trong mẫu. Một cách thú vị, mã khách hàng được sử dụng làm muối cho chỉ mục vào mảng khóa. Khóa là một mảng 256 byte, giống hệt nhau trong mọi mẫu mà chúng tôi gặp. Nội dung tệp cấu hình bổ sung được mã hóa thông qua XOR nhiều byte với giá trị từ Chìa khoá bí mật như chìa khóa của nó.

Truyền thông C&C

PowHeartBeat đã sử dụng HTTP để liên lạc C&C cho đến phiên bản 2.4, sau đó chuyển sang ICMP. Trong cả hai trường hợp, thông tin liên lạc không được mã hóa.

HTTP

Trong một vòng lặp vô hạn, backdoor gửi yêu cầu GET đến máy chủ C&C, yêu cầu phát lệnh. Câu trả lời được mã hóa sẽ được giải mã bởi cửa sau, cửa sau xử lý lệnh và ghi đầu ra lệnh vào một tệp có nội dung sau đó được gửi đến máy chủ C&C thông qua yêu cầu POST.

Định dạng của các yêu cầu GET như sau:

Lưu ý rằng yêu cầu được xây dựng bằng cách sử dụng các trường cấu hình cùng tên.

Trong phản hồi từ máy chủ C&C, byte thứ ba của nội dung là mã định danh lệnh cho biết lệnh sẽ được xử lý bởi cửa sau. Chúng tôi sẽ gọi nó lệnh_id. Nội dung còn lại của phản hồi sẽ được chuyển dưới dạng đối số cho lệnh được xử lý. Nội dung này được mã hóa bằng thuật toán như trong Hình 6, id nhiệm vụ là giá trị của cookie được đặt tên theo Id tác vụ cookiegiá trị của từ cấu hình.

Hình 6. Thuật toán mã hóa dữ liệu nội dung yêu cầu

Phản hồi từ máy chủ C&C cũng chứa một cookie khác, có tên được chỉ định bởi cửa hậu. Id thiết bị đầu cuối cookie biến cấu hình. Giá trị của cookie này được lặp lại trong yêu cầu POST từ cửa sau và không được để trống. Sau khi thực thi lệnh backdoor, PowHeartBeat sẽ gửi kết quả dưới dạng yêu cầu POST tới máy chủ C&C. Kết quả được gửi dưới dạng một tập tin có tên là .png.

ICMP

Bắt đầu từ phiên bản 2.4 của PowHeartBeat, HTTP đã được thay thế bằng ICMP, các gói được gửi có thời gian chờ là sáu giây và đang được không bị phân mảnh. Giao tiếp qua ICMP rất có thể là một cách để tránh bị phát hiện.

Không có thay đổi lớn nào trong phiên bản 2.4 trở lên, nhưng chúng tôi nhận thấy một số sửa đổi trong mã:

  • PowHeartBeat gửi gói nhịp tim ở mỗi vòng lặp chứa chuỗi a B C D E F G H I J K L M O P Q R S T U V w x y z, trước khi yêu cầu một lệnh. Điều này thông báo cho máy chủ C&C rằng cửa hậu đã sẵn sàng nhận lệnh.
  • Yêu cầu nhận lệnh được thực hiện bởi backdoor chứa chuỗi abcdefghijklmnop.

Các gói nhịp tim có định dạng được mô tả trong Hình 7.

Worok: Bức tranh lớn về Trí tuệ dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Hình 7. Bố cục gói Heartbeat

Sự khác biệt giữa ID khách hàng cờ khách hàngID khách hàng khác nhau ở mỗi mẫu trong khi cờ khách hàng giống nhau ở mọi mẫu sử dụng ICMP. cờ nhịp tim cho biết cửa sau đang gửi nhịp tim. Phản hồi từ máy chủ C&C có định dạng được mô tả trong Hình 8.

Worok: Bức tranh lớn về Trí tuệ dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Hình 8. Bố cục phản hồi của máy chủ C&C

cờ ở đây cho biết liệu có lệnh gửi tới cửa sau hay không. Yêu cầu nhận lệnh có định dạng được mô tả trong Hình 9.

Worok: Bức tranh lớn về Trí tuệ dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Hình 9. Bố trí các yêu cầu nhận lệnh

Lưu ý rằng chế độ ICMP của backdoor cho phép nhận lượng dữ liệu không giới hạn, được chia thành các khối và các biến độ dài dữ liệu, vị trí hiện tạiTổng chiều dài được sử dụng để theo dõi dữ liệu được truyền. Phản hồi cho những yêu cầu này có định dạng được mô tả trong Hình 10.

Worok: Bức tranh lớn về Trí tuệ dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Hình 10. Bố cục phản hồi cho các yêu cầu nhận lệnh

Giống như trong phản hồi HTTP, mã định danh lệnh là byte thứ ba của dữ liệu.

Sau bảy phản hồi ICMP liên tiếp với nội dung trống hoặc được định dạng không nhất quán, quá trình truyền giữa backdoor và máy chủ C&C được coi là hoàn tất.

Liên quan đến các yêu cầu gửi kết quả của lệnh đã ban hành đến máy chủ C&C, chế độ máy chủ được thay đổi đối với chế độ đăng và chuỗi cuối cùng (abcdefghijklmnop) được thay đổi đối với dữ liệu kết quả.

Lệnh backdoor

PowHeartBeat có nhiều khả năng khác nhau, bao gồm thực thi lệnh/quy trình và thao tác với tệp. Bảng 2 liệt kê tất cả các lệnh được hỗ trợ bởi các mẫu được phân tích khác nhau.

Bảng 2. Mô tả lệnh PowHeartBeat

Họ tên Mã định danh lệnh Mô tả
Cmd 0x02 Thực thi lệnh PowerShell.
exe 0x04 Thực hiện lệnh dưới dạng quá trình.
Tải lên tệp 0x06 Tải một tập tin lên máy nạn nhân. Nội dung tệp được nén bằng gzip.
Tập tin tải về 0x08 Tải xuống tệp từ máy nạn nhân và trả về đường dẫn tệp, độ dài tệp, thời gian tạo, thời gian truy cập và nội dung tệp về máy chủ C&C.
Xem tập tin 0x0A Lấy thông tin file của một thư mục cụ thể, cụ thể:
· Tên tập tin
· Thuộc tính tập tin
· Lần viết cuối cùng
· Nội dung tập tin
Xóa tệp 0x0C Xóa tệp.
Đổi tên tệp 0x0E Đổi tên hoặc di chuyển một tập tin.
Thay đổiDir 0x10 Thay đổi vị trí làm việc hiện tại của backdoor.
Thông tin 0x12 Nhận một danh mục thông tin theo đối số được chỉ định:
· "Thông tin cơ bản": Id khách hàng, phiên bản, tên máy chủ, địa chỉ IP, explorer.exe thông tin về phiên bản và kích thước, hệ điều hành (kiến trúc và cờ cho biết máy có phải là máy chủ hay không), Khoảng thời gian, thư mục hiện tại, thông tin ổ đĩa (tên, loại, dung lượng trống và tổng kích thước), thời gian hiện tại
· “Thông tin về khoảng thời gian”: Khoảng thời gian và thời điểm hiện tại
· “Thông tin tên miền”: nội dung file cấu hình được giải mã
Config 0x14 Cập nhật nội dung file cấu hình và tải lại cấu hình.
N/A 0x63 Lối ra cửa sau.

Trong trường hợp có lỗi ở phía cửa sau, cửa sau sử dụng mã định danh lệnh cụ thể 0x00 trong yêu cầu POST tới máy chủ C&C, do đó cho biết đã xảy ra lỗi.

Lưu ý rằng trước khi gửi thông tin trở lại máy chủ C&C, dữ liệu sẽ được nén bằng gzip.

PNGLoad: Trình tải Steganographic

PNGLoad là tải trọng giai đoạn hai được Worok triển khai trên các hệ thống bị xâm nhập và theo phép đo từ xa của ESET, được tải bằng CLRLoad hoặc PowHeartBeat. Mặc dù chúng tôi không thấy bất kỳ mã nào trong PowHeartBeat tải trực tiếp PNGLoad, nhưng cửa sau có khả năng tải xuống và thực thi các tải trọng bổ sung từ máy chủ C&C. Đây có thể là cách kẻ tấn công đã triển khai PNGLoad trên các hệ thống bị xâm phạm bằng PowHeartBeat. PNGLoad là một trình tải sử dụng byte từ các tệp PNG để tạo tải trọng để thực thi. Nó là một tệp thực thi .NET 64-bit – được mã hóa bằng Lò phản ứng .NET – giả mạo là phần mềm hợp pháp. Ví dụ: Hình 11 hiển thị các tiêu đề CLR của một mẫu giả mạo dưới dạng DLL WinRAR.

Worok: Bức tranh lớn về Trí tuệ dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Hình 11. Ví dụ về DLL WinRAR giả

Sau khi được giải mã, chỉ có một lớp hiện diện. Trong lớp này có một Đường dẫn chính thuộc tính chứa đường dẫn thư mục mà backdoor tìm kiếm, bao gồm cả các thư mục con của nó, để tìm các tệp có phần mở rộng . Png mở rộng, như trong Hình 12.

Worok: Bức tranh lớn về Trí tuệ dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Hình 12. . Png danh sách tập tin

Mỗi trang web . Png tập tin được định vị bởi tìm kiếm này Đường dẫn chính sau đó được kiểm tra nội dung được nhúng dưới dạng steganographic. Đầu tiên, bit có ý nghĩa nhỏ nhất của các giá trị R (đỏ), G (xanh lục), B (xanh lam) và A (alpha) của mỗi pixel được tìm nạp và tập hợp thành bộ đệm. Nếu tám byte đầu tiên của bộ đệm đó khớp với số ma thuật được thấy trong Hình 13 và giá trị tám byte tiếp theo, control, không phải là null, thì tệp sẽ vượt qua quá trình kiểm tra nội dung steganographic của PNGLoad. Đối với các tệp như vậy, quá trình xử lý tiếp tục với phần còn lại của bộ đệm được giải mã bằng XOR nhiều byte, sử dụng khóa được lưu trong PNGLoad SecretKeyByte thuộc tính, sau đó bộ đệm được giải mã sẽ được giải nén bằng gzip. Kết quả dự kiến ​​là một tập lệnh PowerShell được chạy ngay lập tức.

Worok: Bức tranh lớn về Trí tuệ dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Hình 13. Định dạng bộ đệm PNGLoad tạo ra từ quá trình xử lý . Png các tập tin

Điều thú vị là các hoạt động được thực hiện bởi PNGLoad được ghi vào một tệp có đường dẫn được lưu trong biến Đường dẫn tệp nhật ký. Các hoạt động chỉ được ghi lại nếu có một tệp có đường dẫn được chỉ định bởi biến nội bộ IfLogFilePath.

Chúng tôi không thể lấy được mẫu . Png được sử dụng cùng với PNGLoad, nhưng cách PNGLoad hoạt động cho thấy rằng nó sẽ hoạt động với các tệp PNG hợp lệ. Để ẩn tải trọng độc hại, Worok sử dụng các đối tượng Bitmap trong C#, đối tượng này chỉ lấy thông tin pixel từ các tệp chứ không lấy siêu dữ liệu của tệp. Điều này có nghĩa là Worok có thể ẩn các tải trọng độc hại của nó trong các hình ảnh PNG hợp lệ, trông vô hại và do đó ẩn giấu ở nơi dễ thấy.

Kết luận

Worok là một nhóm gián điệp mạng phát triển các công cụ của riêng mình cũng như tận dụng các công cụ hiện có để xâm phạm các mục tiêu của mình. Đánh cắp thông tin từ nạn nhân là điều mà chúng tôi tin rằng những kẻ điều hành đang theo đuổi vì chúng tập trung vào các thực thể nổi tiếng ở Châu Á và Châu Phi, nhắm mục tiêu vào nhiều lĩnh vực khác nhau, cả tư nhân và công cộng, nhưng đặc biệt chú trọng đến các thực thể chính phủ. Thời gian hoạt động và bộ công cụ cho thấy mối liên hệ có thể xảy ra với TA428, nhưng chúng tôi đưa ra đánh giá này với độ tin cậy thấp. Bộ công cụ tùy chỉnh của họ bao gồm hai bộ tải – một trong C++ và một trong C# .NET – và một cửa hậu PowerShell. Mặc dù khả năng hiển thị của chúng tôi còn hạn chế nhưng chúng tôi hy vọng rằng việc làm sáng tỏ nhóm này sẽ khuyến khích các nhà nghiên cứu khác chia sẻ thông tin về nhóm này.

Đối với bất kỳ câu hỏi nào về nghiên cứu của chúng tôi được công bố trên WeLiveSecurity, vui lòng liên hệ với chúng tôi theo địa chỉ đe dọaintel@eset.com.

ESET Research hiện cũng cung cấp các báo cáo tình báo APT và nguồn cấp dữ liệu riêng. Đối với bất kỳ câu hỏi nào về dịch vụ này, hãy truy cập Thông báo về mối đe dọa của ESET .

IOC

Các tập tin

SHA-1 Tên tập tin Tên phát hiện ESET Bình luận
3A47185D0735CDECF4C7C2299EB18401BFB328D5 kịch bản PowerShell/PowHeartBeat.B PowHeartBeat 2.4.3.0003.
27ABB54A858AD1C1FF2863913BDA698D184E180D kịch bản PowerShell/PowHeartBeat.A PowHeartBeat 2.4.3.0003.
678A131A9E932B9436241402D9727AA7D06A87E3 kịch bản PowerShell/PowHeartBeat.B PowHeartBeat 2.4.3.0003.
757ABA12D04FD1167528FDD107A441D11CD8C427 kịch bản PowerShell/PowHeartBeat.B PowHeartBeat 2.1.3.0003.
54700A48D934676FC698675B4CA5F712C0373188 kịch bản PowerShell/PowHeartBeat.A PowHeartBeat 1.1.3.0002.
C2F53C138CB1B87D8FC9253A7088DB30B25389AF kịch bản PowerShell/PowHeartBeat.A PowHeartBeat 1.1.3.0002.
C2F1954DE11F72A46A4E823DE767210A3743B205 tmp.ps1 PowerShell/PowHeartBeat.B PowHeartBeat 2.4.3.0004.
CE430A27DF87A6952D732B4562A7C23BEF4602D1 tmp.ps1 PowerShell/PowHeartBeat.A PowHeartBeat 2.1.3.0004.
EDE5AB2B94BA85F28D5EE22656958E4ECD77B6FF kịch bản PowerShell/PowHeartBeat.A PowHeartBeat 2.4.3.0003.
4721EEBA13535D1EE98654EFCE6B43B778F13126 vix64.dll MSIL/PNGLoader.A PNGLoader.
728A6CB7A150141B4250659CF853F39BFDB7A46C RarExtMgt.dll MSIL/PNGLoader.A PNGLoader.
864E55749D28036704B6EA66555A86527E02AF4A Jsprofile.dll MSIL/PNGLoader.A PNGLoader.
8DA6387F30C584B5FD3694A99EC066784209CA4C vssxml.dll MSIL/PNGLoader.A PNGLoader.
AA60FB4293530FBFF00D200C0D44EEB1A17B1C76 xsec_1_5.dll MSIL/PNGLoader.A PNGLoader.
B2EAEC695DD8BB518C7E24C4F37A08344D6975BE MSVBVM80.DLL MSIL/PNGLoader.A PNGLoader.
CDB6B1CAFEE098615508F107814179DEAED1EBCF lucenelib.dll MSIL/PNGLoader.A PNGLoader.
4F9A43E6CF37FF20AE96E564C93898FDA6787F7D vsstrace.dll Win64/CLRLoad.C CLRTải.
F181E87B0CD6AA4575FD51B9F868CA7B27240610 ncrypt.dll Win32/CLRLoad.A CLRTải.
4CCF0386BDE80C339EFE0CC734CB497E0B08049C ncrypt.dll Win32/CLRLoad.A CLRTải.
5CFC0D776AF023DCFE8EDED5CADA03C6D7F9C244 wlbsctrl.dll Win64/CLRLoad.E CLRTải.
05F19EBF6D46576144276090CC113C6AB8CCEC08 wlbsctrl.dll Win32/CLRLoad.A CLRTải.
A5D548543D3C3037DA67DC0DA47214B2C2B15864 secur32.dll Win64/CLRLoad.H CLRTải.
CBF42DCAF579AF7E6055237E524C0F30507090F3 dbghelp.dll Win64/CLRLoad.C CLRTải.

Đường dẫn tệp

Một số Đường dẫn chính, Đường dẫn tệp nhật kýIfLogFilePath các giá trị mà chúng tôi gặp phải trong các mẫu PNGLoad:

Đường dẫn chính Đường dẫn tệp nhật ký IfLogFilePath
C:Tệp chương trìnhVMwareCông cụ VMware C:Tệp chương trìnhVMwareCông cụ VMwareVMware VGAuthreadme.txt C:Tệp chương trìnhVMwareCông cụ VMwareVMware VGAuthVMWSU_V1_1.dll
C:Tệp chương trìnhWinRar C:Tệp chương trìnhWinRarrarinstall.log C:Tệp chương trìnhWinRardes.dat
C:Tệp chương trìnhUltraViewer C:Tệp chương trìnhUltraViewer‌CopyRights.dat C:Tệp chương trìnhUltraVieweruvcr.dll

mạng

miền IP
Không áp dụng 118.193.78 [.] 22
Không áp dụng 118.193.78 [.] 57
máy bay.travel-commercials[.]đại lý 5.183.101 [.] 9
Central.suhypercloud[.]org 45.77.36 [.] 243

Mutexes

Trong các mẫu CLRLoad, tên mutex mà chúng tôi gặp là:

aB82UduGX0EX
ad8TbUIZl5Ga
Mr2PJVxbIBD4
oERiQtKLgPgK
U37uxsCsA4Xm
Wo0r0KGWhYGO
xBUjQR2vxYTz
zYCLBWekRX3t
3c3401ad-e77d-4142-8db5-8eb5483d7e41
9xvzMsaWqxMy

Bạn có thể tìm thấy danh sách đầy đủ các Chỉ số Thỏa hiệp (IoC) và các mẫu trong kho GitHub của chúng tôi.

Kỹ thuật MITER ATT & CK

Bảng này được tạo bằng cách sử dụng phiên bản 11 của khung MITER ATT & CK.

Chiến thuật ID Họ tên Mô tả
Trinh sát T1592.002 Thu thập Thông tin Máy chủ Nạn nhân: Phần mềm PowHeartBeat tập hợp của explorer.exe thông tin.
T1592.001 Thu thập thông tin máy chủ nạn nhân: Phần cứng PowHeartBeat thu thập thông tin về ổ đĩa.
T1590.005 Thu thập Thông tin Mạng của Nạn nhân: Địa chỉ IP PowHeartBeat thu thập địa chỉ IP của máy tính bị xâm nhập.
Phát triển nguồn lực T1583.004 Có được cơ sở hạ tầng: Máy chủ Worok sử dụng máy chủ C&C của riêng mình.
T1588.002 Có được khả năng: Công cụ Worok đã triển khai nhiều công cụ có sẵn công khai trên các máy bị xâm nhập.
T1583.001 Có được cơ sở hạ tầng: Tên miền Worok đã đăng ký các miền để tạo điều kiện thuận lợi cho việc liên lạc và dàn dựng C&C.
T1588.005 Có được khả năng: Khai thác Worok đã lợi dụng lỗ hổng ProxyShell.
T1587.001 Phát triển khả năng: Phần mềm độc hại Worok đã phát triển phần mềm độc hại của riêng mình: CLRLoad, PNGLoad, PowHeartBeat.
T1587.003 Phát triển khả năng: Chứng chỉ kỹ thuật số Worok đã tạo chứng chỉ SSL Let's Encrypt để kích hoạt xác thực TLS lẫn nhau cho phần mềm độc hại.
Thực hiện T1059.001 Trình thông dịch Lệnh và Tập lệnh: PowerShell PowHeartBeat được viết bằng PowerShell.
Persistence T1505.003 Thành phần phần mềm máy chủ: Web Shell Worok sử dụng webshell ReGeorg.
Phòng thủ né tránh T1140 Giải mã / giải mã tệp hoặc thông tin Worok sử dụng nhiều sơ đồ dựa trên XOR tùy chỉnh khác nhau để mã hóa chuỗi và nhật ký trong PowHeartBeat, PNGLoad và CLRLoad.
T1036.005 Giả mạo: Khớp tên hoặc vị trí hợp pháp Các mẫu PNGLoad được triển khai trong các thư mục VMWare trông hợp pháp.
Quyền truy cập thông tin xác thực T1003.001 Bán phá giá thông tin xác thực hệ điều hành: Bộ nhớ LSASS Worok sử dụng Mimikatz để kết xuất thông tin xác thực từ bộ nhớ LSASS.
khám phá T1082 Khám phá thông tin hệ thống PowHeartBeat thu thập thông tin hệ điều hành.
T1083 Khám phá tệp và thư mục PowHeartBeat có thể liệt kê các tập tin và thư mục.
T1046 Khám phá dịch vụ mạng Công dụng của Workok Quét Nbt để lấy thông tin mạng trên các máy bị xâm nhập.
T1124 Khám phá thời gian hệ thống PowHeartBeat thu thập thông tin thời gian của nạn nhân.
Bộ sưu tập T1005 Dữ liệu từ Hệ thống cục bộ PowHeartBeat thu thập dữ liệu từ hệ thống cục bộ.
T1560.002 Lưu trữ dữ liệu đã thu thập: Lưu trữ qua Thư viện PowHeartBeat gzip nén dữ liệu trước khi gửi đến máy chủ C&C.
Lệnh và kiểm soát T1071.001 Giao thức lớp ứng dụng: Giao thức web Một số biến thể PowHeartBeat sử dụng HTTP làm giao thức liên lạc với máy chủ C&C.
T1090.001 Proxy: Proxy nội bộ PowHeartBeat xử lý cấu hình proxy trên máy của nạn nhân.
T1001.002 Làm xáo trộn dữ liệu: Steganography PNGLoad trích xuất các giá trị pixel từ . Png các tập tin để xây dựng lại tải trọng.
T1573.002 Kênh được mã hóa: Mật mã không đối xứng PowHeartBeat xử lý liên lạc HTTPS với máy chủ C&C.
T1095 Giao thức lớp không ứng dụng Một số biến thể PowHeartBeat sử dụng ICMP làm giao thức liên lạc với máy chủ C&C.
T1132.001 Mã hóa dữ liệu: Mã hóa tiêu chuẩn Worok sử dụng mã hóa XOR trong PowHeartBeat và PNGLoad.
T1132.002 Mã hóa dữ liệu: Mã hóa không chuẩn Worok sử dụng thuật toán mã hóa XOR sử dụng thêm muối.
Lọc T1041 Lọc qua kênh C2 PowHeartBeat sử dụng kênh liên lạc C&C của mình để lọc thông tin.

Worok: Bức tranh lớn về Trí tuệ dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Dấu thời gian:

Thêm từ Chúng tôi sống An ninh