[Mobile] Giới thiệu mẫu NotCompatible Trojan - nguồn gốc cho các cuộc tấn công mạng quy mô lớn!
Giới thiệu về NotCompatible Trojan - các đặc trưng điển hình.
A. TỔNG QUAN
1. NotCompatible Trojan
NotCompatible Trojan xâm nhập vào máy người dùng khi họ truy cập một trang web bị lây nhiễm/giả mạo và đồng ý tải về một file apk có tên dễ gây nhầm lẫn như update.apk ….
Khi đã tải về thành công, mẫu Trojan này sẽ yêu cầu người dùng đồng ý cài đặt vào thiết bị.
Một khi được cài đặt, mã độc sẽ tiến hành kết nối ngầm đến một server điều khiển được cung cấp trong một file được mã hóa đi kèm nhằm thực hiện những hoạt động nào đó. VD: nhận lệnh mở kết nối hàng loạt đến các trang web, xây dựng mạng lưới botnet …
2. Kiến trúc server và hoạt động
Mẫu NotCompatible.C sử dụng mô hình server hai lớp. Lớp Gateway command và control (C2) sẽ chịu trách nhiệm lọc IP của các thiết bị kết nối, xác nhận, điều hướng đến các server hoạt động thích hợp. Điều này giúp sử dụng mạng lưới các thiết bị lây nhiễm một cách hiệu quả, gây khó khăn cho việc phân tích và phát hiện.
3. Các kiểu tấn công
_ Thực hiện một chiến dịch spam quy mô lớn vào các tài khoản email
_ Tấn công vũ lực (Brute Force) vào các trang web.
_ Sử dụng mạng lưới botnet thực hiện tấn công từ chối dịch vụ (DDoS).
B. TIẾN HÀNH PHÂN TÍCH
Sau đây mình sẽ phân tích một mẫu NotCompatible Trojan tiêu biểu để làm rõ thêm hành vi độc hại của nó.
File apk các bạn download tại đây
1. Phân tích Android Manifest
_ Các hành vi mã độc có thể thực hiện:
+ Truy cập Internet
+ Khởi động cùng hệ thống :
+ Đăng ký một Broadcast Receiver luôn được kích hoạt khi thiết bị khởi chạy:
Android.intent.action.BOOT_COMPLETED , Android.intent.action.USER_PRESENT
2. Phân tích code
· Đầu tiên ta phân tích class OnBootReceiver (Broadcast Receiver)
-> Khởi chạy service ngầm SecurityUpdateService
· Class SecurityUpdateService
Một luồng ThreadServer được kích hoạt.
Như đã nói từ trước, mã độc này cần tiến hành giải mã một file đã mã hóa để lấy địa chỉ server C&C (file data.bin đi kèm trong package của mã độc).
Từ việc phân tích class Config mình giải mã được hai địa chỉ kết nối :
· Tiếp tục phân tích lớp ThreadServer
Phân tích phương thức quan trọng nhất - run() ta phát hiện một hành vi khả nghi
Tiếp tục phân tích phương thức Connect() của lớp MixSocket :
Một SocketChannel được dùng để mở một socket kết nối đến địa chỉ
Các bạn có thể tham khảo cụ thể về các lớp SocketChannel, InetSocketAddress cùng với ý nghĩa các phương thức tại địa chỉ
· Tiếp tục phân tích các lớp ThreadServer, MixerSocket, MuxPacket, proxyConnect ta đi đến kết luận mẫu Trojan sẽ biến máy người dùng thành một điểm proxy để thực hiện kết nối đến một loạt các địa chỉ mà server điều khiển gửi về.
· Một đoạn xử lý dữ liệu nhận được từ server điều khiển:
Trình tự gọi hàm: ThreadServer: onRead() -> parsingCommand() -> connectProxy()
Kết nối đến một địa chỉ:
C. PHÒNG CHỐNG
NotCompatible Trojan thực sự nguy hiểm nhưng cách phòng tránh lây nhiễm không hề khó khăn. Chỉ cần người dùng cảnh giác không vào những trang web không chính thống, không cài đặt các file apk được tải về từ các trang web lạ, và không cài đặt các ứng dụng từ các nguồn không rõ ràng thì ta hoàn toàn có thể tránh được việc thiết bị bị lây nhiễm.
A. TỔNG QUAN
1. NotCompatible Trojan
NotCompatible Trojan xâm nhập vào máy người dùng khi họ truy cập một trang web bị lây nhiễm/giả mạo và đồng ý tải về một file apk có tên dễ gây nhầm lẫn như update.apk ….
Khi đã tải về thành công, mẫu Trojan này sẽ yêu cầu người dùng đồng ý cài đặt vào thiết bị.
Một khi được cài đặt, mã độc sẽ tiến hành kết nối ngầm đến một server điều khiển được cung cấp trong một file được mã hóa đi kèm nhằm thực hiện những hoạt động nào đó. VD: nhận lệnh mở kết nối hàng loạt đến các trang web, xây dựng mạng lưới botnet …
2. Kiến trúc server và hoạt động
Mẫu NotCompatible.C sử dụng mô hình server hai lớp. Lớp Gateway command và control (C2) sẽ chịu trách nhiệm lọc IP của các thiết bị kết nối, xác nhận, điều hướng đến các server hoạt động thích hợp. Điều này giúp sử dụng mạng lưới các thiết bị lây nhiễm một cách hiệu quả, gây khó khăn cho việc phân tích và phát hiện.
3. Các kiểu tấn công
_ Thực hiện một chiến dịch spam quy mô lớn vào các tài khoản email
_ Tấn công vũ lực (Brute Force) vào các trang web.
_ Sử dụng mạng lưới botnet thực hiện tấn công từ chối dịch vụ (DDoS).
B. TIẾN HÀNH PHÂN TÍCH
Sau đây mình sẽ phân tích một mẫu NotCompatible Trojan tiêu biểu để làm rõ thêm hành vi độc hại của nó.
File apk các bạn download tại đây
. Cách dịch ngược từ một file apk về các lớp java các bạn lên Google tìm hiểu nhé
1. Phân tích Android Manifest
_ Các hành vi mã độc có thể thực hiện:
+ Truy cập Internet
Mã:
Android.permission.INTERNET
Android.permission.ACCESS_NETWORK_STATE
Mã:
Android.permission.RECEIVE_BOOT_COMPLETED
Android.intent.action.BOOT_COMPLETED , Android.intent.action.USER_PRESENT
2. Phân tích code
· Đầu tiên ta phân tích class OnBootReceiver (Broadcast Receiver)
-> Khởi chạy service ngầm SecurityUpdateService
· Class SecurityUpdateService
Một luồng ThreadServer được kích hoạt.
Như đã nói từ trước, mã độc này cần tiến hành giải mã một file đã mã hóa để lấy địa chỉ server C&C (file data.bin đi kèm trong package của mã độc).
Từ việc phân tích class Config mình giải mã được hai địa chỉ kết nối :
Mã:
[I]perfectooo.ru:8014[/I]
[I]27677700093445.su:8014[/I]
Phân tích phương thức quan trọng nhất - run() ta phát hiện một hành vi khả nghi
Tiếp tục phân tích phương thức Connect() của lớp MixSocket :
Một SocketChannel được dùng để mở một socket kết nối đến địa chỉ
đã giải mã ở trên.address: port
Các bạn có thể tham khảo cụ thể về các lớp SocketChannel, InetSocketAddress cùng với ý nghĩa các phương thức tại địa chỉ
HTML:
http://developer.android.com/reference/java/nio/channels/SocketChannel.html
http://developer.android.com/reference/java/net/InetSocketAddress.html
· Một đoạn xử lý dữ liệu nhận được từ server điều khiển:
Trình tự gọi hàm: ThreadServer: onRead() -> parsingCommand() -> connectProxy()
Kết nối đến một địa chỉ:
C. PHÒNG CHỐNG
NotCompatible Trojan thực sự nguy hiểm nhưng cách phòng tránh lây nhiễm không hề khó khăn. Chỉ cần người dùng cảnh giác không vào những trang web không chính thống, không cài đặt các file apk được tải về từ các trang web lạ, và không cài đặt các ứng dụng từ các nguồn không rõ ràng thì ta hoàn toàn có thể tránh được việc thiết bị bị lây nhiễm.
Chỉnh sửa lần cuối bởi người điều hành: