Cài đặt WSA (Windows Subsystem for Android) để sử dụng Android trên Windows – Cài đặt Android Emulator sao cho ngầu (part 2)

Ngày xửa ngày xưa mình có 1 ước ao “làm thế nào để Windows + Linux hoà vào làm một nhỉ“, và rồi WSL được sinh ra vào hồi 5 năm trước. Tuy còn khá sida và lắm lỗi, tuy nhiên vào năm 2019 WSL2 ra đời cùng với sử dụng kernel linux chính ngạch

Ngày xửa ngày xưa mình có 1 ước ao “làm thế nào để Windows + Linux hoà vào làm một nhỉ“, và rồi WSL được sinh ra vào hồi 5 năm trước. Tuy còn khá sida và lắm lỗi, tuy nhiên vào năm 2019 WSL2 ra đời cùng với sử dụng kernel linux chính ngạch cùng với các thay đổi gần đây đã làm WSL2 hoàn thiện hơn (nhất là mới có tính năng Run Linux GUI apps sử dụng X11 trên Windows 11 Run Linux GUI apps with WSL | Microsoft Docs)

Và đấy là chuyện mình mong muốn đã trở thành hiện thực, xong rồi có thông tin Microsoft đang phát triển WSA (Windows Subsystem for Android) vào 2 năm trước làm mình háo hứng chờ đến cái ngày mà Windows + Linux + Android chạy tất tần tận trên 1 con máy. Và rồi cái ngày đấy cuối cùng cũng trở thành hiện thực ╰(°▽°)╯
Bài viết này mình sẽ hướng dẫn các bạn làm sao để cài WSA và cài WSA phục vụ mục đích pentest android nhé.

Chuẩn bị

Để tiến hành cài đặt WSA một cách đơn giản, các bạn cần xác định mục đích sử dụng WSA để làm gì (dùng như người dùng bình thường, sử dụng cho mục đích pentest, …).
Điều kiện tiên quyết ban đầu theo Microsoft công bố là:

  • Bạn cần phải sử dụng Windows 11, Windows 10 trở xuống không cài được WSA (thật ra mình chưa thử, đấy là nsx công bố thôi 😂)
  • Nhiều RAM 1 chút, 16GB là vừa đủ
  • Đương nhiên là k thể thiếu SSD rồi
  • Processor yêu cầu khá cao, mình đang sử dụng Ryzen 7 5800x, chạy khá mượt mà
  • Chip kiến trúc x64 hay ARM64 đều được (support hếtttt)
    Pasted image 20220408070312.png

Cài đặt

Cài đặt siêu đơn giản

Các bạn muốn cài đặt nhanh chóng, đơn giản để sử dụng bình thường theo hướng dẫn của nsx luôn thì đơn giản lắm. Chuyển region sang US rồi bấm vào link này cài đặt Amazon Appstore ms-windows-store://pdp/?productid=9NJHK44TTKSX. Cài đặt lên và làm theo hướng dẫn 1 tý là xong WSA rồi, nhưng mà cái store của Amazon chả có gì đâu, phải cài đặt app bằng file APK bên ngoài.

Cài đặt đơn giản (không có chữ siêu)

Nhưng mà bài viết này mình hướng tới cài đặt WSA cho Pentester Android, sử dụng cách cài đặt nhanh hơn, root máy luôn + Google Apps cùng với rất nhiều tính năng thuận tiện cho việc pentest nữa

Đầu tiên các bạn có thể xem repo này LSPosed/MagiskOnWSA: Integrate Magisk root and Google Apps (OpenGApps) into WSA (Windows Subsystem for Android) (github.com), mình cài đặt theo repo này luôn, khá nhanh chóng.
Build WSA · LSPosed/[email protected] (github.com) các bạn có thể download bản build tại đây, có 2 phiên bản x64 và arm64. Mình sử dụng x64 nên tải bản bên dưới nhé.
Pasted image 20220408071407.png

Cách cài đặt thì siêu dễ, tải bản zip đó về, giải nén ra, chuột phải vào Install.ps1 rồi Run with powershell, tiếp tục ấn Yes để cấp thêm quyền cho nó cài, và chờ 1 tý. Thế là xong
Pasted image 20220408071545.png

WSA khởi động lên cùng với Google Apps, phiên bản này là pico (Android 11)
Pasted image 20220408071613.png

Magisk cũng được cài đặt luôn, hiện nó đang hoạt động tương thích hoàn toàn với WSA. Magisk là 1 ứng dụng được sử dụng cho các thiết bị Root Android. Root sẽ cung cấp thêm chức năng để sau này có thể giúp ích cho bạn.
Pasted image 20220408072244.png

Với các bạn nào sử dụng để pentest thì đừng có login vào Google Play nhoé, mình đang gặp vấn đề với nó, không biết bao giờ mới fix được 😢

Tiếp tục cài thêm WSA Pacman để thuận tiện cho việc cài APK cũng như là truy cập vào setting của WSA alesimula/wsa_pacman: A GUI package manager and package installer for Windows Subsystem for Android (WSA) (github.com)

Bản release có ở Release WSA-pacman v1.3.4 · alesimula/wsa_pacman (github.com)

Tiếp theo, chúng ta mở Settings của WSA lên
Pasted image 20220408072341.png
sau đó gạt chuyển sang chế độ developer mode để có thể debug bằng ADB
Pasted image 20220408072424.png

Khởi động WSA Pacman lên vào chúng ta có thể thấy được nó đã được kết nối với WSA, và giờ mình có thể kết nối tới ADB shell được rồi
Pasted image 20220408072520.png

Các bạn muốn lên root thì siêu đơn giản rồi
Pasted image 20220408072740.png
Cấp quyền 1 phát là lên root luôn 😂

Intercept with Burpsuite

Để intercept được với BurpSuite thì cần cài đặt trusted root certification của Burp vào WSA, tuy nhiên việc này cực kỳ đơn giản khi Android đã được Root và lại còn đang cài Magisk nữa 😂

Với Magisk

NVISOsecurity/MagiskTrustUserCerts: A Magisk module that automatically adds user certificates to the system root CA store (github.com)

Sử dụng module này với Magisk, khi các bạn cài đặt cert cho user thì nó sẽ tự động chuyển cái cert đó vào Trusted Root, việc làm của bạn là cài đặt Cert cho user như bình thường, sau đó tiến hành khởi động lại WSA là được
image.png

1 điểm mình thích ở WSA là quá trình turn off hay start đều khá là nhanh (mình đang không muốn nói là rất nhanh so với emulator :<)

Sử dụng Root Certificate Manager

Do WSA đã được root, nên các bạn có thể sử dụng app để làm thay mình luôn cũng được

Root Certificate Manager APK (ROOT) 1.0.1 (Ứng dụng Android) – Tải về (apkcombo.com)

Tiến hành cài đặt, cấp quyền root cho ứng dụng, tải và load cert của Burp Suite vào, thế là xong rồi 😄

Cài đặt ProxyDroid

ProxyDroid APK 3.2.0 (Ứng dụng Android) – Tải về (apkcombo.com)

App này được sử dụng để điều hướng các request của các app khác tới proxy (yêu cầu root), có thể chọn các ứng dụng nào mình muốn điều hướng thông qua profiles, khá tiện.

Cảm ơn anh @vigov5 đã suggest app này ạ 😄

image.png

Phần Host và Port các bạn để cái ip mạng LAN máy thật nhé, tại WSA mỗi lần khởi động lại là 1 IP riêng, việc set cái IP máy thật để tránh việc mỗi lần khởi động lại WSA bị thay đổi IP

image.png

Trên Burp Suite cũng thực hiện cài đặt lắng nghe tương ứng.

image.png

Mở app lên phát là capture được ngay 😂

Mọi vấn đề các bạn có thể comment bên dưới nhé, mình có thể giải đáp. See you.

Vấn đề

Khi mà mình login tài khoản google vào, thì mình bị lỗi như hình dưới (trong khi chưa login thì không bị)
image.png
Mình vẫn đang tìm hiểu nguyên nhân, k biết Android có cơ chế gì để bảo vệ nó không :<

Tham khảo

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ