
Безпека веб-серверів, Cloud-платформ.
Надійний захист від атак відмова в обслуговуванні
Комплексний захист електронних ресурсів.
Пошук та видалення вірусів на веб-сайтах.
Захист та рішення безпеки для сайтів на WordPress.
Пентест сайтів і веб-додатків.
Безпека веб-серверів, Cloud-платформ.
Надійний захист від атак відмова в обслуговуванні
Комплексний захист електронних ресурсів.
Пошук та видалення вірусів на веб-сайтах.
Захист та рішення безпеки для сайтів на WordPress.
Пентест сайтів і веб-додатків.
Безпека веб-серверів, Cloud-платформ.
Надійний захист від атак відмова в обслуговуванні
Комплексний захист електронних ресурсів.
Пошук та видалення вірусів на веб-сайтах.
Захист та рішення безпеки для сайтів на WordPress.
Пентест сайтів і веб-додатків.
Безпека веб-серверів, Cloud-платформ.
Надійний захист від атак відмова в обслуговуванні
Комплексний захист електронних ресурсів.
Пошук та видалення вірусів на веб-сайтах.
Захист та рішення безпеки для сайтів на WordPress.
Пентест сайтів і веб-додатків.
Покроковий гайд як розгорнути програмний пакет Android SDK Command Line Tools в командному рядку Linux, без встановлення габаритного пакету Android Developer Studio, щоб виконувати тестування та reverse-аналіз мобільних додатків з допомогою інструменту Burp Suite.
Увага: необхідно мати попередньо встановлений і налаштований Java SDK. Перевірити його наявність можна командою: java -version
. Встановити останню версію Java: sudo apt update && sudo apt install openjdk-17-jdk
1. Завантажуємо з офіційного веб-сайту Android пакет Command Line Tools (без Studio): https://developer.android.com/studio
2. Розпаковуємо архів і вміст папки cmdline-tools
копіюємо в /opt/android-sdk/cmdline-tools/latest/
(якщо такого шляху нема, то тоді створити):
3. Переходимо у папку /opt/android-sdk/cmdline-tools/latest/bin
і перевіряємо роботу утиліти SDK Manager, виконавши команду:
sudo ./sdkmanager
У разі, якщо виникає помилка, треба оновити Java (див. вище).
4. Перевіряємо список доступних пакетів Android:
sudo ./sdkmanager --list
5. Отримуємо список образів емулятора OS Android:
sudo ./sdkmanager platform-tools emulator
Погоджуємося з діалогом – тиснемо Yes.
6. Тепер обираємо компоненти та встановлюємо бажаний образ емулятора OS Android:
sudo ./sdkmanager "platforms;android-32" "system-images;android-32;google_apis;x86_64" "build-tools;32.0.0"
Примітка: Номер “32” – це рівень API в системі Android, який відповідає певній версії ОС Android. У даному випадку 32 – це Android 12. Ви можете обрати будь-яку версію. Детальніше про специфікацію тут.
Отже, знову погоджуємося з діалогом – Yes.
Запуститься тривала установка.
7. Тепер створюємо віртуальний мобільний пристрій з допомогою іншої утиліти, яка є в папці /bin
– AVD Manager:
sudo ./avdmanager create avd -n android32 -k "system-images;android-32;google_apis;x86_64"
Погоджуємося з діалогом – no (у подальшому за потреби конфігурацію пристрою можна змінити в файлі config.ini
).
Вилучити створений емулятор можна командою:
sudo ./avdmanager delete avd -n "emulator_name"
Детальніше про AVD Manager читайте в довідці Android SDK: https://developer.android.com/tools/avdmanager
8. Переходимо в папку з утилітою Emulator – /opt/android-sdk/emulator
і запускаємо віртуальний мобільний пристрій, вказавши назву необхідного образу Android:
sudo ./emulator -avd "android32"
Емулятор запустився. Спостерігаємо за помилками в консолі. Щоби все успішно запрацювало, мають налагодитись мережеві порти для серверів ADB і GRPC.
Виправлення багів:
Якщо помітили глюки, наприклад глюк з чорним екраном в браузері Google Chrome, то раджу зробити наступне:
1. Перейти в налаштування емулятора (натиснути три цятки на боковій панелі інструментів), відкрити Settings -> Advanced і виставити всі значення “Автоматично”.
2. Перейти в директорію /root/.android
і створити або відредагувати файл advancedFeatures.ini, вставивши рядки:
Vulkan = off
GLDirectMem = on
Якщо проблема не зникла, можна зайти відредагувати файл nano /root/.android/avd/android34.avd/config.ini
і вказати значення для наступних полів:
hw.gpu.enabled=yes
hw.gpu.mode=software
Додатково можна ще перейти в налаштування самого емулятора Settings -> Advanced й змінити налаштування OpenGL ES Renderer, переключивши на SwiftShader
.
3. Тепер ще раз запустити емулятор і глюків з чорним екраном не повинно бути.
Ще один баг, який може виникнути – це неробоча клавіатура, точніше кнопки навігації – “назад, додому, вперед”.
Виправити дуже просто, треба перейти в директорію з віртуальним образом: /root/.android/avd/android32.avd/
і відкрити файл config.ini
, у ньому знайти параметр hw.keyboard
і змінити значення “no” на “yes”. Зберегти зміни. Перезапустити емулятор.
Посилання на команди Android SDK:
https://developer.android.com/studio/run/emulator-commandline
Увага: Необхідно попередньо мати встановлений ліцензійний Burp Suite PRO.
1. Запускаємо Burp Suite.
2. Переходимо на вкладку Proxy і далі в налаштування Options. Тут треба експортувати сертифікат. Натискаємо на кнопку “Import/Export CA certificate”.
Далі відкриється діалогове меню, обираємо “Certificate in DER format”. Вказуємо шлях збереження і вказуємо назву файлу, наприклад: ~/Downloads/cacert.der
3. Тепер потрібно цей сертифікат адаптувати під Android й конвертувати в PEM-формат з допомогою команди:
openssl x509 -inform DER -in cacert.der -out cacert.pem
4. Захешуємо файл:
openssl x509 -inform PEM -subject_hash_old -in cacert.pem | head -1
5. І останнє – перейменувати його:
mv cacert.pem 9a5ba575.0
Додатково можна ще перевірити його валідність:
openssl x509 -in 9a5ba575.0 -text -noout
6. Тепер треба переслати цей сертифікат на віртуальний мобільний пристрій.
Запускаємо емулятор з ключем -writabe-system, щоб отримати доступ до розділу /system:
sudo ./emulator -avd "android32" -writable-system
Далі скористаємося командами ADB:
adb devices
adb root
adb remount
adb reboot
adb root
adb remount
adb push 9a5ba575.0 /system/etc/security/cacerts
adb shell "chmod 664 /system/etc/security/cacerts/9a5ba575.0"
adb shell "chown root:root /system/etc/security/cacerts/9a5ba575.0
Примітка: Для роботи команд необхідно попередньо встановити пакет Linux – ADB Tools: sudo apt install adb
7. Тепер треба перевірити коректність встановлення сертифікату від Burp Suite. Для цього переходимо в налаштування віртуального пристрою емулятора Android: Settings -> Security -> More security settings -> Encryption and Credentials -> Trusted Credentials. Тут має з’явитися сертифікат PortSwigger CA. Гортаємо в самий низ, він може буде в кінці списку.
Увага: в останніх версіях Android (14+) місцерозташування сертифікатів змінено (/apex/com.android.conscrypt/cacerts
), а процес їх додавання обмежено. Потрібно попередньо рутувати пристрій через Magisk або шукати обхідні шляхи. Розробники HTTP Toolkit створили скрипт, який покроково показує як додати сертифікат BurpSuite на рутованих смартфонах Android 14.
8. Тепер заходимо в BurpSuite на вкладку Proxy -> Options – там має стояти:
*:8085 (all interfaces)
#буде слухати порт 8085 і доступний на всіх мережевих інтерфейсах. Ви також можете обрати будь-який інший порт, а також окремий мережевий інтерфейс зі списку Burpsuite – Proxy -> Options -> Proxy listereners -> Specific address, а потім вказати його для віртуального пристрою.
9. Перезапускаємо емулятор Android:
./emulator -avd "android32" -writable-system
10. Тепер переходимо в налаштування інтернету Wi-Fi на віртуальному мобільному пристрої Android, обираємо поточне інтернет-з’єднання і тиснемо на його редагування, де обираємо пункт Advanced і додаємо налаштування проксі:
Host: 10.0.2.2
# це хост Android Emulator, він повинен бути в одній локальній мережі з BurpSuite.Port: 8085
# це порт який слухає проксі Burp.
11. Відкриваємо браузер Google Chrome на віртуальному мобільному пристрої. Повертаємося в Burp Suite, на вкладку Proxy -> Intercept і вмикаємо режим Intercept On. Тепер у браузері просто відкриваємо будь-який сайт. Запит має перехопитися й відобразитися у Burp Suite:
Ось і все. Тепер можна проводити пентест веб-сайтів на Android.
Використані джерела:
Читайте також інші матеріали по темі:
ПОДІЛИТИСЬ У СОЦМЕРЕЖАХ:
Вкажіть, будь ласка, контактний номер телефону. Наш менеджер миттєво зв’яжеться з Вами!