• Codeby web-security - Курс "Тестирование Веб-Приложений на проникновение с нуля" от команды codeby. Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

Статья Альтернативные потоки данных NTFS и их применение в pentest.

Вам интересны мои статьи?

  • Да

    Голосов: 32 100.0%
  • Нет

    Голосов: 0 0.0%

  • Всего проголосовало
    32

z3r0c10wn

Well-known member
04.09.2017
105
204
#1
Добрый день, коллеги.

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

Для понимания статьи, нам необходимо будет описать не много теории.


1. Введение
Цель этой статьи – описание альтернативных потоков данных в Microsoft Windows, демонстрация того, как их можно создать, скомпрометировав машину и благодаря этому обойти некоторые политики безопасности системы, так же в дальнейшем мы рассмотрим методы детектирования ADS и защиты для Blue Team.
(Не факт что все будет описано в этой статье, но будет цикл минимум из 3 статей)

2. Что такое альтернативные потоки данных (ADS - я буду использовать это обозначение в статье)
Альтернативные потоки данных появились в ОС Windows NT с введением файловой системы NTFS.
Что же такое альтернативные потоки данных?
Альтернативные потоки данных ( Alternate Data Streams, ADS) — метаданные, связанные с объектом файловой системы NTFS.
В файловой системе NTFS файл, кроме основных данных, может также быть связан с одним или несколькими дополнительными потоками данных. При этом дополнительный поток может быть произвольного размера, в том числе может превышать размер основного файла.
В сущности, они были созданы для обеспечения совместимости в HFS (устаревшей файловой системой Macintosh). Суть организации HFS состоит в раздвоение файла на файл данных и файл ресурсов. В файле данных находится содержимое документа, а в файле ресурсов - идентификатор типа файла и другие свойства.
На сегодняшний день не всем известно о существовании альтернативных потоков данных. Однако какое-то время они использовались некоторыми не лучшими представителями сообщества специалистов безопасности. Было отмечено увеличение использования этих потоков злонамеренными хакерами, желающими спрятать свои файлы сразу после компрометации компьютера. Кроме этого, было замечено, что некоторые вирусы и другие типы злонамеренного ПО также используют альтернативные потоки данных, до сих пор можно очень часто встречать использование ADS в различных нашумевших атаках. Проблема в том, что эти потоки нельзя просмотреть, используя стандартные методы, через командную строку (речь идет о простом листинге dir) или с помощью Windows Explorer.

Как же обнаружить злонамеренное использование альтернативных потоков данных? Необходимо следить за повышением использования таких потоков. Даже если учесть, что корпоративный объект хорошо защищен, нужно иметь в виду, что не все антивирусные средства в конфигурации по умолчанию проверяют альтернативные потоки данных. В настоящее время часть антивирусных продуктов находит эти потоки, но только после дополнительной настройки, которая сильно повышает нагрузку на дисковую подсистему (на файловых серверах при копировании может быть Швах) и в результате чаще всего эти настройки выключены администраторами.
Конкретные методики обнаружения альтернативных потоков данных я рассмотрю в отдельной статье
1526893796994.png

3. Пример использования альтернативных потоков данных
Добавим в альтернативный стрим файла Test.exe нашу Лазанью.

1526894705002.png

Проверяем и запускаем

1526894741523.png

Проверим что нам выдаст команда dir
1526904234946.png

Стрим не отображается.
Посмотрим стримы:

1526904381258.png

3. Варианты запуска

Теперь посмотри варианты запуска и вложения в ADS

Рассмотрим простой вариант

Код:
"type c:\temp\bginfo.exe > "C:\program files (x86)\Teamviewer\TeamViewer12_Logfile.log:bginfo.exe"
Wmi

Код:
"wmic process call create '"C:\program files (x86)\Teamviewer\TeamViewer12_Logfile.log:bginfo.exe"'
Rundll32

Код:
rundll32 "C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:ADSDLL.dll",DllMain
Mavinject

Код:
c:\windows\SysWOW64\notepad.exe
tasklist | findstr notepad
type C:\temp\AtomicTest.dll > ""C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:Atomic.dll"
C:\windows\WinSxS\wow64_microsoft-Windows-appmanagement-appvwow_31bf3856ad364e35_10.0.16299.15_none_e07aa28c97ebfa48\mavinject.exe 4172 /INJECTRUNNING "C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:Atomic.dll"
Wscript

Код:
type "C:\Program Files\test\wscripthello.vbs" > "C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:wscripts.vbs"

wscript "C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:wscripts.vbs"
Cscript

Код:
cscript "C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:wscripts.vbs"
MSHTA

Код:
type C:\temp\helloworld.hta > wscript "C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:helloworld.hta"

mshta "C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:helloworld.hta"

4. Применение
ADS в первую очередь используется для сокрытия вредоносов или нагрузок.
Важные замечания:
1) Антивирусы отлавливают "загруженный" ADS на доступе к процессу либо на полном сканировании. Фаст сканы при работе с файловой системой не анализируют ADS.
2) Средствами ADS отлично обходятся политики applocker
3) ADS иногда применяют для UACBypass
4) ADS это всего лишь hidden метод, а не панацея. Обфусцируем и криптуем свои нагрузки.
5) Как я не давно выяснил, не так много админов имеют представление об ADS, поэтому ветка в реестре либо команда в планировщике вызывает у них диссонанс когда они не обнаруживают файл "mscop:los.exe" в указанной папке, используя простой explorer.

Ну и напоследок чуток вкусного, при должной и не большой доработке очень любопытный результат. :)
(ну а старики оценят и вспомнят старую, добрую тулзу)
samratashok/nishang
Вот что указывает автор:
Этот скрипт будет сохраняться на компьютере под управлением Windows под стандартными и административными учетными записями
используя два альтернативных потока данных. Первый поток альтернативных данных хранит полезную нагрузку,а второй альтернативный поток данных
хранит VBScript, который действует как оболочка, чтобы скрыть приглашение DOS при вызове потока данных, содержащего
полезная нагрузка. При передаче аргументов вы должны включить функцию и параметры, необходимые для вашей полезной нагрузки.
Аргументы также должны быть указаны в кавычках.


Планы на ближайшие 2 статьи:
1) Готовлю материал по созданию небольших полезных нагрузок при пентесте с использованием ADS (думал успею к этой статье, но уж затягивать её не хотелось. А лабораторию случайно убил при тестах)
2) Будет материал для Blue Team по анализу и детектированию вредоносов использующих ADS
 
Последнее редактирование:

Elektrolife

Well-known member
21.10.2016
199
28
#5
Где то я уже слышал об этом раньше,по моему у Клевогина упоминается об этом,правда уж очень поверхностно.. Хотелось бы посмотреть практическое применение )
 
Симпатии: Понравилось CHEATER

IF_ELSE

Active member
20.01.2017
25
8
#6
Админы часто в курсе данного метода, тот же dir c H отображает наш скрытый поток. Тема интересная, по крайней мере есть где развернуться. Неплохо описана в книгах о ФС Вин русских авторов, если будет необходимость, могу скинуть. Плюсую ТС о продолжении.
 
Вверх Снизу