Chia sẻ góc độ kỹ thuật về việc Mã độc đánh cắp thông tin của chúng ta như thế nào?

Nếu phát hiện có dấu hiệu bị tấn công lừa đảo. Anh/chị/em gửi thông tin về hòm thư soc@misa.com.vn để được hỗ trợ

Trong khoảng thời gian vừa qua, tại một số hội nhóm trên mạng xã hội Facebook, diễn đàn trực tuyến, nổi lên các bài viết của một số người dùng, liên quan đến vấn đề lừa đảo trực tuyến. Điểm chung của những bài viết này đều kể rằng họ là nạn nhân bị lừa đảo, họ bị dẫn dụ cài các ứng dụng mã độc, dẫn đến mất tiền trong tài khoản ngân hàng.

Về cơ bản, mô hình hoạt động của các loại mã độc này thường như thế này:

Những kẻ lừa đảo thường tiếp cận những người dùng này theo nhiều cách khác nhau như đóng giả thành nhân viên, nhắn tin với người dùng rằng họ cần nhanh chóng hoàn thiện một số thủ tục hành chính còn thiếu hoặc sửa lại các thông tin công dân bị sai lệch thông qua một ứng dụng có tên tệp tin là “Dichvucong.apk”, tải xuống và cài đặt từ một số website có tên miền như “dichvucong.lgov.net”, “dichvucong.dancuquocgia.net”,…

Ứng dụng giả mạo này sử dụng logo có hình quốc huy của quốc gia Việt Nam và tên là “DỊCH VỤ CÔNG” nhằm đánh lừa thị giác của người dùng.

Ta thực hiện kiểm thử và phân tích mã dịch ngược từ tệp tin “Dichvucong.apk” được tải xuống từ website “dichvucong.lgov.net”.

Từ mã dịch ngược của tệp tin “Dichvucong.apk”, trong những phân vùng code thực hiện khởi tạo, chúng tôi phát hiện ra một string là “virbox”.

“VIRBOX” là một cái tên khá nổi tiếng trong khoảng thời gian gần đây. Đây là một công nghệ bảo vệ ứng dụng, bao gồm các chức năng: anti-debug, anti-repacking, code obfuscation, code encryption, string encryption,… Công nghệ này đang được sử dụng bởi malware nổi tiếng khác như GoldDigger.

Mã dịch ngược của tệp tin “Dichvucong.apk” không thực hiện trực tiếp bất kì hành vi nguy hại nào ngoài việc khởi tạo môi trường cần thiết và tải động một thư viện đặt trong thư mục “assets” của ứng dụng.

Tùy vào kiến trúc mà thư viện được tải sẽ có suffix tương ứng trong tên, trên thiết bị mà chúng tôi sử dụng, ứng dụng sẽ tải động thư viện “l4eee8b4d_a32.so”

Tiến hành đọc file “index.html”, “kqkticwjgzy.dat” không thu lại được kết quả gì ngoài những chuỗi byte vô nghĩa. Tiếp theo, tiến hành dịch ngược thư viện, như kết quả dự đoán, phần lớn mã nguồn đã bị obfuscated và encryption, rất khó để reverse.

image

Để có thể đọc được mã nguồn ứng dụng “một cách rõ ràng”, chúng ta cần dumped memory của tiến trình ứng dụng tại thời điểm ứng dụng đã được khởi chạy, khi đó mã nguồn thực sự đã được deobfuscated và decryption, các class java của ứng dụng được load vào memory.

Tiến hành dump các class trong memory của tiến trình ứng dụng:

Ta thu được mã nguồn dịch ngược như sau:

Từ mã nguồn dịch ngược, có thể nhận thấy ứng dụng khai báo một Accessiblity Service. Các dịch vụ trợ năng (Accessiblity Service) của Android nhằm hỗ trợ người dùng khuyết tật vận hành thiết bị của họ. Các dịch vụ này cung cấp các khả năng như đọc màn hình, phóng to, điều khiển dựa trên cử chỉ, chuyển giọng nói thành văn bản, phản hồi xúc giác và các tính năng khác.

Một số Trojan ngân hàng như Gustuff, Gigabud và GoldDigger đã và đang lợi dụng tính năng này để thực hiện các hành vi độc hại trên thiết bị của người dùng.

Tính năng này cho phép ứng dụng Trojan được cấp quyền Accessibility có thể quay lại màn hình, đọc được các đoạn thành phần văn bản trên màn hình, ghi chép lại thao thác gõ phím (keylogger), tự động điền văn bản,…

Ứng dụng độc hại có thể thu thập thông tin người dùng, quan sát số dư tài khoản ngân hàng, đánh cắp thông tin đăng nhập, ghi lại thông tin văn bản mà người dùng đã nhập,…

com.yiwuzhibo.controller.TouchAccessibilityService

Máy chủ mà ứng dụng tương tác để lấy một số thông tin chung về các ngân hàng ở Việt Nam:

com.yiwuzhibo.BuildConfig

Một số API endpoint của máy chủ trên giúp ứng dụng lấy được các thông tin liên quan đến ngân hàng và người dùng ngân hàng Việt Nam:

k1.a
Kiểm tra một số endpoints nhận thấy máy chủ vẫn còn đang hoạt động và thông tin trả về liên quan đến các ngân hàng của Việt Nam.

Ứng dụng có các hành vi tiến hành tự động mở khóa màn hình:

com.yiwuzhibo.controller.LockManager$swipeUp$1

Tự động mở khóa màn hình

Khai báo các lớp nhằm thu thập các mật khẩu:

com.yiwuzhibo.controller.PasswordCapture2

Ứng dụng khai báo các lớp nhằm thực hiện tự động hóa các thao tác click các đối tượng trên màn hình thiết bị:

Ứng dụng khai báo các lớp nhằm thực hiện tự động hóa các thao tác click các đối tượng trên màn hình thiết bị:

Ứng dụng khai báo các lớp nhằm điều khiển ứng dụng từ xa cũng như gửi dữ liệu thu thập đến máy chủ thông qua tcp:

com.yiwuzhibo.controller.RemoteCommandClient
com.common.want.WantCommonService
com.common.want.WantCommonService

Gửi một số thông tin thu thập được từ thiết bị tới máy chủ C&C

Ứng dụng khai báo các lớp hỗ trợ quay video màn hình:

com.yiwuzhibo.record.ScreenRecordService

Phần kỹ thuật đến đây thì cũng đã khá dài, vậy người dùng cuối cần làm gì???

Nếu đã dính mã độc hại bằng phương thức trên, ta cần thực hiện hành động nhanh sau để tin tặc không thể thực hiện hành vi tiếp theo:

  • Sao lưu tất cả những dữ liệu quan trọng.
  • Khôi phục cài đặt gốc trên thiết bị
  • Đổi hết toàn bộ password của các ứng dụng mạng xã hội, ngân hàng,…

Với trường hợp các dạng mã độc được ngụy trang dưới các app giả mạo như hiện tại, mỗi cá nhân cần phải thực hiện khẩn trương một số biện pháp sau để đảm bảo an toàn:

  • Rà soát lại toàn bộ ứng dụng, đảm bảo ứng dụng được tải và cài đặt từ bên tin cậy như AppStore (Apple), CHPlay (Android)
  • Người dùng phải nâng cao nhận thức của bản thân,
  • Không cài đặt ứng dụng từ nguồn thứ ba không đáng tin cậy
  • Luôn cập nhật thiết bị lên phiên bản mới nhất
  • Chú ý ứng dụng đòi hỏi những permissions nào khi khởi chạy.

Hãy luôn cẩn trọng trước các lời mời gọi cài đặt app lạ!!!

—-Nguồn tham khảo: Cục ATTT —