fsmon — это утилита для мониторинга файловой системы, которая работает на Linux, Android, iOS, FireFox OS и OS X. Она отслеживает события файловой системы в указанной директории и отображает их в удобном виде (вывод событий в терминале с использованием различных цветов для лучшей визуализации). Тулза позволяет фильтровать события по названию программы или идентификатору процесса (PID).
Еще по теме: Перехват трафика Android с Burp и Frida
Использование fsmon
Главное преимущество fsmon (репозиторий GitHub) в том, что она позволяет в реальном времени отслеживать изменения файловой системы. Это может быть полезно в разных ситуациях, таких как: анализ безопасности системы и вредоносного ПО.
Для использования fsmon достаточно подключить Android-устройство (с root-доступом или без) к компьютеру через ADB (см. Команды ADB) и запустить бинарник. Результаты мониторинга файловой системы будут отображаться на экране компьютера.
Утилиту также можно запустить и без компьютера непосредственно на смартфоне — через любое терминальное приложение, например, Termux (см. Команды Termux).
Давайте рассмотрим несколько примеров использования.
Android без root-доступа
На устройствах без root-доступа можно отслеживать изменения файлов на внешних накопителях и общем хранилище, используя команду:
1 |
fsmon /storage/emulated/0/ |
Эта команда будет следить за изменениями файловой системы через отладку ADB на устройстве без root-доступа.
Также можно использовать Termux, чтобы запустить мониторинг в фоновом режиме прямо на устройстве.
Даже можно следить за изменением файловой системы на умных часах.
Android с root-доступом
С правами суперпользователя мониторинг файловой системы становится намного интереснее, так как появляется возможность отслеживать изменения файлов для каждого установленного приложения. Это может быть полезно для багхантеров (охотников за уязвимостями), чтобы выявлять файлы, к которым приложения имеют доступ и которые могут быть небезопасно сохранены.
Исследователи вредоносного ПО могут использовать команду для поиска дропнутых вредоносных файлов или изменений:
1 |
fsmon /data/data/com.as.youtube.downloader/ | egrep "\.dex|\.apk|\.jar|\.so" |
Эта команда отслеживает изменения в указанной директории, фильтруя по типам файлов (.dex, .apk, .jar или .so).
fsmon будет полезным для тех, кто интересуется безопасностью Android. Возможность мониторинга событий файловой системы в реальном времени может дать ценную информацию о работе приложений и помочь в выявлении потенциальных уязвимостей.
Альтернатива и аналоги fsmon
Преимущество fsmon заключается в том, что она работает на Android без root-доступа с возможностью мониторинга в реальном времени, хотя и с ограничениями. Аналогичных результатов можно добиться с помощью инструментария Frida, но он работает только на устройствах с root-доступом. Если интересуетесь исключительно загруженными бинарными файлами конкретного приложения, можно использовать следующую команду:
1 |
adb shell "su -c 'cat /proc//maps | grep '" |
Эта команда выводит список загруженных бинарников для указанного процесса на Android с root-доступом.