{"id":15199,"date":"2021-09-28T11:43:57","date_gmt":"2021-09-28T09:43:57","guid":{"rendered":"https:\/\/www.secuinfra.com\/?p=15199"},"modified":"2022-03-31T10:55:33","modified_gmt":"2022-03-31T08:55:33","slug":"adsisearcher-gruppen-rekursiv-aufloesen","status":"publish","type":"post","link":"https:\/\/www.secuinfra.com\/de\/techtalk\/adsisearcher-gruppen-rekursiv-aufloesen\/","title":{"rendered":"Adsisearcher &#8211; Gruppen rekursiv aufl\u00f6sen"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-flat ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">[inhalt_uebersetzt]<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.secuinfra.com\/de\/techtalk\/adsisearcher-gruppen-rekursiv-aufloesen\/#Direkte_Gruppenmitgliedschaft\" >Direkte Gruppenmitgliedschaft<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.secuinfra.com\/de\/techtalk\/adsisearcher-gruppen-rekursiv-aufloesen\/#Admin_oder_nicht\" >Admin oder nicht?<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.secuinfra.com\/de\/techtalk\/adsisearcher-gruppen-rekursiv-aufloesen\/#Gruppenmitgliedschaften_rekursiv_aufloesen\" >Gruppenmitgliedschaften rekursiv aufl\u00f6sen<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.secuinfra.com\/de\/techtalk\/adsisearcher-gruppen-rekursiv-aufloesen\/#Serienuebersicht\" >Serien\u00fcbersicht<\/a><\/li><\/ul><\/nav><\/div>\n<p>Zun\u00e4chst ist es wichtig zu verstehen, warum Gruppen und Gruppenzugeh\u00f6rigkeiten relevant sind.<\/p>\n<p>In Active Directory werden Gruppen verwendet, um Benutzerkonten und Computerkonten in Einheiten zu gruppieren, die dann einfacher verwaltet werden k\u00f6nnen. Es gibt 2 Arten von Gruppen: Verteilergruppen, die nur mit E-Mail-Anwendungen zum Erstellen von E-Mail-Verteilerlisten verwendet werden k\u00f6nnen und Sicherheitsgruppen, mittels derer das Zuweisen von Berechtigungen zu freigegebenen Ressourcen erledigt werden kann. Zudem unterscheiden sich Gruppen noch nach dem Geltungsbereich (englisch: Scope), der angibt, in welchem Umfang die Gruppe in der Dom\u00e4nenstruktur oder im Forest angewendet wird. Der Geltungsbereich definiert, wo der Gruppe beziehungsweise deren Mitgliedern Berechtigungen erteilt werden k\u00f6nnen. In Active Directory gibt es folgende drei Bereiche:<\/p>\n<ul>\n<li>Universal: kann Berechtigungen in jeder Domain im selben Forest oder in vertrauensw\u00fcrdigen Forests erteilen<\/li>\n<li>Global: kann Berechtigungen in jeder Domain im selben Forest oder in vertrauensw\u00fcrdigen Domains oder Forests erteilen<\/li>\n<li>Domain Lokal: kann Berechtigungen innerhalb derselben Dom\u00e4ne erteilen<a href=\"#_edn1\" name=\"_ednref1\">[1]<\/a><\/li>\n<\/ul>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\" wp-image-15213 aligncenter\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/blog03_pic_group_options-300x89.png\" alt=\"\" width=\"597\" height=\"177\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_group_options-300x89.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_group_options-24x7.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_group_options-36x11.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_group_options-48x14.png 48w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_group_options.png 668w\" sizes=\"(max-width: 597px) 100vw, 597px\" \/><\/p>\n<p><em>Optionen beim Erstellen einer Gruppe<\/em><\/p>\n<p>Von besonderem Interesse sind die Sicherheitsgruppen, da mit den hier\u00fcber zugewiesenen Benutzerrechten bestimmt werden kann, was Mitglieder dieser Gruppe im Bereich einer Domain oder Gesamtstruktur (Forest) tun k\u00f6nnen. Bei der Installation von Active Directory werden automatisch einigen Sicherheitsgruppen Benutzerrechte zugewiesen. Dies erm\u00f6glicht es zum Beispiel die Administratorrolle einer Person in der Dom\u00e4ne zu definieren. User, die der Gruppen Domain Admins hinzugef\u00fcgt werden, erhalten administrative Rechte in der Domain. Der Gruppe Domain Admins werden standardm\u00e4\u00dfig die Benutzerrechte f\u00fcr administrative Aktivit\u00e4ten zugewiesen und Mitglieder der Gruppe erben diese Rechte. Wenn eine andere Gruppe Mitglied der Domain Admins Gruppe wird, erhalten auch alle Mitglieder dieser anderen Gruppe administrative Rechte. Es ist also wichtig nicht nur direkte Gruppenmitglieder auslesen zu k\u00f6nnen, sondern Gruppen auch rekursiv aufl\u00f6sen zu k\u00f6nnen, um wirklich jedes effektive Mitglied erfassen zu k\u00f6nnen.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Direkte_Gruppenmitgliedschaft\"><\/span>Direkte Gruppenmitgliedschaft<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Eine direkte Gruppenmitgliedschaft ist direkt in den Attributen der jeweiligen Gruppe hinterlegt. Direkte Mitgliedschaft bedeutet, dass ein User direkt in einer Gruppe Mitglied ist und nicht etwa in einer Gruppe, Mitglied der Gruppe ist. Grunds\u00e4tzlich ist es erstmal sinnvoll, zu wissen, wie man nach allen Gruppen suchen kann. Dies kann man, wie auch schon bei User- oder Computer-Suchen, mit dem Attribut objectClass im Suchfilter erledigen:<\/p>\n<p><img decoding=\"async\" class=\"wp-image-15211 alignnone\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/2-300x16.png\" alt=\"\" width=\"1032\" height=\"55\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/2-300x16.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/2-1024x56.png 1024w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/2-768x42.png 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/2-1536x84.png 1536w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/2-2048x112.png 2048w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/2-24x1.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/2-36x2.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/2-48x3.png 48w\" sizes=\"(max-width: 1032px) 100vw, 1032px\" \/><\/p>\n<p>Wenn einer Gruppe Mitglieder zugewiesen werden, hat diese das Attribut member &#8211; in diesem Attribut werden alle direkten Mitglieder der Gruppe mit ihrem jeweiligen Distinguished Name aufgelistet. Man kann daher sowohl alle Gruppen, die Member haben, suchen:<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-15210\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/3-300x16.png\" alt=\"\" width=\"1031\" height=\"55\" \/><\/p>\n<p>als auch alle Gruppen, die keine Member haben:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15209\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/4-300x17.png\" alt=\"\" width=\"1024\" height=\"58\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/4-300x17.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/4-1024x58.png 1024w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/4-768x43.png 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/4-1536x87.png 1536w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/4-2048x116.png 2048w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/4-24x1.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/4-36x2.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/4-48x3.png 48w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>M\u00f6chte man alle <strong>direkten Mitglieder<\/strong> einer Gruppe abfragen, kann man dies einfach tun, indem man z.B. nach dem distinguishedName oder dem sAMAccountName einer Gruppe filtert und sich dann mit .properties.member den Inhalt des Attributs member ausgeben l\u00e4sst:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15208\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/5-300x25.png\" alt=\"\" width=\"1032\" height=\"86\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/5-300x25.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/5-1024x86.png 1024w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/5-768x65.png 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/5-1536x129.png 1536w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/5-2048x172.png 2048w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/5-24x2.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/5-36x3.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/5-48x4.png 48w\" sizes=\"(max-width: 1032px) 100vw, 1032px\" \/><\/p>\n<p>Es ist auch m\u00f6glich f\u00fcr einen bestimmten User zu pr\u00fcfen, welchen Gruppen er direkt angeh\u00f6rt, indem man das Attribut memberof des Users abfragt:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15207\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/6-300x26.png\" alt=\"\" width=\"1027\" height=\"89\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/6-300x26.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/6-1024x88.png 1024w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/6-768x66.png 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/6-1536x132.png 1536w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/6-2048x176.png 2048w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/6-24x2.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/6-36x3.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/6-48x4.png 48w\" sizes=\"(max-width: 1027px) 100vw, 1027px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Admin_oder_nicht\"><\/span>Admin oder nicht?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Es ist grunds\u00e4tzlich immer von Vorteil, wenn man wei\u00df &#8211; oder wei\u00df, wie man herausfindet &#8211; wer administrative Rechte in einem Active Directory hat. Das kann man nat\u00fcrlich mit den richtigen Suchfiltern via adsisearcher bewerkstelligen. Sucht man im Internet nach einer einfachen L\u00f6sung, werden h\u00e4ufig relativ einfache Suchen wie die nach der direkten Gruppenmitgliedschaft vorgeschlagen, diese erfasst, aber &#8211; wie bereits erw\u00e4hnt &#8211; nur direkte Mitglieder. Ein weiterer Ansatz, auf den man st\u00f6\u00dft, ist der, an Hand des adminCount Attributs festzumachen, ob jemand Administrator ist. Eine Suche danach sieht wie folgt aus:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15206\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/7-300x26.png\" alt=\"\" width=\"1027\" height=\"89\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/7-300x26.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/7-1024x88.png 1024w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/7-768x66.png 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/7-1536x132.png 1536w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/7-2048x176.png 2048w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/7-24x2.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/7-36x3.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/7-48x4.png 48w\" sizes=\"(max-width: 1027px) 100vw, 1027px\" \/><\/p>\n<p>AdminCount gibt an, ob ein Account ein sogenanntes Protected Object ist. Ist dies der Fall, ist das Attribut mit dem Wert 1 vorhanden.<\/p>\n<p><strong>Beispiel:<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15214\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/blog03_pic_admincount-300x72.png\" alt=\"\" width=\"1021\" height=\"245\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_admincount-300x72.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_admincount-768x185.png 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_admincount-24x6.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_admincount-36x9.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_admincount-48x12.png 48w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_admincount.png 980w\" sizes=\"(max-width: 1021px) 100vw, 1021px\" \/><\/p>\n<p>Bei Protected Objects handelt es sich um hoch privilegierte administrative Gruppen (z.B. Domain Admins, Schema Admins, etc.) und deren Mitglieder. Hier sind auch indirekte Mitglieder Protected Objects. Protected Objects sind insofern besonders gesch\u00fctzt, dass Ihre Berechtigungen nicht ohne weiteres ge\u00e4ndert werden k\u00f6nnen. Ein Hintergrundprozess sch\u00fctzt sie, indem er in regelm\u00e4\u00dfigen Abst\u00e4nden nach einem bestimmten Sicherheitsdeskriptor \u2013 dieser befindet sich auf dem Objekt AdminSDHolder \u2013 sucht und diesen anwendet. Der Deskriptor enth\u00e4lt Sicherheitsinformationen zu dem Protected Object und bei unbefugten \u00c4nderungen am Objekt \u00fcberschreibt der Prozess die Einstellungen mit denen im Deskriptor enthaltenen Informationen. M\u00f6chte man Berechtigungen f\u00fcr ein Protected Object \u00e4ndern, muss man den Sicherheitsdeskriptor f\u00fcr das AdminSDHolder-Objekt \u00e4ndern, damit dieser dann konsistent angewendet wird.<\/p>\n<p>An dieser Stelle ist Vorsicht geboten. Die Suche nach adminCount kann ein Ergebnis ausgeben, dass nicht die Accounts enth\u00e4lt, die man eigentlich sucht, beziehungsweise erwartet. Das h\u00e4ngt damit zusammen, dass adminCount nicht nur den momentanen Status eines Accounts angibt, sondern auch den der Vergangenheit. Wenn einem Account administrative Privilegien zugewiesen werden (z.B. durch Zuf\u00fcgen zu der Gruppe Domain Admins), so wird dem Account das Attribut adminCount=1 zugeordnet &#8211; der Account ist jetzt ein Protected Object. Werden diese Privilegien wieder entzogen (z.B. Account wird aus Gruppe entfernt), ist das Attribut trotzdem weiterhin im Account vorhanden.<\/p>\n<p>Wenn man alle Administratoren suchen m\u00f6chte, eignet sich statt der Suche mit dem Filter adminCount eine rekursive Suche der Gruppenmitgliedschaften besser. Hierzu muss man wissen, nach welcher Gruppe gesucht werden soll. An dieser Stelle sollen Accounts gesucht werden, die administrative Privilegien in der Domain haben. Prinzipiell von Interesse sind daher die Gruppen <strong>Administrators<\/strong>, <strong>Domain Admins<\/strong> und <strong>Enterprise Admins<\/strong>. Die Gruppen unterscheiden sich in einigen Punkten und sind zum Teil auch miteinander verschachtelt. Um alle Mitglieder zu finden, muss man eine rekursive Abfrage durchf\u00fchren.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Gruppenmitgliedschaften_rekursiv_aufloesen\"><\/span>Gruppenmitgliedschaften rekursiv aufl\u00f6sen<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Um herauszufinden, welche User Mitglieder von Gruppen sind, die wiederum in anderen Gruppen enthalten sind, k\u00f6nnte man ein Skript schreiben, das direkte Mitglieder von Gruppen abfragt, pr\u00fcft, welche davon ihrerseits wieder Gruppen sind und dann wieder die direkten Mitglieder abrufen usw., bis man auch die letzte Untergruppe abgefragt hat. Zum Gl\u00fcck ist dies nicht n\u00f6tig, da es in LDAP sogenannte OID (Object Identifier) Matching Rules gibt. In LDAP sind 3 verschiedene OID Matching Rules implementiert, die man der folgenden Tabelle entnehmen kann:<\/p>\n<table width=\"100%\">\n<tbody>\n<tr>\n<td width=\"189\"><strong>Matching rule OID<\/strong><\/td>\n<td width=\"151\"><strong>String identifier (von Ntldap.h)<\/strong><\/td>\n<td width=\"287\"><strong>Beschreibung<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"189\">1.2.840.113556.1.4.803<\/td>\n<td width=\"151\">LDAP_MATCHING_RULE_BIT_AND<\/td>\n<td width=\"287\">Eine \u00dcbereinstimmung wird gefunden, wenn <strong>alle<\/strong> Bits aus dem Attribut mit dem Wert \u00fcbereinstimmen. Diese Regel ist \u00e4quivalent zu einem bitweisen AND-Operator.<\/td>\n<\/tr>\n<tr>\n<td width=\"189\">1.2.840.113556.1.4.804<\/td>\n<td width=\"151\">LDAP_MATCHING_RULE_BIT_OR<\/td>\n<td width=\"287\">Eine \u00dcbereinstimmung wird gefunden, wenn irgendwelche Bits des Attributs mit dem Wert \u00fcbereinstimmen. Diese Regel ist \u00e4quivalent zu einem bitweisen OR-Operator.<\/td>\n<\/tr>\n<tr>\n<td width=\"189\">1.2.840.113556.1.4.1941<\/td>\n<td width=\"151\">LDAP_MATCHING_RULE_IN_CHAIN<\/td>\n<td width=\"287\">Diese Regel ist auf Filter beschr\u00e4nkt, die sich auf den DN (Distinguished Name) beziehen. Es handelt sich um einen speziellen \u201cerweiterten\u201d \u00dcbereinstimmungsoperator, der die Abstammungskette in Objekten bis zum Stamm durchl\u00e4uft, bis er eine \u00dcbereinstimmung findet.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>F\u00fcr eine rekursive Abfrage der Gruppenmitgliedschaft, nutzt man die Matching Rule IN CHAIN und ben\u00f6tigt dazu den Distinguished Name der Gruppe. Eine \u00fcbersichtliche Liste der Common Names und dazugeh\u00f6rigen Distinguished Names aller Gruppen mit Membern kann man sich einfach \u00fcber folgenden Befehl ausgeben lassen:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15204\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/9-300x26.png\" alt=\"\" width=\"1085\" height=\"94\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/9-300x26.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/9-1024x88.png 1024w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/9-768x66.png 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/9-1536x132.png 1536w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/9-2048x176.png 2048w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/9-24x2.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/9-36x3.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/9-48x4.png 48w\" sizes=\"(max-width: 1085px) 100vw, 1085px\" \/><\/p>\n<p>Beispieloutput:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15212\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/blog03_pic_sample_output_cn_dn-300x91.png\" alt=\"\" width=\"1085\" height=\"329\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_sample_output_cn_dn-300x91.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_sample_output_cn_dn-768x232.png 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_sample_output_cn_dn-24x7.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_sample_output_cn_dn-36x11.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_sample_output_cn_dn-48x15.png 48w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/blog03_pic_sample_output_cn_dn.png 1440w\" sizes=\"(max-width: 1085px) 100vw, 1085px\" \/><\/p>\n<p>Die Matching Rule verwendet man wie folgt im Suchfilter:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15203\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/10-300x17.png\" alt=\"\" width=\"1094\" height=\"62\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/10-300x17.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/10-1024x58.png 1024w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/10-768x43.png 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/10-1536x87.png 1536w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/10-2048x116.png 2048w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/10-24x1.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/10-36x2.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/10-48x3.png 48w\" sizes=\"(max-width: 1094px) 100vw, 1094px\" \/><\/p>\n<p>Es gilt zu bedenken, dass man als Ergebnis User-Objekte haben m\u00f6chte. Das bedeutet, dass man hier wieder nach dem sAMAccountType=805306368 sucht und erfahren m\u00f6chte, ob dieser ein Mitglied einer Gruppe ist. Die Matching Rule wird also auf das Attribut memberOf angewendet. Eine Suche nach den Mitgliedern der Gruppe Domain Admins aus dem Beispieloutput w\u00fcrde wie folgt aussehen:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15202\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/11-300x26.png\" alt=\"\" width=\"1085\" height=\"94\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/11-300x26.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/11-1024x88.png 1024w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/11-768x66.png 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/11-1536x132.png 1536w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/11-2048x176.png 2048w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/11-24x2.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/11-36x3.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/11-48x4.png 48w\" sizes=\"(max-width: 1085px) 100vw, 1085px\" \/><\/p>\n<p>Wenn man es sich etwas einfacher machen m\u00f6chte, kann man den Wert des Attributes distinguishedname auch in einer Variable speichern und dies dann im Suchfilter aufrufen:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15201\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/12-300x67.png\" alt=\"\" width=\"1088\" height=\"243\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/12-300x67.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/12-1024x228.png 1024w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/12-768x171.png 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/12-1536x342.png 1536w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/12-2048x456.png 2048w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/12-24x5.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/12-36x8.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/12-48x11.png 48w\" sizes=\"(max-width: 1088px) 100vw, 1088px\" \/><\/p>\n<p>Das gleiche Prinzip kann man auch anwenden, um aufzul\u00f6sen, in welchen Gruppen ein spezifischer User ist. Man ben\u00f6tigt den Distinguished Name des Users und verwendet die OID Matching Rule IN CHAIN mit dem Attribut member. Bei einem angenommenen Beispiel-User John Doe w\u00fcrde man folgende Abfrage t\u00e4tigen:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15200\" src=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/13-300x66.png\" alt=\"\" width=\"1082\" height=\"238\" srcset=\"https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/13-300x66.png 300w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/13-768x170.png 768w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/13-24x5.png 24w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/13-36x8.png 36w, https:\/\/www.secuinfra.com\/wp-content\/uploads\/\/13-48x11.png 48w\" sizes=\"(max-width: 1082px) 100vw, 1082px\" \/><\/p>\n<p>Die beschriebenen Suchen zeigen, dass die Verwendung von Matching Rules im Suchfilter enorm n\u00fctzlich sind, wenn man wei\u00dft, wie und mit welchen Attributen sie zu verwenden sind. Man kann die Matching Rules auch benutzen, um Informationen in Bitmasken abzufragen, aber das soll im n\u00e4chsten Blogpost zum Thema adsisearcher behandelt werden.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Serienuebersicht\"><\/span>Serien\u00fcbersicht<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li><a href=\"https:\/\/www.secuinfra.com\/de\/news\/active-directory-ldap-und-adsisearcher-fahren-auf-sicht-oder-durchblick-haben\/\">Active Directory, LDAP und adsisearcher &#8211; Fahren auf Sicht, oder Durchblick haben?<\/a><\/li>\n<li><a href=\"https:\/\/www.secuinfra.com\/de\/news\/adsisearcher-get-the-object-of-interest-suchen-nach-spezifischen-usern-und-computern\/\">Adsisearcher &#8211; Get the Object of Interest: Suchen nach spezifischen Usern und Computern<\/a><\/li>\n<li>Adsisearcher &#8211; Gruppen rekursiv aufl\u00f6sen<\/li>\n<li>Adsisearcher &#8211; Kein Versteckspiel: User Informationen in der Bitmaske entdecken<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><a href=\"#_ednref1\" name=\"_edn1\">[1]<\/a> Active Directory Security Groups, Microsoft Documentation, <a href=\"https:\/\/docs.microsoft.com\/en-gb\/windows\/security\/identity-protection\/access-control\/active-directory-security-groups\">https:\/\/docs.microsoft.com\/en-gb\/windows\/security\/identity-protection\/access-control\/active-directory-security-groups<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Active Directory werden Gruppen verwendet, um Benutzerkonten und Computerkonten in Einheiten zu gruppieren, die dann einfacher verwaltet werden k\u00f6nnen. Zun\u00e4chst ist es wichtig zu verstehen, warum Gruppen und Gruppenzugeh\u00f6rigkeiten relevant sind.<\/p>\n","protected":false},"author":12,"featured_media":27626,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[97,90,66],"tags":[],"dpc_coauthors":[],"class_list":["post-15199","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-adsisearcher","category-ldap","category-techtalk"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/posts\/15199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/comments?post=15199"}],"version-history":[{"count":0,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/posts\/15199\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/media\/27626"}],"wp:attachment":[{"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/media?parent=15199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/categories?post=15199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/tags?post=15199"},{"taxonomy":"dpc_coauthors","embeddable":true,"href":"https:\/\/www.secuinfra.com\/de\/wp-json\/wp\/v2\/dpc_coauthors?post=15199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}