Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
AndroTickler — Инструментарий для тестирования на проникновение и аудита Android-приложений. | Kitploit
Инструменты/GitHubGitHub/ernw/androtickler
Безопасность AndroidСтатический анализДинамический анализ (песочница)Анализ уязвимостейПентестинг мобильных приложенийСбор информацииТестирование на Проникновение
GitHubernw/androtickler

AndroTickler

Инструментарий для тестирования на проникновение и аудита Android-приложений.

Репозиторий
25448471 год назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

AndroTickler

Инструмент на Java, помогающий тестировать Android-приложения на проникновение быстрее, проще и эффективнее. AndroTickler предлагает множество функций сбора информации, статических и динамических проверок, охватывающих большинство аспектов тестирования Android-приложений. Он также предоставляет несколько функций, необходимых пентестерам во время работы. AndroTickler интегрируется с Frida для трассировки и манипуляции методами. Ранее был опубликован под именем Tickler.

AndroTickler требует хост с Linux и рутированное Android-устройство, подключенное через USB. Инструмент ничего не устанавливает на устройство, он только создает каталог Tickler в /sdcard. AndroTickler использует Android SDK для выполнения команд на устройстве и копирования данных приложения в каталог TicklerWorkspace на хосте для дальнейшего анализа. TicklerWorkspace — это рабочий каталог AndroTickler, и каждое приложение имеет отдельный подкаталог в TicklerWorkspace, который может содержать следующее (в зависимости от действий пользователя):

  • DataDir: копия каталога данных приложения
  • extracted: результат работы apktool с приложением, содержит smali-код, ресурсы, библиотеки и т.д.
  • bgSnapshots: фоновые снимки, скопированные с устройства.
  • images: любые сделанные скриншоты приложения.
  • JavaCode: Java-код приложения, декомпилированный с помощью dex2jar и JD Tools.
  • logs: файлы журналов, созданные с помощью -t -log, как описано ниже.
  • transfers: файлы и каталоги, скопированные с устройства на хост с помощью -copy2host.
  • AndroidManifest.xml: манифест приложения, полученный через apktool.
  • base.apk: APK-файл приложения, установленный на устройстве.
  • debuggable.apk: отладочная версия приложения, созданная с помощью -dbg.

Каталог libs и файл конфигурации Tickler.conf находятся в том же каталоге, что и jar-файл. Файл конфигурации задает расположение каталога TicklerDir на хосте и Tickler в /sdcard на Android-устройстве. Если файл конфигурации не существует или эти два каталога не заданы, используются значения по умолчанию (Tickler_workspace в текущем каталоге и /sdcard/Tickler соответственно). Каталог Tickler_lib содержит некоторые Java-библиотеки и внешние инструменты, используемые AndroTickler, такие как apktool и dex2jar.

AndroTickler сильно зависит от следующих инструментов, поэтому они должны быть установлены на вашей машине перед использованием:

  • Java 7 или выше
  • Инструменты Android SDK (adb и друзья)
  • sqlite3

Другие инструменты требуются для некоторых функций, но AndroTickler может работать и без них:

  • Frida
  • jarsigner

Как собрать

  1. Сборка инструмента из исходников

    gradle build

  2. Переместите AndroTickler.jar в тот же каталог, что и каталог Tickler_lib и файл Tickler.conf (автоматически создается в build/libs).

  3. Сделайте dex2jar исполняемым (libs/notJars//dex2jar-2.1/d2j-dex2jar.sh и libs/notJars//dex2jar-2.1/d2j_invoke.sh)

  4. Подключите ваше Android-устройство с установленным тестируемым приложением.

Примечание: Если сборка из исходников не удается, вы можете загрузить последнюю скомпилированную версию со вкладки релизы

Текущая версия делает следующее:

Справка по командам

root@kitploit:~
java -jar AndroTickler.jar -h

Сбор информации / Статический анализ

Список установленных приложений на устройстве:

root@kitploit:~
java -jar AndroTickler.jar -pkgs

Поиск приложения (пакета), установленного на устройстве, имя пакета которого содержит searchKey:

root@kitploit:~
java -jar AndroTickler.jar -findPkg <searchKey>

Пакет без дополнительных атрибутов

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> [other options]

Любая команда с опцией -pkg (независимо от того, используется ли она с любыми из следующих опций) выполняет следующие действия, если они еще не были выполнены:

  • Копирует приложение с устройства
  • Извлекает манифест приложения
  • Декомпилирует приложение в Java-код с помощью dex2jar и JD Tools

Общая информация

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -info

Возвращает следующую информацию:

  • Идентификатор пользователя приложения
  • Пути к каталогам приложения
  • Указывает ли код приложения на использование внешнего хранилища
  • Каталоги приложения, уже существующие во внешнем хранилище
  • URI содержимого в коде
  • Поддерживается ли резервное копирование приложения
  • Является ли приложение отлаживаемым
  • Data схемы (например, iOS IPC)
  • Используемые разрешения

Сжатие кода

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -squeeze [short | <codeLocation> ]

Извлекает из декомпилированного Java-кода приложения:

  • Сообщения журнала
  • Любые признаки возможных учетных данных пользователя
  • Комментарии Java
  • Используемые библиотеки
  • URL-адреса в коде
  • Использование SharedPreferences
  • Использование внешнего хранилища
  • Распространенные компоненты, такие как OkHttp и WebView

Неудивительно, что его вывод обычно огромен, поэтому рекомендуется перенаправлять вывод команды в файл.

short Сжимает только декомпилированный код, принадлежащий разработчику. Например, если приложение имеет имя пакета com.notEnaf.myapp, то squeeze short сжимает только код в каталоге com/notEnaf.

Сжимает код только в указанном каталоге codeLocation. Полезно для ограничения поиска или сжатия исходного кода, если он доступен.

Список компонентов

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -l [-exp] [-v]

Выводит список всех компонентов приложения.

-exp Показывает только экспортируемые компоненты.

-v Предоставляет более подробную информацию для каждого компонента:

  • Тип компонента
  • Экспортирован ли он
  • Его intent-фильтры
  • Инструмент проверяет соответствующий Java-класс для каждого компонента и возвращает все возможные intent-дополнения (extras).

Список любых типов компонентов

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -l [-act | -ser | -rec | -prov ] [-exp] [-v]
  • -act : активности
  • -ser : службы
  • -rec: приемники широковещательных сообщений
  • -prov: поставщики контента
  • -exp: показать только экспортируемые компоненты любого из вышеперечисленных типов

Базы данных

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -db [|e|l|d] [nu]

По умолчанию все команды -db обновляют каталог хранения данных приложения на хосте перед запуском проверки.

нет атрибута ИЛИ e Проверяет, зашифрованы ли базы данных приложения. Это действие по умолчанию, если после флага -db не указана опция. l Выводит список всех баз данных приложения. Зашифрованные базы данных могут не быть обнаружены. d Выполняет дамп sqlite любой из незашифрованных баз данных. nu noUpdate: выполняет любую из вышеперечисленных опций без обновления каталога данных приложения на хосте.

Сравнение каталогов хранения данных

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -diff [d|detailed]

Копирует каталог хранения данных приложения (в DataDirOld), затем запрашивает у пользователя выполнить нужное действие и нажать Enter, когда он закончит. Затем снова копирует каталог хранения данных (в DataDir) и запускает diff между ними, чтобы показать, какие файлы были добавлены, удалены или изменены.

d|detailed Делает то же самое, что и обычная команда -diff, а также показывает, что именно изменилось в текстовых файлах и незашифрованных базах данных.

Поиск

В коде

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -sc <key> [<customLocation>]

Ищет key в следующих местах:

  • Декомпилированный Java-код приложения
  • res/values/strings.xml
  • res/values/arrays.xml

Поиск нечувствителен к регистру.

Заменяет расположение декомпилированного Java-кода на пользовательское расположение.

В хранилище

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -sd <key>

Ищет ключ в каталоге хранения данных приложения

Тиклинг (запуск компонентов)

Запускает компоненты приложения со всеми возможными комбинациями intent. Например, если активность имеет intent-фильтр с 2 возможными действиями и 3 схемами URI данных, то AndroTickler запустит эту активность со всеми возможными комбинациями этого intent. Кроме того, AndroTickler перехватывает intent-дополнения (extras), упомянутые в соответствующем Java-классе компонента, присваивает им фиктивные значения и добавляет их в возможные комбинации intent. Поддерживаются только дополнения типов boolean, string, int и float.

Если используется опция -exp, то компоненты будут запускаться без привилегий root или специальных разрешений. Если нет, то компоненты будут запускаться с привилегиями root. Это помогает тестировать приложение в двух разных сценариях: против атакующих с обычными или высокими привилегиями.

Перед запуском компонентов AndroTickler выводит все команды, которые будут выполнены. Затем для каждой команды он запускает компонент, выводит команду и ожидает действий пользователя. Это дает пользователю достаточно времени для выполнения дополнительных проверок после выполнения команды. Перед переходом к следующей команде пользователю предоставляется возможность сделать скриншот устройства для документирования PoC.

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -t [-all | -exp] [target] [-log]

target, как описано в команде list, может быть:

  • -act : активности. запускает активность(и) со всеми комбинациями intent, как описано выше
  • -ser : службы. запускает службу(ы) со всеми комбинациями intent, как описано выше
  • -rec: приемники широковещательных сообщений: отправляет все возможные широковещательные сообщения, которые соответствуют приемнику(ам)
  • -prov: поставщики контента: выполняет запрос к поставщику(ам) контента

если значение не указано, то target включает всё вышеперечисленное

[-comp] <component_name> Указывает только один компонент. Вы также можете использовать <component_name> напрямую без флага -comp. -exp AndroTickler использует обычные привилегии для запуска только экспортируемых компонентов. -all Опция по умолчанию. AndroTickler использует привилегии root для запуска экспортируемых компонентов. -log Захватывает все сообщения logcat, сгенерированные во время сеанса запуска. Файл журнала сохраняется в подкаталоге logs.

Frida:

Frida должна быть установлена на вашем хосте. Также расположение сервера Frida на Android-устройстве должно быть добавлено в файл Tickler.conf в поле Frida_server_path

Захват аргументов и возвращаемого значения

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -frida vals <ClassName> <MethodName> <NumberOfArgs> [-reuse]

Отображает аргументы и возвращаемое значение этого метода (только примитивные типы данных и String).

reuse В случае опций vals и set Frida создает/обновляет Frida-скрипт этой функциональности. Вы можете изменить созданный скрипт по своему усмотрению, а затем, если хотите запустить его через AndroTickler, используйте опцию -reuse, чтобы он не был перезаписан.

Изменение аргументов или возвращаемого значения

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -frida set <ClassName> <MethodName> <NumberOfArgs> <NumberOfArgToModify> <newValue>[-reuse]

Устанавливает аргумент с номером NumberOfArgToModify в значение newValue (только примитивные типы данных и String). NumberOfArgToModify начинается с 0: Первый аргумент --> NumberOfArgToModify = 0, ... и т.д. Для изменения возвращаемого значения установите NumberOfArgToModify в ret

Запуск JS-скрипта Frida

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -frida script <scriptPath>

Запускает Frida JS-скрипт, расположенный по пути scriptPath на вашем хосте

Перечисление загруженных классов:

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -frida enum

Другие функции

Отладочная версия

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -dbg

Создает отладочную версию приложения, которая может быть установлена на устройство и отлажена с помощью любого внешнего инструмента. AndroTickler поставляется с хранилищем ключей для подписи отладочного APK, но требует инструмент jarsigner на хосте.

Пользовательская версия

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -apk <decompiledDirectory>

Собирает APK-файл из каталога, подписывает его и устанавливает.

Фоновые снимки

root@kitploit:~
java -jar AndroTickler.jar [-pkg <package>] [-bg|--bgSnapshots]

Копирует фоновые снимки, сделанные устройством (работает как с опцией -pkg, так и без нее), в подкаталог bgSnapshots.

Копирование файлов / каталогов

Копирование каталога хранения данных:

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -dataDir  [dest]

Копирует каталог хранения данных в DataDir. dest Необязательное имя целевого каталога, который в любом случае будет расположен в подкаталоге transfers.

Копирование любого файла / каталога:

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -cp2host <source_path> [dest]

Копирует файлы / каталоги с Android-устройства.

  • source_path — абсолютный путь к тому, что нужно скопировать с Android-устройства.
  • dest: необязательное имя целевого каталога, который в любом случае будет расположен в подкаталоге transfers.

Если опция dest не указана, имя каталога будет меткой времени транзакции.

Скриншот

root@kitploit:~
java -jar AndroTickler.jar [-pkg <package>] -screen
  • Захватывает текущий снимок экрана устройства и сохраняет его в подкаталоге images.
  • Работает как с флагом пакета, так и без него.

Примечание

Для опций, не требующих -pkg, их данные будут сохранены в Tickler_Dir/NoPackage

Примеры:

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -t  -act -exp

Запускает экспортируемые активности.

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -t -prov -log

Запрашивает всех поставщиков контента и сохраняет сообщения logcat до остановки выполнения инструмента.

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -t <component_name> 

Запускает компонент; тип запуска зависит от типа компонента.

root@kitploit:~
java -jar AndroTickler.jar -pkg de.not3naf.myApp -frida set de.not3naf.myApp.myActivity myMethod 2 0 "newValue" 

Хукирует метод "myMethod", который имеет 2 аргумента, и изменяет значение первого аргумента (args[0]) на "newValue".

root@kitploit:~
java -jar AndroTickler.jar -pkg de.not3naf.myApp -frida set de.not3naf.myApp.myActivity myMethod 2 2 false 

Хукирует метод "myMethod", который имеет 2 аргумента, и изменяет возвращаемое значение на логическое false.

Скачать инструмент