内网渗透|LAPS的使用小技巧

0收藏

0点赞

浏览量:327

2021-11-17

举报

LAPS

0x01 前提

有一天在路上莫名奇妙捡到一个webshell,既然是爆Ju那就爆久一点,然后我就随手转存下lsass内存。

tasklist /svc | findstr "lsass.exe"rundll32.exe C:\windows\System32\comsvcs.dll, MiniDump pid lsass.dmp full

然后再随手导出一哈本地hash好了。

reg save hklm\sam sam.hivreg save hklm\system system.hiv

不错拿到了我们喜欢的p@ssw0rd密码,好家伙这不是我自己电脑密码吗?难道这台机器的主人暗恋我?哪有这么巧合的事?!于是我随手一个smb爆破,wmi爆破,好家伙给我爆出来30台机器,这波不是发个大财?然后一想我自己的小域环境不也这样?这可不行,我自己一台一台改?我懒得搞被撸了算了,要不用组策略比如sysvol?这样搞那我还不如不管了。于是我发现了有个东西叫做LAPS

0x02 LAPS是什么

Microsoft 本地管理员密码解决方案 (LAPS为) Active Directory 中的每台计算机提供自动本地管理员帐户管理。安装在每台计算机上的客户端组件会生成一个随机密码,更新关联 AD 计算机帐户上的(新)LAPS密码属性,并在本地设置密码。LAPS配置通过组策略进行管理,该组策略提供密码复杂性、密码长度、密码更改的本地帐户名称、密码更改频率等值。

简单点来说,很多管理员都喜欢用一个密码,那么我一个pth到域控那ntds拿下了,所以LAPS就为每台机器的本地管理员用户设置不同的随机的密码来解决这个问题,LAPS会把每台计算机的本地管理员账户存储在Active Directory中,然后通过计算机相应的属性进行保护,计算机可以在 Active Directory 中更新自己的密码数据,并且域管理员可以向授权用户或组授予读取访问权限。

LAPS的工作是如何的?

LAPS其实可以理解为一条GPO,它会隔一段时间去执行一些操作:

•检查密码是否过期•当密码过期或者说过期前生成一个新的密码•通过密码策略来验证新密码•向Active Directory发送密码,并且把计算机的属性发送过去一起存储•向Active Directory说明密码下次到期的时间,将属性发送过去一起存储•更改管理员的密码

0x03 安装LAPS

[自己去下载吧] https://www.microsoft.com/en-us/download/details.aspx?id=46899,

这里[参考]https://www.opss.cn/1377.html。

图片

Ir9UIg.png


图片

Ir9cZT.png



导入LAPS PowerShell 模块,扩展AD架构增加LAPS扩展

Import-Module AdmPwd.PS    #导入LAPS PowerShell 模块Update-AdmPwdADSchema    #扩展AD架构增加LAPS扩展

图片

Ir92oF.png


Ir9fJJ.png


Ir9osx.png


Ir9XJH.png


Ir9jWd.png


图片

IrCCef.png

去掉这个


图片

IrCiTS.png

创建一下OU,组和用户


图片

IrCeln.png



把MSSQL添加到PWAdmin组

IrCMwT.png



然后创建一个计算机OU,把mssql添加进计算组这个OU,点击mssql然后右键移动到计算机即可。

查询“计算机”这个OU有哪些用户组有扩展权限,从下面可以看出一个system和域管理员组可以访问这个OU的扩展权限

Find-AdmPwdExtendedrights -identity 计算机 | Format-Table

IrC1kF.png



设置“计算机”这个OU上的电脑拥有扩展属性权限,ms-Mcs-AdmPwd – 以明文形式存储密码;ms-Mcs-AdmPwdExpirationTime – 存储重置密码的时间。设置计算机这个OU的电脑对上面两个扩展拥有读写权限

Set-AdmPwdComputerSelfPermission -OrgUnit 计算机

然后设置允许读取“计算机”这个OU上的管理员账号和密码的用户组。

Set-AdmPwdReadPasswordPermission -OrgUnit 计算机 -AllowedPrincipals PWAdmin #设置PWAdmin用户组可以读取“计算机”这个OU里面的本地管理员账号和密码

然后设置允许重置“计算机”这个OU上的管理员账号和密码的用户组

Set-AdmPwdResetPasswordPermission -OrgUnit 计算机 -AllowedPrincipals PWAdmin #设置PWAdmin用户组可以重置“计算机”这个OU里面的本地管理员账号和密码

然后配置GPO,让客户端通过GPO来更新本地管理员密码

创建LAPS的GPO然后把计算机链接到这个GPO

IrCJp9.png


图片

IrCYlR.png

然后编辑


IrCt61.png



然后就是给客户端安装了,只需要第一个

IrCam6.png


IrCDte.png



然后重启该机器。再验证LAPS

PowerShell查看本地管理员密码,为本地计算机名称

Get-AdmPwdPassword -ComputerName <computername>

IrCypd.png


IrCc6I.png



那既然这样子了,我每台机器密码都不一样了,你总pth不动了把,而且我更新密码的时候流量也是加密的。但是这个明文存储挺让我难受的。

0x04 检查是否安装了LAPS

检查DLL是否存在

Get-ChildItem 'c:\program files\LAPS\CSE\Admpwd.dll'

检查DLL的数字签名

Get-AuthenticodeSignature 'c:\program files\LAPS\CSE\Admpwd.dll'

也可以检查CN=ms-Mcs-AdmPwd,CN=Schema,CN=Configuration,DC=redteam,DC=local是否存在CN=ms-Mcs-AdmPwd

IrCgXt.png



0x05 获取LAPS值

IrCRnP.png


IrCOBV.png


IrPAHK.png


(来源:黑白之道)
(原文链接:https://mp.weixin.qq.com/s/_bBSSIJ_rW14rpYhtkzzYg

发表评论

点击排行

钓鱼邮件-如何快速成为钓鱼达人

一、前言在大型企业边界安全做的越来越好的情况下,不管是 APT 攻击还是红蓝对抗演练,钓鱼邮件攻击使用的...

【渗透实战系列】| 1 -一次对跨境赌博类APP的渗透实战(getshell并获得全部数据)

本次渗透实战主要知识点:1.app抓包,寻找后台地址2.上传绕过,上传shell3.回shell地址的分析4.中国蚁剑工...

HTTPS - 如何抓包并破解 HTTPS 加密数据?

HTTPS 在握手过程中,密钥规格变更协议发送之后所有的数据都已经加密了,有些细节也就看不到了,如果常规的...

无线电安全攻防之GPS定位劫持

一、需要硬件设备HackRFHackRF 连接数据线外部时钟模块(TCXO 时钟模块)天线(淘宝套餐中的 700MHz-2700MH...

记一次Fastadmin后台getshell的渗透记录

1.信息搜集先来看看目标站点的各种信息后端PHP,前端使用layui,路由URL规则看起来像ThinkPHP,那自然想到...

华为防火墙实战配置教程,太全了

防火墙是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包的进出。防火墙是系...

ADCS系列之ESC1、ESC8复现

对原理感兴趣的可以去https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf看原文,这里只...

【干货分享】利用MSF上线断网主机的思路分享

潇湘信安&nbsp;Author 3had0w潇湘信安一个不会编程、挖SRC、代码审计的安全爱好者,主要分享一些安全经验、...

扫描二维码下载APP