LIMB
Вход Регистрация

тема

(СТАТЬЯ) Установка Burp Suite на Android-планшет: практический гайд

snikers · · 2 ответов · 860 просмотров

Всем привет!

Все любят смотреть, как кто-то запускает мощные инструменты пентестинга на ноутбуках с Linux. Но что, если я скажу, что всё это можно поместить в обычный Android-планшет? Да-да, не в топовый iPad Pro, а в скромный Digma, который я купила несколько лет назад для простейших задач и просмотров фильмов.

Большинство гайдов по анализу мобильных приложений предполагают запуск Burp Suite на компьютере и перехват трафика через USB-подключение устройства. Но что, если можно обойтись без компьютера вообще? И сегодня я поделюсь своим опытом превращения планшета в мобильную хакерскую станцию.

Характеристики моего героя:​

Модель: Digma
Процессор: Unisoc Tiger T606 (8 ядер)
Оперативная память: 8 ГБ
Встроенная память: 128 ГБ
Карта памяти: microSD
Аккумулятор: 7000 мАч
Android: 13

Что это значит на практике? Портативность, приличная производительность для ARM, аккумулятор для длительных сессий, и достаточно памяти для Burp Suite и другого
 разнообразного арсенала, который можно установить таким же способом.

Подготовка среды​

План такой: установить полноценный Debian Linux через Proot, поставить Java и запустить Burp Suite прямо на планшете.


Шаг 1. Установка Proot и Debian​

В Termux выполнила:


Code:
pkg install proot-distro proot-distro install debian proot-distro login debian


  • Теперь я нахожусь в полноценной Linux-среде. Также перед началом установки желательно проверить что находится в /etc/apt/sources.list. У меня автоматически установились старые зеркала, поэтому я заменила на
Code:
deb http://deb.debian.org/debian bookworm main contrib non-free
deb http://deb.debian.org/debian bookworm-updates main contrib non-free
deb http://security.debian.org/debian-security bookworm-security main contrib non-free


После этого обновите зависимости: 

Code:
apt updateapt upgrade -y


Не удалось прогрузить медиа



Шаг 2. Проверка и установка Java​

Для последней версии Burp Suite Community Edition нужен openjdk-21. Внутри Debian выполните:


Code:
apt install openjdk-21-jdk -y


! Именно для моего дебиана не нашлось этой версии, поэтому есть второй способ:


  1. Code:
    cd ~ mkdir -p jdk21 cd jdk21 - cоздаем отдельную папку для Java
    wget https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_linux-aarch64_bin.tar.gz -cкачать OpenJDK 21 для ARM64
    tar -xzf openjdk-21_linux-aarch64_bin.tar.gz - распаковать архив
    mv jdk-21 ~/jdk21 - переместить распакованную папку в папку для Java
    export JAVA_HOME=~/jdk21 export PATH=$JAVA_HOME/bin:$PATH - установить переменные окружения на текущую сессию
    java -version - проверить версию

Не удалось прогрузить медиа

Шаг 3. Подготовка директории Burp и скачивание​

Создала отдельную папку для Burp:


Code:
mkdir -p ~/burp cd ~/burp


Также необходимо скачать Community JAR, который работает на ARM напрямую.

Не удалось прогрузить медиа
​

После скачивания переносим Burp в рабочую директорию ( папка ~/burp), в Termux:


Code:
mkdir -p ~/burp mv /sdcard/Download/burp-community-2025-8-4.jar ~/burp/burp.jar


Шаг 4. Настройка GUI​

Поскольку Android не поддерживает Swing GUI напрямую, нужен X-сервер:

Вариант A — XServer XSDL - к сожалению XSDL оказался не совместим с планшетом
Вариант B — VNC сервер - tightvncserver также оказался недоступен
Остаётся один рабочий путь: Burp GUI через headless + Xvfb + noVNC


!Важный момент - все установки должны выполняться строго в среде линукса, откройте еще 3 сессии в Termux и в каждом окне выполните pkg install proot-distro proot-distro install debian proot-distro login debian

1) Переходим в окно 2​

Выполните команды:

Code:
pip3 install websockifyapt install xvfb x11-utils -y

xvfb — виртуальный X-сервер, чтобы Java GUI мог “рисовать” окно.
websockify — для передачи Xvfb через веб-браузер (noVNC).

Запуск Xvfb (виртуальный X-сервер):

Code:
Xvfb :1 -screen 0 1280x720x24 &export DISPLAY=:1

Эта команда создаёт виртуальный экран для Burp., а :1 — дисплей, к которому будет подключаться GUI. Если всё ок — команда просто будет висеть


2) Переходим в окно 3 - запуск x11vnc делает виртуальный X доступным по VNC (порт 5901)​

Запустим x11vnc, привяжем к дисплею :1 и порт 5901, а также с опциями, которые отключают различные проблемные расширения

Code:
x11vnc -display :1 -noshm -noxdamage -nowf -noxfixes -nopw -forever -shared -rfbport 5901


Пояснение опций:

-noshm — отключает MIT-SHM (исключает ошибку X_ShmAttach)
-noxdamage / -noxfixes — отключают оптимизации, которые не всегда работают с Xvfb
-nowf — отключает wireframe режим при перемещении окон (иногда мешает)
-nopw -forever -shared — чтобы сервер не просил пароль и оставался живым
-rfbport 5901 — порт VNC.

Если x11vnc запустится правильно — он будет висеть в окне и лог покажет, что слушает порт 5901.

​

3) Переходим в окно 4 - установка noVNC​

Скачиваем noVNC:

Code:
git clone https://github.com/novnc/noVNC.git ~/noVNC cd ~/noVNC

Запускаем WebSocket прокси:


Code:
./utils/novnc_proxy --vnc localhost:5901 --listen 6081


В итоге будет доступ через браузер на планшете: http://localhost:6081. Если в браузере directory listing — значит novnc_proxy не запущен или вы открыли файловую папку, а не сервер

Шаг 5. Запуск Burp​

Переходим в 1 окно и запускаем:

Code:
cd ~/burpjava -jar burp.jar


Если всё ок, Burp откроется в виртуальном X-дисплее :1. Затем на планшете в браузере откройте: http://localhost:6081/vnc.html?host=localhost&port=6081

Если всё настроено правильно, в браузере через noVNC появится интерфейс Burp и им можно будет управлять пальцем или мышью. После того как Burp открыт и работает установка сертификата в точности такая же как на ноутбуке или компьютере. 
Не удалось прогрузить медиа



Плюсы и минусы такой рабочей схемы

Плюсы: ​

  • Портативность: Burp и всё окружение — в одном устройстве, можно брать с собой. Это проще и удобнее чем ноутбук
  • Лёгкая демонстрация: интерфейс через браузер noVNC — удобно снимать видео/скрины
  • Воспроизводимость: работает в proot, не требует root на Android

Минусы / ограничения​

  • Производительность: планшет слабее ноутбука — тяжёлые сканы, Intruder с большими нагрузками и Active Scans будут тормозить или не завершатся. Однако тут все зависит непосредственно от мощности вашего планшета
    Управление: пальцем работать в Burp не так удобно, как мышью, клавиатурой; OTG-мышь — самое простое решение

P.S. Теперь у меня в рюкзаке лежит не просто бюджетный старый планшет, а полноценная мобильная хакерская станция. Да, мощностей меньше чем у ноута, но для быстрых тестов, демонстраций и экспериментов — этого более чем хватает.
👍60 🔥8 😁8 🤔9 😢16
Дополнение: Burp в браузере - 
Не удалось прогрузить медиа
Не удалось прогрузить медиа
Дополнение: установка сертификата и демонстрация результата

В 5-ом окне в Termux  (не в proot)  запускаю команду:

Code:
socat tcp-listen:8080,bind=127.0.0.1,reuseaddr,fork tcp:localhost:8082

Что делает эта команда и зачем она нужна:​

socat — утилита «соединитель» (SOcket CAT). Она связывает один сетевой сокет с другим, пропуская данные между ними
tcp-listen:8080 — открывает TCP-порт на планшете и слушает входящие подключения на порту 8080
bind=127.0.0.1 — заставляет слушать только на  локальном интерфейсе, чтобы проброс не был доступен извне 
reuseaddr — позволяет повторно привязать порт мгновенно, если  он недавно был закрыт
fork — для каждого нового входящего соединения socat создаёт отдельный процесс, т.е. поддерживает несколько одновременных соединений
  • правая часть — tcp:localhost:8082 — указывает, куда пересылать трафик: на localhost:8082.

  • В нашем случае Burp, запущенный внутри proot слушает прокси на порту 8082 (внутри контейнера). Браузер на Android не может напрямую обратиться к localhost:8082. socat выполняется на Android-хосте и делает «мост»: браузер подключается к 127.0.0.1:8080 хоста → socat пересылает соединение к localhost:8082, где его принимает Burp. Проще говоря браузер смотрит на 127.0.0.1:8080, а socat перенаправляет этот трафик внутрь proot на 8082, где Burp его обрабатывает.
Установка сертификата

1. Перейти на http://127.0.0.1:8000 и скачать сертификат
2. Сохранить сертификат в настройках Android
3.  В интерфейсе Burp указать порт 8082 как прослушиваемый

В Firefox на планшете:
1. Скачать расширение FoxyProxy и заполнить как на картинке

Не удалось прогрузить медиа



Итого: Firefox → 127.0.0.1:8080 → socat → 127.0.0.1:8082 → Burp.


Демонстрация​

Перейдя в браузере на https://example.com, запрос уйдёт через FoxyProxy на 127.0.0.1:8080. socat перенаправит соединение к Burp на :8082. Burp примет соединение как прокси-клиент. Burp работает :grin: 
Не удалось прогрузить медиа
👍3

Гостевой просмотр. Чтобы отвечать и ставить реакции, войдите или зарегистрируйтесь.