• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Статья Форензика альтернативного потока данных (Zone.Identifier) в NTFS

Альтернативные потоки данных (англ. Alternate Data Streams, ADS) — метаданные, связанные с объектом файловой системы NTFS.

ntfs.png

Рассмотрим один из альтернативных потоков данных Zone.Identifier. Файловая система NTFS может содержать в себе несколько альтернативных потоков данных и содержать дополнительную информацию про файл. Мы разберем только файл с секцией Zone.Identifier в которой указан идентификатор зоны передачи ZoneId, он принимает значения от "0" до "4", а так же свойство ZoneId определяет и помечает загрузку в соответствии с соответствующим уровнем доверия. Код ниже показывает перечисление и соответствующие значения:
Код:
typedef enum tagURLZONE {
  URLZONE_INVALID         = -1,
  URLZONE_PREDEFINED_MIN  = 0,
  URLZONE_LOCAL_MACHINE   = 0,
  URLZONE_INTRANET,
  URLZONE_TRUSTED,
  URLZONE_INTERNET,
  URLZONE_UNTRUSTED,
  URLZONE_PREDEFINED_MAX  = 999,
  URLZONE_USER_MIN        = 1000,
  URLZONE_USER_MAX        = 10000
} URLZONE;
По данным Microsoft, они содержат все предопределенные зоны, используемые Windows Internet Explorer:
  • URLZONE_INVALID — это недопустимая зона, которая используется только в том случае, если подходящая зона недоступна.
  • URLZONE_LOCAL_MACHINE — эта зона используется для контента, который уже находится на локальном компьютере пользователя.
  • URLZONE_INTRANET — эта зона используется для контента, найденного в интрасети.
  • URLZONE_TRUSTED — эта зона используется для доверенных веб-сайтов в Интернете.
  • URLZONE_INTERNET — эта зона предназначена для контента из Интернета, за исключением веб-сайтов, перечисленных в доверенных или ограниченных зонах.
  • URLZONE_UNTRUSTED — эта зона используется для ненадежных веб-сайтов.

ZoneId=0: Local machine (PC local)
ZoneId=1: Local intranet (LAN)
ZoneId=2: Trusted sites (secure sites)
ZoneId=3: Internet (internet)
ZoneId=4: Restricted sites (Dangerous sites)
При загрузке файла браузеры присваивают идентификатор зоны ZoneId. Посмотрим интересующие нас файлы:

Код:
Win+R
cmd
//мой путь к интересующим файлам
// команда dir с ключем /R отображение альтернативных потоков данных этого файла
C:\Users\Toor\Downloads>dir /R
cmd_command.jpg
в ответ получим
cmd_command2.jpg

нас интересует - когда не хороший человек скачал методом создания pdf файла и откуда
Код:
C:\Users\Toor\Downloads>Notepad.exe [Шпаргалка] Разведка и аудит сервера. Codeby.net.pdf:Zone.Identifier
и результат:
cmd_command3.jpg
Вывод: мы получили искомое. Так же есть программы автоматизирующая данный процесс - AlternateStreamView и ещё NTFS Stream Explorer220

Рассмотрим использование команд Windows PowerShell​
В примере мы используем команду , чтобы вывести список всех доступных потоков для определенного VHD-файла, хранящегося в папке «Downloads». Этот файл был загружен с помощью google chrome:
Код:
Get-Item -path C:\Users\anonymous\Downloads\FAT.vhd -stream *
Список всех доступных потоков и связанных свойств
1680031098212.png


Этот вывод показывает больше информации, чем нам действительно нужно, поэтому мы можем отформатировать его в столбцы и сделать его более понятным для просмотра с помощью следующей команды:
Код:
Get-Item -path C:\Users\anonymous\Downloads\FAT.vhd -stream * | Select-Object -Property Filename, Stream, Length
1680031871131.png


Мы можем исследовать данные, содержащиеся в потоке Zone.Identifier, один из вариантов - запустить Powershell и выполнить команду , как показано ниже:
Код:
C:\Users\anonymous\Downloads> Get-Content -path C:\Users\anonymous\Downloads\fat.vhd -stream Zone.Identifier
1680032050516.png


Структура потока также может меняться в зависимости от приложения, выполнявшего загрузку. В результате нашего анализа мы обнаружили следующие свойства:
  • AppZoneId
  • IP-адрес хоста
  • URL-адрес хоста
  • LastWriterPackageFamilyName
  • ReferrerUrl
  • идентификатор зоны
И пока мы используем PowerShell то как положено сразу можем посчитать контрольную сумму ;-)
Код:
C:\Users\anonymous\Downloads> get-filehash -alg sha1 -path C:\Users\anonymous\Downloads\FAT.vhd
1680034242769.png

P:S​
Есть ещё интересная статья (копировать её не вижу смысла) Альтернативные потоки данных в NTFS или как спрятать блокнот
На форуме статья - не обращайте внимание на название Подборка трюков для Windows NTFS [Часть 1] она то же про альтернативные потоки данных,
прям по следам статьи что я указал выше, но с уклоном hack.
СОФТ - Альтернативный поток данных (Zone.Identifier) в NTFS
 
Последнее редактирование модератором:

MLNK

Mod. Ethical Hacking
Red Team
23.01.2018
560
706
BIT
7
Краткость сестра таланта. Хорошая статья с меня лайк.
 
W

wittmann404

Попробовал на 10, не работает. в блокноте пусто
 

Sunnych

Mod. Forensics
Gold Team
01.06.2018
276
1 448
BIT
28
Попробовал на 10, не работает. в блокноте пусто
cmd запущен был с правами Администратора? И именно эти потоки есть только в ntfs, даже если копировалось с ntfs в ntfs то информация есть, её добавляют браузеры и некоторые программы. Для пробы скачайте книгу из нашей библиотеки и проверьте еще раз.
 
  • Нравится
Реакции: Сергей Попов
W

wittmann404

Пробовал с книгой. Вводил D:\Загрузка>Notepad.exe Kali_Linux_Revealed_RU.pdf:Zone.Identifier. Блокнот пустой
 

Tayrus

Red Team
13.04.2017
365
787
BIT
6
Пробовал с книгой. Вводил D:\Загрузка>Notepad.exe Kali_Linux_Revealed_RU.pdf:Zone.Identifier. Блокнот пустой
У меня все работает, мои действия: Win + R -> cmd -> cd <path> -> dir /R -> Например Wireshark.exe:Zone.Identifier:$DATA -> notepad.exe Wireshark.exe:Zone.Identifier -> ZoneId=3 -> ZoneId=3: Internet (internet)
PS Если есть пробелы в вашем файле уберите их.
 

Sunnych

Mod. Forensics
Gold Team
01.06.2018
276
1 448
BIT
28
Код:
C:\Downloads>Notepad.exe Kali_Linux_Revealed_RU.pdf:Zone.Identifier
cmd запустить от администратора и попробовать,
еще когда даешь команду в cmd (в том каталоге где интересующий файл)- dir /r то в ответ выводит информацию о файлах и там же информация метаданные /потока, и сразу визуально видно есть эти данные или нет
 
W

wittmann404

Попробовал. С другим файлом получилось. С книгой нет. Но только нет информации откуда скачавался

Все понял. Там где стоит 0 данных нет. С видео все прекрасно получилось. Спасибо.
 

Sunnych

Mod. Forensics
Gold Team
01.06.2018
276
1 448
BIT
28
Попробовал. С другим файлом получилось. С книгой нет. Но только нет информации откуда скачавался
есть разные метаданные/артефакты, и разные методы, собираюсь написать статью по ............................... что, чем и что с ней делают и как добывают в форензике - так что надеюсь я её все таки напишу, и может она Вам прольет свет на моменты которые Вам интересны ;-) И раз у Вас там нет данных значит программа которой Вы скачивали не добавляет их, или трафик был ну уж очень шифрован :)
 
  • Нравится
Реакции: MLNK

Sunnych

Mod. Forensics
Gold Team
01.06.2018
276
1 448
BIT
28
Жду с нетерпением
конечно это ещё не все, но как и обещал одну из вещей дописал (дополнил статью сладким в окончании) и показал тут Comparison of file recovery programs usb mass storage device (Windows) в самом низу статьи последняя программа и её скрин - внимательно посмотрите и этой программой пройдитесь по своим файлам, если что то в системе затирает Zone.Identifier то Вы это глазками уведите - удачи в изучении.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!