THM - Root me
Root ME
Task 1 - Reconnaissance
๋จผ์ ์ ๋ณด ์์ง์ ์งํํ๋ค.
nmap์ ํตํด open๋ Port ์ ๋ณด๋ฅผ ์์งํ๋ค.
nmap -sV -T4 -F --version-light targetIP
ํด๋น ์ต์ ์ ์ด์ฉํ๋ฉด ์๋น์ค์ ๋ฒ์ ์ ๋ณด๋ ํ์ธ์ด ๊ฐ๋ฅํ๋ค.
http ์๋น์ค๊ฐ ๋์ ์ค์ด๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์ ์ํ๋ฉด ์น ํ์ด์ง๊ฐ ๋ํ๋๋ค.
ํด๋น ํ์ด์ง์์๋ ๋๋ ํ ๋ฆฌ๋ฅผ ํ์ธํ๊ธฐ์ํด gobuster ํด์ ์ด์ฉํด ๋๋ ํ ๋ฆฌ ์ค์บ๋์ ์งํํ๋ค.
gobuster -u targetIP -w common.txt
โปwordlist : https://github.com/kkrypt0nn/wordlists
/panel, /uploads ๋๋ ํ ๋ฆฌ๋ฅผ ํ์ธํด๋ณด๋ฉด ํ์ผ์ ์
๋ก๋ํ๊ณ ์
๋ก๋ ๋ด์ญ์ ํ์ธํ ์ ์๋ ํ์ด์ง๊ฐ ํ์ธ๋๋ค.
wapplalyzer๋ฅผ ํตํด ํ์ธํ๋ ํด๋น ํ์ด์ง๋ PHP๋ก ์์ฑ๋๊ฒ์ ํ์ธํ ์ ์๋ค.
Task 2 - Getting a Shell
์๋ PHP ๊ธฐ๋ฐ ๋ฆฌ๋ฒ์ค ์ ์ฝ๋๋ฅผ ์ด์ฉํ๋ค. PHP ๋ฆฌ๋ฒ์ค ์ ์ฝ๋๋ ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ์ฐ๊ฒฐํ ์๋ฒ ์ฃผ์ ๋ฐ ํฌํธ๋ฅผ ๋ณ๊ฒฝํด์ฃผ์ด์ผํ๋ค.
โป https://github.com/pentestmonkey/php-reverse-shell
ํด๋น ํ์ผ์ /panel ํ์ด์ง์ ์
๋ก๋ ์๋ํด๋ณด๋ฉด ์
๋ก๋ ์คํจ๊ฐ ๋ฐ์ํ๋ค.
๋ด๋ถ์ ์ผ๋ก ํ์ฅ์ ํํฐ๋ง์ ๊ฑฐ์น๋๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
ํ์ฅ์๋ฅผ php5 ๋ก ๋ณ๊ฒฝํ์ฌ php ํ์ฅ์๋ฅผ ์ฐํํ์ฌ ์ ๋ก๋ํ๋ฉด ์ ์์ ์ผ๋ก ์ ๋ก๋๊ฐ ๋๋ค.
์ ๋ก๋ ์๋ฃ ํ /uploads ํ์ด์ง๋ฅผ ํ์ธํด๋ณด๋ฉด ํ์ผ์ด ์ ์์ ์ผ๋ก ์ ๋ก๋๋๊ฑธ ํ์ธํ ์ ์๋ค.
์ด์ nc๋ฅผ ํตํด ์ฐ๊ฒฐ ๋๊ธฐ ์ํจ ํ uploads ํ์ด์ง์์ ์คํํ๋ค.
nc -nvlp 8080
์ฑ๊ณต์ ์ผ๋ก ๋ฆฌ๋ฒ์ค ์์ด ์์ฑ๋๊ฑธ ํ์ธํ ์ ์๋ค.
Task 3 - Privilege Escalation
id ๋ฅผ ํ์ธํด๋ณด๋ ์น ํ์ด์ง๊ฐ ๋์ํ๊ณ ์๋ ๊ถํ(www-data)๋ก ์์ด ์์ฑ๋์๋ค.
ํด๋น ๊ถํ์ผ๋ก ํ ์ ์๋ ๋ถ๋ถ์ ์ ํ์ ์ด๋ผ root ๊ถํ์ผ๋ก ๊ถํ ์์น์ ์๋ํ๋ค.
root ๊ถํ์ผ๋ก ์์นํ๊ธฐ ์ํด SetUID๊ฐ ์ค์ ๋ ํ์ผ์ ์ฐพ์๋ณธ๋ค.
find / -user root -perm 4000\
์ฌ๋ฌ ํ์ผ ์ค ํน์ดํ๊ฒ python์ ์์ ์๋ root, SetUID๊ฐ ์ค์ ๋์ด์๋ค.
ํ์ฌ python์ ํตํด ์คํํ๋ ์ฝ๋๊ฐ root ๊ถํ์ผ๋ก ์คํ์ด ๋๋ค.
์๋ ์ฝ๋๋ฅผ ์คํํ์ฌ root ๊ถํ์ ์์ ํ๋ํ๋ค.
python -c 'import os; os.execl("/bin/sh","sh","-p")'
์ฐธ๊ณ (bypass restricted shell) : https://gtfobins.github.io/
ํ๋ํ ์์ ๊ถํ์ ํ์ธํด๋ณด๋ฉด euid(effective uid)๊ฐ root์ธ๊ฒ์ ํ์ธํ ์ ์๋ค.
๋ฌธ์ ์์ ์ ์ํ /root/root.txt ํ์ผ์ ํ์ธํด์ flag๋ฅผ ํ์ธํ ์ ์๋ค.
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote