Skip to content

Commit

Permalink
Improve auto-generated Foreign-Security-Principal objects
Browse files Browse the repository at this point in the history
  • Loading branch information
lkarlslund committed Mar 29, 2022
1 parent e04db07 commit ec6691c
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion modules/integrations/activedirectory/analyze/analyze-ad.go
Original file line number Diff line number Diff line change
Expand Up @@ -1202,6 +1202,7 @@ func init() {
log.Warn().Msgf("Possible hardening? %v is a member of %v, which is not found - adding synthetic group. Your analysis will be degraded, try dumping with Domain Admin rights.", object.DN(), memberof)
}
group = engine.NewObject(
engine.IgnoreBlanks,
engine.DistinguishedName, memberof,
engine.ObjectCategorySimple, engine.AttributeValueString("Group"),
engine.ObjectClass, engine.AttributeValueString("top"), engine.AttributeValueString("group"),
Expand All @@ -1219,9 +1220,24 @@ func init() {
for _, member := range object.Attr(activedirectory.Member).Slice() {
memberobject, found := ao.Find(engine.DistinguishedName, member)
if !found {
log.Warn().Msgf("Possible hardening? %v is a member of %v, which is not found - adding synthetic member", object.DN(), member)
var sid engine.AttributeValueSID
var category string
if stringsid, _, found := strings.Cut(member.String(), ",CN=ForeignSecurityPrincipals,"); found {
// We can figure out what the SID is
if c, err := windowssecurity.SIDFromString(stringsid); err == nil {
sid = engine.AttributeValueSID(c)
category = "Foreign-Security-Principal"
}
log.Info().Msgf("Missing Foreign-Security-Principal: %v is a member of %v, which is not found - adding enhanced synthetic group", object.DN(), member)
} else {
log.Warn().Msgf("Possible hardening? %v is a member of %v, which is not found - adding synthetic group. Your analysis will be degraded, try dumping with Domain Admin rights.", object.DN(), member)
}
memberobject = engine.NewObject(
engine.IgnoreBlanks,
engine.DistinguishedName, member,
engine.ObjectCategorySimple, category,
engine.ObjectSid, sid,
engine.MetaDataSource, "Autogenerated",
)
ao.Add(memberobject)
}
Expand Down

0 comments on commit ec6691c

Please sign in to comment.