See my notes below. There is a lot of good content on SID History here - https://msdn.microsoft.com/en-us/library/ms677982(v=vs.85).aspx
Thanks, Brian Desmond w - 312.625.1438 | c - 312.731.3132 From: [email protected] [mailto:[email protected]] On Behalf Of Joseph L. Casale Sent: Sunday, April 2, 2017 2:47 PM To: '[email protected]' <[email protected]> Subject: [NTSysADM] RE: SID history report Hi Brian, Forgive me, I don't exactly follow. A user in DomainB could have one of the following scenario's: 1. A sIDHistory entry for DomainA\GroupA. [Brian Desmond] Hypothetically, yes this is possible. I'd question how/why this happened though. 1. A sIDHistory entry for any user or group in DomainA or DomainB that is themselves implicitly or explicitly granted membership in DomainA\GroupA. [Brian Desmond] it's not possible for an object in Domain B to have a SID History entry with a SID also from Domain B. If that is correct, I imagine writing something that: 1. Collect all SIDs of all objects in DomainA\GroupA, including then expanding groups tail recursively. 2. Collect all groups recursively that are members of DomainA\GroupA. Then finding any user in DomainB who has: 1. A sIDHistory entry in the above collection. 2. Group membership in any of the above groups. This should find all scenarios of convoluted implicit membership? Or given the restrictions on sIDHistory values, does this overcomplicate it? Thanks, jlc From: [email protected]<mailto:[email protected]> [mailto:[email protected]] On Behalf Of Brian Desmond Sent: Sunday, April 2, 2017 11:25 AM To: [email protected]<mailto:[email protected]> Subject: [NTSysADM] RE: SID history report You really only need to grab this step: - Enumerate any users in DomainB whose sIDHistory collection contains one or more of any of the above cumulative SIDs. SIDHistory in DomainA has the SID of the group in DomainB. You need to find anyone who is a member of the group in DomainB. That will give them implicit access via SIDHistory. Everyone else just gets the access via normal group membership in the DomainA group. Thanks, Brian Desmond w - 312.625.1438 | c - 312.731.3132 From: [email protected]<mailto:[email protected]> [mailto:[email protected]] On Behalf Of Joseph L. Casale Sent: Thursday, March 30, 2017 5:05 PM To: [email protected]<mailto:[email protected]> Subject: [NTSysADM] SID history report Hey guys, I am trying to automate a report that a user has been instructed to reproduce on a continued basis. Given a group "GroupA" in DomainA, I need to enumerate all users who have access implicitly through sIDHistory. Off the top of my head, does this miss anything: - Enumerate all members of GroupA in DomainA recursively. - Explicit users. - Members implied through explicit group membership (recursively as well). - Enumerate any users in DomainA whose sIDHistory collection contains one or more of any of the above SIDs. - Enumerate any users in DomainB whose sIDHistory collection contains one or more of any of the above cumulative SIDs. Does that cover it? Thanks, jlc

