【HTB】OpenAdmin

感覺

學了那點 web 安全基礎知識之後

完全放下有點虧

決定一周做一個靶機

在這裡記錄一下

都是跟着網上的 wp 復現的(菜

信息搜集

nmap -sC -A -T 4 -n 10.10.10.171

nmap參數:

-sC    根據端口識別的服務,調用默認腳本  -A     OS識別,版本探測,腳本掃描和traceroute  -T  (0-5)時間優化  -n/-R   不對IP進行域名反向解析/為所有的IP都進行域名的反響解析

訪問web:並沒有發現什麼

DirBuster,選擇

/usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt

進行目錄爆破

發現兩個目錄 music 和 ona

music,點擊 login 會跳到 /ona/ 目錄

挨個訪問,再看 ona

/ona/目錄下提示的最新版是:OpenNetAdmin,當前版本是18.1.1.1

OpenNetAdmin 官網(來自谷歌自動翻譯,了解一下是幹啥的)

漏洞利用

searchsploit opennetadmin 搜一下利用的

searchsploit 是一個命令行搜索 exp 的工具,可以直接搜,使用空格來區分關鍵詞

searchsploit -m 47691 使用參數 -m 將利用腳本複製到當前目錄

關於shell腳本傳參:

$0 是自身文件名

$1 就是第一個參數,比如:

執行:

./47691.sh http://10.10.10.171/ona/

拿到shell

(我把 47691 改成 yichen 了 ,另外會有延遲,執行之後稍等一下)

但是權限比較低,當前用戶是:www-data,沒法執行 cd 命令

使用 ls,嘗試去找目錄

在 /var/www/ 目錄下使用 ls -la 查看文件信息,可以發現有個用戶是 jimmy

-a 列出所有文件,包括 . 開頭的

-l 除了文件名之外,還將文件的權限、所有者、文件大小等信息詳細列出來

在 /var/www/ona/config/

發現 config.inc.php

裏面發現 dbconffile 的目錄

找到數據庫的用戶名和密碼

使用 n1nj4W4rri0R! 作為密碼,使用 Jimmy 作為用戶名 ssh 登錄成功

可以看到 main.php 他會輸出 joanna 的 .ssh 的 id_rsa

但是當我們去 curl 的時候沒有輸出,可能並不是在默認的 80 口,使用 netstat -tulpn 查看一下

netstat 各個參數解釋

-a (all)顯示所有選項,默認不顯示LISTEN相關  -t (tcp)僅顯示tcp相關選項  -u (udp)僅顯示udp相關選項  -n 拒絕顯示別名,能顯示數字的全部轉化成數字  -l 僅列出有在 Listen (監聽) 的服務狀態  -p 顯示建立相關鏈接的程序名  -r 顯示路由信息,路由表  -e 顯示擴展信息,例如uid等  -s 按各個協議進行統計  -c 每隔一個固定時間,執行該netstat命令

猜測運行在 52846 上,所以 curl http://127.0.0.1:52846/main.php

把這個密鑰保存出來:

然後使用:

python /usr/share/john/ssh2john.py mi > sshjohn

將保存出來的 mi 轉換成 john 格式

ssh2john.py 的作用就是把 ssh 密鑰 改成 john 可以識別的格式

john --wordlist=/usr/share/wordlists/rockyou.txt sshjohn

使用 john 爆破 –wordlist 指定字典

然而這一個並不是 ssh 連接的密碼,而是使用密鑰進行登錄時的密碼

這樣就登陸了 joanna,在當前目錄下有個 user.txt 裏面存着 flag

使用 sudo -l 可以發現,下面兩個不用密碼就可以以 root 權限執行

使用 sudo /bin/nano /opt/priv 打開,然後使用 ctrl+R 來讀取 /root/root.txt 的內容

成功讀取:

第一次做

專門選了個評價是最簡單的那種

然而還是搞懵了