<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/12518

                    0x00 前言


                    在之前的文章中介紹了一些域環境中的滲透方法和技巧,所以這次接著介紹一個用來維持域控權限的方法——SSP.

                    Alt text

                    0x01 簡介


                    SSP:

                    Security Support Provider,直譯為安全支持提供者,又名Security Package.

                    簡單的理解為SSP就是一個DLL,用來實現身份認證,例如:

                    #!bash
                    NTLM
                    Kerberos
                    Negotiate
                    Secure Channel (Schannel)
                    Digest
                    Credential (CredSSP)
                    

                    SSPI:

                    Security Support Provider Interface,直譯為安全支持提供程序接口,是Windows系統在執行認證操作所使用的API。

                    簡單的理解為SSPI是SSP的API接口

                    LSA:

                    Local Security Authority,用于身份認證,常見進程為lsass.exe

                    特別的地方在于LSA是可擴展的,在系統啟動的時候SSP會被加載到進程lsass.exe中.

                    這相當于我們可以自定義一個dll,在系統啟動的時候被加載到進程lsass.exe!

                    Alt text

                    此圖片來自于https://dl.mandiant.com/EE/library/MIRcon2014/MIRcon_2014_IR_Track_Analysis_of_Malicious_SSP.pdf

                    如圖,這是正常的SSPI結構圖,Client APP是我們自定義的dll,通過Secur32.dll可以調用 "credential capture API"來獲取LSA的信息

                    Alt text

                    此圖片來自于https://dl.mandiant.com/EE/library/MIRcon2014/MIRcon_2014_IR_Track_Analysis_of_Malicious_SSP.pdf

                    上圖展示了攻擊思路,既然可以自定義dll,那么我們就可以定制dll的功能,通過Named PipeShared Memory直接獲取lsass.exe中的明文密碼,并且能夠在其更改密碼時立即獲得新密碼!

                    0x02 mimilib SSP


                    mimikatz早已支持這個功能,而這個文件就是我們使用的時候常常忽略的mimilib.dll

                    Alt text

                    下面就實際測試一下如何通過mimilib偽造SSP記錄明文密碼.

                    mimikatz poc地址:
                    https://github.com/gentilkiwi/mimikatz/blob/bb371c2acba397b4006a6cddc0f9ce2b5958017b/mimilib/kssp.c

                    0x03 實際測試


                    測試環境

                    #!bash
                    域控:server 2008 r2 x64
                    域內主機: win7 x64
                    

                    測試步驟:

                    1、添加SSP

                    將mimilib.dll復制到域控c:\windows\system32

                    注:

                    64位系統要用64位的mimilib.dll,32位的會失敗

                    2、設置SSP

                    修改域控注冊表位置:

                    #!bash
                    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Security Packages\
                    

                    如圖 Alt text

                    在Security Packages下添加mimilib.dll

                    如圖 Alt text

                    點擊確認,Security Packages已被添加mimilib.dll

                    如圖 Alt text

                    3、重啟系統

                    域控重啟后在c:\windows\system32可看到新生成的文件kiwissp.log

                    如圖 Alt text

                    kiwissp.log記錄了登錄賬戶和密碼,如圖 Alt text

                    Tips:

                    mimilib只實現了將密碼保存到本地,如果把密碼發送到遠程服務器豈不是威力無窮?

                    0x04 補充


                    1、Memory Updating of SSPs

                    mimikatz同時還支持通過內存更新ssp,這樣就不需要重啟再獲取賬戶信息

                    需要使用mimikatz.exe,命令如下:

                    #!bash
                    privilege::debug
                    misc::memssp
                    

                    注:

                    1、64系統需要64位的mimikatz,如圖

                    32位mimikatz失敗 Alt text

                    64位mimikatz成功 Alt text

                    2、內存更新的方法在重啟后會失效.

                    0x05 檢測


                    1、注冊表

                    檢測注冊表位置:

                    #!bash
                    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Security Packages\
                    

                    2、dll

                    檢測%windir%\System32是否有可疑dll

                    3、Autoruns

                    使用工具Autoruns檢測LSA

                    如圖,可以發現添加dll的位置 Alt text

                    0x06 小結


                    本文僅對SSP的常規用法做了演示,實現了在本地保存域控的賬戶和密碼,而且基于這個思路,可以開發出更多高級的利用方法。

                    如果站在防御的角度,常規方法已經力不從心,只有更多的了解攻擊才能更好的防御。

                    0x07 參考資料


                    本文由三好學生原創并首發于烏云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>

                                      这里只有精品视频