Проникаем в сеть банка [часть 2]
win_def⚠️ Автор не призывает к использованию полученных знаний в практических целях и не несет ответственности за любой возможный вред, причиненный материалом ⚠️
Приветствую вас похекеры, сегодня мы продолжим ломать банк. Прежде чем перейти к статье, ознакомтесь с первой частью - тык. Приятного прочтения!

Атакуем сайт
Сайт может содержать множество различных уязвимостей, поэтому нужно определиться что конкретно мы будем начинать. Я предлагаю начать со следующего:
• информация в исходниках HTML страниц
• скрытые директории
• точки пользовательского ввода для разного рода инъекций
• загрузка файлов.
Изучение исходников страницы не дало больших результатов, поэтому я решил просканировать скрытые директории используя утилиту dirb встроенную в Kali:

Интересно, сервер на все запросы отвечает статус-кодом HTTP 403, но когда я в браузере захожу на страницу вроде http://192.168.101.6/whatever я получаю обычную 404-ю ошибку:

Банк защитился не только от сканирования портов, но и от сканирования директорий. Судя по всему веб-приложение закрыто WAF (Web application firewall). Но так как сайт продолжает быть доступным через браузер, скорее всего дело в HTTP заголовках. Попробуем представиться браузером отправив соответствующее значение User-Agent:

Другое дело, dirb сразу нашел несколько скрытых директорий и файлов. Пока он продолжает сканировать, давайте посмотрим что можно найти в .htaccess и .git. В .htaccess ничего интересного нет, а вот .git может оказаться очень важной находкой. Разработчики, которые оставляют папку .git в www root открывают доступ к своему коду широкой публике, а в коде можно найти многое — от информации о конфигурации сети до паролей пользователей и доступов к БД. Попробуем зайти: http://192.168.101.6/.git/. К сожалению для нас, листинг директории на сервере запрещен. Но не беда, у git-а есть совершенно определенная и известная структура файлов. Посмотрим что есть, например, в HEAD:

Все доступно! Так как обычному git-клиенту нужен включенный листинг директорий чтобы клонировать репозиторий, нам придется попробовать что-то другое. Быстрый поиск в Гугле дает следующие результаты: https://github.com/ kost/dvcs-ripper — утилита на Перле, которая может скачивать удаленные репозитории без необходимости в листинге. Попробуем.
Для начала установим dvcs-ripper:

Запускаем его как описано в документации на ГитХабе, и он начинает скачивать все что нам нужно:

Вот мы и скачали копию кода всего сайта!

Пока мы этим занимались, утилита dirb почти закончила свою работу и нашла еще несколько файлов и папок, из которых, правда, ничего не представляет большого интереса — практически все они итак доступны через ссылки на сайте.

Попробуем нажать “Sign In” на главной странице:

Теперь у нас есть исходный код всего сайта, и мы можем проанализировать его в поисках способа войти в систему. Беглый анализ показывает, что сайт основан на популярном PHPфреймворке Laravel. Среди прочего, в исходниках есть папка database со скриптами создания базы и наполнения её данными. Посмотрим что там за данные:

Заходим на сайт с любыми из найденных комбинаций логина и пароля, и сразу получаем токен! Пароли были оставлены прямо в открытом виде.
На этом пока всё. Продолжение в следующей статье!
Подпишитесь на наш канал: