waloscheffhellau
Goto Top

Get-ADGroupMember für Universal Organisations-Admins

Hallo zusammen,

ich lese die AD Gruppe Domain-Admins per Skript aus und schicke es an unser Monitoring Tool, sodass bei ungewolltem hinzufügen eines Benutzerkontos in die Gruppe z.b. bei einem Angriff wir es innerhalb 60sek (Abfrageintervall) mitbekommen.

Jetzt wollte ich es auch noch für die Gruppe Organisations-Admins machen ... diese steht aber auf Universal anstatt Global (Nicht nur Domain Intern sondern mit allen Sub-Domains).

Gibt es hierzu einen Befehl um PowerShell beizubringen um die Gruppe zu finden?

Das ist der bestehende Code zur DA Gruppe:
#Anzahl User in Gruppe
$objGroupmembers = Get-ADGroupmember -Identity Domain-Admins
$objGroupmembers.Count

Write-Host $objGroupmembers.Count: Domain-Admins

Danke und VG

Content-ID: 73827738596

Url: https://administrator.de/contentid/73827738596

Ausgedruckt am: 22.11.2024 um 02:11 Uhr

DerWoWusste
DerWoWusste 13.09.2023 um 08:20:12 Uhr
Goto Top
Hi.

Das Überwachen dieser Gruppen ist nahezu nutzlos.
Als Angreifer lege ich mir keinen Domänenadmin an, da dies auffällt.
Als Angreifer handele ich entweder als bereits vorhandener Domänenadmin (Identität übernommen) oder als Systemkonto auf einem der DCs. Oder ich delegiere einem unauffälligen Nutzer alle Rechte im AD/Fileserver.

Das Monitoring ist auf diese Weise überflüssig. Du solltest das Nutzen hoher Rechte überwachen und andere Ereignisse, die du verhindern willst.
WaloscheffHellau
WaloscheffHellau 13.09.2023 um 09:24:40 Uhr
Goto Top
Zitat von @DerWoWusste:

Hi.

Das Überwachen dieser Gruppen ist nahezu nutzlos.
Als Angreifer lege ich mir keinen Domänenadmin an, da dies auffällt.
Als Angreifer handele ich entweder als bereits vorhandener Domänenadmin (Identität übernommen) oder als Systemkonto auf einem der DCs. Oder ich delegiere einem unauffälligen Nutzer alle Rechte im AD/Fileserver.

Das Monitoring ist auf diese Weise überflüssig. Du solltest das Nutzen hoher Rechte überwachen und andere Ereignisse, die du verhindern willst.

Ja, aber würden den Befehl trotzdem gerne wissen ;)
DerWoWusste
DerWoWusste 13.09.2023 um 09:45:09 Uhr
Goto Top
Du willst es so, aha.
Gut, dann schau Dir mal die Sprache an. Heißt die Gruppe wirklich organisations-admins? Auf einem englischen AD wäre das "enterprise admins"
WaloscheffHellau
WaloscheffHellau 13.09.2023 um 09:54:37 Uhr
Goto Top
Leider funktioniert es nicht, zumal das AD auch auf Deutsch ist. Hat es nichts damit zu tun das die Domänen-Admins auf Global sind und die Org-Admins auf Universal?

Muss da im Skript eine Zeile noch rein das er auf den gesamtem Forest abzielt?


Zitat von @DerWoWusste:

Du willst es so, aha.
Gut, dann schau Dir mal die Sprache an. Heißt die Gruppe wirklich organisations-admins? Auf einem englischen AD wäre das "enterprise admins"
DerWoWusste
DerWoWusste 13.09.2023 um 09:55:52 Uhr
Goto Top
Hat es nichts damit zu tun das die Domänen-Admins auf Global sind und die Org-Admins auf Universal?
Nein.
Auf deutsch würde
Get-ADGroupmember -Identity organisations-admins
laufen.
7907292512
7907292512 13.09.2023 aktualisiert um 10:18:15 Uhr
Goto Top
$objGroupmembers = Get-ADGroupmember -Identity Domain-Admins
By the way ist das auch fehlerbehaftet, denn das löst eventuell weitere enthaltene Gruppen nicht auf deren Member auf, wenn sich also jemand einer untergeordneten Gruppe hinzufügt die in den Domain-Admins enthalten ist bekommst du das damit nicht mit, wenn dann müsste das so lauten:
(Deutsches Spracheinstellung)
$objGroupmembers = Get-ADGroupMember -Identity Domänen-Admins -Recursive
Muss da im Skript eine Zeile noch rein das er auf den gesamtem Forest abzielt?
Nein. Welchen DC fragst du denn? Einen global Catalog? Hast du überhaupt entsprechende Berechtigungen? Mal explizit einen DC angeben?
Get-ADGroupMember Organisations-Admins -Server xyz.domain.de -Recursive
Gruß sid
WaloscheffHellau
WaloscheffHellau 13.09.2023 um 10:26:58 Uhr
Goto Top
Berechtigung hab ich, den DC hab ich auch explizit mit eingebaut. Bekomme weiterhin die Fehlermeldung:
powershell_fehlermeldung
7907292512
Lösung 7907292512 13.09.2023 aktualisiert um 10:58:45 Uhr
Goto Top
Possibly:
https://learn.microsoft.com/en-us/troubleshoot/windows-server/identity/g ...
https://www.reddit.com/r/PowerShell/comments/6pocuu/getadgroupmember_iss ...

Würde da mal per GUI rein schauen was Sache ist und ob es dort noch Leichen oder unaufgelöste SIDs aus Remote-Domains gibt.
Oder die Abfrage mal testweise so machen.
(Get-ADGroup Organisations-Admins -Properties Members).Members
WaloscheffHellau
Lösung WaloscheffHellau 13.09.2023 um 11:37:19 Uhr
Goto Top
#Anzahl User in Gruppe
Write-Host (Get-ADGroup “Organisations-Admins” -Properties *).Member.Count:Organisations-Admins

Das ist er face-smile
7907292512
Lösung 7907292512 13.09.2023 aktualisiert um 11:51:40 Uhr
Goto Top
Zitat von @WaloscheffHellau:

#Anzahl User in Gruppe
Write-Host (Get-ADGroup “Organisations-Admins” -Properties *).Member.Count:Organisations-Admins

Das ist er face-smile

Aber auch hier gilt genauso wies schon oben gesagt: Wenn darin weitere Gruppen verschachtelt sind wird das so nichts mit einer effektiven Überwachung du bekommst es dann einfach nicht mit.

Auch hier müsstest du rekursiv arbeiten , wie bspw. so
function Get-ADGroupMemberRecursive {
    param([string]$principal)
    if ((Get-ADObject $principal).objectClass -eq 'group'){  
        foreach($member in (Get-ADGroup -Identity $principal -Property Members).Members){
            Get-ADGroupMemberRecursive $member
        }
    }else{
        $principal
    }
}
 Get-ADGroupMemberRecursive (Get-ADGroup Organisations-Admins).DistinguishedName