• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

Добрый день, коллеги.

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

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


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
 
Последнее редактирование:

Vertigo

Lex mea est Vulgate Linux
Gold Team
15.02.2017
1 318
3 999
BIT
1
Отлично же,проголосовал за интерес к статьям автора и подаче материала.
Очень хороший вклад для развития форума.
 

Elektrolife

Green Team
21.10.2016
208
33
BIT
7
Где то я уже слышал об этом раньше,по моему у Клевогина упоминается об этом,правда уж очень поверхностно.. Хотелось бы посмотреть практическое применение )
 
  • Нравится
Реакции: CHEATER

IF_ELSE

Green Team
20.01.2017
24
8
BIT
0
Админы часто в курсе данного метода, тот же dir c H отображает наш скрытый поток. Тема интересная, по крайней мере есть где развернуться. Неплохо описана в книгах о ФС Вин русских авторов, если будет необходимость, могу скинуть. Плюсую ТС о продолжении.
 
Мы в соцсетях:

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