Kraken
  • 🐙Привет!
    • 👋Добро пожаловать!
  • ✏️Крупицы знаний
    • 🌚Общие статьи
      • Как установить Kali Linux
      • Как поставить виртуальную Kali Linux
      • Что такое CVE
      • Обзор популярных алгоритмов хеширования
      • Модель OSI
      • Какие есть алгоритмы шифрования
      • Что такое TCP/IP
      • HSTS
      • Что такое хеширование и как его используют в ИБ
      • Скрипт для проверки данных SSL-сертификата
      • Шифруем файлы на Kali Linux с помощью OpenSSL
      • Как работает WPA2
      • О протоколе FTP
      • Что такое CVSS
      • Что такое политика одного источника (SOP)
      • О Cross-Origin Resource Sharing (CORS)
      • О Content Security Policy (CSP)
      • Что такое Bash
      • Веб-сокеты
      • MITRE ATT&CK
      • Начало в OSINT
      • Особенности и подходы к тестированию мобильных приложений
      • Что такое REST
      • Что такое API
      • Сравнение безопасности среды iOS и Android
      • CSS в ИБ
    • 🎪Карьера
      • Какие бывают роли у пентестеров и в чем их смысл
      • Какие есть виды пентеста
      • Что входит в пентест
      • Какие есть области знаний в веб-пентесте
      • Главные ошибки новичков в ИБ
    • 😰Уязвимости
      • Об атаке Pastejaking
      • Об уязвимости KRACK
      • Об уязвимости Regex DoS
      • Об атаке MITM
      • Что такое уязвимость нулевого дня
      • Атака на протокол STP
      • Защита протокола STP
      • Clickjacking
      • База при атаке на Wi-Fi
      • Атаки по сторонним каналам
      • DNS ребайндинг
    • ⚙️Инструменты
      • Лучшие сканеры открытых портов и инструменты проверки портов
      • Что такое OWASP ZAP и как он помогает защитить приложения?
      • О фреймворке WiFi Exploitation Framework (WEF)
      • WeBaCoo — поддерживаем доступ к взломанному веб-серверу
      • Socialscan — проверяем использование электронной почты и имен пользователей в соцсетях
      • Обзор инструментов Red Team
      • 11 инструментов для сканирования уязвимостей
      • Подборка инструментов для автоматизации атак на JWT
      • О Bulk_Extractor
      • О Unicornscan
      • О Maryam
      • О Picocrypt, утилите для шифрования данных
      • Анализируем трафик с ZUI (Zed User Interface)
      • Об инструменте SkipFish
      • Как получить уведомления на почту о входе по SSH
      • О сканере OpenSCAP
      • О Censys — инструменте для поиска уязвимых поддоменов
      • О Scanless — инструменте для анонимного сканирования открытых портов
      • О SearchSploit — инструменте для поиска эксплойтов
      • Выбираем менеджер паролей
      • О Maltego
      • Устанавливаем и используем Snyk CLI в Windows
      • Проверяем безопасность Docker-образов с помощью Trivy
      • Об инструменте SpiderFoot
      • Сканируем сети с помощью скриптов Bash
      • О фреймворке Volatility на Windows
      • Определяем тип WAF с помощью WafW00f
      • Об инструменте ReNgine
      • О Foremost — инструменте для восстановления данных
      • Chisel — инструмент для проброса портов
      • O Yersinia
      • Об Acunetix
      • O Netcat
      • O Samba
      • O John the Ripper
      • О Common User Passwords Profiler (CUPP)
      • О RainbowCrack
      • Shodan
      • MobSF
      • Netsparker
      • Fortify
      • Veracode
      • Rapid7 InsightVM
      • Aircrack-ng
  • 🛠️ИНСТРУМЕНТЫ
    • ⌨️Беспроводные атаки
      • Aircrack-Ng
    • 🔑Атаки на пароли
      • Crunch
      • John
      • CUPP
      • Hashcat
      • Hydra
    • 👁️Сбор Информации
      • Masscan
      • Dnsenum
      • Parsero
      • Nmap
  • 👨‍💻Пентест
    • Методология
    • 🖥️Аппаратный/Физический доступ
      • Физические атаки
      • Побег из КИОСКа
  • 👾MITRE
    • 🗺️Тактики
      • 🏢Предприятия
        • Разведка
      • 📱Мобильные устройства
      • 🏭ICS
    • 💀CTI
      • ☠️Группы
        • admin@338
        • Ajax Security Team
        • ALLANITE
        • Andariel
  • 📟Справочник по безопасной разработке
    • 👨‍🔬CLIENT SIDE
      • Cross-Site Scripting [XSS]
      • Cross-Site Request Forgery [CSRF]
      • Clickjacking
      • Open Redirects
    • 🖥️SERVER SIDE
      • SQL Injections [SQLi]
      • XML External Entity Injection [XXE]
      • OS Command Injection [Command Execution]
      • File Upload
      • Server-Side Request Forgery [SSRF]
      • Host Header Injection
      • Аутентификация
      • Directory Traversal
      • Template Injection [SSTI]
    • API
  • 🐝OWASP
    • Cross Site Scripting (XSS)
Powered by GitBook
On this page
  • Особенности пентеста мобильных приложений
  • Подходы к тестированию на безопасность мобильный приложений
  • Этапы пентеста мобильных приложений
  1. Крупицы знаний
  2. Общие статьи

Особенности и подходы к тестированию мобильных приложений

В этой статье выдали теоретическую базу по тестированию мобильных приложений: что здесь важно учитывать и какие методы можно использовать.

Last updated 1 year ago

Особенности пентеста мобильных приложений

  1. Разнообразие платформ. Самые популярные — это Android и iOS, и каждая из них имеет свои особенности безопасности, средства разработки и наборы API.

  2. Мобильные приложения могут взаимодействовать с различными серверами и сервисами через API, подразумевая необходимость тестирования не только самого приложения, но и его облачных компонентов и сторонних интеграций.

  3. Существует множество устройств с разными размерами экрана, аппаратным обеспечением и версиями операционных систем. Это не сказать, что сильно усложняет процесс, но точно делает его дольше.

  4. Главные мобильные угрозы: ненадежное хранение данных, уязвимые внутренние и внешние интерфейсы связи, а также угрозы, связанные с конфигурацией и разрешениями приложений.

  5. В целом для мобильных подойдет и база: Burp Suite, OWASP ZAP. Но порой нужно что-то более заточенное под мобильники. Например, MobSF (Mobile Security Framework).

Подходы к тестированию на безопасность мобильный приложений

Что важно помнить: методов много, их можно и даже нужно комбинировать между собой. Вот их список:

  1. (Black Box). Тестирование без знания внутренней структуры приложения. Здесь пентестер ближе всего имитирует злоумышленника.

  2. (White Box). Пентестер имеет полный доступ к исходному коду, архитектуре и документации приложения. Лучше всего подойдет на ранних этапах разработки.

  3. (Grey Box). Тестировщик имеет частичный доступ к информации о системе и использует эту информацию для более эффективного поиска уязвимостей.

  4. Динамический анализ. В real-time пентестер анализирует выполнимые процессы приложения на эмуляторе или реальном устройстве для обнаружения уязвимостей.

  5. Статический анализ. Анализ кода, бинарных файлов и других составляющих приложения без их выполнения.

  6. Анализ сетевого трафика между приложением и сервером (или другими точками конечного доступа). Это помогает выявить уязвимости в передаче данных.

  7. Манипуляция средой выполнения. Использование инструментов для модификации среды выполнения (например, root/Jailbreak на устройствах) для выявления уязвимостей, которые могут быть эксплуатированы при изменении окружения приложения.

  8. Аудит разрешений. Проверка прав, которые приложение запрашивает при установке.

  9. Пентест внешних сервисов, API и библиотек, используемых мобильным приложением.

  10. Исследование файловой системы. По сути аудит файлов, хранящихся на устройстве, на предмет некорректного хранения конфиденциальных данных.

  11. Тестирование логики приложения. Проверка корректности бизнес-логики приложения и её устойчивости к манипуляциям.

  12. Реверс-инжиниринг. Разборка приложения на составные компоненты для получения доступа к логике приложения и выявления потенциальных уязвимостей.

  13. Фаззинг. Автоматизированный метод пентестирования, при котором в систему подаются случайные, неправильные или неожиданные данные для раскрытия уязвимостей.

Этапы пентеста мобильных приложений

Они не так сильно отличаются от привычного (если можно так сказать) пентеста. Но мы на всякий случай еще раз дадим поэтапный план.

  1. Планирование: определить цель, области покрытия и методологий тестирования.

  2. Сбор информации: изучить приложения, его функциональности и среды выполнения.

  3. Статический анализ: проанализировать код приложения на предмет недостатков в безопасности без его исполнения.

  4. Динамический анализ: проанализировать поведение приложения во время выполнения, в том числе тестирование на уязвимости и проверка работы сетевых запросов.

  5. Анализ шифрования: проверить на корректность использования криптографических протоколов и алгоритмов.

  6. Тестирование аутентификации и сессий: проверить механизмы аутентификации и управления сессиями.

  7. Проверить обработку данных: исследовать безопасности сохранения, передачи и обработки данных пользователя.

  8. Эксплуатация уязвимостей: попытаться использовать найденные уязвимости для подтверждения рисков.

  9. Анализ сторонних библиотек и компонентов: проверить использованные внешние компоненты на предмет уязвимостей.

  10. Отчет. Обычно в него входят какие мы уязвимости нашли, как их можно устранить, а также руководство по улучшению безопасности приложения.

✏️
🌚
Черный ящик
Белый ящик
Серый ящик