[MIS]ter & [MIS]sis Team – Telegram
[MIS]ter & [MIS]sis Team
1.06K subscribers
18 photos
162 links
ИБ глазами RedTeam

НепроИБэ свою ИБ

https://github.com/mis-team

https://www.m13.su/it-security
Download Telegram
​​Cheet Sheet: Metasploit

Сегодня делимся с вами небольшой шпаргалкой по метасплойту. Ничего особенного - наиболее часто используемые команды, но почему-то их все время забываешь. А тут все под рукой
Заметки на полях: получение списка существующих пользователей

Одна из главных задач на первом этапе RedTeam - определение сотрудников Заказчика для составления списка пользователей для дальнейших манипуляций с ними.

Для перебора существующих имен пользователей можно использовать сервисы Office365 и AzureAD.

Делимся с вами несколькими тузлами. Однако предупреждаем, что все они нуждаются в настройке скорости перебора и IP-адресов, с которых перебор осуществляется. Также, из-за постоянного усовершенствования со стороны Microsoft, все методы достаточно быстро устаревают.

Ну и, конечно, у вас должно быть понимание как формируется username и почтовый ящик пользователя в компании Заказчика.

o365creeper - https://github.com/LMGsec/o365creeper -  инструмент, который проверяет на валидность почтовые ящики из предварительно составленного вами списка

msmailprobehttps://github.com/busterb/msmailprobe - можно использовать, если на стороне заказчика есть OWA

Office 365 User Enum - https://bitbucket.org/grimhacker/office365userenum/src/master/ - была отличная тулза, которая использовала ответы от ActiveSync для перебора пользователей. Однако, после обновлений от Microsoft - перестала работать. Но нашлись другие недостатки в ActiveSync, которые также по ответам могут помочь определить валидность пользователя - это новая тулза - https://github.com/gremwell/o365enum, которая на данный момент работает

o365reconhttps://github.com/nyxgeek/o365recon - помогает получить список пользователей и групп из AzureAD, если вы смогли залогиниться под каким-либо пользователем компании Заказчика
​​Заметки на полях: условный доступ

Иногда получается подобрать имя пользователя и пароль к учетной записи Microsoft, увидеть, что не запросил второй фактор и обрадоваться..., но почему-то доступа нет. Почему такое происходит? Все дело в одной из фишек от microsoft для приложений Offcice365 и AzureAD - так называемом условном доступе.

Что это такое? Политики условного доступа в своей простейшей форме — это операторы если-то; если пользователь хочет получить доступ к ресурсу, то он должен выполнить действие или соответствовать каким-то условиям.

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

Что используется в качестве дополнительной проверки? Очень часто в качестве дополнительной проверки пользователя используются:

- платформы, с которых пользователь пытается получить доступ. На данный момент разрешенные в AzureAD - Android, iOS, Windows Phone, Windows, macOS - обратите внимание, что Linux логично отсутствует

- местоположение (IP-адрес откуда пользователь пытается получить доступ). Местоположение может быть по-разному ограничено администратором AD - как белым, так и черным списком. Например, если пользователь подключается из местоположения, отмеченного как надежное (например, офис компании) - у него не будет запрашиваться дополнительная проверка.

- клиентское приложение (браузер, мобильные приложения, десктопные клиенты, веб-службы). Также администратор может выставить с каких версий и приложений разрешать доступ. Например, если пользователь внезапно идет с Firefox, а корпоративный браузер - Chrome - возникают вопросы в подлинности пользователя.

Как это обойти? Экспериментами у конкретного Заказчика. В политиках условного доступа все зависит от администратора - насколько жестко он закрутил гайки и выставил политики. Но чем больше организация - тем гайки слабее, потому что возникает очень много исключительных ситуаций, а доступ нужен всем

Зачем мы это написали? Чтобы предупредить о том, что существует возможность дополнительных проверок (по сути это известный факт). И эти проверки уже не просто возможность, а активно используются компаниями. Для RedTeam это отличная почва для экспериментов, для BlueTeam - отличная возможность закрутить гайки и обезопасить пользователей.
Сегодня делимся с вами полезными советами от Seasoned Cyber Security Professionals. Очень крутые советы, которые пригодятся при пентесте, редтиме или багбаунти!
​​​​Забираем ажурный токен доступа

Рассмотрим пример, когда мы получили доступ к рабочей станции пользователя, который является администратором Azure. Для более быстрой и комфортной работы администраторы используют Powershell Az для администрирования Azure  со своей рабочей станции.

Особенность использования командлетов PowerShell Az состоит в том, что они сохраняют токены доступа в папке .Azure в профиле пользователя. Это не секрет. И ходят слухи, что таких токенов недостаточно - можно использовать только файл со специально сохраненными пользователем токенами доступа. Наши эксперименты показали, что достаточно использовать только файлы из указанной выше папки для получения доступа к аккаунту

Итак, для того, чтобы забрать у пользователя токен доступа нужно сделать следующее:

1. Найти папку Azure в профиле пользователя (обычно путь следующий: C:\Users\user\.Azure\)

2. Скопировать на свой компьютер в такую же папку в профиле своего пользователя (для этого у вас должен быть установлен командлет Powershell AZ (Install-Module Az -AllowClobber))

3. В файле AzureRmContextSettings.json меняем путь на своего пользователя

4. Токен доступа хранится в файле TokenCache.dat (вы должны увидеть значения в base64), а остальная информация по доступу в AzureRmContext.json

5. Теперь нам необходимо все сохраненное в файлах как-то использовать. Командой Get-AzContext -ListAvailable проверяем, что у нас нет никакого доступа

6. командой Import-AzContext -Path C:\Users\user\.Azure\AzureRmContext.json импортируем содержимое файла

7. После импорта видим, что появляется доступ к AzureCloud

8. Для проверки доступа выполняем команду Get-AzVM -Status для получения информации о виртуальных машинах в Azure

9.Для проверки можем выполнить команду Disconnect-AzAccount и выполнить команду Get-AzVM -Status - результат должен быть отрицательным
Заметки на полях: LAPS

Что такое LAPS? LAPS (Local administrator password solution) - официальная утилита от Microsoft, которая позволяет управлять паролями локальных администраторов на компьютерах домена.

Зачем это нужно? Проблема многих компаний - одинаковые пароли локального администратора на всех (либо части) доменных машинах (серверах и компьютерах). LAPS позволяет решить этот вопрос и установить на каждую машину уникальные случайно сгенерированный пароль локального администратора, который автоматически меняется раз в определенное время. Это позволяет усложнить горизонтальное перемещение злоумышленника по машинам домена.

Есть ли какие-то особенности в настройке? Конечно есть. Любые утилиты надо применять с умом, иначе вы своими руками создадите ещё одно уязвимое место, которым злоумышленник с радостью воспользуется.
Очень часто встречается проблема с неправильным делегированием, которая позволяет злоумышленнику получить доступ ко всем паролям LAPS.

Рекомендации

1. При развертывании LAPS необходимо убедиться, что все доменные машины добавлены в LAPS.

2. Необходимо постоянно мониторить группы AD, которые имеют доступ к чтению паролей LAPS

3. Проверьте, что не настроено делегирование в тех OU, где хранятся пароли LAPS

4. Проверьте правильность настройки групповых политик

5. Проверьте, что у вас не стоит галочка предоставления прав доступа всем пользователям с правками AllExtendedRights

Делимся с вами полезной статьей о том как настроить LAPS

https://getshitsecured.com/2020/03/20/stop-being-lazy-and-deploy-laps/
​​​​Заметки на полях: Расшифровываем пароли Cisco

В условиях повсеместного удаленного доступа очень важно обечпечить безопасность сетевых устройств. Сегодня рассмотрим устройства на базе Cisco IOS.

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

У Cisco существует несколько типов паролей:

Type 0: пароль, который хранится как plaintext

Type 7: использует шифр Vigenere, который не является надежным и взламывается с помощью онлайн сервисов, которые очень просто найти

Type 4: использует SHA256 без соли

Type 5: использует MD5

Type 8: использует алгоритм PBKDF2 и 10-символьную соль (80 бит)

Type 9: испрльзует алгоритм SCRYPT, 80-битную соль и 16384 итерации

Расшифровываются все типы паролей, причем используя всем доступные инструменты - HashCat и John The Ripper

На расшифровку пароля Type 9 уйдет гораздо больше времени. Однако не все сетевые устройства поддерживают такой тип пароля.

Более подробную информацию по расшифровке можно посмотреть здесь: https://www.infosecmatter.com/cisco-password-cracking-and-decrypting-guide/
Заметки на полях: Расшифровываем пароли и куки в новых версиях Chrome

В новых версиях браузера Chrome изменился алгоритм шифрования паролей и cookies. Теперь в качестве алгоритма шифрования для паролей и кук используется AES GCM, а ключ шифрования опять же шифруется через DPAPI и сохраняется в файле "local state" в профиле пользователя.

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

Но тем не менее - теперь для расшифровки паролей и cookies из браузера Chrome нам необходимо забирать еще и файл "%appdata%\local\google\chrome\User Data\local state".

Для того чтобы можно было оперативно расшифровывать пароли и куки от новых браузеров мы внесли изменения в соответствующий модуль dpapick. (https://github.com/mis-team/dpapick). В модуле добавился параметр --lstate, указывающий на соответствующий файл.
В современном мире становится недостаточно иметь только веб сайт с продуктом - чаще всего приходится ещё делать мобильное приложение, которое даёт возможность охватить бОльшую аудиторию клиентов. Уже даже небольшой салон красоты имеет в своем арсенале мобильное приложение.

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

Сегодня мы делимся с вами наглядными cheet sheets по тестированию мобильных приложений от компании randorisec. Надеемся, что вам они пригодятся
​​Заметки на полях: проверяем дефолтные пароли

При исследовании внешнего периметра компании Заказчика очень хочется найти какое-нибудь устройство, у которого не поменяны дефолтные пароли и начать развиваться уже во внутренней сети. А наличие таких устройств вполне возможно - на периметре можно найти сетевые устройства, камеры, веб-сервера и т.д.

Хорошо, если периметр небольшой - пробежаться по веб-сервисам вручную большой проблемы не составит. А что делать если сеть компании большая и перебор вручную - это огромная трата времени, да и душевного равновесия?

В свое время nmap также озаботился этим вопросом и включили в набор своих скриптов проверку дефолтных паролей (скрипт  http-default-accounts.nse). Однако скрипт проверяет только стандартные веб порты (80, 433), а многие устройства находятся как раз на нестандартных портах. Можно, конечно, открыть скрипт, поменять там порт и запустить проверку, но делать это для каждого порта вручную - немного утомительно.

Да и не нужно. Сообщество давно задумалось над этим вопросом, немного доработало nmap'овский скрипт и выпустило новый простенький скрипт Default HTTP Login Hunter (https://github.com/InfosecMatter/default-http-login-hunter). Его прелесть заключается в том, что можно проверять как отдельный IP, так и передать на проверку все интересующие нас IP-адреса с портами, которые у нас появились после этапа сканирования сети.

На картинке показано, как выглядит файл (urls.txt) и как отрабатывает тулза со списком и отдельным IP.

Если пара дефолтных логинов и паролей найдена - вы это увидите.
Cheat Sheets: Active Directory Exploitation

Сегодня делимся с вами советами по получению информации, атаке и закреплению в AD.

Нет чего-то супер нового и инновационного, но когда собрано все в одном месте - это очень удобно. И будет очень полезно тем, кто только вступает на путь познания AD.

https://github.com/buftas/Active-Directory-Exploitation-Cheat-Sheet
Инструменты для моделирования TTP (tactics, techniques and procedures)

Сегодня делимся с вами инструментами, которые помогают BlueTeam тренироваться в выявлении угроз и реагировании на них.

1) https://github.com/NextronSystems/APTSimulator - старенький, давно не обновлявшийся набор скриптов под Windows, эмулирующих взломанную систему - подойдет в качестве элементарной проверки для BlueTeam и средств защиты, которые должны будут на все это среагировать моментально

2) https://www.bt3.no/ - Blue Team Training Toolkit - тоже старенький инструмент, но очень полезный для новичков - позволяет имитировать заражение вредоносным ПО, изучать особенности поведения малвари, а также смотреть как такое заражение отражается в сетевом трафике

3) https://docs.microsoft.com/en-us/microsoft-365/security/office-365-security/attack-simulator?view=o365-worldwide - эмулятор фишинговых атак и подбора пароля к учетным записям от Microsoft. Доступен только если у вас в компании ATP Plan 2 или Office 365 корпоративный E5

4) https://github.com/redcanaryco/atomic-red-team - Atomic Red Team - незыблемая классика - набор тестов, эмулирующих действия RedTeam команды

5) https://github.com/mitre/caldera - Caldera - большой фреймворк, построенный на базе MITRE ATT&CK и имитирующий взломанную систему, его плюс - отдельные плагины, которые можно подключать по мере необходимости для тренировок