Whitehat Lab
1.89K subscribers
336 photos
385 links
Авторский канал об информационной безопасности 🔐
Свежие CVE, Red Team инструменты, внутренняя инфраструктура и другое

Чат: @whitehat_chat

Все материалы предназначены исключительно в образовательных целях
Download Telegram
😎 Standoff 15

Всякая разная инфографика с трансляций 🕺

#event #standoff

✈️ Whitehat Lab 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
17
🔄💻 ADACLScanner v8.2

Инструмент для аудита разрешений в 💻 Active Directory, которые предоставлены через списки управления
доступом (ACL – Access Control List)

UPD
Added info for Windows 2022 and Windows 2025
Added Exchange Schema version 'Exchange Server 2019 CU10


Написан на 💻 PowerShell

SACL - список используемый для аудита доступа к данному объекту.
DACL - список указывающий права пользователей и групп на действия с данным объектом.

Разрешения, которые нам интересны 👍:

GenericAll - полные права на объект
GenericWrite - редактировать атрибуты объекта
WriteOwner - изменить владельца объекта
WriteDACL - редактировать ACE объекта
AllExtendedRights - расширенные права на объект
ForceChangePassword - сменить пароль объекта
Self - возможность добавить себя в группу


Работает в GUI или консольном режимах:

Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/canix1/ADACLScanner/refs/heads/master/ADACLScan.ps1' -OutFile ADACLScan.ps1

.\ADACLScan.ps1

.\ADACLScan.ps1 -Base (Get-ADRootDSE).defaultNamingContext -Owner -Scope subtree -Filter '(objectClass=*)' | Where-Object {$_.Access -eq 'Owner'}


Экспорт в xls, csv, html
Большое количество возможностей

💻 Home
😉 Active Directory ACL investigation
😉 Take Control Over AD Permissions

#adaclscanner #powershell #redteam #soft

✈️ Whitehat Lab 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
3
💻 Windows logon types

Продолжение

10 последних логонов:

Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} -MaxEvents 10 | 
ForEach-Object {
$eventXml = [xml]$_.ToXml()
$logonType = $eventXml.Event.EventData.Data |
Where-Object { $_.Name -eq 'LogonType' } |
Select-Object -ExpandProperty '#text'

$targetUser = $eventXml.Event.EventData.Data |
Where-Object { $_.Name -eq 'TargetUserName' } |
Select-Object -ExpandProperty '#text'

[PSCustomObject]@{
TimeCreated = $_.TimeCreated
LogonType = $logonType
TargetUserName = $targetUser
LogonID = ($eventXml.Event.EventData.Data |
Where-Object { $_.Name -eq 'TargetLogonId' }).'#text'
}
} | Format-Table -AutoSize


Сбор по конкретному пользователю:

$user = 'exited3n'

Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} -MaxEvents 1000 |
ForEach-Object {
$eventXml = [xml]$_.ToXml()
$logonType = $eventXml.Event.EventData.Data | Where-Object { $_.Name -eq 'LogonType' } | Select-Object -ExpandProperty '#text'
$targetUser = $eventXml.Event.EventData.Data | Where-Object { $_.Name -eq 'TargetUserName' } | Select-Object -ExpandProperty '#text'
$logonId = $eventXml.Event.EventData.Data | Where-Object { $_.Name -eq 'TargetLogonId' } | Select-Object -ExpandProperty '#text'

if ($targetUser -imatch $user) {
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
LogonType = $logonType
TargetUserName = $targetUser
LogonID = $logonId
}
}
} | Select-Object -First 1000 | Format-Table -AutoSize


Текущие на wmi:

Get-WmiObject -Class Win32_LogonSession | 
Where-Object { $_.LogonType} |
ForEach-Object {
$session = $_
Get-WmiObject -Query "Associators of {Win32_LogonSession.LogonId='$($session.LogonId)'} Where AssocClass=Win32_LoggedOnUser Role=Dependent" |
Select-Object @{n='User';e={$_.Name}}, @{n='LogonType';e={$session.LogonType}}
}


#windows #logons #redteam

✈️ Whitehat Lab 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
4
💻 Windows logon types

Сегодня решил написать о типах логона, учитывая количество вопросов по данному поводу, становится совершенно очевидно, что многим, особенно начинающим, этот момент не понятен

И что же это такое ?

Типы логонов - ключевой элемент в понимании того, как и откуда пользователи и процессы получают доступ к Windows системам и ресурсам 💻 Active Directory

Немножко базы:

Interactive (2) Локальный, т.н. logon locally
Network (3) Сетевой, доступ к ресурсам по сети, например, к общим папкам
Batch (4) Пакетное задание, используется при выполнение заданий через планировщик
Service (5) Вход службы
Unlock (7) Разблокировка рабочего стола после блокировки экрана.
NetworkCleartext (8) Сетевой с передачей учетных данных в открытом виде (например, базовая аутентификация IIS).
NewCredentials (9) Вход с новыми учетными данными
RemoteInteractive (10) Удалённый интерактивный
CachedInteractive (11) Локальный интерактивный с кэшированными данными, например, при недоступности DC
CachedRemoteInteractive (12) Удалённый вход с кэшированными учетными данными
CachedUnlock (13) Разблокировка с кэшированными учетными данными


📌И некоторые примеры присвоения определенного типа:

Interactive (2)
Console logon
RUNAS


Network (3)
NET USE
RPC вызовы
Evil-WinRM
Impacket-wmiexec и т.д.
Удаленный реестр
IIS Windows аутентификация
SQL Windows аутентификация


Batch (4)
Задания планировщика


Service (5)
Службы (services.msc)


NetworkCleartext (8)
PowerShell с CredSSP


NewCredentials (9)
RunAs с параметром /netonly


RemoteInteractive (10)
Удаленный рабочий стол (RDP)


Нам то какая разница какой тип логона используется ?
Разница довольно таки большая, например при работе с DPAPI

При интерактивном входе (2) пользователь полноценно аутентифицирован в системе, и у него есть доступ к своим мастер-ключам

При сетевом входе (3) происходит аутентификация по сети, но контекст безопасности и доступ к мастер-ключам отсутствует или ограничен. Это связано с тем, что сетевая аутентификация не создаёт полноценной интерактивной сессии

‼️ Не получаете желаемого результата, имейте это ввиду
Каждый уважающий себя C2 умеет ими манипулировать, типа такого - token make domain.local user Password123 LOGON_INTERACTIVE

И как же нам определить тип логона ?

Простой команды аля whoami к сожалению нет
Каждый вход в Windows создаёт сессию с определённым типом логона, который фиксируется в журнале безопасности (например, в событии с ID 4624)

Я написал 3 powershell 💻 скрипта для определения

Первый выведет 10 последних логонов
Второй может собирать по конкретному пользователю
Третий на wmi покажет текущие

Но они не влезли в данный пост, поэтому положу их в другой

#windows #logons #redteam

✈️ Whitehat Lab 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51111
🔄😉 BloodHound CE v7.3.1

Обновление инструмента для выявления связей и построения графов в 💻 Active Directory. Достаточно учетной записи доменного пользователя.
Отличный инструмент при пентесте 💻 AD среды.
Для сбора информации используются коллекторы bloodhound-ce или SharpHound

Bonus:

BadSuccessor query - dMSA (delegated Managed Service Account) в Windows Server 2025

MATCH (c1:Computer)-[:MemberOf*1..]->(g:Group) WHERE g.objectid ENDS WITH '-516' WITH COLLECT(c1.name) AS dcs MATCH (c2:Computer) WHERE c2.enabled = true AND (c2.operatingsystem contains '2025') AND (c2.name IN dcs) RETURN c2.name


Установка:

curl -L https://ghst.ly/getbhce | docker compose -f - up

http://localhost:8080/ui/login


Логин admin и сгенерированный пароль

Для обновления переходим в директорию с docker-compose.yml и запускаем:

docker compose pull && docker compose up


Сбор информации:

python3 bloodhound-python -u domain_user -p 'P@ss' -ns 10.0.0.1 -d contoso.com -c all --dns-tcp


Neo4j запросы:

# Domain Admins и время установки пароля
MATCH (g:Group) WHERE g.name =~ "(?i).*DOMAIN ADMINS.*" WITH g MATCH (g)<-
[r:MemberOf*1..]-(u) RETURN u.name AS User,
datetime({epochSeconds:toInteger(u.pwdlastset)}) as passwordLastSet, datetime({epochSeconds: toInteger(u.whencreated)}) AS dateCreated ORDER BY u.pwdlastset


# Сервисные УЗ, время установки пароля, дата создания
MATCH (u:User) WHERE u.hasspn=true AND (NOT u.name STARTS WITH 'KRBTGT') RETURN u.name
AS accountName, datetime({epochSeconds: toInteger(u.pwdlastset)}) AS passwordLastSet,
datetime({epochSeconds: toInteger(u.whencreated)}) AS dateCreated ORDER BY u.pwdlastset


# Пользователи и описание
MATCH (u:User) RETURN u.name as username, u.description as description


# Domain Admins или Administrators с сессией исключая DC
MATCH (c1:Computer)-[:MemberOf*1..]->(g:Group) WHERE g.objectid ENDS WITH '-516' WITH
COLLECT(c1.name) AS domainControllers
MATCH (n:User)-[:MemberOf*1..]->(g:Group) WHERE g.objectid ENDS WITH '-512' OR
g.objectid ENDS WITH '-544'
MATCH p = (c:Computer)-[:HasSession]->(n) WHERE NOT c.name in domainControllers return
p


# Неограниченное делегирование исключая DC
MATCH (c1:Computer)-[:MemberOf*1..]->(g:Group) WHERE g.objectid ENDS WITH '-516' WITH
COLLECT(c1.name) AS domainControllers
MATCH (c:Computer {unconstraineddelegation:true}) WHERE NOT c.name IN domainControllers
RETURN c


# Пользователи с ограниченным делегированием
MATCH p = ((u:User)-[r:AllowedToDelegate]->(c:Computer)) RETURN p


Подробный гайд
:

➡️ The Ultimate Guide BHCE
➡️ Адаптация на русском

ADCS атаки:

➡️ Part 1
➡️ Part 2
➡️ Part 3

Ссылки:

💻 Home
💻 Download
➡️ Docs

P.S. Сам таки полностью перешел на CE версию и legacy использовать больше желания нет 👍😅

#bloodhound #pentest #active_directory #soft #bhce

✈️ Whitehat Lab 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥321
😎 Standoff 15

Плюс ачивка 🏁

P.S. Жду медальку и картонку 😅

#event #standoff

✈️ Whitehat Lab 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥124
📽 Репозиторий и по совместительству сайт с подборкой фильмов на IT тематику

😉 Movies for hackers
💻 Repo

#list #movies #interesting

✈️ Whitehat Lab 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
💻 PurpleSharp v1.3

Интересный инструмент для моделирования различных типов атак, с целью создания телеметрии в контролируемых средах 💻 Windows

❗️ 47 уникальных атак

💻 Home
💻 AD Purple Team Playbook

#purpleteam #csharp #soft

✈️ Whitehat Lab 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
3
⚙️ BountyOS

Заказывали OS для bug bounty? 😅
Тогда получайте, дистрибутив основанный на 12ом 💻 Debian c большим количеством специализированных инструментов, по заверению автора также включает эксклюзивные тулзы. Поддерживает amd64 и arm64 архитектуры

ПО:

Recon: amass, subfinder, assetfinder
Scanning: nuclei, httpx, dalfox, gf, waybackurls
Brute Forcing: ffuf, dirsearch, wordlists
Networking: massdns, dnsx, masscan
Testing: Burp Suite, OWASP-ZAP, Sqlmap
OSINT: theHarvester, recon-ng, etc..


Полный список тут

😉 Home
💻 Rep

P.S. Считаю, что брать надо уже только из-за черно-зеленого оформления 😂

#bountyos #debian #bug

✈️ Whitehat Lab 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
4😢2