# Mã độc Lumma Stealer sử dụng CAPTCHA giả để thực hiện các chiến dịch lừa đảo

Lumma Stealer là một loại malware chuyên đánh cắp thông tin, hoạt động như một dịch vụ dưới mô hình Malware-as-a-Service (MaaS). Nó chuyên đánh cắp dữ liệu nhạy cảm như mật khẩu, thông tin trình duyệt và thông tin chi tiết về ví tiền điện tử. Kẻ tấn công đã nâng cao chiến thuật của mình, chuyển từ lừa đảo truyền thống sang xác minh CAPTCHA giả mạo, khai thác phần mềm hợp pháp để phân phối Lumma Stealer một cách tinh vi và khiến nó rất khó để xoá bỏ ra khỏi hệ thống.

## 1\. Cách thức tấn công

Dưới đây là hình ảnh execution chain của Lumma Stealer :

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image1.png align="left")

*Hình 1: Execution Chain của Lumma Stealer*

Kẻ tấn công thường tạo ra các trang phishing được host trên nhiều nhà cung cấp khác nhau, thường sử dụng Content Delivery Networks (CDNs). Các trang này khai thác các lỗ hổng có sẵn hoặc lừa người dùng thực thi payload.

Gần đây, các nhà phân tích bảo mật đã phát hiện việc sử dụng trang CAPTCHA giả để lừa người dùng thực thi payload. Nó sử dụng các kỹ thuật fileless gồm nhiều giai đoạn với mục đích cuối cùng để phân phối mã độc, khiến mối đe dọa này được đánh giá là rất tinh vi và khó phát hiện.

## 2\. Phân tích kỹ thuật

### Bước 1: CAPCHA giả mạo

Kẻ tấn công tạo ra các trang web phishing có sử dụng CAPTCHA giả mạo. Những trang web này thường được host trên các nhà cung cấp khác nhau và có thể lợi dụng Content Delivery Networks (CDNs) để phát tán mã độc.Khi người dùng nhấp vào nút "I'm not a robot", các bước xác minh sẽ hiện ra. Sau khi hoàn thành việc xác minh thì trang web sẽ tạo một hộp thoại thông báo với mục đích lừa nạn nhân mở hộp thoại Run vào dán mã độc hại vào.

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image2.png align="left")

*Hình 2: Thông báo hiện lên với mục đích hướng dẫn nạn nhân dán mã độc vào hộp thoại Run*

### Bước 2: Copy mã PowerShell vào clipboard

Hàm verify() trên trang web này có một payload được mã hóa Base64, payload này được sao chép vào clipboard của người dùng khi họ nhấn nút xác minh.

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image3.png align="left")

*Hình 3: Payload trong hàm verify()*

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image4.png align="left")

*Hình 4: Payload sau khi được giải mã Base64*

### Bước 3: Mã PowerShell được thực thi trên hệ thống

Nếu nạn nhân làm theo yêu cầu của trang web, mở hộp thoại Run, dán mã độc hại và ấn Enter, payload sẽ thực hiện tải xuống các file mã độc.

### Bước 4: Download và thực thi JS script

**Mshta.exe** là một công cụ hợp pháp của Windows để chạy các ứng dụng HTML và các script nhúng. Khi một URL được chuyển tới mshta, nó sẽ tải một payload từ xa và lưu vào thư mục INetCache. Tệp tải xuống **2ndhsoru** là một tệp PE của công cụ Windows “Dialer.exe” với script trong phần overlay.

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image5.png align="left")

*Hình 5: Phần Overlay của PE*

Sau khi trích xuất phần overlay và giải mã script, đó là một mã JavaScript đã bị obfuscate (Hình 7). Payload này sử dụng một kỹ thuật thú vị gọi là polyglot, nơi mã HTA hợp lệ được nhúng trong các tệp khác và có thể thực thi trực tiếp bởi mshta. Điểm kích hoạt của script là một hàm eval để thực thi mã JavaScript (Hình 8).

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image6-1070x158.png align="left")

*Hình 6: Đoạn bắt đầu của script trong phần Overlay*

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image7-1070x95.png align="left")

*Hình 7: Script JS trong phần Overlay*

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image8-1070x102.png align="left")

*Hình 8: Mshta thực thi Script JS*

Mã JS tiếp tục tiết lộ một script PowerShell. Script PowerShell này chứa một payload mã hóa AES và một quy trình giải mã bằng chế độ CBC sử dụng một khóa giải mã cố định. Script này cũng sử dụng các kỹ thuật obfuscate bằng mã số học đơn giản.

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image9-1070x294.png align="left")

*Hình 9: Script PowerShell đã được mã hóa*

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image10.png align="left")

*Hình 10: Script PowerShell sau khi được giải mã*

### Bước 5: Download Lumma payload

Hành vi cuối cùng của script này là tải xuống **K1.zip** và **K2.zip** vào thư mục Temp, giải nén nó và thực thi **Victirfree.exe** (Lumma Stealer), như đã Hình 10. Dưới đây là nội dung từ các tệp **DLL (K1.zip)** và **VectirFree.exe (K2.zip)**.

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image11.png align="left")

*Hình 11: Các tệp K1 và K2 đã được tải xuống*

### Bước 6: Process Injection

VectirFree.exe sử dụng kỹ thuật process hollowing, một phương pháp thường được mã độc sử dụng để trốn tránh phát hiện. Nó nhắm vào một chương trình hợp pháp, “BitLockerToGo.exe”, để tiêm payload độc hại vào.

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image12.png align="left")

*Hình 12: Các API được gọi bằng kỹ thuật Hollowing Process*

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image13.png align="left")

*Hình 13: Vectirfree.exe thực hiện Hollowing Process*

Ngoài ra, **BitLockerToGo** thả các tệp trong thư mục temp. Tệp **72RC2SM21DDZ2OAH3P30V1XPT5AE7YN.exe** sao chép “Killing.bat” và “Voyuer.pif” vào cùng thư mục. Script .bat kiểm tra các tiến trình antivirus như wrsa.exe (Webroot Antivirus Component), opssvc.exe (Quick Heal Antivirus Component), và bdservicehost.exe (Bitdefender), cùng với các chương trình khác, bằng cách sử dụng tasklist và findstr.

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image14.png align="left")

*Hình 14: Code Killing.bat đã được obfuscate*

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image15.png align="left")

*Hình 15: Code Killing.bat sau khi de-obfuscate*

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image16.png align="left")

*Hình 16: Process tree quá trình xâm nhập*

### Bước 7: Thu thập thông tin nhạy cảm

Mã độc khởi chạy tìm kiếm các file nhạy cảm và dữ liệu liên quan đến ví tiền mã hóa cũng như các file *.txt* chứa mật khẩu trên nhiều thư mục của hệ thống bị xâm nhập. Nó đặc biệt tìm kiếm các file có từ khóa cho thấy chúng có thể chứa thông tin mật, chẳng hạn như seed.txt, pass.txt, .kbdx, ledger.txt, trezor.txt, bitcoin.txt, word, wallet.txt,...

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image17.png align="left")

*Hình 17: Thu thập mật khẩu và ví tiền mã hoá*

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image18.png align="left")

*Hình 18: Thu thập dữ liệu đăng nhập và nhật ký trình duyệt*

### Bước 8: Trích xuất dữ liệu

Lumma Stealer giao tiếp với command and control servers (C2) để trích xuất dữ liệu đã đánh cắp được, thường là những server có đuôi miền ".shop". Những máy chủ này thường không dễ phát hiện nhờ việc sử dụng CDNs như Cloudflare để phân phối payload và duy trì kết nối.

![](https://ik.imagekit.io/qualys/wp-content/uploads/2024/10/image19.png align="left")

*Hình 19: Mã độc giao tiếp với C2 server*

## 3\. **MITRE ATT&CK Techniques**

| **Operation** | **Techniques** |
| --- | --- |
| Fake captcha verification | [T1566: Phishing](https://attack.mitre.org/techniques/T1566/) |
| Executed the initial PS code | [T1204: User Execution](https://attack.mitre.org/techniques/T1204/)  
[T1059.001: Command and Scripting Interpreter: PowerShell](https://attack.mitre.org/techniques/T1059/001/) |
| Download the payload using mshta, which had overlayed script | [T1218.005: System Binary Proxy Execution: Mshta](https://attack.mitre.org/techniques/T1218/005/)  
[T1027.009: Obfuscated Files or Information: Embedded Payloads](https://attack.mitre.org/techniques/T1027/009/) |
| Executed the encrypted payload using powershell.exe | [T1059.001: Command and Scripting Interpreter: PowerShell](https://attack.mitre.org/techniques/T1059/001/)  
[T1027.013: Obfuscated Files or Information: Encrypted/Encoded File](https://attack.mitre.org/techniques/T1027/013/) |
| PowerShell downloaded Lumma Stealer and executed | [T1059.001: Command and Scripting Interpreter: PowerShell](https://attack.mitre.org/techniques/T1059/001/) |
| Lumma Injected malicious payload in BitLockerToGo | [T1055.012: Process Injection: Process Hollowing](https://attack.mitre.org/techniques/T1055/012/) |
| Information collection | [T1217: Browser Information Discovery](https://attack.mitre.org/techniques/T1217/) [T1083: File and Directory Discovery](https://attack.mitre.org/techniques/T1083/) |
| Injected process executed killing.bat script | [T1059.003: Command and Scripting Interpreter: Windows Command Shell](https://attack.mitre.org/techniques/T1059/003/) |
| Batch script discover the process and start autoit | [T1057: Process Discovery](https://attack.mitre.org/techniques/T1057/) |
| Autoit executes the script | [T1059.010: Command and Scripting Interpreter: AutoIT](https://attack.mitre.org/techniques/T1059/010/) |
| Exfiltration | [T1041: Exfiltration Over C2 Channel](https://attack.mitre.org/techniques/T1041/) |

## 4\. Khuyến nghị

Phía **FPT Threat Intelligence** khuyến nghị tổ chức và cá nhân một số cách để phòng chống chiến dịch này:

* **Sử dụng các dịch vụ Threat Intelligence**: Triển khai hệ thống thông tin mối đe dọa để chủ động đối phó với các mối đe dọa liên quan đến Lumma Stealer.
    
* **Bảo vệ điểm cuối mạnh mẽ**: Sử dụng các giải pháp bảo mật điểm cuối có khả năng giám sát và phát hiện mối đe dọa theo thời gian thực, chẳng hạn như phần mềm chống mã độc và hệ thống phòng chống xâm nhập mạng (NIDS/NIPS).
    
* **Giám sát hoạt động mạng liên tục**: Thiết lập hệ thống NIDS/NIPS để theo dõi các hoạt động mạng, kết hợp với tường lửa ứng dụng web để lọc và chặn các hoạt động đáng ngờ.
    
* **Chặn liên lạc ra ngoài với máy chủ độc hại**: Cấu hình tường lửa để chặn các kết nối đến các địa chỉ IP và tên miền có liên quan đến Lumma Stealer. Bằng cách ngăn chặn giao tiếp với các máy chủ điều khiển, bạn có thể ngăn mã độc gửi dữ liệu thu thập ra bên ngoài.
    
* **Giám sát hành vi bất thường**: Sử dụng công cụ giám sát hành vi để phát hiện các mẫu hoạt động đáng ngờ như các quy trình cố gắng tạo kết nối mạng không được phép.
    
* **Chỉ cho phép các ứng dụng đã phê duyệt**: Áp dụng whitelisting để chỉ cho phép các ứng dụng đã được phê duyệt chạy trên các điểm cuối. Điều này ngăn chặn việc thực thi các ứng dụng độc hại hoặc không được phép, giúp giảm nguy cơ bị xâm nhập.
    
* **Đánh giá và kiểm tra bảo mật định kỳ**: Thực hiện kiểm tra thâm nhập và đánh giá lỗ hổng bảo mật thường xuyên để tìm ra và khắc phục các lỗ hổng trong hệ thống. Quá trình này giúp cải thiện mức độ an toàn và ngăn ngừa các lỗ hổng bị khai thác.
    
* **Áp dụng các tiêu chuẩn bảo mật**: Sử dụng các tiêu chuẩn bảo mật để thiết lập quy trình và chính sách bảo mật cơ bản cho tổ chức. Điều này giúp đảm bảo an ninh mạng toàn diện và duy trì hệ thống bảo mật ổn định.
    
* **Xây dựng kế hoạch ứng phó sự cố toàn diện**: Lập kế hoạch với các bước xử lý khi xảy ra sự cố malware, bao gồm cô lập hệ thống bị ảnh hưởng và thông báo cho các bên liên quan. Kế hoạch này giúp tổ chức phản ứng nhanh chóng và hiệu quả trong trường hợp bị tấn công.
    
* **Tăng cường nhận thức và đào tạo an ninh**: Tổ chức các chương trình nâng cao nhận thức và đào tạo bảo mật cho nhân viên để ngăn ngừa các tấn công như social engineering attack.
    
* **Cập nhật bản vá bảo mật kịp thời**: Thường xuyên cập nhật các bản vá bảo mật để giảm thiểu nguy cơ bị xâm phạm. Việc duy trì hệ thống luôn được bảo mật giúp ngăn ngừa lỗ hổng bị khai thác.
    

## 5\. IOCs liên quan đến Lumma Stealer

### Domain

| **C2 Domain** |
| --- |
| futureddospzmvq\[.\]shop |
| writerospzm\[.\]shop |
| mennyudosirso\[.\]shop |
| deallerospfosu\[.\]shop |
| quialitsuzoxm\[.\]shop |
| complaintsipzzx\[.\]shop |
| bassizcellskz\[.\]shop |
| languagedscie\[.\]shop |
| celebratioopz\[.\]shop |

### Files

| **File Name** | **Type** | **Hash (SHA256)** |
| --- | --- | --- |
| 2ndhsoru | PE32 | 7d6ee310f1cd4512d140c94a95f0db4e76a7171c6a65f5c483e7f8a08f7efe78 |
| K1.zip | Zip | ca5c90bb87d4cb3e008cf85c2af5ef8b198546586b6b3c50cd00d3e02514e8b8 |
| K2.zip | Zip | 7fbbbfb9a886e43756b705317d3dff3bc0b1698007512d4c42d9df9c955780ce |
| WMSPDMOD.DLL | DLL | 44fe887d10886aa8bbe8232fee270c21992aba9db959f58ebaea348af45e087a |
| WMSPDMOE.DLL | DLL | 2e56b42cf272f55cb3c8ed67245babb70b995d5b86863017fc846a68244b5773 |
| WmsStatusTab.Resources.dll | DLL | 92f31b07a70b98bd4f9e24e94acf10f7ac83cb2b642ca41c8bde147c9295588b |
| WMVCORE.DLL | DLL | 04beac6c1d6023442f94eebe4cdcec11bc47e0a89ec38ba2eb0584d741f8806d |
| WMVDECOD.DLL | DLL | 1cb6b6b1f0889771b740a22f119688e427be00de41e5a9440b2a85940b71396b |
| WMVENCOD.DLL | DLL | 3f4d33bc3402326c72db9ff484cccb929df458ca44b389ce1c505a3f237d23a4 |
| VectirFree.exe | PE64 | 7514d84ca507562a346896ff48a57d1d475f3cfed16e5e6abefd33a97c6323b9 |
| Injected Payload | PE32 | 867a63971c9e09e9f941d839d7ed328a4cdfea2fe985488e7d96bc0b31a34de2 |
| 72RC2SM21DDZ2OAH3P30V1XPT5AE7YN.exe | PE64 | 08f30ece5f7e77a69e58a970b3684c2a0eba1aa203ac97836dad32fc10a15e90 |
| Voyuer.pif (AutoIt.exe) | PE32 | d8b7c7178fbadbf169294e4f29dce582f89a5cf372e9da9215aa082330dc12fd |
| Killing.bat (Obfuscated) | BAT | 432a473f21a57610df93773a79ae94365d6c2b6aa1555123bfdd658a6f28cf2f |

### IP

| **IP** | **Usage Type** |
| --- | --- |
| 172.67.209.145 | Cloudflare CDN |
| 104.21.77.155 | Cloudflare CDN |

## 5\. Tham khảo

1. [Unmasking Lumma Stealer: Analyzing Deceptive Tactics with Fake CAPTCHA](https://blog.qualys.com/vulnerabilities-threat-research/2024/10/20/unmasking-lumma-stealer-analyzing-deceptive-tactics-with-fake-captcha)
    
2. [Lumma Stealer: Tactics, Impact, and Defense Strategies](https://www.cyfirma.com/research/lumma-stealer-tactics-impact-and-defense-strategies/)
