This article is approximately 45 min read and contains 6467 words.
Starting Point Write Up on Hackthebox
We3 Sep 11 2024
滲透測試筆記
Meow (Pwned!)
- 先 nmap 起手掃一遍
- 可以觀察到有 port 23 (telnet)
- 暴力試試看有的帳號
admin
administrator
root
- 到
root
登入了 ! - Get FLAG!
Fawn (Pwned!)
- 一樣 nmap 起手
- 看到有 FTP
- 嘗試登入
- 嘗試登入
- 試到 anonymous 的時候成功
ls
後看到有 flag.txt
- 用 get 這個指令下載
- 回去電腦看就有了
Dancing (Pwned!)
- 一樣先 NMAP 起手
- 看到這台是個有開 SMB 的機器
- 用
smbclient -L
這個指令觀察有甚麼 share 的資料夾
- 可以發現 WorkShares 這個資料夾不用密碼就可以存取
- 直接進去
- 最後在 James.P 的資料夾找到 FLAG
- 用 get 把 flag 載下來就好了
Redeemer (Pwned!)
- 一樣 nmap 起手掃看看
- 這邊
-p-
的意思是掃所有 port -T4
的意思是快速掃
- 有台 redis 在上面
- 直接用 redis-cli 連上去
- 連上去後可以先用
info
看到一些基本資訊
- 可以看到有 db0 這個資料庫
- 我們用 select 指令切換 (在 index 0)
- 進來後可以用
KEYS *
查看你面的資料
- 最後用
GET
就可以看到裡面的資料 (FLAG) 了!
Explosion (Pwned!)
- 一樣先 NMAP 起手
- 看到 port 3389 有開,它是遠端桌面通訊協定(RDP)預設的連接埠
- 我們可以用
xfreerdp
這個工具
/u:
指定 username/p:
指定 password/v:
指定 Ip嘗試連線
- 這帳號居然不用 password 就可以登入
- 遠端成功! 就拿到 flag 了!
Preignition (Pwned!)
- 直接 NMAP 起手
- 開了個網頁服務
- 進去看什麼都沒,直接工具開掃
- 或是
- 找到
admin.php
, 試了admin/admin
就登入拿到 flag ㄌ!
Mongod (Pwned!)
- NMAP 起手++
- 有 mongodb 那是種 nosql 資料庫
- 那就用 mongosh 連上去看看!
- 指定 host 就連到了!
- 我們來看看
db
有甚麼,用show dbs
查看
- 看一下 sensitive_information
- 用
use
可以切換 db
- 看一下 collections , 一樣用
show
- 找到 flag 了! 讀取它
- 用
db.{collection's name}_find()
讀取!
Synced (Pwned!)
- NMAP 起手++++
所以我們直接看看有甚麼檔案可以用
--list-only
就是只列出檔案,不下載
- 追進去
public
這個資料夾
- 看到FLAG了! 下載!
- 拿到 FLAG 了~
rsync 常用參數
-v
:verbose 模式,輸出比較詳細的訊息。-r
:遞迴(recursive)備份所有子目錄下的目錄與檔案。-a
:封裝備份模式,相當於 -rlptgoD,遞迴備份所有子目錄下的目錄與檔案,保留連結檔、檔案的擁有者、群組、權限以及時間戳記。-z
:啟用壓縮。-h
:將數字以比較容易閱讀的格式輸出。
關於為什麼要用 rsync://{IP}
Appointment (Pwned!)
- NMAP++++++
- 有個網頁服務,直接去看看
- 是個登入頁面,結果我先去掃網頁目錄 (什麼都沒掃到 X
- 回去看敘述結果是 sql-injection , 直接
admin/' or 1=1;--# '
就有FLAGㄌ…
Sequel (Pwned!)
- 繼續 NMAP 起手++++++++
- 觀察到用
mysql
,root
還沒有設密碼 - 直接本地拿
mysql
遠端登入
-h
代表 Host-u
代表 Username-p
代表 Password用
show
看一下有甚麼 db
- 用
use
看看htb
有甚麼
- 一樣用
show
看看有甚麼 table
- 用 sql 語法看看
config
有啥~
- GET FLAG!!!
Crocodile (Pwned!)
- NMAP 起手+++++++++++++++++
- 有個 FTP 服務,照之前的登入服務登入看看~
- 登入成功! 載載看剛剛在 nmap 看到的檔案~
- 打開來看看
- 剛剛在 nmap 還看到有個網頁,居然拿到帳號密碼,通靈看看
login.php
- 居然中了,把
admin/rKXM59ESxesUFHAd
拿去登入就可以看到 flag 了~
Three (Pwned!)
- NMAP 起手++++++++++++++++++++
- 有個網站服務,連進去看看
- 根據題目說我們可以列舉看看 subdomain,而 domain 的位置在
- 猜測應該是這個
thetoppers.htb
我們把它加到/etc/hosts
解析 domain
- 連接沒問題,可以開始列舉看看
subdomain
了
- 這邊不知道為什麼用
ffuf
掃不出來,所以我學別人用wfuzz
- 找到 s3 的 responses 有點不一樣
- 所以我把
s3.thetoppers.htb
加進/etc/hosts
(同個 Ip) 然後去curl
- 知道這是 aws 的 bucket,推測這應該是 bucket 的
endpoint
(連接的端點) - 用
awscli
這工具嘗試連接
- 透過
endpoint
我們可以看到桶子有甚麼
- 看看
thetoppers.htb
這個桶子
而這個桶子有網頁,還是用 php 寫的ㄟ,我們可以直接給個 webshell 上去!
- 成功執行!
- 最後在 /var/www 裡面看到 flag!
lgnition (Pwned!)
- NMAP 偵查拔 (っ °Д °;)っ
- 有個網頁服務,去看看
- 居然有 dns ,所以我們要在
/etc/hosts
新增解析
- 回去後連上了,是個正常的網頁服務
- 拿個
ffuf
炸炸看
- 對 admin 蠻有興趣的,一進去是個登入頁面
- 題目已經有提示
try searching for the most common passwords of 2023.
- 我們就拿腳本炸 (我是用 burp 先存請求,再丟給 GPT 轉 ffuf 炸)
- 把
admin/qwerty123
拿去登入,dashboard+flag就出來了!
Bike (Pwned!)
- NMAP 起手 (;´д`)ゞ
- 有個網站,連進去看看
- 是個可以把你輸入回顯得網站,試試
{{7*7}}
報錯了~而我們還可以看到它拿 handlebars當模板
去 HackTricks找一下 payload
require
可能被禁掉ㄌ,這時候可以開始找資料- 看到 require其實不是在 Global 裡面,我們推測它應該跑在沙箱
- 試試看用
process.mainModule.require
- 我們是 root ㄟ,直接
ls
/root
- GET FLAG!
Pennyworth (Pwned!)
- nmap 起手囉 ヾ(≧▽≦*)o
- 找到了一個用 Jenkins的登入管理頁面。
- 通靈了
root/password
居然過了
- 上網查了下資料,發現這邊有
Groovy Script
這種東西。 - 到
http://10.129.163.207:8080/script
就能RCE
了 - 上網找找 Reverse shell 的 Payload
- 還有注意一下這邊的
host
要填,下ip a
的那個 ip
- 要填這個
10.10.15.22
- 所以最後 payload
- 開個
nc
聽
- GET FLAG!!
Responder
- Nmap 起手++++
- 開了 port
5985
,他是個處理 powershell 遠端的功能,但登入要帳密去看看其他的 - 先看看網頁服務,因為有 hosts 所以我們加到
/etc/hosts
解析
- 觀察一下網頁,發現
http://unika.htb/index.php?page=
有LFI
跟RFI
- 這裡不
LFI->RCE
因為 filter 建不起來 - 居然是滲透,我們玩玩看其他的
- 用
responder
抓登入口令的 HASH 值 - 最後爆破用
evil-winrm
去登入看看
Responder (Pwned!)
- 這邊要用
ip addr
的tun0
抓 (在內網)
- 可以看到要用
10.10.14.118
- 先開始監聽
- 在網站有 RFI 的地方打上
\\{IP}/{anything}
- 按下 enter 後,hash 就反彈回來了
- 我們還可以順便知道 username 是
Administrator
- 接著我們用
john
嘗試破解 hash 破解密碼 - 先把剛剛錄到的 hash 存起來
- 好 我們用 john 去 破解
- 可以看到密碼是
badminton
- 用
evil-winrn
登入
- GET SHELL!
- 最後 flag 在
mike
的桌面~
Tactics (Pwned!)
- NMAP 起手囉
- 有 smb 服務,用工具看看有什麼咚咚
- 猜到帳號是
Administrator
- 用
smbmap
看看我們有甚麼權限
- 都可以進ㄟ,直接連進去看看
C$
有甚麼
- 去看看
/User/Administrator/Desktop
- 有 FLAG ㄟ,直接
get
他拿到 flag!
有個另解,可以 GET SHELL
- 用 impacket可以 get shell
- 用我們剛剛猜出來的 Username : Administrator
- GET SHELL!
- 最後再去一樣的地方 拿 flag 就好~
Windows
ls
:dir
cat
:type
grep
:findstr
Funnel (Pwned!)
- Nmap 偵查
- 有個 FTP ㄟ,一樣用
anonymous
連進去試試看
- 把東西載下來看看
- 賺爛,給了帳號跟預設密碼,加上剛剛 nmap 掃到的
ssh
,我猜有人沒改預設密碼funnel123#!#
- 用
Hydra
進行噴灑 - 先把使用者存起來
- 找到了! 登入
christine
的ssh
- 但翻了下,完全沒東西。
- 這邊卡了很久,偷看了一下
workthrough
- 這邊會用到一個叫
隧道
的技術 , 目的是在幫你連接更深層的主機,進行更進一步的滲透。
- 這邊我們用本地,故我們連上
ssh
的任務是看看有甚麼奇怪的服務
Socket Statistics (ss)
- 可以獲得 socket 統計,和
netstat
很像 - 複習用法請到 滲透測試工具
- 讓我們來看看有甚麼
tcp
連線
- 有個
postgresql
ㄟ,嘗試用看看
- 阿我們都沒權限ㄟ,沒事,這時就要用到剛剛提到的隧道了
- 可以表示成
- 喔對 這邊要靶機那邊打
5432
是因為剛剛在連ssh
時看到 psql 是在本地聽5432
port 的! - enter 後他要你輸入密碼,但一樣是那個預設密碼
- 開好隧道了! 我們嘗試用
psql
連
- 成功!
- 查查 psql 的指令
- 列出 dbs
\l
- 看看
secrets
- 切換 db
\c {db's name}
- 看看 tables
- 列出 tables
\z
- 把 flag 搜出來就好了!
Archetype (Pwned!)
- 一樣 nmap 起手
- 比較關鍵的服務是看到開了
smb
、mssql
、PS Remote
- 我們先來看看
smb
- 注意的是這邊不一定要
root
隨便 anonymous 都是可以的
- 分別進去看看
backups
、IPC$
backups
- 看到一個
prod.dtsConfig
把他抓下來看看
- 酷ㄟ,是有關
mssql
的資料,還有 username/password - 嘗試用
mssqlclient.py
連線看看! - 喔對 這邊要加
-windows-auth
是因為我不是 administrator
- 好ㄟ連進去了,嘗試執行指令
- 他說我們沒有啟用…我們嘗試搜尋啟用看看
- 成功執行!
- 你還可以在當前使用者目錄底下挖到 FLAG (user)
- 接下來讓我們提權,可以用到有個工具叫 winPEAS
- 他可以自動分析,並跟你講你可以利用甚麼提權
- 但我們要怎麼載到靶機上?
我使用 reverse shell + 本地開一個 server -> 下載
- 先開
reverse shell
之前有提到怎麼開 - 但這次比較不一樣,我們要用
powershell
開
- 複製好之後,攻擊機先
nc
靶機輸入這串就可以彈回來ㄌ
- 成功 GET SHELL!
- 讓我們來運運
winPEAS
- 我先在本地下載好,寫個 python server
- 接著在
reverse shell
上輸入
- 好ㄟ 然後執行他讓他跑一下
- 跑很多出來,我放重要的
- 我們可以看看,我們可以訪問的!
- 哇免費管理員密碼
- 嘗試用
evil-winrm
登入
- PWNED!!!