CMC cảnh báo người dùng Việt nguy cơ bị tấn công từ bộ gõ Unikey

hang_h3
Thông tin được các chuyên gia bảo mật của Công ty an ninh mạng CMC Cyber Security phát hiện vào ngày 4-12, thông qua hệ thống giám sát và phòng thủ mã độc, họ đã phát hiện một mẫu mã độc mới có khả năng được tin tặc sử dụng vào mục đích thực hiện những cuộc tấn công mạng nhắm vào người dùng máy tính sử dụng bộ gõ phổ biến tại Việt Nam Unikey.

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 phiên bản chính thức(từ trang unikey.org) nhưng chèn thêm vào đó mã độc nguy hiểm đối với người dùng.

01_tt_chung.png

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 kdbus.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.
02_timestamp.png


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ó.

03_loadkb.png

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ó.

04_kdbusmain.png

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.

04_kbdstr-1.png


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 đó.

05_kdbdecrypt.png

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.

06_kdbxml.png

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.

08_kdb_decryptdata.png


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 kdbus.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 đó.
09_knocker.png

10_knockertime.png

11_knockerloader.png

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.
12_knockerresult.png


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.
13_knockeraction.png


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.
14_knocker_setvalue.png



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.
15_knockerrequest.png


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.
16_domain.png

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

17_ip.png

Đá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/
 
Trả lời

IMBAHaha

Búa Gỗ Đôi
Ăn hàng bẩn lại đổ lỗi cho hàng chuẩn. Ngu người vn.
 

Hamano Kaito

Moderator
các bạn sẽ không phải lo nghĩ gì nếu xài EVKey. phần mềm này ngon hơn Unikey rất nhiều mà ít người biết quá

Soft nào cũng vậy thôi bạn, một khi nổi tiếng thì sẽ có nhiều hacker để ý. Mà để ý rồi thì sẽ có người làm giả soft để chèn mã độc vào.

nhân tiện cho e hỏi cách nào để đọc và sửa file .dll vậy ạ?

Bạn có học lập trình chưa ? Nếu chưa thì tốt nhất khỏi tìm hiểu, vì ko thể nào mà làm được {rofl}{rofl}
 

ansos123

Rìu Bạc
may quá toàn sài EVkey. Còn cách tốt hơn đó là sài bộ gõ tiếng việt trên Windows 10 mới nhất
 

nhokakirati

Búa Gỗ Đôi
Soft nào cũng vậy thôi bạn, một khi nổi tiếng thì sẽ có nhiều hacker để ý. Mà để ý rồi thì sẽ có người làm giả soft để chèn mã độc vào.



Bạn có học lập trình chưa ? Nếu chưa thì tốt nhất khỏi tìm hiểu, vì ko thể nào mà làm được {rofl}{rofl}
mình đã học lập trình, biết sử dụng các phần mềm lập trình, nhưng vì không phải chuyên ngành nên mới không biết decompile file dll :)
 

2ssky

Búa Đá
các bạn sẽ không phải lo nghĩ gì nếu xài EVKey. phần mềm này ngon hơn Unikey rất nhiều mà ít người biết quá
Mã:
https://vn-z.vn/threads/evkey-phan-mem-go-tieng-viet-tot-nhat-thay-the-unikey.17547/
EVKey này có bị lỗi khi gõ TV trên Universal Apps như Unikey ko bạn?
 

Hamano Kaito

Moderator
mình đã học lập trình, biết sử dụng các phần mềm lập trình, nhưng vì không phải chuyên ngành nên mới không biết decompile file dll :)

Nếu vậy thì bạn vào những trang hay chia sẽ phần mềm crac_k (những diễn đàn lớn hoặc 1 blog do 1 nhóm crac_ker tạo nên), thường trong đó sẽ có các bài hướng dẫn nằm trong đó luôn đấy
 

nhokakirati

Búa Gỗ Đôi
Nếu vậy thì bạn vào những trang hay chia sẽ phần mềm crac_k (những diễn đàn lớn hoặc 1 blog do 1 nhóm crac_ker tạo nên), thường trong đó sẽ có các bài hướng dẫn nằm trong đó luôn đấy
mình cảm ơn. Bạn có thể cho mình biết tên của diễn dàn nào đó ban biết ko?
 

taljbang

Gà con
đang dùng ev-key bớt được thằng nào đỡ lo thằng đó
 

1234560987

Rìu Vàng
May quá chuyển sang dùng EVKey đc 1 tgian rồi vì unikey cứ hay bị lỗi gõ tiếng Việt trong LoL :p
 

DUBID

Búa Gỗ
Trước giờ toàn dùng của unikey.org, giải nén dùng ngay. Vừa cài lại win bản 1909 thì dùng luôn của win nên không lo lắm xD
Untitledac284e82855aedf0.png
 

SonSoi

Búa Gỗ
Cái này chắc chỉ bị khi download từ các nguồn không phải Unikey.org thôi chứ nhỉ
 

Mechzzz

Búa Đá Đôi
các bạn sẽ không phải lo nghĩ gì nếu xài EVKey. phần mềm này ngon hơn Unikey rất nhiều mà ít người biết quá
Mã:
https://vn-z.vn/threads/evkey-phan-mem-go-tieng-viet-tot-nhat-thay-the-unikey.17547/
Bạn có chắc chắn về điều đó không? Mình nhớ không nhầm thì chủ thớt đó không public mã nguồn.
 

Handrf

Kiếm đá
Bạn có chắc chắn về điều đó không? Mình nhớ không nhầm thì chủ thớt đó không public mã nguồn.
Mình k chắc rằng EVKey hoàn toàn sạch nhưng chủ sở hữu rất nhiệt tình update và lắng nghe ý kiến ae trên page fb và đó là một dấu hiệu tích cực

update: source đây nhé bạn
Mã:
https://github.com/lamquangminh/EVKey/

update2: chủ thớt đó chỉ là người chia sẻ. không phải tác giả.
 
Sửa lần cuối:

haihong20082009

Rìu Sắt Đôi
Mình k chắc rằng EVKey hoàn toàn sạch nhưng chủ sở hữu rất nhiệt tình update và lắng nghe ý kiến ae trên page fb và đó là một dấu hiệu tích cực

update: source đây nhé bạn
Mã:
https://github.com/lamquangminh/EVKey/

update2: chủ thớt đó chỉ là người chia sẻ. không phải tác giả.
Chỉ là các file đã biên dịch xong và các phần phụ, code chính để hình thành bộ gõ EVkey lấy từ UniKey do bạn Kim Long chia sẻ từ khi Win XP mới ra đời vài năm ở trang UNIKEY.ORG. Chính tác giả của EVkey cũng thừa nhận EVkey được phát triển từ mã nguồn mở của UniKey.
Bản UniKey mới nhất tải từ trang chủ UNIKEY.ORG sẽ không bị lỗi gì cả, kể cả trong Note (Office 2019).
 

Hamano Kaito

Moderator
@haihong20082009 | Đọc bình luận từ trên xuống dưới chỉ có của bạn này là làm mình hài lòng.
EVKey lấy source lại từ Unikey rồi biên dịch lại thì tất cả ko phải là của EVKey mà là của Unikey với tên khác do người khác làm ra. Làm vậy được gì nhỉ ?? {confuse}
Mình từng xài qua vietkey, unikey, gotiengviet nhưng chưa bao giờ xài EVKey này ! {redface}