hacktricks/windows-hardening/active-directory-methodology/kerberos-double-hop-problem.md

119 lines
9 KiB
Markdown
Raw Normal View History

2024-02-11 02:07:06 +00:00
# Kerberos Dubbele Hop Probleem
2022-10-05 21:51:12 +00:00
<details>
<summary><strong>Leer AWS hak vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-10-05 21:51:12 +00:00
* Werk jy by 'n **cybersekerheidsmaatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks af in PDF-formaat**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
2024-02-11 02:07:06 +00:00
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
2022-10-05 21:51:12 +00:00
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
2024-02-11 02:07:06 +00:00
## Inleiding
2022-10-05 21:51:12 +00:00
Die Kerberos "Dubbele Hop" probleem kom voor wanneer 'n aanvaller probeer om **Kerberos-verifikasie oor twee** **hops** te gebruik, byvoorbeeld deur **PowerShell**/**WinRM** te gebruik.
2022-10-05 21:51:12 +00:00
Wanneer 'n **verifikasie** plaasvind deur middel van **Kerberos**, word **geloofsbriewe** **nie** in die **geheue gestoor nie**. Daarom sal jy as jy mimikatz hardloop, nie die geloofsbriewe van die gebruiker op die masjien vind nie, selfs al hardloop hy prosesse.
2022-10-05 21:51:12 +00:00
Dit is omdat wanneer jy met Kerberos verbind, hierdie die stappe is:
2022-10-05 21:51:12 +00:00
1. Gebruiker1 voorsien geloofsbriewe en die **domeinbeheerder** gee 'n Kerberos **TGT** aan Gebruiker1 terug.
2024-02-11 02:07:06 +00:00
2. Gebruiker1 gebruik die **TGT** om 'n **dienskaartjie** aan te vra om met Server1 te **verbind**.
3. Gebruiker1 **verbind** met **Server1** en voorsien die **dienskaartjie**.
4. **Server1** het nie die **geloofsbriewe** van Gebruiker1 in die geheue nie, of die **TGT** van Gebruiker1 nie. Daarom, wanneer Gebruiker1 van Server1 probeer om na 'n tweede bediener in te teken, kan hy **nie geïdentifiseer** word nie.
2022-10-05 21:51:12 +00:00
2024-02-11 02:07:06 +00:00
### Onbeperkte Delegasie
2022-10-05 21:51:12 +00:00
As **onbeperkte delegasie** geaktiveer is op die rekenaar, sal dit nie gebeur nie, aangesien die **Bediener** 'n **TGT** van elke gebruiker wat dit benader, sal **kry**. Verder, as onbeperkte delegasie gebruik word, kan jy waarskynlik die Domeinbeheerder **kompromitteer**.\
[**Meer inligting in die bladsy oor onbeperkte delegasie**](onconstrained-delegation.md).
2022-10-05 21:51:12 +00:00
2022-10-05 22:25:34 +00:00
### CredSSP
2022-10-05 21:51:12 +00:00
'n Ander manier om hierdie probleem te vermy wat [**veral onveilig is**](https://docs.microsoft.com/en-us/powershell/module/microsoft.wsman.management/enable-wsmancredssp?view=powershell-7) is **Credential Security Support Provider**. Van Microsoft:
2022-10-05 22:25:34 +00:00
> CredSSP-verifikasie delegeer die gebruikersgelde vanaf die plaaslike rekenaar na 'n afgeleë rekenaar. Hierdie praktyk verhoog die sekuriteitsrisiko van die afgeleë operasie. As die afgeleë rekenaar gekompromitteer is, kan die gelde wat daaraan oorgedra word, gebruik word om die netwerksessie te beheer.
2022-10-05 22:25:34 +00:00
Dit word sterk aanbeveel dat **CredSSP** gedeaktiveer word op produksiestelsels, sensitiewe netwerke, en soortgelyke omgewings weens sekuriteitskwessies. Om te bepaal of **CredSSP** geaktiveer is, kan die `Get-WSManCredSSP` bevel uitgevoer word. Hierdie bevel maak die **kontrole van CredSSP-status** moontlik en kan selfs op afstand uitgevoer word, mits **WinRM** geaktiveer is.
2022-10-05 22:25:34 +00:00
```powershell
Invoke-Command -ComputerName bizintel -Credential ta\redsuit -ScriptBlock {
2024-02-11 02:07:06 +00:00
Get-WSManCredSSP
2022-10-05 22:25:34 +00:00
}
```
## Oorkomings
2022-10-05 22:25:34 +00:00
### Roep Opdrag Aan
2022-10-05 22:25:34 +00:00
Om die dubbele hup probleem aan te spreek, word 'n metode voorgestel wat 'n geneste `Invoke-Command` insluit. Dit los die probleem nie direk op nie, maar bied 'n oorkoming sonder om spesiale konfigurasies nodig te hê. Die benadering maak dit moontlik om 'n opdrag (`hostname`) op 'n sekondêre bediener uit te voer deur 'n PowerShell-opdrag wat vanaf 'n aanvanklike aanvallende masjien uitgevoer word of deur 'n voorheen gevestigde PS-Sessie met die eerste bediener. Hier is hoe dit gedoen word:
2022-10-05 22:25:34 +00:00
```powershell
$cred = Get-Credential ta\redsuit
Invoke-Command -ComputerName bizintel -Credential $cred -ScriptBlock {
2024-02-11 02:07:06 +00:00
Invoke-Command -ComputerName secdev -Credential $cred -ScriptBlock {hostname}
2022-10-05 22:25:34 +00:00
}
```
2024-02-11 02:07:06 +00:00
### Registreer PSSession-konfigurasie
2022-10-05 22:25:34 +00:00
'n Oplossing om die dubbele hop-probleem te omseil, behels die gebruik van `Register-PSSessionConfiguration` met `Enter-PSSession`. Hierdie metode vereis 'n ander benadering as `evil-winrm` en maak 'n sessie moontlik wat nie deur die dubbele hop-beperking geraak word nie.
2022-10-05 22:25:34 +00:00
```powershell
Register-PSSessionConfiguration -Name doublehopsess -RunAsCredential domain_name\username
Restart-Service WinRM
Enter-PSSession -ConfigurationName doublehopsess -ComputerName <pc_name> -Credential domain_name\username
klist
```
### PortForwarding
2022-10-05 22:25:34 +00:00
Vir plaaslike administrateurs op 'n tussenliggende teiken, maak poort deurstuur dit moontlik dat versoek na 'n finale bediener gestuur word. Deur `netsh` te gebruik, kan 'n reël vir poort deurstuur bygevoeg word, saam met 'n Windows-firewallreël om die deurgestuurde poort toe te laat.
2022-10-05 22:25:34 +00:00
```bash
netsh interface portproxy add v4tov4 listenport=5446 listenaddress=10.35.8.17 connectport=5985 connectaddress=10.35.8.23
netsh advfirewall firewall add rule name=fwd dir=in action=allow protocol=TCP localport=5446
```
2024-02-08 03:06:37 +00:00
#### winrs.exe
2022-10-05 21:51:12 +00:00
`winrs.exe` kan gebruik word om WinRM-versoeke deur te stuur, moontlik as 'n minder opspoorbare opsie as PowerShell-monitoring 'n bekommernis is. Die onderstaande bevel demonstreer die gebruik daarvan:
2022-10-05 22:25:34 +00:00
```bash
winrs -r:http://bizintel:5446 -u:ta\redsuit -p:2600leet hostname
```
2024-02-08 03:06:37 +00:00
### OpenSSH
2022-10-05 22:25:34 +00:00
Die installering van OpenSSH op die eerste bediener maak 'n omweg vir die dubbele hupprobleem moontlik, veral nuttig vir springkas-skenarios. Hierdie metode vereis CLI-installasie en opstelling van OpenSSH vir Windows. Wanneer dit ingestel is vir Wagwoordverifikasie, maak dit dit moontlik vir die bemiddelende bediener om 'n TGT namens die gebruiker te verkry.
2022-10-05 22:25:34 +00:00
2024-02-11 02:07:06 +00:00
#### OpenSSH-installasiestappe
2022-10-05 22:25:34 +00:00
1. Laai die nuutste OpenSSH vrystelling zip af en skuif dit na die teikenserver.
2. Pak die lêer uit en hardloop die `Install-sshd.ps1` skripsie.
3. Voeg 'n firewall-reël by om poort 22 oop te maak en verifieer dat SSH-diens hardloop.
2022-10-05 22:25:34 +00:00
Om `Verbindingsreset` foute op te los, mag toestemmings bygewerk moet word om almal lees- en uitvoertoegang tot die OpenSSH-gids toe te laat.
2022-10-05 22:25:34 +00:00
```bash
icacls.exe "C:\Users\redsuit\Documents\ssh\OpenSSH-Win64" /grant Everyone:RX /T
```
2024-02-11 02:07:06 +00:00
## Verwysings
2022-10-05 22:25:34 +00:00
* [https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/understanding-kerberos-double-hop/ba-p/395463?lightbox-message-images-395463=102145i720503211E78AC20](https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/understanding-kerberos-double-hop/ba-p/395463?lightbox-message-images-395463=102145i720503211E78AC20)
* [https://posts.slayerlabs.com/double-hop/](https://posts.slayerlabs.com/double-hop/)
* [https://learn.microsoft.com/en-gb/archive/blogs/sergey\_babkins\_blog/another-solution-to-multi-hop-powershell-remoting](https://learn.microsoft.com/en-gb/archive/blogs/sergey\_babkins\_blog/another-solution-to-multi-hop-powershell-remoting)
* [https://4sysops.com/archives/solve-the-powershell-multi-hop-problem-without-using-credssp/](https://4sysops.com/archives/solve-the-powershell-multi-hop-problem-without-using-credssp/)
2022-10-05 21:51:12 +00:00
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
2022-10-05 21:51:12 +00:00
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-10-05 21:51:12 +00:00
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Ontdek [**Die PEASS-familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks-klere**](https://peass.creator-spring.com)
2024-02-11 02:07:06 +00:00
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**hacktricks-opslag**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-opslag**](https://github.com/carlospolop/hacktricks-cloud).
2022-10-05 21:51:12 +00:00
</details>