Challenge 2 - Relia(1)
Challenge 2 - Relia(1)
LAB 2 比 LAB1 多了很多機器,開啟後首先提供 Relia 公司的網路對外架構如下圖
有說明告知對外的 Public Subnet 是 192.168.xxx.0/24
VM 總共有 16 台,LAB2 要拿下的機器共 15 台 ( VM1~VM15 )
然後準備了一台叫做 WINPREP 的機器提供給我們,應該是要拿來做東西用的
也提供了帳號密碼給我們登入 offsec:lab
先將主機資訊做好列表如下
首先第一步是對面向外部的 192.168.xxx.0/24 做枚舉與探勘
經過了一段不算短的枚舉時間,初步看來有好幾台可以下手
最後選定了 VM10 (192.168.xxx.245) 這一台當作第一台攻擊對象
選這一台當地一台純屬個人喜好,沒有特別的原因
透過 ping 看來是一台 Linux 主機
Port Scan,└─$ rustscan -a 192.168.185.245 --scripts none --ulimit 5000 | tee rustscan
check snmp 服務,是關閉的 └─$ sudo nmap -sU -p 161 192.168.185.245 | tee snmp
nmap,└─$ sudo nmap -sCV -A -p 21,80,443,2222,8000 192.168.185.245 | tee nmap
21/tcp open ftp vsftpd 2.0.8 or later
80/tcp open http Apache httpd 2.4.49 ((Unix) OpenSSL/1.1.1f mod_wsgi/4.9.4 Python/3.8)
443/tcp open ssl/http Apache httpd 2.4.49 ((Unix) OpenSSL/1.1.1f mod_wsgi/4.9.4 Python/3.8)
| ssl-cert: Subject: commonName=web01.relia.com/organizationName=RELIA/stateOrProvinceName=Berlin/countryName=DE
443 Port 顯示這一台看來叫做 web01.relia.com
2222/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0)
8000/tcp open http Apache httpd 2.4.49 ((Unix) OpenSSL/1.1.1f mod_wsgi/4.9.4 Python/3.8)
FTP 使用匿名 Anonymous 登入,目錄沒有任何東西,FTP 無法列舉其他路徑檔案
試著上傳檔案權限不足 Permission debied
FTP 嘗試使用 ftp:ftp 登入依樣沒有任何檔案,使用 admin、root 等帳號與常用密碼登入都失敗
whatweb 看一下 80、443、8000,443 要走 HTTPs,沒有特別的資訊與 nmap 枚舉一樣
會選這一台當作第一台是因為網站使用 Apache 2.4.49
是一個知名的有 Path Traversal 與 RCE 的版本
編號是 50383,在使用 Path Traversal 的時候使用的指令需要符合下列格式
或是直接使用 PoC 帶入 targets.txt 然後輸入要目錄探勘的路徑
例如 : PoC.sh targets.txt /etc/passwd or PoC.sh targets.txt /bin/sh whoami
先開網站看看 80 /,看來是 RELIA 這一家公司的官網
80 /robots.txt
443 /
443 /robots.txt
8000 /
8000 /robots.txt
8000 點擊 Login
編輯好 targets.txt 執行 whoami 試試看,結果沒有任何反應
改執行 /etc/passwd 看看,結果在 80 與 8000 Port 都可以執行 Path Traversal
發現這一台 Linux 的五個帳號 offsec、miranda、steven、mark、anita
已知 80 Port 可以列舉,所以先將 targets.txt 留下 http://192.168.185.245 即可
下一步就是察看有無 Authorized_Keys,有的話再看看有無 id_rsa
使用者 offsec、miranda、steven 看來都沒有
最後在 anita 的帳號枚舉到 authorized_keys (注意大小寫有區分),且是使用 ecdsa 的格式
查察看有無 id_ecdsa,發現 anita 的 Private Key└─$ ./50383.sh targets.txt /home/anita/.ssh/id_ecdsa
測試登入看看,└─$ ssh -i id_ecdsa_anita anita@192.168.185.245 -p 2222
使用 ssh2john 再用 john 破解密碼,發現 GG 不能跑,原因是忘了將開頭的 id_ecdsa_anita: 拿掉
拿掉後再跑一次一樣 GG
cat anita.hash 檢查格式沒有問題,開頭是 $sshng$6~
改查找 hashcat 的格式,參考 : https://hashcat.net/wiki/doku.php?id=example_hashes
格式看來是 22921
改用 hashcat 跑跑看,結果說長度不對
上網 debug 一下發現是我的 kali 中的 john 有問題
網路上的解法都是在 /home/kali/.john 這個目錄下清掉所有檔案就會正常了
清掉後再執行一次 john 果然就正常了,也成功破解出了密碼 fireball
再次 └─$ ssh -i id_ecdsa_anita anita@192.168.185.245 -p 2222 登入看看
輸入密碼 fireball,直接登入主機了,也拿到第一個 flag local.txt
sudo -l 需要輸入 anita 的密碼,輸入 fireball 失敗
cat /etc/crontab
find / -perm -u=s -type f 2>/dev/null
linpeas.sh
看到熟悉的 PwnKit
執行 ./PwnKit 後看來沒有成功
查看下一個 [+] [CVE-2021-3156] sudo Baron Samedit
Exploit-DB 查找 sudo Baron Samedit 看看,共有兩個 49521 & 49522
一個是 .c 一個是 .py ,先試試看 .py 那一個
執行後失敗,看了一下內容不知道如何修改
改查找看看 GitHub 上有沒有好用的 CVE-2021-3156
參考 : https://github.com/worawit/CVE-2021-3156 有許多檔案
說明有告知可直接使用 exploit_nss.py 會自動偵測
下載執行後成功 root
更新攻擊列表,目前成功拿下了 RELIA 公司的第一台對外網站伺服器
帳號密碼表也開始製作與紀錄如下,目前沒有任何憑證,僅有一個 id_ecdsa 與該檔案的密碼
留言
張貼留言