Вернуться к кейсам
Пентест финансовой организации с компрометацией веб-приложения
Безопасность
Senior DevSecOps

Пентест финансовой организации с компрометацией веб-приложения

Тупаков Никита Михайлович

Senior DevSecOps

Клиент: Финансовая организация
Длительность: 2 месяца
Команда: 3 специалиста

Использованные технологии

Burp Suite
dirb
gobuster
Java Security Analysis
WAF

Проблема

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

Решение

Комплексный пентест с анализом исходного кода и тестированием привилегий

Результат

Обнаружена критическая уязвимость повышения привилегий, потенциальный ущерб $250 млн предотвращен

Детали проекта

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

Ключевые метрики

  • Обнаружена утечка исходного кода через веб-директории
  • Найден скрытый параметр isGlobalAdmin для повышения привилегий
  • Потенциальный финансовый ущерб: $50 млн
  • Потенциальный репутационный ущерб: $200 млн
  • Время эксплуатации уязвимости: менее 30 минут

Предыстория

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

Ход пентеста

Этап 1: Разведка и обнаружение утечки исходного кода

На этапе разведки команда обнаружила доступные директории с файлами исходного кода на Java (.java и .class файлы) в директории /app/source/, не защищенной от публичного доступа.

Найденная информация:

  • • Логика обработки пользовательских запросов
  • • Классы, ответственные за авторизацию и управление ролями
  • • Комментарии разработчиков с описанием недокументированных параметров

Этап 2: Анализ исходного кода

Анализ выгруженных Java-файлов выявил скрытый параметр isGlobalAdmin, используемый в API-эндпоинте /admin/config:

if (request.getParameter("isGlobalAdmin") != null && 
    request.getParameter("isGlobalAdmin").equals("true")) {
    user.setRole("global_admin");
    user.save();
}

Этап 3: Эксплуатация уязвимости

Используя Burp Suite, был перехвачен POST-запрос и добавлен параметр isGlobalAdmin=true. Это позволило получить права суперадминистратора и:

  • Просматривать и редактировать данные всех клиентов
  • Изменять настройки приложения, включая лимиты транзакций
  • Создавать новые учетные записи с любыми привилегиями

Этап 4: Оценка последствий

Потенциальный ущерб:

  • • Финансовые махинации через изменение лимитов
  • • Кража клиентских данных и истории операций
  • • Вывод приложения из строя
  • Финансовый ущерб: $50 млн
  • Репутационный ущерб: $200 млн

Решенные проблемы

  1. Утечка исходного кода: исправлена конфигурация веб-сервера
  2. Уязвимость в управлении ролями: удален скрытый параметр
  3. Отсутствие мониторинга: внедрены WAF и система мониторинга
  4. Слабая валидация: пересмотрена логика обработки запросов

Хотите похожий результат для вашего проекта?

Наши эксперты готовы помочь решить ваши DevOps задачи

Наши услуги