MyFileServer1

參考鏈接:
https://www.bilibili.com/video/BV1g14y1S75c/

使用ARP掃描局域網(wǎng)內(nèi)存活主機(jī)

發(fā)現(xiàn)存活主機(jī) 1.1.1.19
使用nmap掃描主機(jī)開放的端口
使用參數(shù):
-sS????半開放式掃描
-Pn????不進(jìn)行ping掃描
--min-rate 10000????以最低10000的速率進(jìn)行掃描
-sV????探測開放的端口服務(wù)
-O????探測主機(jī)系統(tǒng)
-sC????使用默認(rèn)腳本檢測
-p-????掃描0-65535端口


得到的信息: FTP可匿名登錄;主機(jī)開放http服務(wù);主機(jī)開放samba服務(wù);主機(jī)開啟nsf掛載
進(jìn)行UDP協(xié)議的掃描

--top-ports 100????掃描開放頻率最高的前100個(gè)端口
-Su????掃描UDP協(xié)議
沒有新的信息發(fā)現(xiàn)
使用nmap漏洞檢測腳本

沒有新的信息發(fā)現(xiàn)
對(duì)要滲透的端口優(yōu)先級(jí)排序:
21,2121,samba,80,111,445,2049,20048,22
使用匿名用戶登錄主機(jī)ftp服務(wù)

登錄成功

提示使用命令binary模式傳輸文件(進(jìn)入ftp一定要執(zhí)行,否則可能出現(xiàn)文件損壞不可讀現(xiàn)象)

查看當(dāng)前目錄下的文件

發(fā)現(xiàn)一個(gè)文件夾 pub
進(jìn)入pub文件夾后發(fā)現(xiàn)一個(gè)log文件夾 可能是存放日志的地方
再進(jìn)入log文件夾

文件夾中有很多銘感文件,例如日志文件等.

嘗試下載

下載失敗了
尋找下一個(gè)目標(biāo)2121端口ftp服務(wù)器
也支持匿名用戶登錄

似乎與上一個(gè)服務(wù)并沒有任何區(qū)別

一樣無法下載文件
?向下一個(gè)服務(wù)前進(jìn) smb服務(wù)
使用smbmap 使用-H參數(shù)指定主機(jī)

看到smbdata具有可讀寫權(quán)限 還有smbuser這個(gè)敏感目錄
先從smbdata查看
使用smbclient指定主機(jī)目錄

這里提示需要密碼 我輸入了123456嘗試登陸 登陸到了anonymous用戶中
?

查看文件目錄

這里的文件和ftp中的文件很相似
但是ftp中并沒有下載權(quán)限 在這里嘗試下載試試

查看cron文件

是一些有關(guān)于計(jì)劃任務(wù)的東西 現(xiàn)在暫時(shí)用不上 在進(jìn)行提權(quán)的時(shí)候也許可以用得上
查看secure文件

這里是一些關(guān)于修改用戶和用戶組的一些信息

最底下可以看到 新建了一個(gè)用戶組和用戶名 都叫smbuser 密碼是chauthtok

嘗試撞一下庫

ftp撞庫失敗了
再查看ssh配置文件

這個(gè)配置文件可以看到ssh都允許和禁止什么操作
可使用密鑰進(jìn)行登錄

允許root用戶登錄

禁止使用密碼登錄

在之前的掃描中發(fā)現(xiàn)主機(jī)掛載了一個(gè)目錄 可以使用 showmount -e查看主機(jī)掛載的目錄文件

這里列出了主機(jī)掛載的目錄 但是限制了僅允許192.168.56.0網(wǎng)段訪問該目錄
這里使用的是本地的主機(jī) 所以可以通過修改NAT網(wǎng)段來訪問



隨便挑一個(gè)



在虛擬中選擇你剛剛設(shè)置好的虛擬網(wǎng)段

重啟主機(jī)

找到主機(jī)192.168.56.10

在kali /mnt目錄下新建一個(gè)文件夾smbdata

將主機(jī)smbdata目錄掛載到本地/mnt/smbdata目錄
使用mount命令 -t 參數(shù)指定文件系統(tǒng)類型(可不指定)? -o 參數(shù)采用不同的參數(shù)(rw: 采用讀寫方式掛接設(shè)備)
mount -t nfs -o rw 192.168.56.10



文件也沒有什么區(qū)別
接下來訪問一下主機(jī)開放的http服務(wù)

上方指向了一個(gè)互聯(lián)網(wǎng)地址(沒什么用處)
下面My File Server說的是我的文件服務(wù)器

前端源碼也沒有什么可用的信息
可以使用dirbuster爆破一下目錄

字典地址 /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

沒有掃描到可用的信息,可能是掃描的選擇范圍太少了
回到前面修改File extension



掃描出了兩個(gè)文件


發(fā)現(xiàn)了信息 My Password is rootroot1
提示密碼是rootroot1
在前面的掃描結(jié)果中 主機(jī)開放了ssh/ftp端口 可以嘗試撞庫
但是鏈接ssh需要ssh密鑰
所以先嘗試ftp登錄

ftp不允許root用戶 但是在前面獲取到的信息得知還有一個(gè)叫smbuser的用戶

使用smbuser登錄是可以的
所以smbuser的密碼是rootroot1

ftp里沒有文件 所在目錄是 /home/smbuser
但這里的文件都擁有讀寫權(quán)限
只要ssh密鑰對(duì)了就可以進(jìn)行鏈接
可以嘗試寫一個(gè)ssh公鑰私鑰上傳到這個(gè)目錄下
使用ssh-keygen生成公鑰私鑰對(duì)

Enter passphrase讓你寫一個(gè)密碼 可以選擇回車生成空密碼
生成一個(gè)名為test的公鑰私鑰對(duì)

將test.pub公鑰通過ftp上傳至主機(jī)
查看主機(jī)ssh配置文件

查看配置文件要求的密鑰存放位置

根據(jù)要求 回到ftp創(chuàng)建一個(gè)? .ssh文件夾
將以.pub后綴的公鑰存放在這里面

cd到? .ssh目錄下 使用put將文件上傳到此目錄下并改名為 authorized.keys

在另一個(gè)終端里使用ssh嘗試登錄 使用參數(shù) -i 指定私鑰文件

可以發(fā)現(xiàn)成功登錄ssh
內(nèi)核版本不高3.10 可以考慮內(nèi)核提權(quán)

查看是否存在雙網(wǎng)卡

查看定時(shí)任務(wù)

只存在一個(gè)用戶 考慮縱向提權(quán)

查看sudo

雖然使用了密鑰進(jìn)行登錄 但是通過readme.txt得到的"rootroot1"密碼依然是對(duì)的
只可惜沒有sudo權(quán)限
從根目錄查找具有SUID權(quán)限位且屬主為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 {} \;

查了一下 https://gtfobins.github.io/ 沒有什么能利用的上的
如果能使用sudo就容易很多
所以考慮內(nèi)核提權(quán)
查看當(dāng)前內(nèi)核版本

使用searchsploit搜索exploit 內(nèi)核的英文名在searchsploit中是kernel


數(shù)量太多 再進(jìn)行篩選 權(quán)限提升的全名是 Privilege Escalation (在Exploit Title中可以找到)
searchsploit kernel 3.10 Privilege Escalation

這里能用得上的基本都用了 但是都不能成功
去查了一下 發(fā)現(xiàn)可以用臟牛提權(quán)
? 臟牛(Dirty Cow)是Linux內(nèi)核的一個(gè)提權(quán)漏洞,之所以叫Dirty Cow,Linux內(nèi)核的內(nèi)存子系統(tǒng)在處理寫時(shí)拷貝(Copy-on-Write)時(shí)存在條件競爭漏洞,導(dǎo)致可以破壞私有只讀內(nèi)存映射。一個(gè)低權(quán)限的本地用戶能夠利用此漏洞獲取其他只讀內(nèi)存映射的寫權(quán)限,有可能進(jìn)一步導(dǎo)致提權(quán)漏洞。競爭條件,指的是任務(wù)執(zhí)行順序異常,可導(dǎo)致應(yīng)用崩潰,或令攻擊者有機(jī)可乘,進(jìn)一步執(zhí)行其他代碼。利用這一漏洞,攻擊者可在其目標(biāo)系統(tǒng)提升權(quán)限,甚至可能獲得root權(quán)限。
在searchsploit中搜索Dirty Cow

可以加上Privilege Escalation權(quán)限提升
第一個(gè)就是利用了 /proc/self/mem條件競爭漏洞
在主機(jī)中也存在這樣的文件

使用searchsploit -p參數(shù)查找漏洞利用源文件位置

復(fù)制粘貼到當(dāng)前目錄下 cp /usr/share/exploitdb/exploits/linux/local/40616. .

查看一下源文件有什么利用要求

這里他說編譯源文件時(shí)加上參數(shù) -pthread 編譯之后直接使用即可
在kali里編譯一下試試

這里出現(xiàn)了報(bào)錯(cuò)
放到主機(jī)里嘗試
使用php -S開啟一個(gè)簡單的http服務(wù) web目錄就在當(dāng)前目錄下
0:80的意思是 0.0.0.0:80 在本地機(jī)開放服務(wù) 端口是80

(也可以使用service apache2 start 然后將文件移動(dòng)到/var/www/html)
回到主機(jī)中 進(jìn)入tmp目錄下 使用wget將源文件下載到當(dāng)前目錄

使用gcc編譯

雖然還是有warning 但是文件已經(jīng)編譯出來了
賦予文件權(quán)限

已經(jīng)成功提升為了root權(quán)限
