Что такое обход узла брандмауэра Windows

Обновлено: 21.11.2024

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

Мне пришло в голову, что в прошлом хакеры публиковали в Твиттере команды PowerShell с намерением использовать службу в качестве системы размещения полезной нагрузки. Эта концепция не нова и заставила меня задуматься о других популярных доменах, которые можно было бы использовать аналогичным образом, а также о том, какие потенциальные преимущества может иметь эта активность для атаки.

Зачем использовать домены Microsoft вместо выделенного VPS?

Наиболее значительным преимуществом, вероятно, будет влияние этих популярных доменов на сетевые брандмауэры и высокозащищенные среды.

Концепция относительно проста. Злоумышленник разместит свою полезную нагрузку в домене Microsoft. Когда целевой компьютер с Windows 10 пытается загрузить его, защищенные операционные системы и сети с большей вероятностью разрешат веб-запросам проходить через сеть и обходить брандмауэр и систему обнаружения вторжений (IDS), настроенную организацией.

Компьютеры с Windows 10 могут "звонить домой" до десятков тысяч раз в день. Даже с усиленными настройками Windows 10 будет пинговать серверы Microsoft тысячи раз. Некоторые данные, передаваемые в домены Microsoft и из них, необходимы для поддержания системных обновлений и других важных аспектов операционной системы. Ниже приведен пример захвата Wireshark данных, покидающих (GET) систему Windows 10.

Злоумышленник может использовать эти знания в своих интересах. Возьмите приведенный ниже захват Wireshark в качестве примера. Вы заметили что-нибудь необычное?

Домен «social.msdn.microsoft.com» только что использовался для загрузки полезной нагрузки злоумышленника. Невооруженным глазом или тем, кто выполняет глубокую проверку пакетов (DPI), этот трафик выглядит в основном безопасным. Домен принадлежит форуму сообщества Microsoft для разработчиков и обычных пользователей Windows 10. Запросы (TCP/TLS) зашифрованы, поэтому дальнейшая проверка пакетов не покажет полный путь к веб-странице или содержимому (т. е. полезной нагрузке). Администраторы, наблюдающие за этим трафиком в сети, вероятно, решат, что целевой пользователь просто просматривает форум Microsoft.

Перейдя на страницу, созданную злоумышленником, мы можем увидеть полезную нагрузку, встроенную в раздел «Обо мне».

Для такого рода деятельности можно использовать многие домены, принадлежащие Microsoft, такие как Microsoft Answers, Office Forms, OneDrive и даже разделы комментариев других новостных агентств Microsoft. Все эти законные домены Майкрософт допускают ввод данных пользователем, который может быть использован для размещения полезной нагрузки.

Шаг 1. Создайте полезную нагрузку

На данный момент мы определяем последний фрагмент кода, который будет выполняться на целевом компьютере. Для простоты полезная нагрузка создаст пустой текстовый файл в папке Documents\ с именем pwn_sauce. Обратите внимание на тройную обратную косую черту (\\\). В Bash (терминал Kali) это необходимо для передачи переменных PowerShell в полезной нагрузке в виде буквальной строки.

PowerShell будет использовать политику обхода выполнения (-ep), сохраняя всплывающие окна терминала скрытыми с помощью /w 1. Командлет New-Item используется для создания нового файла. В пути к имени файла переменная среды username используется для автоматической вставки имени скомпрометированного пользователя. Его можно выполнить на любом компьютере с Windows 10 без изменения какой-либо части команды. Будет создан новый файл в папке Documents\.

Простые команды, подобные показанной на снимке экрана выше, можно встроить непосредственно в раздел Обо мне. Сложные полезные данные PowerShell, содержащие специальные символы, должны быть закодированы в base64. В противном случае сервер Microsoft обнаружит и очистит специальные символы (например, &). Кодирование полезной нагрузки с помощью Base64 позволяет быстро решить эту проблему.

С расширенными командами base64, скорее всего, создаст несколько закодированных строк. При использовании строк base64 с PowerShell они должны отображаться в одной строке.Объедините многочисленные строки в одну строку, передав вывод base64 в tr, чтобы удалить (-d) новые строки (\n).

На этом настройка полезной нагрузки завершена. Перейдем к созданию учетной записи Microsoft и настройке стейджера.

Шаг 2. Создайте учетную запись Microsoft

Для создания и изменения страницы профиля, на которой размещена полезная нагрузка, требуется учетная запись Microsoft. Перейдите на страницу входа в Live, чтобы начать процесс.

После входа в систему перейдите на страницу профиля пользователя по адресу social.msdn.microsoft.com/Profile/USERNAME и нажмите кнопку "Изменить мой профиль", чтобы обновить раздел Обо мне. р>

Шаг 3. Разместите полезную нагрузку на веб-сайте Microsoft

Раздел Обо мне на странице профиля Microsoft может содержать 1024 символа, о чем следует помнить при создании полезных данных, особенно при кодировании полезных данных с помощью base64, так как это увеличивает количество символов. Полезные нагрузки можно размещать в виде открытого текста, но пейджеру PowerShell потребуется включить некоторый код для обнаружения и преобразования обработанных строк HTML обратно в формат открытого текста. Хотя это возможно, это выходит за рамки статьи.

Вставьте нужную полезную нагрузку в раздел Обо мне между словами START и END. Это очень важно для стейджера на следующем этапе, который анализирует весь HTML-код на странице Microsoft и извлекает закодированную строку между идентификаторами «START» и «END».

По завершении нажмите кнопку "Сохранить" внизу страницы.

Шаг 4. Создайте сцену

Следующий однострочник PowerShell предназначен для загрузки страницы профиля пользователя Microsoft, извлечения закодированных полезных данных, декодирования и выполнения.

Существует несколько объединенных в цепочку команд, разделенных точкой с запятой. Ниже я разберу каждую команду.

Вверху: командлет Invoke-WebRequest (iwr) используется для получения веб-страницы с аргументом -UseBasicParsing. Все это задается в переменной $wro (WebResponseObject). Хотя параметр UseBasicParsing устарел, он используется для включения базового синтаксического анализа. Я обнаружил, что этот параметр необходимо установить вручную для успешного выполнения запроса.

Выше: PowerShell будет использовать шаблоны регулярных выражений для поиска полезной нагрузки в HTML. Существуют и другие способы извлечения контента с веб-страниц с помощью PowerShell, но этот метод кажется универсальным. Полезные нагрузки, заключенные в START и END, встроенные в любой веб-сайт, будут отфильтрованы этой командой.

Выше: будет создана переменная $m для любого текста, соответствующего шаблонам регулярных выражений.

Выше: если в переменной $m обнаружены какие-либо шаблоны, декодируйте (FromBase64String) строку и задайте ее в переменной $p.

Выше: используйте Invoke-Expression (iex) для выполнения переменной $p. В данном случае $p — это полезная нагрузка PowerShell. Чтобы проверить это, команду iex можно заменить командой echo, как показано ниже.

Шаг 5. Обфускация PowerShell Stager (необязательно)

Злоумышленнику может потребоваться запутать стейджер с помощью такого инструмента, как Unicorn. Подробную информацию о Unicorn см. в статье «Как создать необнаруживаемую полезную нагрузку» и на официальной странице GitHub.

Затем откройте файл powershell_attack.txt, чтобы найти обфусцированный стейджер.

Шаг 6. Разверните Stager

Представленный стейджер был разработан и протестирован с помощью USB Rubber Ducky. Однако существует множество других способов выполнить код на целевой машине. Ниже приведен неполный список возможных векторов атак.

  • Человек посередине: такие инструменты, как Mitmf (устарел) и Bettercap, способны перехватывать загрузки и заменять их вредоносными файлами.
  • Вложение электронной почты. Фишинговые атаки — один из основных способов, которыми злоумышленники пытаются скомпрометировать организацию. Некоторые организации слишком велики, чтобы надлежащим образом проводить углубленное обучение по вопросам безопасности для своих сотрудников, что делает этот метод эффективным.
  • USB Dead Drop: USB-задержки имеют почти 50% успешных попыток. Многих людей можно обмануть, вставив в компьютер случайный USB-накопитель.
  • USB Rubber Ducky: при наличии физического доступа к целевому компьютеру в течение нескольких секунд USB Rubber Ducky можно использовать для доставки стейджеров.

Шаг 7. Улучшите атаку (заключение)

Злоумышленник может сделать гораздо больше, чтобы улучшить эту атаку.

Разместить полезные данные непосредственно в Google сложнее. Google — это поисковая система, поэтому злоумышленнику нужно будет использовать это в своих интересах, создав веб-сайт, который Google сможет индексировать. Затем им нужно будет создать веб-путь, содержащий полезную нагрузку в качестве имени файла. Полезная нагрузка позже будет получена путем идентификации href, а не тела раздела Обо мне (пример ниже). Компьютер цели никогда не будет запрашивать веб-сайт злоумышленника. Полезная нагрузка будет полностью получена с помощью поисковой системы Google.

Полезная нагрузка с целью:

В этой статье представлена ​​очень простая полезная нагрузка PowerShell, которая создает пустой текстовый файл в папке Documents\. На самом деле злоумышленник может попытаться извлечь пароли Wi-Fi, установить постоянство с помощью таких инструментов, как schtasks, или поместить EXE-файл в папку StartUp\.

Однако, если данные, выходящие из сети, являются препятствием, универсальная обратная оболочка TCP, вероятно, будет легко обнаружена, что противоречит цели использования домена Microsoft или Google в стейджере. В этом случае может быть более желательным использовать целевой компьютер в качестве точки доступа Wi-Fi и создать общий ресурс SMB. Такие атаки позволяют злоумышленнику подключиться к точке доступа Wi-Fi цели (в обход исходной сети) и похитить файлы на компьютере.

Уклонение от SmartScreen:

SmartScreen — это дополнительный уровень безопасности, разработанный Microsoft. Он работает в фоновом режиме как служба защиты от вредоносных программ, сканируя приложения и файлы по базе данных вредоносных программ Microsoft.

В моем коротком цикле тестов (без обфускации Unicorn) скомпилированный стейджер PowerShell (EXE) смог обойти браузер Chrome, Защитник Windows и антивирус Avast на несколько защищенном компьютере с Windows 10. SmartScreen, с другой стороны, предложит пользователю вручную запустить EXE-файл, поскольку он был создан «Неизвестным издателем» (т. Е. Злоумышленником). В этой статье основное внимание уделяется обходу сетевых брандмауэров, поэтому в будущем мы покажем, как подписывать исполняемые файлы и обходить SmartScreen.

Подпишитесь на меня в @tokyoneon_, где я, возможно, опубликую больше кода, чтобы нарушить работу систем обнаружения хакеров в Твиттере. Кроме того, не забудьте оставить комментарий ниже, если у вас есть какие-либо вопросы.

Хотите начать зарабатывать как белый хакер? Начните свою карьеру хакера с нашим комплектом обучения Premium Ethical Hacking Certification 2020 от нового магазина Null Byte и пройдите более 60 часов обучения у специалистов по кибербезопасности.

Это обзор функций брандмауэра Защитника Windows в режиме повышенной безопасности (WFAS) и безопасности интернет-протокола (IPsec).

Обзор брандмауэра Защитника Windows в режиме повышенной безопасности

Брандмауэр Защитника Windows в Windows 8, Windows 7, Windows Vista, Windows Server 2012, Windows Server 2008 и Windows Server 2008 R2 — это брандмауэр узла с отслеживанием состояния, который помогает защитить устройство, позволяя создавать правила, определяющие, какой сетевой трафик разрешено входить в устройство из сети и какой сетевой трафик устройству разрешено отправлять в сеть. Брандмауэр Защитника Windows также поддерживает безопасность интернет-протокола (IPsec), которую можно использовать для запроса проверки подлинности с любого устройства, которое пытается установить связь с вашим устройством. Когда требуется проверка подлинности, устройства, которые не могут пройти проверку подлинности как доверенное устройство, не могут обмениваться данными с вашим устройством. Вы также можете использовать IPsec, чтобы требовать шифрования определенного сетевого трафика, чтобы предотвратить его чтение анализаторами сетевых пакетов, которые могут быть подключены к сети злоумышленником.

Оснастка брандмауэра Защитника Windows с расширенной безопасностью MMC является более гибкой и предоставляет гораздо больше функций, чем удобный интерфейс брандмауэра Защитника Windows, который можно найти в панели управления. Оба интерфейса взаимодействуют с одними и теми же базовыми службами, но обеспечивают разные уровни контроля над этими службами. Хотя программа панели управления брандмауэра Защитника Windows может защитить одно устройство в домашней среде, она не обеспечивает достаточно централизованного управления или функций безопасности, чтобы помочь защитить более сложный сетевой трафик, характерный для типичной бизнес-среды предприятия.

Описание функции

Брандмауэр Защитника Windows в режиме повышенной безопасности — важная часть многоуровневой модели безопасности.Обеспечивая двухстороннюю фильтрацию сетевого трафика на основе хоста для устройства, брандмауэр Защитника Windows блокирует несанкционированный сетевой трафик, входящий или исходящий из локального устройства. Брандмауэр Защитника Windows также работает с поддержкой сети, поэтому он может применять параметры безопасности, соответствующие типам сетей, к которым подключено устройство. Параметры конфигурации брандмауэра Защитника Windows и безопасности интернет-протокола (IPsec) интегрированы в единую консоль управления Microsoft (MMC) под названием Брандмауэр Защитника Windows, поэтому брандмауэр Защитника Windows также является важной частью стратегии изоляции вашей сети.

Практическое применение

Для решения проблем сетевой безопасности вашей организации брандмауэр Защитника Windows предлагает следующие преимущества:

Снижает риск сетевых угроз безопасности. Брандмауэр Защитника Windows уменьшает поверхность атаки устройства, предоставляя дополнительный уровень модели глубокой защиты. Уменьшение поверхности атаки устройства повышает управляемость и снижает вероятность успешной атаки.

Защищает конфиденциальные данные и интеллектуальную собственность. Благодаря интеграции с IPsec брандмауэр Защитника Windows предоставляет простой способ обеспечения сквозной сетевой связи с проверкой подлинности. Он обеспечивает масштабируемый многоуровневый доступ к надежным сетевым ресурсам, помогая обеспечить целостность данных и, при необходимости, помогая защитить конфиденциальность данных.

Увеличивает ценность существующих инвестиций. Поскольку брандмауэр Защитника Windows — это брандмауэр на основе узла, включенный в операционную систему, дополнительное оборудование или программное обеспечение не требуется. Брандмауэр Защитника Windows также предназначен для дополнения существующих решений сетевой безопасности сторонних производителей с помощью задокументированного интерфейса прикладного программирования (API).

Проблема, с которой сталкиваются администраторы Windows при рассмотрении вопроса о развертывании брандмауэра на основе хоста, заключается в том, как управлять активами, находящимися за брандмауэром. Хотя вы можете открыть порты, используемые агентами управления, и указать хосты, которые могут отправлять трафик на эти порты, сделать это может быть сложно, особенно если агенты используют динамические порты или удаленные вызовы процедур (RPC). Осознавая эту проблему, Microsoft включила в брандмауэр Windows функцию, позволяющую настраивать брандмауэр таким образом, чтобы аутентифицированный трафик IPsec проходил без проверки. Чтобы установить аутентифицированный сеанс IPsec между двумя хостами, каждая система должна иметь возможность аутентифицироваться с помощью разработанного корпорацией Майкрософт расширения Kerberos для IPsec или с использованием сертификатов X.509v3, выпущенных для этой цели. Хотя вы можете использовать общие ключи для установления связи IPsec, вы не можете использовать их для гарантии идентификации хостов; поэтому обход IPsec с проверкой подлинности не поддерживает этот метод проверки подлинности. Администратор брандмауэра может выбирать, каким узлам доверять, и разрешать трафик IPsec от них через брандмауэр. Вы можете использовать эти подключения IPsec для облегчения трафика управления через брандмауэр Windows, тем самым позволяя управлять активами.

Вам необходимо использовать объекты групповой политики (GPO) для настройки брандмауэра Windows, чтобы разрешить прохождение аутентифицированного IPsec без проверки. Вы не можете настроить обход IPsec с проверкой подлинности, если у вас нет Active Directory (AD) или у ваших хостов нет учетных записей компьютеров в домене. Параметры обхода IPsec с проверкой подлинности можно найти в параметрах объекта групповой политики брандмауэра Windows в оснастке объекта групповой политики консоли управления Microsoft (MMC). Интернет На рис. 2 показано диалоговое окно, в котором вы настраиваете, какие узлы могут обходить брандмауэр. Формат правила соответствует языку определения дескрипторов безопасности (SDDL) и

Хотя вы можете указать отдельные хосты, я рекомендую вместо этого создать в AD группы, содержащие учетные записи компьютеров для контроллеров домена (DC), станций управления и любых других хостов, которым может потребоваться обмен данными с системами, защищенными брандмауэром Windows. Затем вы можете указать группы в правиле вместо каждого хоста. Вам не нужно указывать SID владельца и группы в правиле, но вам нужно знать SID хостов или групп, которые вы создаете и для которых хотите настроить обход IPsec с проверкой подлинности. Вы можете использовать инструмент GetSID (getsid.exe) в наборах ресурсов Windows или средствах поддержки, чтобы найти SID для хостов и групп. Например, для одной группы под названием «Станции управления» формат правила следующий:

Вы можете указать дополнительные хосты и группы, добавив (A;;RCGW;;; ) записи к правилу.

После того как вы настроили брандмауэр Windows, вам необходимо настроить узлы для использования IPsec для обмена данными между ними. Нет необходимости шифровать трафик между хостами с помощью Cisco Encapsulating Security Payload (ESP), поскольку достаточно целостности с использованием протокола Authentication Header (AH).Дополнительные сведения о настройке IPsec см. в статье Windows IT Pro «IPsec для защиты сети», май 2005 г., InstantDoc ID 45903, и «Отказано в доступе: использование политик безопасности IP для ограничения доступа к серверу, " Март 2005 г., InstantDoc ID 45217.

Я пытаюсь защитить компьютер с macOS. В частности, я хочу, чтобы машина не устанавливала нежелательные подключения через Интернет. Я знаю о брандмауэрах, конечно. Но я наткнулся на идею добавить много доменных имен в /etc/hosts и перенаправить их на 0.0.0.0, чтобы предотвратить подключение к ним.

Безопасен ли этот метод? Я вижу, что это не мешает подключению напрямую к IP. Будет ли большинство вредоносных программ обмануты такой конфигурацией хостов, или они, скорее всего, будут использовать IP-адрес напрямую или не будут учитывать файл /hosts?

Как сравнить использование брандмауэра с использованием файла /etc/hosts? Я предполагаю, что самый низкий уровень, тем труднее обойти вредоносное ПО. Итак, какой метод является самым низким уровнем?

Я знаю, что вы указали Mac, но в качестве отступления: MS Windows не будет учитывать записи в файле хоста, блокирующие серверы Microsoft.

На маршрутизаторах используется метод статической маршрутизации определенных префиксов CIDR на интерфейс null0, блокирующий трафик, предназначенный для этого диапазона IP-адресов. Я предполагаю, что статические маршруты могут быть добавлены на Mac аналогичным образом.

1 Ответ 1

Если вы пытаетесь защититься от вредоносного программного обеспечения, это должно сработать. Некоторое программное обеспечение может выполнять свои собственные DNS-запросы (в обход DNS-преобразователя ОС, который проверяет файл hosts), а некоторые, вероятно, будут использовать прямые IP-адреса, но большинство из них просто попросит ОС разрешить имена.

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

Однако между этими двумя вариантами брандмауэр определенно находится на «более низком уровне», чем файл hosts. Внешний брандмауэр (который может находиться на том же физическом хосте, но работать в хост-ОС виртуальной машины или контейнера) будет работать лучше, чем локальный (который может быть переопределен достаточно привилегированным программным обеспечением), но изменение файла hosts обеспечивает никаких фактических ограничений; это просто (отнимает) удобство.

Читайте также: