РАЗБОР Pentest Статья

Bypass Windows ZoneID

teddy1337
teddy1337 Newbie · 31 сообщений
Подписаться
2,8 тыс.
[ обложка статьи ]
Режим чтения
Прежде чем переходить к практике, стоит понимать, зачем вообще нужен ZoneID и почему его обход так интересен атакующим. Mark of the Web — это не просто техническая метка, а часть реальной цепочки защиты Windows: на основе этого атрибута SmartScreen решает, предупреждать ли пользователя об опасном файле, а офисные приложения — блокировать ли автозапуск макросов в документах, полученных из интернета. Именно поэтому обход простановки ZoneID давно стал самостоятельной техникой в арсенале атакующих: вредоносные макросы, замаскированные архивы и другие приёмы нередко строятся именно на том, чтобы файл не получил отметку об интернет-происхождении. Ниже разберём, как устроен этот механизм на низком уровне и почему его так легко обойти.



Мини-Теория​

Я думаю все видели данные Security варнинги


1710140791652.png



1710140804629.png




Так что же это такое ?

ZoneID в Windows - это атрибут, который присваивается файлам и потокам данных для определения их безопасности и источника. ZoneID указывает на зону безопасности, из которой был получен файл или поток данных. Этот атрибут используется операционной системой Windows для определения уровня доверия к файлу или данных и принятия соответствующих мер безопасности.



Пример работы ZoneID​

К примеру поднимем маленький питоновский веб-сервер на порту 8000 и создадим файл main.go

После чего скачиваем любой файл с нашего веб-сервера, сторонней машиной и проверяем ZoneID установленного файла

Get-Item -Path "path/to/file" -Stream *
И мы видим, что у нас успешно установился Stream : Zone.Identifier у которого ZoneID = 3, т.е 3 — Internet (Интернет)


1710140956813.png





Get-Content -Path .\main.go -Stream Zone.Identifier

1710140966849.png



Параметр ZoneID может принимать пять значений от 0 до 4.
  • 0 — Local machine (Локальный компьютер)
  • 1 — Local internet (Местная сеть)
  • 2 — Trusted sites (Надежные сайты)
  • 3 — Internet (Интернет)
  • 4 — Restricted sites (Опасные сайты)
Структура потока также может меняться в зависимости от приложения, выполнявшего загрузку. В результате анализа было обнаружены следующие свойства:
  • AppZoneId
  • IP-адрес хоста
  • URL-адрес хоста
  • LastWriterPackageFamilyName
  • ReferrerUrl
  • ZoneID
1710141063840.png



Как же обойти этот ZoneID ? (Ответ оказался очень страным и простым)​

При установке файлов через Curl, Wget, Invoke-WebRequest эти инструменты не устанавливают метаданные, которые Windows использует для установки ZoneID


1710141086451.png
Полезно · 3

Комментарии

0