Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17
Инструмент для аудита разрешений в
доступом (ACL – Access Control List)
UPD
Added info for Windows 2022 and Windows 2025
Added Exchange Schema version 'Exchange Server 2019 CU10
Написан на
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
Большое количество возможностей
#adaclscanner #powershell #redteam #soft
Please open Telegram to view this post
VIEW IN TELEGRAM
Продолжение
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
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня решил написать о типах логона, учитывая количество вопросов по данному поводу, становится совершенно очевидно, что многим, особенно начинающим, этот момент не понятен
И что же это такое ?
Типы логонов - ключевой элемент в понимании того, как и откуда пользователи и процессы получают доступ к Windows системам и ресурсам
Немножко базы:
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1 1 1 1
Обновление инструмента для выявления связей и построения графов в
Отличный инструмент при пентесте
Для сбора информации используются коллекторы 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
Подробный гайд:
ADCS атаки:
Ссылки:
P.S. Сам таки полностью перешел на CE версию и legacy использовать больше желания нет 👍😅
#bloodhound #pentest #active_directory #soft #bhce
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3 2❤1
Forwarded from Adaptix Framework
AdaptixC2 v0.5 is out
https://github.com/Adaptix-Framework/AdaptixC2
* Windows "gopher" agent
* Fast socks5 tunnels via "gopher" agent
* New Remote Terminal
* New Client side tunnels
More details in the changelog: https://adaptix-framework.gitbook.io/adaptix-framework/changelog/v0.4-greater-than-v0.5
https://github.com/Adaptix-Framework/AdaptixC2
* Windows "gopher" agent
* Fast socks5 tunnels via "gopher" agent
* New Remote Terminal
* New Client side tunnels
More details in the changelog: https://adaptix-framework.gitbook.io/adaptix-framework/changelog/v0.4-greater-than-v0.5
GitHub
GitHub - Adaptix-Framework/AdaptixC2
Contribute to Adaptix-Framework/AdaptixC2 development by creating an account on GitHub.
❤2 2
GitHub
GitHub - k4m4/movies-for-hackers: 🎬 A curated list of movies every hacker & cyberpunk must watch.
🎬 A curated list of movies every hacker & cyberpunk must watch. - k4m4/movies-for-hackers
📽 Репозиторий и по совместительству сайт с подборкой фильмов на IT тематику
😉 Movies for hackers
💻 Repo
#list #movies #interesting
✈️ Whitehat Lab 💬 Chat
#list #movies #interesting
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Интересный инструмент для моделирования различных типов атак, с целью создания телеметрии в контролируемых средах
#purpleteam #csharp #soft
Please open Telegram to view this post
VIEW IN TELEGRAM
kreep
BadSuccessor: Abusing dMSAs for AD Domination
After Akamai’s publication of BadSuccessor, I set out to research and reproduce the exploit. In this post I cover: an overview of the vulnerability as disclosed by Akamai researcher Yuval Gordon; how I stood up a Windows Server 2025 DC in my existing GOAD…
Please open Telegram to view this post
VIEW IN TELEGRAM
Заказывали OS для bug bounty? 😅
Тогда получайте, дистрибутив основанный на 12ом
ПО:
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..
Полный список тут
P.S. Считаю, что брать надо уже только из-за черно-зеленого оформления 😂
#bountyos #debian #bug
Please open Telegram to view this post
VIEW IN TELEGRAM