๋ฌธ์ : DreamHack โ Exercise: SSH ๋ถ๋ฅ: Misc (์ ๋ฌธ) ๋์ด๋: ๐ฅ Bronze 4 FLAG:
DH{h3110_6e9inn3rs!}
์๊ฒ์์ ํ๋ค ๋ณด๋ฉด "๋ฌธ์ ์๋ฒ์ ์ ์ํด์ ์์์ ์ฐพ์๋ผ" ๋ผ๋ ์์ ๋ฌธ์ ๋ฅผ ์์ฃผ ๋ง๋๋ค. ๊ทธ ์ ์์ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๋๊ตฌ๊ฐ ssh ๋ค. ์ด ๋ฌธ์ ๋ ๋ฑ ๊ทธ ์ฒซ ๊ฒฝํ์ ์์ผ์ค๋ค. ๋ฉ๋ชจ๋ฆฌ ์์๋, ์ฐํ ํธ๋ฆญ๋ ์๋ค. ์ฃผ์ด์ง ๊ณ์ ์ผ๋ก ์๋ฒ์ ๋ค์ด๊ฐ flag ํ์ผ์ ์ฝ์ผ๋ฉด ๊ทธ๋๋ก ๋์ด๋ค.
๋์ "๋ก๊ทธ์ธํด์ ํ์ผ ํ๋ ์ฝ๋๋ค" ๋ผ๋ ๋จ์ํ ๋์ ์์ ์ ๋ฌธ์๊ฐ ์ง๊ณ ๊ฐ ๊ฒ ๋ช ๊ฐ ์จ์ด ์๋ค. ์ฒซ ์ ์ ๋ ๋จ๋ ํธ์คํธ ํค ํ์ธ ๋ฉ์์ง, root ๊ฐ ๋ง๋ ํ์ผ์ ์ ๋ด ๊ณ์ ์ผ๋ก ์ฝ์ ์ ์๋๊ฐ(ํ์ผ ๊ถํ), ๊ทธ๋ฆฌ๊ณ ๋ค์ด๊ฐ ์ ธ์ด ํ๋ฒํ bash ๊ฐ ์๋๋ผ๋ ์ ๊น์ง. ํ๋์ฉ ๋ณด์.
sshpass -p dhbgssh ssh -p 13719 chall@host3.dreamhack.games 'whoami; id; pwd; uname -srm'
๋ฌธ์ ๊ฐ์
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ๋ฌธ์ ๋ช | Exercise: SSH |
| ๋์ด๋ | ๐ฅ Bronze 4 |
| ๋ถ๋ฅ | Misc (์ ๋ฌธ) |
| ์ ๊ณต ์ ๋ณด | SSH ๊ณ์ โ id chall, password dhbgssh |
| ์๋ฒ | host3.dreamhack.games:13719 (์ธ์คํด์ค๋ง๋ค ํฌํธ ๋ณ๋) |
| ํต์ฌ ๊ฐ๋ | ssh ์๊ฒฉ ์ ์ + ๋ฆฌ๋ ์ค ํ์ผ ๊ถํ(others read) |
๋ฌธ์ ์ค๋ช ์ ํ ๋ฌธ์ฅ์ด๋ค.
SSH ์ค์ต์ ์ํ ๋ฌธ์ ์ ๋๋ค. ๋ฌธ์ ์๋ฒ์ SSH๋ก ์ ์ํ์ธ์!
๊ทธ๋ฆฌ๊ณ ์ ์ ์ ๋ณด๊ฐ ๊ทธ๋๋ก ์ฃผ์ด์ง๋ค.
ssh with
id: chall
password: dhbgsshํ์ด ํ๋ฆ๋ ๊ทธ๋งํผ ์งง๋ค. ssh chall@<์๋ฒ> -p <ํฌํธ> ๋ก ์ ์ โ ๋น๋ฐ๋ฒํธ ์
๋ ฅ โ ํ ๋๋ ํ ๋ฆฌ์์ flag ํ์ผ์ ๋ฐ๊ฒฌ โ cat ์ผ๋ก ์ฝ๋๋ค. ์ด ํ ์ค์ ํ์ด์ ์ค๋ช
ํ๋ ๊ฒ ์ด ๊ธ์ ์ ๋ถ๋ค.
๐งฉ ๋ฐฐ๊ฒฝ โ ssh ๊ฐ ๋ญ๊ณ ์ ์ฐ๋
SSH(Secure Shell)๋ ๋ค๋ฅธ ์ปดํจํฐ์ ์ ธ์ ๋ด ํฐ๋ฏธ๋์์ ์๊ฒฉ์ผ๋ก ์ฐ๊ฒ ํด ์ฃผ๋ ํ๋กํ ์ฝ์ด๋ค. ํ ๋ท์ฒ๋ผ ํ๋ฌธ์ผ๋ก ๋ช ๋ น์ ์ฃผ๊ณ ๋ฐ๋ ์๋ ๋ฐฉ์๊ณผ ๋ฌ๋ฆฌ, ์ฐ๊ฒฐ ์ ์ฒด๊ฐ ์ํธํ๋๋ค. ๊ทธ๋์ ์ค๊ฐ์์ ๋๊ฐ ํจํท์ ๋ค์ฌ๋ค๋ด๋ ๋น๋ฐ๋ฒํธ๋ ๋ช ๋ น ๋ด์ฉ์ด ์์ง ์๋๋ค. ๊ธฐ๋ณธ ํฌํธ๋ 22๋ฒ์ด์ง๋ง, ์๊ฒ์ ์ธ์คํด์ค๋ ๋งค๋ฒ ๋ค๋ฅธ ํฌํธ(์ฌ๊ธฐ์ 13719)๋ก ์ด๋ฆฐ๋ค.

๋ช ๋ น ํํ๋ ์ด๋ ๋ค.
ssh chall@host3.dreamhack.games -p 13719chall@host3.dreamhack.games ๋ "host3.dreamhack.games ์๋ฒ์ chall ์ด๋ผ๋ ๊ณ์ ์ผ๋ก ๋ถ๊ฒ ๋ค" ๋ ๋ป์ด๊ณ , -p 13719 ๋ 22๋ฒ์ด ์๋ 13719๋ฒ ํฌํธ๋ก ์ ์ํ๊ฒ ๋ค๋ ์ต์
์ด๋ค. ์ด ๋๋ง ๋ง์ถ๋ฉด ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฌผ์ด๋ณด๋ ๋จ๊ณ๊น์ง ๊ฐ๋ค.
๐ฌ ์ ์ โ ์๋ฒ์ ๋ค์ด๊ฐ๊ธฐ
์ฒ์ ์ ์ํ๋ฉด ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฌป๊ธฐ ์ ์ ์ด๋ฐ ๋ฉ์์ง๊ฐ ํ ๋ฒ ๋์จ๋ค.
The authenticity of host '[host3.dreamhack.games]:13719' can't be established.
ED25519 key fingerprint is SHA256:....
Are you sure you want to continue connecting (yes/no/[fingerprint])?์ฒ์ ๋ณด๋ ์๋ฒ๋ผ "์ด ์๋ฒ๊ฐ ์ง์ง ๊ทธ ์๋ฒ๊ฐ ๋ง๋์ง ๋ด๊ฐ ์๋ ๋ฐ๊ฐ ์๋ค" ๋ ๊ฒฝ๊ณ ๋ค. yes ๋ฅผ ์
๋ ฅํ๋ฉด ์๋ฒ์ ํธ์คํธ ํค ์ง๋ฌธ์ด ~/.ssh/known_hosts ์ ์ ์ฅ๋๊ณ , ๋ค์๋ถํฐ๋ ๊ฐ์ ์๋ฒ๋ก ์ธ์ํด ์ด ์ง๋ฌธ์ ๊ฑด๋๋ด๋ค. (๋ฐ๋๋ก, ์ ์ฅํด ๋ ์ง๋ฌธ๊ณผ ์๋ฒ๊ฐ ๋ณด๋ธ ์ง๋ฌธ์ด ๋ฌ๋ผ์ง๋ฉด ssh ๊ฐ ๊ฐํ๊ฒ ๊ฒฝ๊ณ ํ๋ค โ ์ค๊ฐ์ ๊ณต๊ฒฉ์ ์ก์๋ด๋ ์ฅ์น๋ค.)
๊ทธ๋ค์ ๋น๋ฐ๋ฒํธ dhbgssh ๋ฅผ ๋ฃ์ผ๋ฉด ์
ธ์ด ์ด๋ฆฐ๋ค. ์ ์์ด ๋์ผ๋ฉด ๋ด๊ฐ ๋๊ตฌ๋ก, ์ด๋์ ๋ค์ด์๋์ง๋ถํฐ ํ์ธํ๋ ๊ฒ ์ต๊ด์ด๋ค.
whoami # ํ์ฌ ๊ณ์
id # uid / gid / ์์ ๊ทธ๋ฃน
pwd # ํ์ฌ ์์น
uname -srm # ์ปค๋ / ์ํคํ
์ฒ์ ๋์
๋ถ ์บก์ฒ๊ฐ ๊ทธ ๊ฒฐ๊ณผ๋ค โ chall(uid 1000) ๊ณ์ ์ผ๋ก /home/chall ์ ๋ค์ด์ ์๊ณ , ์ปค๋์ ๋ฆฌ๋
์ค x86_64 ๋ค. ํ๋ฒํ ์ผ๋ฐ ์ฌ์ฉ์ ํ ๋ช
์ผ๋ก ์๋ฒ ์์ ์ ์๋ ์
์ด๋ค.
๐๏ธ ์ ์ฐฐ โ flag ์ฐพ๊ธฐ
flag ๊ฐ ์ด๋ ์๋์ง๋ ๋ชจ๋ฅด๋, ์ผ๋จ ํ ๋๋ ํ ๋ฆฌ๋ถํฐ ํผ์ณ ๋ณธ๋ค. ์จ๊น ํ์ผ๊น์ง ๋ณด๋ ค๊ณ -a, ๊ถํ๊ณผ ์์ ์๋ฅผ ๋ณด๋ ค๊ณ -l ์ ๊ฐ์ด ์ค๋ค.
ls -al
.bashrc, .profile ๊ฐ์ ์ต์ํ ์ค์ ํ์ผ๋ค ์ฌ์ด์ ๋์ ๋๋ ๊ฒ ๋ ๊ฐ ์๋ค.
binโ root ์์ ๋๋ ํ ๋ฆฌflagโroot์์ ์ ๊ทธ๋ฃน์beginner, ํฌ๊ธฐ 21๋ฐ์ดํธ
์ด๋ฆ์ด flag ์ธ 21๋ฐ์ดํธ์ง๋ฆฌ ํ์ผ. ํ๋๊ทธ ํ์ DH{...} ๊ฐ ๋ฑ ๋ค์ด๊ฐ ํฌ๊ธฐ๋ค. ์ฐพ์๋ค.
๐ flag ์ฝ๊ธฐ
๋จ์ ๊ฑด ์ฝ๋ ๊ฒ๋ฟ์ด๋ค.
cat flag
DH{h3110_6e9inn3rs!}h3110_6e9inn3rs ๋ leet ์ผ๋ก "hello beginners" ๋ค. ์
๋ฌธ์ ํ์ ์ธ์ฌ๊ฐ ๊ทธ๋๋ก flag ์๋ค.
๐ง ์ root ํ์ผ์ด ๊ทธ๋ฅ ์ฝํ๋ โ ํ์ผ ๊ถํ
์ฌ๊ธฐ์ ํ ๋ฒ ๋ฉ์ถฐ์ ์๊ฐํด ๋ณผ ๊ฑฐ๋ฆฌ๊ฐ ์๋ค. flag ๋ root ๊ฐ ์์ ํ ํ์ผ์ธ๋ฐ, ์ด์งธ์ ํ๋ฒํ chall ๊ณ์ ์ด ์๋ฌด ๊ถํ ์์น๋ ์์ด ์ฝ์ ์ ์์์๊น. stat ์ผ๋ก ๊ถํ์ ์์ธํ ๋ณด๋ฉด ๋ต์ด ๋์จ๋ค.
stat flag
id
๊ถํ์ด 0755, ๋ฌธ์๋ก๋ -rwxr-xr-x ๋ค. ๋ฆฌ๋
์ค ๊ถํ ๋ฌธ์์ด์ ์ธ ์นธ์ผ๋ก ๋๋๋ค.

- owner
rwxโ ์์ ์root์ ๊ถํ - group
r-xโ ๊ทธ๋ฃนbeginner์ ๊ถํ - others
r-xโ ๊ทธ ์ธ ๋ชจ๋ ์ฌ์ฉ์์ ๊ถํ
๊ทธ๋ฆฌ๊ณ id ๋ฅผ ๋ณด๋ฉด ์ฐ๋ฆฌ ๊ณ์ ์ uid=1000(chall) gid=1000(chall) groups=1000(chall) ์ด๋ค. owner(root)๋ ์๋๊ณ , beginner ๊ทธ๋ฃน์ ์ํ์ง๋ ์๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ์๊ฒ ์ ์ฉ๋๋ ๊ฑด ๋งจ ๋ง์ง๋ง others ์นธ์ด๊ณ , ๊ฑฐ๊ธฐ์ r ์ด ์ผ์ ธ ์๋ค. world-readable, ์ฆ ๋๊ตฌ๋ ์ฝ์ ์ ์๋ ํ์ผ์ด๋ผ ์ ์๋ง ํ๋ฉด ๊ทธ๋๋ก cat ์ด ๋ ๊ฒ์ด๋ค.
๋ง์ฝ ๊ถํ์ด -rwxr-x---(others ์ ์๋ฌด ๊ถํ ์์) ์๋ค๋ฉด, ๊ฐ์ ์ ์์ ํด๋ cat: flag: Permission denied ๋ฅผ ๋ง๋ฌ์ ๊ฒ์ด๋ค. ์ด ๋ฌธ์ ๊ฐ "์ ์๋ง ํ๋ฉด ๋" ์ธ ์ด์ ๋ ๊ฒฐ๊ตญ flag ํ์ผ์ด ์ด๋ ค ์์๊ธฐ ๋๋ฌธ์ด๋ค.
๐ ํ ๊ฑธ์ ๋ โ ๋ค์ด๊ฐ ์ ธ์ ํ๋ฒํ bash ๊ฐ ์๋๋ค
์ ์ ํ์ธ์ ๋น๋ํํ(ssh host 'whoami')์ผ๋ก ํ์ ๋๋ whoami, id, uname ์ด ๋ค ์ ๋์๋ค. ๊ทธ๋ฐ๋ฐ ์ค์ ๋ก ์
ธ์ ์ด๊ณ ์ง์ ์ณ ๋ณด๋ฉด ๋ถ์๊ธฐ๊ฐ ๋ค๋ฅด๋ค.
chall@localhost:~$ whoami
rbash: whoami: command not found
chall@localhost:~$ ls -al bin
total 8
drwxr-xr-x 2 root root 4096 .. .
drwxr-x--- 1 chall chall 4096 .. ..
lrwxrwxrwx 1 root root 8 .. cat -> /bin/cat
lrwxrwxrwx 1 root root 9 .. find -> /bin/find
lrwxrwxrwx 1 root root 7 .. ls -> /bin/ls
chall@localhost:~$ cat flag
DH{h3110_6e9inn3rs!}ํ๋กฌํํธ๋ฅผ ๋ณด๋ฉด ์
ธ ์ด๋ฆ์ด rbash โ restricted bash(์ ํ๋ bash) ๋ค. rbash ๋ ์ฌ์ฉ์๊ฐ ๋ง์๋๋ก ๋์๋ค๋์ง ๋ชปํ๊ฒ ๊ฐ๋๋ ์
ธ๋ก, cd ๋ฅผ ๋ง๊ณ PATH ๋ฅผ ๋ฐ๊พธ์ง ๋ชปํ๊ฒ ํ๋ฉฐ, ๋ช
๋ น ํ์ ๊ฒฝ๋ก๋ฅผ ~/bin ์์ผ๋ก ๋ฌถ์ด ๋๋ค. ๊ทธ ~/bin ์๋ root ๊ฐ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ก ๊น์๋ cat, find, ls ์ธ ๊ฐ๋ง ์๋ค. ๊ทธ๋์ whoami ๊ฐ์ ํ๋ฒํ ๋ช
๋ น์กฐ์ฐจ "command not found" ๊ฐ ๋๋ค.
cat ์ ๊ทธ ์ธ ๊ฐ ์์ ๋ค์ด ์์ผ๋ cat flag ๋ ๋ฌธ์ ์์ด ๋๊ณ , ๊ฒฐ๊ตญ ํ์ด์๋ ์ง์ฅ์ด ์๋ค. ์ถ์ ์๊ฐ "์
ธ์ ์ฃผ๋, ์
ธ ์์์ ํ์ ๊ณ ๋ค๋์ง๋ ๋ชปํ๊ฒ" ์ด์ง ์ธํ๋ฆฌ๋ฅผ ์ณ๋ ์ฅ์น๋ก ๋ณด๋ฉด ๋๋ค. (์ฐธ๊ณ ๋ก ๋น๋ํํ ๋ช
๋ น ์คํ์ ์ด ์ธํ๋ฆฌ์ ์ ์ฉ ๋ฐฉ์์ด ๋ฌ๋ผ ๋ ๋ง์ ๋ช
๋ น์ด ๋๋๋ฐ, ์ด ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฐ๋ ์ด๋ ์ชฝ์ด๋ ์๊ด์๋ค.)
๐ ์ ๋ฆฌ
ssh ๋ ์๊ฒฉ ์๋ฒ์ ๋ค์ด๊ฐ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ.
ssh ๊ณ์ @์ฃผ์ -p ํฌํธ ๋ก ์ ์ํ๊ณ , ์ฒ์์ด๋ฉด ํธ์คํธ ํค๋ฅผ ํ ๋ฒ ํ์ธํ๊ณ , ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฃ์ผ๋ฉด ๊ทธ ์๋ฒ์ ์
ธ์ด ๋ด ํฐ๋ฏธ๋์ ์ด๋ฆฐ๋ค. ์๊ฒ์์ด๋ ์ค๋ฌด๋ "์๋ฒ์ ๋ถ์ด์ ๋ญ๊ฐ ํ๋ค" ์ ์ถ๋ฐ์ ์ด๋ผ, ์์ ์ตํ ๋๋ฉด ๋๊ณ ๋๊ณ ์ด๋ค.
root ์์ ์ฌ๋ ๊ถํ์ด ์ด๋ ค ์์ผ๋ฉด ๋๊ตฌ๋ ์ฝ๋๋ค.
์ด ๋ฌธ์ ์ flag ๊ฐ ๊ทธ๋ฅ ์ฝํ ๊ฑด ํ์ผ์ด world-readable(-rwxr-xr-x) ์ด์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ฑฐ๊พธ๋ก ๋งํ๋ฉด, ๋ฏผ๊ฐํ ํ์ผ์ ์์ ์๋ง ์ฝ๋๋ก ๊ถํ์ ์ต์๋ก ์ขํ์ผ ํ๋ค๋ ๋ป์ด๋ค. ์ค๋ฌด์์ ๋น๋ฐ ํค๋ ์ค์ ํ์ผ์ 0400/0600 ์ผ๋ก ๋ซ์ ๋๋ ์ด์ ๊ฐ ์ฌ๊ธฐ์ ์๋ค.
๋น๋ฐ๋ฒํธ ์ธ์ฆ์ ํธํ์ง๋ง ์ฝํ๋ค.
์ด ๋ฌธ์ ๋ ๋น๋ฐ๋ฒํธ๋ก ๋ค์ด๊ฐ์ง๋ง, ์ค์ ์๋ฒ ์ด์์์๋ ์ถ์ธกยท๋ฌด์ฐจ๋ณ ๋์
์ ์ฝํ ๋น๋ฐ๋ฒํธ ๋์ ๊ณต๊ฐํค ์ธ์ฆ(ssh-keygen ์ผ๋ก ๋ง๋ ํค ์)์ ์ฐ๋ ๊ฒ ํ์ค์ด๋ค. rbash ๊ฐ์ ์ ํ ์
ธ๋ ์ฌ์ฉ์ ํ๋์ ์ขํ๋ ํ ๋ฐฉ๋ฒ์ด์ง๋ง, ๊ทธ๊ฒ๋ง์ผ๋ก ์์ ์ ๋ณด์ฅํ๊ธด ์ด๋ ต๋ค๋ ์ ๋ ๊ฐ์ด ๊ธฐ์ตํด ๋๋ฉด ์ข๋ค.
Comments
๋๊ธ
๋๊ธ์ ๋จ๊ธฐ๋ ค๋ฉด ๋ก๊ทธ์ธ์ด ํ์ํด์. (๋ค์ด๋ฒ ยท ๊ตฌ๊ธ ๊ณ์ )
๋๊ธ ๋ถ๋ฌ์ค๋ ์คโฆ