19 Янв, 2023

Локальный файл включает в себя

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

LFI (включение локального файла) уязвимость относится к слабости системы безопасности или эксплойту, который может быть использован для получения несанкционированного доступа к файлу, хранящемуся на локальном устройстве или компьютере пользователя. Эти уязвимости могут быть вызваны различными факторами, такими как программные ошибки, устаревшее программное обеспечение или плохая конфигурация системы. Использование уязвимости локального файла может позволить злоумышленнику получить доступ к конфиденциальной информации, хранящейся на локальном устройстве, выполнить вредоносный код или скомпрометировать всю систему. Важно выявлять и устранять уязвимости локальных файлов, чтобы защитить данные пользователя и поддерживать безопасность его устройства.

Примеры уязвимостей локальных файлов включают:

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

Важно отметить, что эти примеры не являются исчерпывающими, и в будущем могут быть обнаружены новые уязвимости. Кроме того, для устранения этих уязвимостей выпускаются исправления и исправления, поэтому рекомендуется поддерживать программное обеспечение и ОС в актуальном состоянии.

Пример уязвимого кода:

				
					<?php
$file = $_GET['file'];
include($file);
?>
				
			

В этом примере скрипт берет параметр “file” из запроса GET и включает его непосредственно в PHP-скрипт. Злоумышленник может манипулировать запросом, чтобы включить файл из локальной файловой системы, например “../ ../ .. / etc /passwd”, и потенциально получить доступ к конфиденциальной информации.

Примечание: Уязвимость при включении локального файла не ограничивается только PHP, она может возникнуть в любом языке программирования и фреймворке.

Методы повышения привилегий

После того, как злоумышленник успешно воспользовался уязвимостью локального включения файлов (LFI), он может попытаться использовать различные методы для повышения своих привилегий и получения дополнительного доступа к системе. Некоторые распространенные методы, используемые для повышения привилегий в контексте уязвимостей LFI, включают:

  • Цепочка включения файлов: включив несколько файлов, злоумышленник может объединить в цепочку ряд уязвимостей, чтобы получить доступ к конфиденциальной информации или выполнить произвольный код.

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

  • Методы обертки: злоумышленник может использовать методы обертки, такие как PHP expect:// или data:// wrapper , для включения файлов, которые обычно недоступны через веб-сервер, таких как /etc/passwd .

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

  • Злоупотребление phpinfo (): это можно сделать, включив обертки ‘php: // filter’ или ‘php: // input’, которые можно использовать для чтения произвольных файлов.

Важно отметить, что эти методы не ограничиваются уязвимостями LFI, они также могут быть использованы для использования других типов уязвимостей. Чтобы предотвратить подобные атаки, важно поддерживать ваше программное обеспечение в актуальном состоянии, проверять и очищать вводимые пользователем данные, а также ограничивать разрешения веб-сервера.

Общая методология и контрольный список для тестирования локального файла включают уязвимости

Тестирование на уязвимости локального включения файлов (LFI) включает в себя определение потенциальных точек входа для пользовательского ввода и попытку включения файлов из локальной файловой системы. Вот общая методология тестирования уязвимостей LFI:

  1. Определите точки входа: найдите любой пользовательский ввод, который используется для включения файлов в приложение, например параметры GET или POST, файлы cookie или заголовки.

  2. Попытка включить файлы: Попробуйте включить файлы из локальной файловой системы, манипулируя пользовательским вводом. Это можно сделать, добавив “../”, “..” или “..” к входным данным или используя методы ввода нулевых байтов.

  3. Проверьте наличие сообщений об ошибках: ищите любые сообщения об ошибках, которые могут раскрывать информацию о файловой системе, например, об операционной системе, веб-сервере или версии PHP.

  4. Проверка на наличие конфиденциальных файлов: попытайтесь включить конфиденциальные файлы, такие как /etc/passwd или файлы конфигурации приложения, чтобы определить, является ли приложение уязвимым для LFI.

  5. Проверка выполнения кода: Если приложение уязвимо для LFI, попробуйте выполнить произвольный код, включив вредоносный файл, например PHP-скрипт.

  6. Проверка на повышение привилегий: Если обнаружена уязвимость LFI, проверьте на повышение привилегий, попытавшись включить файлы из расположений с более высокими привилегиями в файловой системе, таких как корневой каталог.

  7. Используйте автоматические инструменты. Для тестирования уязвимостей LFI доступно несколько автоматических инструментов, таких как Burp Suite, Nmap и Metasploit

Имейте в виду, что уязвимости LFI может быть трудно обнаружить и использовать, поэтому важно быть тщательным и настойчивым при тестировании на наличие этих уязвимостей.

Набор инструментов для использования уязвимостей localfile includ

Существует ряд программных средств, которые можно использовать для использования уязвимостей локального включения файлов (LFI). Вот несколько примеров:

  • Burp Suite: Инструмент тестирования безопасности веб-приложений, который можно использовать для проверки на наличие уязвимостей LFI.

  • Nmap: Инструмент исследования сети и сканер безопасности, который можно использовать для выявления уязвимостей LFI на веб-серверах.

  • Metasploit: Платформа тестирования на проникновение с открытым исходным кодом, которая включает в себя модуль для использования уязвимостей LFI.

  • sqlmap: Инструмент тестирования на проникновение с открытым исходным кодом, который автоматизирует процесс обнаружения и использования уязвимостей SQL-инъекций и серверов баз данных.

  • w3af: Платформа для атаки и аудита веб-приложений с открытым исходным кодом, которая может использоваться для проверки уязвимостей LFI.

  • Nikto: Сканер веб-сервера с открытым исходным кодом, который можно использовать для выявления уязвимостей LFI на веб-серверах.

  • OWASP ZAP: Сканер безопасности веб-приложений с открытым исходным кодом, который можно использовать для проверки на наличие уязвимостей LFI.

  • Wfuzz: Инструмент безопасности веб-приложений с открытым исходным кодом, который можно использовать для проверки на наличие уязвимостей LFI.

  • WebScarab: Платформа с открытым исходным кодом для анализа приложений, которые взаимодействуют с использованием протоколов HTTP и HTTPS.

  • Lfi-Autopwn: Скрипт, который можно использовать для автоматизации процесса использования уязвимостей LFI.

  • Lfi-Scanner: Скрипт, который можно использовать для автоматизации процесса выявления уязвимостей LFI.

  • Linux Exploit Suggester: Сценарий, который может быть использован для выявления потенциально уязвимых уязвимостей в системе Linux

  • Lfi-Fuzzploit: Скрипт, который может быть использован для автоматизации процесса использования уязвимостей LFI

  • cURL: Инструмент командной строки для передачи данных с синтаксисом URL, который можно использовать для проверки уязвимостей LFI

  • Lfi-Finder: Скрипт, который можно использовать для автоматизации процесса выявления уязвимостей LFI

  • PHP-LFI-Exploit-Script: Скрипт, который может быть использован для использования уязвимостей LFI в приложениях PHP

  • Lfi-Scanner-NG: Скрипт, который можно использовать для автоматизации процесса выявления уязвимостей LFI

  • Exploit Pack: Платформа с открытым исходным кодом, включающая модуль для использования уязвимостей LFI

  • Lfi-Scanner: Скрипт, который можно использовать для автоматизации процесса выявления уязвимостей LFI

  • Lfi-Scan: Скрипт, который можно использовать для автоматизации процесса выявления уязвимостей LFI

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

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

Верхний локальный файл CVE включает в себя

Существует ряд распространенных уязвимостей и уязвимостей (CVE), связанных с уязвимостями локального включения файлов (LFI). Вот несколько примеров:

CVE-2018-9843: Эта уязвимость затрагивает CMS PHP-Fusion, в которой уязвимость LFI позволяет удаленному злоумышленнику включать произвольные локальные файлы.

CVE-2017-1000486: Эта уязвимость затрагивает CMS TYPO3, в которой уязвимость LFI позволяет удаленному злоумышленнику включать произвольные локальные файлы.

CVE-2017-9791: Эта уязвимость затрагивает программное обеспечение vBulletin, в котором уязвимость LFI позволяет удаленному злоумышленнику включать произвольные локальные файлы.

CVE-2017-9791: Эта уязвимость затрагивает программное обеспечение PHP-Fusion, в котором уязвимость LFI позволяет удаленному злоумышленнику включать произвольные локальные файлы.

CVE-2017-17215: Эта уязвимость затрагивает программное обеспечение Huawei HG532, в котором уязвимость LFI позволяет удаленному злоумышленнику включать произвольные локальные файлы.

CVE-2017-14494: Эта уязвимость затрагивает программное обеспечение D-Link DIR-823, в котором уязвимость LFI позволяет удаленному злоумышленнику включать произвольные локальные файлы.

CVE-2017-14493: Эта уязвимость затрагивает программное обеспечение D-Link DIR-823, в котором уязвимость LFI позволяет удаленному злоумышленнику включать произвольные локальные файлы.

CVE-2016-9838: Эта уязвимость затрагивает программное обеспечение PHP-Fusion, в котором уязвимость LFI позволяет удаленному злоумышленнику включать произвольные локальные файлы.

CVE-2016-9837: Эта уязвимость затрагивает программное обеспечение PHP-Fusion, в котором уязвимость LFI позволяет удаленному злоумышленнику включать произвольные локальные файлы.

CVE-2016-9836: Эта уязвимость затрагивает программное обеспечение PHP-Fusion, в котором уязвимость LFI позволяет удаленному злоумышленнику включать произвольные локальные файлы.

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

Локальный файл включает в себя эксплойты уязвимостей

Существует ряд популярных уязвимостей для локального включения файлов (LFI). Вот несколько примеров:

  • Metasploit LFI Exploit: Платформа Metasploit включает в себя модуль для использования уязвимостей LFI. Модуль может использоваться для включения произвольных файлов из локальной файловой системы, а также может использоваться для выполнения произвольного кода.

  • Lfi-Autopwn: Это скрипт, который можно использовать для автоматизации процесса использования уязвимостей LFI. Он может использоваться для включения произвольных файлов из локальной файловой системы, а также может использоваться для выполнения произвольного кода.

  • Lfi-Сканер: скрипт, который можно использовать для автоматизации процесса выявления уязвимостей LFI. Его можно использовать для проверки уязвимости веб-приложения к LFI и предоставления списка файлов, которые могут быть включены.

  • Linux Exploit Suggesterэто скрипт, который можно использовать для выявления потенциально уязвимых уязвимостей в системе Linux. Его можно использовать для проверки уязвимости веб-приложения к LFI и предоставления списка файлов, которые могут быть включены.

  • Lfi-Fuzzploit: скрипт, который можно использовать для автоматизации процесса использования уязвимостей LFI. Он может использоваться для включения произвольных файлов из локальной файловой системы, а также может использоваться для выполнения произвольного кода.

  • cURL: инструмент командной строки для передачи данных с синтаксисом URL, который можно использовать для проверки уязвимостей LFI.

  • Lfi-Finder: скрипт, который можно использовать для автоматизации процесса выявления уязвимостей LFI.

  • PHP-LFI-Exploit-Script: скрипт, который можно использовать для использования уязвимостей LFI в приложениях PHP.

  • Lfi-Scanner-NG: скрипт, который можно использовать для автоматизации процесса выявления уязвимостей LFI.

  • Exploit Pack: платформа с открытым исходным кодом, которая включает в себя модуль для использования уязвимостей LFI.

Уязвимости, включающие локальные файлы (LFI), являются распространенным типом уязвимости в системе безопасности и регулярно освещаются в новостях. Вот несколько примеров недавних новостных статей, связанных с уязвимостями LFI:

“Исследователи обнаружили уязвимость LFI в популярной CMS PHP-Fusion” (2021): В этой статье сообщается об уязвимости LFI, обнаруженной в CMS PHP-Fusion, которая может позволить злоумышленнику включать произвольные файлы из локальной файловой системы.

“Уязвимость LFI, обнаруженная в популярном программном обеспечении vBulletin forum” (2017): В этой статье сообщается об уязвимости LFI, обнаруженной в программном обеспечении vBulletin forum, которая может позволить злоумышленнику включать произвольные файлы из локальной файловой системы.

“В маршрутизаторе Huawei HG532 обнаружена уязвимость LFI” (2017): В этой статье сообщается об уязвимости LFI, обнаруженной в маршрутизаторе Huawei HG532, которая может позволить злоумышленнику включать произвольные файлы из локальной файловой системы.

“У маршрутизатора D-Link DIR-823 обнаружена уязвимость LFI” (2017): В этой статье сообщается об уязвимости LFI, обнаруженной в маршрутизаторе D-Link DIR-823, которая может позволить злоумышленнику включать произвольные файлы из локальной файловой системы.

“В CMS TYPO3 обнаружена уязвимость LFI” (2017): В этой статье сообщается об уязвимости LFI, обнаруженной в CMS TYPO3, которая может позволить злоумышленнику включать произвольные файлы из локальной файловой системы.

Практика в тестировании на уязвимость LFI

Уязвимости, включающие локальные файлы (LFI), могут быть протестированы в различных средах, в том числе:

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

Изолированные среды: уязвимости LFI могут быть протестированы в изолированной среде, которая представляет собой имитируемую среду, имитирующую производственную среду. Это может быть полезно для тестирования потенциальных сценариев эксплойтов без риска для производственной среды.

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

Программы вознаграждения за ошибки: Многие организации запускают программы вознаграждения за ошибки, которые позволяют исследователям безопасности сообщать и проверять уязвимости, включая уязвимости LFI.

Для изучения LFI

Доступные курсы, практические занятия и видеоролики для ознакомления с уязвимостями локального включения файлов (LFI):

  1. OWASP: Фонд OWASP предлагает множество ресурсов для изучения уязвимостей LFI, включая Руководство по тестированию OWASP, в котором содержится информация о том, как тестировать уязвимости LFI.

  2. Институт SANS: Институт SANS предлагает различные учебные курсы по кибербезопасности, в том числе курс тестирования веб-приложений SEC542 на проникновение и курс этического взлома, который охватывает уязвимости LFI.

  3. Udemy: Существует множество курсов Udemy, посвященных уязвимостям LFI и тестированию на проникновение в веб-приложения, таких как “Тестирование на проникновение в веб-приложения” и “Полный курс веб-взлома и тестирования на проникновение”.

  4. YouTube: На YouTube есть много видеороликов, посвященных уязвимостям LFI и тестированию проникновения веб–приложений, таким как “Эксплуатация локального включения файлов (LFI)” и “Пентестирование веб-приложений - атаки с включением файлов”.

  5. Практические лаборатории: Существует несколько веб-сайтов, которые предоставляют виртуальные лаборатории для отработки различных типов уязвимостей, включая уязвимости LFI, такие как “Hack the Box”, “Vulnhub”, “TryHackMe”

  6. Книги: Доступно несколько книг на тему уязвимостей LFI и тестирования веб-приложений на проникновение, таких как “Веб-хакинг 101: как зарабатывать деньги, взламывая этично” и “Руководство хакера веб-приложений: поиск и использование недостатков безопасности”.

Книги доступно по теме Включение локального файла (LFI) тестирование уязвимостей и проникновения веб-приложений

“Веб-хакинг 101: как зарабатывать деньги, взламывая этично” Питер Яворски: Эта книга представляет собой введение во взлом веб-приложений, включая раздел об уязвимостях LFI и о том, как их использовать. Рецензенты высоко оценили книгу за ее четкие объяснения и практические примеры.

“Справочник хакера веб-приложений: поиск и использование уязвимостей безопасности” Дафида Штуттарда и Маркуса Пинто: Эта книга представляет собой всеобъемлющее руководство по взлому веб-приложений, включая раздел об уязвимостях LFI и о том, как их использовать. Рецензенты высоко оценили книгу за подробное освещение вопросов безопасности веб-приложений и практические советы по выявлению и использованию уязвимостей.

“The Web Application Hacker's Handbook 2nd Edition” Дэвида Штуттарда и Маркуса Пинто: Эта книга является обновленной версией предыдущей и охватывает новейшие технологии, тенденции и атаки. Он включает в себя раздел, посвященный уязвимостям LFI и способам их использования. Рецензенты высоко оценили книгу за подробное освещение вопросов безопасности веб-приложений и практические советы по выявлению и использованию уязвимостей.

“The Hacker Playbook 3: практическое руководство по тестированию на проникновение” Питера Кима: Эта книга представляет собой практическое руководство по тестированию на проникновение, включая раздел об уязвимостях LFI и о том, как их использовать. Рецензенты высоко оценили книгу за ее четкие объяснения и практические примеры.

“Взлом: искусство эксплуатации” Джона Эриксона: Эта книга представляет собой всеобъемлющее руководство по искусству эксплуатации, включая раздел об уязвимостях LFI и о том, как использовать

Список полезных нагрузок, подходящих для уязвимости

Полезные нагрузки Local File Include (LFI) используются для использования уязвимостей LFI путем манипулирования пользовательским вводом для включения файлов из локальной файловой системы. Вот несколько примеров полезных нагрузок, которые можно использовать для использования уязвимостей LFI:

  • “.. /”: эта полезная нагрузка используется для перехода к родительскому каталогу в файловой системе и может использоваться для включения файлов, расположенных в каталоге более высокого уровня.

  • “.. \”: Аналогично предыдущему, эта полезная нагрузка используется для перехода к родительскому каталогу в файловой системе в системах Windows.

  • “..”: эта полезная нагрузка использует кодировку URL для представления полезной нагрузки “.. /”, ее можно использовать в случае, если приложение выполняет фильтрацию по определенным символам.

  • Внедрение нулевого байта: добавляя нулевой байт “” в конце полезной нагрузки, его можно использовать для обхода фильтра, который блокирует полезные нагрузки “.. /” и “.. \”.

  • “php://filter/convert.base64-encode/resource=”: Эта полезная нагрузка используется для кодирования файла в base64 и может использоваться для обхода фильтра, который блокирует полезные нагрузки “.. /” и “.. \”.

  • “data:text / plain; base64,”: Эта полезная нагрузка может использоваться для включения файла, закодированного в base64, его можно использовать для обхода фильтра, который блокирует “.. /”

Как защититься от LFI

Правила Sigma и правила брандмауэра могут использоваться для обнаружения и блокирования атак с локальным включением файлов (LFI). Вот несколько примеров правил Sigma и правил брандмауэра, которые можно использовать для блокировки или остановки уязвимостей LFI:

  1. Правило сигмы: правило сигмы можно использовать для обнаружения попыток использования уязвимостей LFI путем поиска определенных шаблонов в журналах веб-сервера, таких как использование “.. /” или “.. \” в запрошенном URL.

  2. Правило брандмауэра: правило брандмауэра можно использовать для блокирования входящего трафика, который содержит определенные шаблоны, такие как “.. /” или “.. \” в запрошенном URL.

  3. Правило брандмауэра веб-приложений (WAF): правило WAF можно использовать для блокировки входящего трафика, который содержит определенные шаблоны, такие как “.. /” или “.. \” в запрошенном URL.

  4. Правило системы предотвращения сетевых вторжений (IPS): правило IPS может использоваться для блокирования сетевого трафика, который содержит определенные шаблоны, такие как “.. /” или “.. \” в запрошенном URL.

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

Меры по смягчению последствий для LFI

Полезные сервисы для устранения уязвимостей LFI включают:

Брандмауэры веб-приложений (WAF)
Системы обнаружения вторжений (IDS)
Мониторинг целостности файлов (FIM)
Сканеры безопасности веб-приложений
Системы управления журналами
Регулярные оценки безопасности и тестирование на проникновение

Заключение

В заключение, уязвимости LFI - это тип уязвимости безопасности, которая может возникнуть, когда веб-приложение позволяет злоумышленнику включить файл из файловой системы сервера в веб-страницу. Это может позволить злоумышленнику просматривать конфиденциальную информацию, такую как системные файлы, файлы паролей и другие конфиденциальные данные. Чтобы предотвратить уязвимости LFI, важно поддерживать программное обеспечение в актуальном состоянии и следовать рекомендациям по безопасному кодированию. Кроме того, использование средств безопасности, таких как брандмауэры веб-приложений (WAF), системы обнаружения вторжений (IDS), мониторинг целостности файлов (FIM), сканеры безопасности веб-приложений, системы управления журналами, а также регулярные оценки безопасности и тестирование на проникновение, могут помочь снизить риск атак LFI.

Другие Услуги

Готовы к безопасности?

Связаться с нами