Включение локальных файлов (LFI) – это тип кибер-атаки, при которой злоумышленник получает доступ к конфиденциальной информации, хранящейся на сервере, используя уязвимости сервера и включая локальные файлы.
Злоумышленник ищет небезопасные методы и недостатки в системе, которые могут быть использованы для получения доступа к конфиденциальным файлам, например, содержащим системные настройки, конфигурационные файлы и другие важные данные.
Этот тип атаки может быть использован для получения доступа к конфиденциальным данным, таким как пароли, номера кредитных карт и другая конфиденциальная информация.
Он также может быть использован для получения несанкционированного доступа к серверу, что позволит злоумышленнику установить вредоносное программное обеспечение или повредить систему.
Установка OWASP Juice Shop
Для демонстрации эксплойта локального включения файлов в веб-приложении мы будем использовать OWASP Juice Shop.
Вы можете запустить OWASP Juice Shop на своей локальной машине или запустить его с помощью его Docker контейнера, который можно найти на docker hub.
Руководство по загрузке и запуску контейнера OWASP Juice Shop можно найти здесь:
🌐 Установка OWASP Juice Shop на Kali Linux
Dirbuster
Dirbuster – это популярный инструмент с открытым исходным кодом, используемый для обнаружения скрытых каталогов и файлов на веб-серверах.
Это важный инструмент для тестирования безопасности веб-приложений, поскольку он может обнаружить уязвимости включения локальных файлов.
Он работает путем перебора каталогов и имен файлов на веб-серверах.
С его помощью можно обнаружить каталоги и файлы, которые не связаны ни с одной веб-страницей, но все еще доступные.
Используя Dirbuster, специалисты по тестированию безопасности могут найти потенциально уязвимые локальные файлы, которые недоступны при обычном просмотре веб-страниц.
Dirbuster также можно использовать для обнаружения скрытых структур каталогов, что может помочь в определении потенциальных векторов атак.
Включение локальных файлов – один из типов уязвимостей, которые может обнаружить Dirbuster.
Она возникает, когда веб-приложение включает или ссылается на файл в локальной файловой системе, а не в безопасном удаленном месте.
Используя эту уязвимость, злоумышленник может получить доступ к важным локальным файлам, что может привести к дальнейшим атакам.
Dirbuster – бесценный инструмент для тестировщиков безопасности, поскольку он может помочь обнаружить уязвимости включения локальных файлов и другие скрытые ресурсы на веб-серверах.
Установка Dirbuster
Установить Dirbuster в Kali Linux так же просто, как выполнить одну команду.
Для установки мы выполним команду.
Сканирование на наличие каталогов
Перед проведением атаки с включением локальных файлов нам сначала необходимо провести разведку объекта атаки.
Разведка поможет нам определить некоторые каталоги, найденные на веб-сервере цели.
Dirbuster – наш лучший инструмент для сканирования.
Для сканирования цели с помощью Dirbuster мы выполним команду:
Чтобы сделать сканирование более эффективным, мы можем указать список слов, который будет использоваться Dirbuster. Используя такие инструменты, как Crunch, мы можем генерировать списки, содержащие имена каталогов, которые с большей вероятностью будут найдены.
После завершения сканирования мы можем увидеть папки, которые были найдены на целевом веб-сервере.
Из этих папок мы сможем найти папку, из которой мы запустим локальную атаку включения файлов.
Эксплойт для локального включения файлов
Теперь у нас есть каталоги, которые могут содержать файлы, представляющие интерес для атаки включения локального файла.
Мы должны просмотреть каждый из них, чтобы определить нужный. К
огда мы посещаем первый каталог (http://127.0.0.1:3000/assets), мы видим только пустой экран.
По следующей ссылке (http;//127.0.0.1;3000/ftp) мы находим различные файлы.
Там мы можем найти файл package.json.
Злоумышленники могут использовать уязвимости, найденные в используемых зависимостях, для компрометации целевой системы.
Когда мы пытаемся открыть файл, мы сталкиваемся с ошибкой, как показано на изображении ниже.
Как видно на изображении, только файлы .md и .pdf могут быть открыты пользователем на веб-сервере.
Порывшись в интернете некоторое время, я обнаружил, что мы можем выполнить Null Byte Injection на нашем целевом сервере для загрузки запрещенных файлов, добавив %00 или %2500, за которыми следует разрешенное расширение.
Мы пробуем добавить %00.pdf в ссылку, чтобы выяснить, работает ли это, но ничего не происходит.
Далее мы добавляем %2500.pdf в ссылку.
pdf автоматически загружается в нашу папку загрузок.
Если вы внимательно посмотрите, это “package.json.bak”, который был загружен, но он имеет расширение .pdf/
Мы можем удалить “%00.pdf” из файла, чтобы вернуть его в исходную форму, как показано на сервере, и, наконец, открыть его, чтобы просмотреть зависимости, необходимые нашему целевому веб-сайту.
Отсюда злоумышленник может использовать уязвимости, найденные в определенных версиях этих зависимостей.
Кроме того, злоумышленник может загрузить другие важные файлы, найденные в отсканированных каталогах, которые могут нанести больший вред и ущерб владельцу сайта и пользователям.
Некоторые из этих файлов включают файлы .env, которые содержат переменные среды.
Заключение
Включение локальных файлов можно предотвратить путем надлежащей защиты системы, например, с помощью брандмауэра веб-приложений и правильного кодирования для обеспечения надлежащей проверки всех запросов.
Кроме того, следует внедрить надлежащие протоколы безопасности, такие как использование надежных паролей и двухфакторная аутентификация.
Последствия успешной атаки с включением локальных файлов могут быть серьезными не только для целевой системы, но и для организации в целом.
Мало того, что конфиденциальная информация может быть раскрыта, злоумышленник также может использовать этот доступ для получения доступа к дополнительным системам и ресурсам, что может привести к заражению всей сети организации.
Организациям важно предпринять необходимые шаги для снижения риска атаки Local File Inclusion (LFI) путем правильной настройки своих веб-приложений и серверов.
Следуя передовым методам, таким как проверка правильности ввода данных пользователем, исправление уязвимых веб-приложений и серверов и внедрение мер контроля доступа, организации могут защитить себя от этого типа атак.
Принятие надлежащих мер безопасности может помочь предотвратить разрушительные последствия атаки LFI, позволяя организациям оставаться безопасными и успешными.
см. также:
- 🎣 Использование SocialFish V3.0 для упрощенного фишинга
- 📧 EmailFinder – поиск емейл адресов из домена через поисковые системы
- Отравление журнала SMTP через LFI для удаленного выполнения кода
- SocialFish – фишинговый инструмент с интегрированным Ngrok
- Включение локального файла (LFI) Пентест Web приложений
- 🌐Как установить и использовать Ngrok на Kali Linux
- 📧 TempoMail – Временная электронная почта в командной строке Linux
- 🖧 Основные номера сетевых портов на Linux
- 👥 Обзор инструментов для поиска угроз (Threat Hunting)
- 🐧 Как контролировать целостность файлов в Linux с помощью Osquery
¯\_(ツ)_/¯ Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ