[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
Сегодня делимся с вами полезными советами от 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 и имитирующий взломанную систему, его плюс - отдельные плагины, которые можно подключать по мере необходимости для тренировок
Заметки на полях: PrintDemon

Буквально в этот вторник вышел патч от Microsoft, который закрыл очень интересную уязвимость - повышение привилегий в системе через службу диспетчера очереди печати (CVE-2020-1048). Данной уязвимости подвержены все версии ОС Windows - от самых старых до самых современных.

Для успешной атаки достаточно:

1. Быть залогиненым под непривилегированным пользователем в системе

2. выполнить в PowerShell одну единственную команду

Add-PrinterPort -Name C:\windows\system32\ualapi.dll

Причем, выполнив такую команду на незапатченной системе, можно получить своеобразный бэкдор, который так и останется в системе после ее патча (ранее открытые порты обновление не закрывает).

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

Подробности про уязвимость можно почитать в длинном посте о всех подробностях обнаружения уязвимости, ее эксплуатации и исправлении:

https://windows-internals.com/printdemon-cve-2020-1048/
Заметки на полях: WinRM

Использование WinRM (Windows Remote Management) для закрепления в сети Заказчика стало своеобразной классикой для пентестера или RedTeam специалиста. Еще несколько лет назад можно было спокойно использовать связку Powershell и WinRM для удаленного выполнения команд. Однако время идет, средства защиты меняются, и было бы наивно думать, что такой популярный метод не будет детектироваться. Естественно, сейчас использовать WinRM через Invoke-WmiMethod - это подписать себе смертный приговор и выдать BlueTeam свое местоположение.

Однако есть вариант: использовать вместо Invoke-WmiMethod командлет Invoke-WSManAction

Invoke-WSManAction -Action "Create" -ResourceURI "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Process" -ValueSet @{commandline="<cmd>"} -ComputerName <host>

Конечно, все можно задетектировать. Однако использование такого командлета на данный момент более безопасно для RedTeam, чем использование Invoke-WmiMethod

Делимся с вами полезными ссылками:

https://github.com/bohops/WSMan-WinRM - проект на гитхабе

https://bohops.com/2020/05/12/ws-management-com-another-approach-for-winrm-lateral-movement/ - подробная статья о всем механизме работы WinRM
Заметки на полях: LOLBAS

Все мы знаем, что некоторые бинарные файлы или скрипты, которые официально используются в ОС Windows, имеют не только заявленный функционал, но иногда и совершенно неожиданный. Например, пентестеры используют wmic.exe для запуска своих файлов, чтобы обойти средства защиты. И таких примеров очень много.

Сегодня мы решили поделиться с вами шикарным проектом LOLBAS (Living Off The Land Binaries and Script), который описывает скрытые возможности официальных бинарных файлов, скриптов и библиотек, рассказывает, как их можно использовать, чтобы облегчить себе жизнь при проведении пентеста или RedTeam кампании.

Да, многие техники имеют уже свой код на mitre (например, использование rundll32.exe для запуска произвольных файлов - https://attack.mitre.org/techniques/T1085/), но некоторые до сих пор используют и очень полезно о них узнать.

https://lolbas-project.github.io/ - официальный репозиторий проекта, собраны бинарные файлы под ОС Windows

https://gtfobins.github.io/ - аналог lolbas для двоичных файлов в Unix

https://www.youtube.com/watch?v=NiYTdmZ8GR4 - запись доклада с Derbycon 2018, где потрясающий Oddvar Moe презентует проект LOLBAS
Каждый пентестер или RedTeam специалист должен уметь работать с командной строкой Windows. Сегодня делимся с вами шпаргалкой от SANS institute. В ней представлены команды для ОС Windows, которые вам точно пригодятся в работе