Ghost Locker là một Ransomware-as-a-Service (RAAS) do GhostSec [các nhóm hacker] tạo ra. Vào tháng 2023 năm 2023, GhostSec đã ra mắt nền tảng GhostLocker. Sau các hoạt động hợp tác thành công với nhóm ransomware Stormous vào tháng XNUMX năm XNUMX, các nhà điều hành ransomware GhostLocker cung cấp nhiều tùy chọn khác nhau cho các chi nhánh của chúng.
Ghost Locker 2.0 là một biến thể mới của mã độc tống tiền , đánh cắp và mã hóa các tập tin của nạn nhân, sau đó đòi tiền chuộc để lấy khóa giải mã cần thiết để mở khóa các tập tin đó. Chúng tôi đã ghi nhận nó ảnh hưởng đến các quốc gia như Brazil, Ấn Độ, Trung Quốc, Nam Phi, Ai Cập, Thổ Nhĩ Kỳ và nhiều quốc gia khác.
Phân tích kỹ thuật:
Seqrite Trong quá trình săn lùng mối đe dọa, chúng tôi đã quan sát thấy hai biến thể của phần mềm tống tiền Ghost Locker trong thực tế. Phiên bản Ghost Locker 1.0 được viết bằng ngôn ngữ lập trình Python, còn phiên bản 2.0 được viết bằng ngôn ngữ Golang.
Biến thể 1:
Trong quá trình thực thi ban đầu, biến thể này sẽ lấy thư mục Windows Startup và sao chép chính nó vào thư mục đó để thiết lập tính bền bỉ.

Hình 1: Tạo sự bền bỉ
Sau đó, nó sẽ lấy danh sách các ổ đĩa được gắn trên máy của nạn nhân để sử dụng trong quá trình mã hóa.

Hình 2: Lấy danh sách trình điều khiển
Nó cũng tạo ra một chuỗi ngẫu nhiên 32 byte và sử dụng chuỗi này làm ID trong tệp JSON Ransomware. Kẻ tấn công sử dụng ID này trong bảng điều khiển để xác định máy tính bị nhiễm.

Hình 3: Tạo ID
Phần mềm tống tiền thiết lập kết nối với Máy chủ C2 của tác nhân đe dọa thông qua URL “hxxp[://]41[.]216[.]183[.]31[/]incrementLaunch” để thông báo cho tác nhân đe dọa rằng có thêm một máy nạn nhân nữa trong danh sách của chúng [bảng điều khiển của Ghost Locker].

Hình 4: Kết nối C2
Biến thể Ghost Locker này tạo ra một khóa bí mật bằng thuật toán mã hóa đối xứng Fernet. Khóa bí mật được tạo ra sẽ được gửi đến tác nhân đe dọa qua tệp JSON và được sử dụng trong khi mã hóa các tệp.

Hình 5: Tạo khóa bí mật
Sau đó, ransomware tạo ra địa chỉ IP của nạn nhân, ID mã hóa, ngày lây nhiễm và các thông tin khác từ các tham số cấu hình, bao gồm trạng thái mã hóa, rồi thu thập số tiền chuộc và chuỗi nhận dạng nạn nhân.
Phần mềm tống tiền tạo một tệp JSON trên máy của nạn nhân và lưu trữ các thông tin chi tiết trên.

Hình 6: Tạo tệp JSON
Tệp JSON được tạo sau đó được gửi đến máy chủ C2 thông qua URL “hxxp[://]41[.]216[.]183[.]31[/]addInfection” để đăng ký máy nạn nhân trong bảng điều khiển C2 đó.

Hình 7: Đăng ký máy bị nhiễm với bảng điều khiển C2
Biến thể này kiểm tra xem hệ thống bị nhiễm có quyền Quản trị hay không. Nếu không, nó sẽ lấy quyền này thông qua tiện ích takeown để truy cập hệ thống tệp, chẳng hạn như đọc và xóa.

Hình 8: Nhận quyền sở hữu thông qua takeown
Như thể hiện trong Hình 9 bên dưới, quá trình mã hóa sẽ bỏ qua thư mục “C:\Windows”, tệp “new-mains.exe” cũng như các tệp có phần mở rộng “ .ghost” .

Hình 9: Bỏ qua các tập tin và thư mục
Phần mềm tống tiền này sử dụng thuật toán mã hóa AES và độ dài khóa 256 bit. Nó mã hóa tệp trong bộ nhớ, tạo một bản sao của tệp đã mã hóa trên đĩa với phần mở rộng ".ghost", sau đó xóa tệp gốc.

Hình 10: Quá trình mã hóa
Sau khi quá trình mã hóa hoàn tất, phần mềm tống tiền sẽ chèn thông báo đòi tiền chuộc vào một tệp HTML có tên “ Ransomnote.html ” trên màn hình máy tính của nạn nhân và khởi chạy nó bằng lệnh “Start” của Windows.

Hình 11: Ghi chú về phần mềm tống tiền
Biến thể 2:
Biến thể Ghost locker này chủ yếu dựa trên Golang. Phần lớn chức năng ransomware vẫn giống như Biến thể 1.
Sự khác biệt giữa hai phiên bản Ghost Locker này là:
- Máy chủ C2 đã thay đổi: từ hxxp:[//]41[.]216[.]183.31[/](Hình 7) Máy chủ C2 trong biến thể 1, thành hxxp[://]94[.]103[.]91[.]246[/] Máy chủ C2 trong biến thể 2.
- Thực thi: Biến thể 1 vẫn thực thi ngay cả khi không có kết nối thành công đến máy chủ C2. Tuy nhiên, Biến thể 2 chỉ thực thi hoàn toàn nếu máy nạn nhân có thể thiết lập kết nối thành công với C2.
- Tên người dùng trong tệp JSON: Tên người dùng là không trong biến thể 1 và ghostsec trong biến thể 2 trong tệp JSON được tạo trong bộ nhớ. Một chi nhánh khác dường như đã tạo ra tệp nhị phân ransomware này với các cấu hình khác nhau thông qua trình tạo ransomware này.
- Rò rỉ dữ liệu: Như thể hiện trong Hình 13, Biến thể 2 sẽ vô hiệu hóa các dịch vụ và quy trình do tác nhân đe dọa xác định để tránh bị phát hiện; các tệp mục tiêu do tác nhân đe dọa xác định để mã hóa và rò rỉ dữ liệu là .doc, .docx, .xls và .xlsx.
- Bỏ qua tệp: Như đã đề cập trong Hình 9, biến thể 1 đã thêm “new-mains.exe”tệp vào danh sách bỏ qua trong quá trình mã hóa, nhưng biến thể 2 thì không.
Như đã đề cập trong Hình 1 và 3, biến thể Ghost locker này cũng tự sao chép vào thư mục Khởi động Windows để thiết lập tính bền bỉ và tạo một chuỗi ngẫu nhiên 32 byte cho ID trong Tệp JSON.
Sau khi máy bị nhiễm được đăng ký với bảng điều khiển C2, mẫu ransomware sẽ cố gắng chấm dứt danh sách quy trình hoặc dịch vụ đã xác định [danh sách tác nhân đe dọa đã xác định khi xây dựng mẫu ransomware] trên máy của nạn nhân.


Hình 12: Các hàm để hủy các dịch vụ và quy trình do TA xác định
Nó tìm kiếm các tệp mục tiêu trên máy nạn nhân bằng cách sử dụng danh sách phần mở rộng tệp do tác nhân đe dọa xác định. Trước khi quá trình mã hóa bắt đầu, nó tải các tệp mục tiêu lên máy chủ C2 thông qua URL, như được hiển thị trong Hình 13, bằng phương thức HTTP post. Trong biến thể này, tác nhân đã trích xuất và mã hóa các tệp có phần mở rộng .doc, .docx, .xls và .xlsx.

Hình 13: Trích xuất các tệp được TA chỉ định vào máy chủ C2
IOCS:
C30A14B595FA334084CD32FA60B3C827
8AD67A1B7A5F2428C93F7A13A398E39C
hxxp[:]//94[.]103[.]91.246[/]tăng dần
hxxp[://]41[.]216[.]183[.]31[/]tăng dần
hxxp[:]//94[.]103[.]91.246[/]thêm Nhiễm trùng
hxxp[://]41[.]216[.]183[.]31[/]thêm Nhiễm trùng
phát hiện:
Tiền chuộc.Ghostlockr.S32894932
Quy tắc Yara:
nhập khẩu “pe”
quy tắc Ghost_locker
{
dây:
//$s2={06 6F ?? 00 00 0A 28 ?? 00 00 0A 28 ?? 00 00 0A 28 ?? 00 00 06 26}
$s1={3C 74 69 74 6C 65 3E 47 68 6F 73 74 4C 6F 63 6B 65 72 20 4E 6F 74 65 3C 2F 74 69 74 6C 65 3E}
$s2={68 74 74 70 3A 2F 2F ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 2F 61 64 64 49 6E 66 65 63 74 69 6F 6E}
$s3={68 74 74 70 3A 2F 2F ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 2F 69 6E 63 72 65 6D 65 6E 74 4C 61 75 6E 63 68}
$s4={3C 61 20 68 72 65 66 3D 22 68 74 74 70 3A 2F 2F ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 2F 76 69 63 74 69 6D 63 68 61 74 3F 69 64 3D 5B 45 4E 43 52 59 50 54 49 4F 4E 49 44 5D 22 3E 43 6C 69 63 6B 20 6D 65 3C 2F 61 3E}
$s5={2E 67 68 6F 73 74 }
Tình trạng: Tất cả
TTP của MITRE ATTACK:
| Chiến thuật | Kỹ thuật / Thủ tục |
| Thực hiện | Q1059.003: Bộ thông dịch lệnh và tập lệnh: Windows Command Shell
|
| khám phá | Q1007: Khám phá dịch vụ hệ thống |
| Q1082: Khám phá thông tin hệ thống | |
| Q1083: Khám phá tệp và thư mục | |
| Lệnh và kiểm soát | Q1071: Giao thức lớp ứng dụng |
| Lọc | Q1041: Lọc qua kênh C2
|
| Va chạm | Q1486: Dữ liệu được mã hóa cho tác động |
| Q1489: Dừng dịch vụ | |
| Q1490: Ức chế phục hồi hệ thống |
Kết luận:
Ghost Locker là một Ransomware dạng Dịch vụ (RAAS) đã chuyển từ tập lệnh Python sang ngôn ngữ Go. Nó đánh cắp dữ liệu và mã hóa các tệp. Để tránh bị phát hiện, nó sẽ vô hiệu hóa các dịch vụ hoặc quy trình do tác nhân đe dọa xác định và sau khi mã hóa, nó sử dụng cơ chế tự xóa.
tác giả:
Manoj Kumar Neelamegam
Đồng tác giả:
Rumana Siddiqui



