最近有点忙,所以文章写的不多,并且打算从底层去研究以前内网碰到的问题,有时候
也是困难重重,所以更新可能没有java快了。说一下接下来的方向吧。
(1)java可能会复现,或者自己写一点工具项目碰到了用
(2)会抽空把钓鱼,免杀的方法整理一点
(3)主攻windows,对一些机制,api进行系统学习,从底层走,底层看原理,至少达到能写工具的水平。(有同学要学这个的)
建议稍微看一点汇编,VS2019可以汇编和C++一起学,我是这么来的。供日常使用就好。
https://itm4n.github.io/lsass-runasppl/
https://www.crowdstrike.com/blog/evolution-protected-processes-part-1-pass-hash-mitigations-windows-81/
在windows中,本地用户账户使用ntml的算法散列存放在sam数据库中。该数据库是一个注册表配置
单元文件。lsass.exe进程使用了两种方法来管理这些密码数据。
(1)基于文件也就是我们通用的利用卷影拷贝的方式离线或者在线访问,并从中提取出hash值。(lsass可能会缓
存混淆一部分数据)
(2)基于进程也就是我们重用的通过dump lsass.exe进程(其实也就是通过注入代码到lsass.exe中,利用一些查
询的api对密码信息进行访问。由于可逆的堆成加密算法导致了lsass.exe加密狗的数据可以恢复为
明文,也就是明文dump密码)
这里会引入一个进程保护概念,在 Windows 8.1 RT 中,lsass.exe是一个PPL保护进程。利用之前直
接使用mimikatz进行注入恶意代码然后读取数据制造了障碍。
微软系统进程保护机制
防止非管理员非PPL进程通过打开进程之类的函数串改PPL进程的代码和数据。一个可执行文件必须要有签名才行。受保护的进程再未保护过程中只有有限的特权可以访问。PPL是
PP的扩展,增加了Protection level的概念。其实简单来说,就是在ppl的机制下,未经合法签名的
程序不能对ppl保护的进程进行任意访问,只有非常受限的权限。
PP 可以以完全访问权限打开 PP 或 PPL,只要其签名者级别大于或等于;
一个 PPL 可以打开另一个具有完全访问权限的 PPL,只要其签名者级别大于或等于;
无论签名者级别如何,PPL 都无法以完全访问权限打开 PP。
RunAsPPL是对工具的有效保护。入下图,使用mimikatz的时候访问被拒绝。防止普通程序访问受保
护的程序。当需要启动的时候,利用注册表键HKLM\SYSTEM\CurrentControlSet\Control\Lsa\DWORDd的RunAsPPL设置为1进行启动。比较贴合实际的就是有时候mimikatz报错问题。如下图
Mimikatz使用数字签名驱动程序来删除内核中 Process 对象的保护标志。该文件mimidrv.sys必须
位于当前文件夹中,才能使用命令加载为内核驱动程序服务!+。然后,你可以使用该命令!processprotect取消保护并最终访问lsass.exe.
抓取
mimikatz # !+
mimikatz # !processprotect /process:lsass.exe /remove
mimikatz # privilege::debug
mimikatz # sekurlsa::logonpasswords
恢复
mimikatz # !processprotect /process:lsass.exe
mimikatz # !-
!!恢复以后不是恢复原来的级别
生成一个合法的签名;
原理就是利用反病毒软件可能已经打开了lsass的句柄,然后利用这个句柄去利用,而不是直接
OpenProcesslsass进程。
工具地址:python版本的mimikatz
https://github.com/skelsec/pypykatz
(1)修改注册表键,2012以后默认不可抓明文密码
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest
(2)RunAsPPL 注册表键设置进程保护
(3)设置HKEY_LOCAL_MACHINE\SECURITY\Cache放置凭借缓存
(4)禁用管理员的SeDebugPrivilege权限
典型的进程不能对受保护的进程执行如下操作:· 将线程注入受保护的进程
· 访问受保护进程的虚拟内存
· 调试一个活动的受保护进程
· 从受保护的进程中复制句柄
. 更改受保护进程的配额或工作集
典型的进程不能对受保护进程的线程执行以下操作,例如:
· 设置或检索上下文信息
· 模拟线程
PP保护就是说一个二进制程序,要么被保护,要么不被保护。层次分明。