[KT Cloud TechUp] Metasploit ์ค์ต โญโญ
October 13, 2025
์ด ๊ธ์ Kali Linux ํ๊ฒฝ์์ Metasploit๊ณผ nmap์ ์ด์ฉํด ๋คํธ์ํฌ ํ์ง โ ์๋น์ค ํ์ธ โ MySQL ๊ด๋ จ ์ด๊ฑฐ ๋ฐ ๋ธ๋ฃจํธํฌ์ค ๊ณผ์ ์ ์ค์ตํ๋ ๊ณผ์ ์ ๊ธฐ๋กํฉ๋๋ค. ํ์ต ๋ชฉ์ ์ ๊ฐ์ํ๊ฒฝ์์๋ง ์คํํ์ผ๋ฉฐ, ๊ฐ ๋จ๊ณ๋ณ ๋ช ๋ นยท์ถ๋ ฅยทํด์์ ํตํด ์๋ฆฌ์ ๋ฐฉ์ด ๊ด์ ์ ํจ๊ป ์ดํด๋ด ๋๋ค.
- ๋ณด์ ํ ์คํ / ์ทจ์ฝ์ ๋ถ์ & ์ง๋จ ํด
- Exploit: ์์คํ , ์น, ์ ํ๋ฆฌ์ผ์ด์ , ์๋ฒ ๋ฑ์ ์ทจ์ฝ์ ์ ์ ์ฉํ๋ ๊ณต๊ฒฉ (BOF, ROP, SQL Injection)
- Payload: ํผํด์์ ์์คํ
์์ ์คํํ๊ณ ์ถ์ ์ฝ๋/๋ช
๋ น์ด (์
์ฑ์ฝ๋)

msfconsole ๋ช
๋ น์ด๋ก ๋ฉํ์คํ๋ก์ ์คํ
search portscan ๋ช
๋ น์ด
nmap๊ณผ ์ ์ฌํ ๊ธฐ๋ฅ์ด๋ค. metasploit์ ์ค์บ์ ํ ๋๋ง๋ค ํ์ ์ด๋ ฅ์ ์์ฒด db์ ์ ์ฅํด์ฃผ์ด์ ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ๋ค.
์ ํํ๋ msfconsole์์ portscan์ด๋ผ๋ ํค์๋๊ฐ ํฌํจ๋ ๋ชจ๋์ ๊ฒ์ํ๋ ๋ช
๋ น์ด์ด๋ค. ๋ณดํต port scanning ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ auxiliary/scanner/portscan/... ๊ณ์ด ๋ชจ๋๋ค์ด ๊ฒ์๋จ.
use 5, info 5 ๋ช
๋ น์ด
metasploit์ ์ฌ๋ฌ ๊ฐ์ ๋ชจ๋๋ก ๊ตฌ์ฑ๋์ด ์์ (exploit, payload, auxiliary, post, encoder, nop ๋ฑ)
๊ทธ ์ค auxiliary/scanner/portscan/tcp ๋ชจ๋์ info๋ฅผ ์ถ๋ ฅํด์ค.
๋ชฉ์ : ๋ด๋ถ ๋คํธ์ํฌ์์ ์๊ฒฉ DB๊ฐ ์ธ๋ถ ๋ฐ์ธ๋ฉ(0.0.0.0)์ผ๋ก ์ด๋ ค ์์ ๋ ๋ฐ์ํ ์ ์๋ ์ ๋ณด ์ ์ถยท๋ฌด์ฐจ๋ณ๋์ ๊ณต๊ฒฉ ์ํ์ ์ฌํํด ๋ณด๊ณ , ์ด์์ ๊ด์ ์ ํ์งยท๋์ ๋ฐฉ์์ ์ ์ํ๋ค.
์ค์ต
Kali Linux ํ๊ฒฝ์์ Metasploit์ ์ฌ์ฉํด ๋คํธ์ํฌ ํ์ง๋ถํฐ ์๋น์ค ํ์ธ, MySQL ๊ด๋ จ ๋ณด์กฐ ๋ชจ๋์ ํ์ฉํ ์ ๋ณด ์์ง๊น์ง ์งํํ๋ค.
- Victim: DB ์๋น์ค ์ํ ํ์ธ ๋ฐ ์๊ฒฉ ํ์ฉ ์ค๋น
- Attacker: ๋คํธ์ํฌ ๊ฐ์ง(nmap) -> ํฌํธ,์๋น์ค ํ์ธ
- Attacker: Metasploit์ผ๋ก ํฌํธ ์ค์บ -> MySQL์ผ๋ก brute force ์๋
- Victim: ๋ก๊ทธ ํ์ธ
์ค์ต ์ ์ธํ
๋งฅ์ ์ ์๋ ํ ๊ฒธ ์๋์ฐ์ ๋งฅ์ ๊ฐ๊ฐ ์นผ๋ฆฌ ๋ฆฌ๋
์ค๋ฅผ ์ค์นํด ์ค์ต์ ์งํํจ. ๋งฅ์ ์ค์ ์ ๋ง์น๊ณ ํ๊ธ๊น์ง ์ค์นํ๋ ๋ฐ ์๊ฐ์ด ๊ฝค ๊ฑธ๋ ธ๋ค. ํ๊ธ ์ค์ ๊น์ง ๋๋ด๊ณ ๋คํธ์ํฌ ์ค์ ์ผ๋ก ๋์ด๊ฐ.
๋คํธ์ํฌ ์ค์ ์ Bridge๋ก ๋ฐ๊ฟ์ ๋ pc์ vm์ด ๊ฐ์ ์๋ธ๋ท ๋์ญํญ์ ๋ค์ด์ค๋๋ก ํ ๋ค, ping์ ์ด์ ๊ฐ๋จํ ํ
์คํธ๋ฅผ ์งํํ๋ค.
์ ๋์ฐฉ!
Victim: DB ์๋น์ค ์ํ ํ์ธ ๋ฐ ์๊ฒฉ ํ์ฉ ์ค๋น
mariaDB๋ฅผ ์ฌ์์ํด db๋ฅผ ์ผ๊ณ , sudo ss -ltnp | grep 3306 ๊ฒฐ๊ณผ์์ 0.0.0.0:3306๋ฅผ ํ์ธํด MariaDB๊ฐ ๋ชจ๋ ์ธํฐํ์ด์ค์์ 3306 ํฌํธ๋ฅผ ์ด๊ณ ์ธ๋ถ ์ ์์ ๋ฐ๋๋ก ๋ฐ์ธ๋ฉํจ. ์ฆ ์ด์ Attacker์์ DB์ ์ ์ํ ์ ์๋ค.
์๊ฒฉ ์ ์์ฉ ํ
์คํธ ๊ณ์ tester๋ฅผ ๋ง๋ค์๊ณ , SHOW DATABASES ๊ฐ์ ๊ธฐ๋ณธ ๊ถํ์ ์คฌ์. ๋น๋ฐ๋ฒํธ๋ TestPass123!Attacker: ๋คํธ์ํฌ ๊ฐ์ง(nmap) -> ํฌํธ,์๋น์ค ํ์ธ

์๊ฒฉ ์ ์ ์ฑ๊ณต.Attacker: Metasploit์ผ๋ก ํฌํธ ์ค์บ -> MySQL์ผ๋ก brute force ์๋
๋ธ๋ฃจํธํฌ์ค๊ฐ ์คํ๋๋ค. (๊ฒ๋ ์ ๊ธฐ;)
์ฝ๋๋ฅผ ๋ฏ์ด๋ณด๋ฉด use auxiliary/admin/mysql/mysql_enum // ๋ธ๋ฃจํธํฌ์ค์ฉ ๋ณด์กฐ ๋ชจ๋์ ์ ํํจ. auxiliary ๋ชจ๋: ์ค์บ/์ด๊ฑฐ/๋ธ๋ฃจํธํฌ์ค๊ฐ์ ๊ธฐ๋ฅ์ ์ํํ๋ ๋ชจ๋ ๊ทธ๋ฃน set RHOSTS 172.30..* set USERNAME tester set PASSWORD TestPass123! # ๋๋ creds์์ ๋ณธ ๋น๋ฐ๋ฒํธ set PASS_FILE /tmp/~~ // ๋ธ๋ฃจํธํฌ์ค์ ์ฌ์ฉํ ๋น๋ฐ๋ฒํธ ๋ชฉ๋ก ํ์ผ์ ์ง์ . ์ด ํ์ผ์ ๊ฐ ์ค์ ๋ชจ๋์ด ํ๋์ฉ ์๋ํจ. run
- Victim: ๋ก๊ทธ ํ์ธ
๋ก๊ทธ์ ๋ธ๋ฃจํธํฌ์ค ํ์ ์ด ์ฐํ๊ฑธ ํ์ธํ ์ ์๋ค. tester ๊ณ์ ์ผ๋ก ๋น๋ฐ๋ฒํธ๋ฅผ ์จ์ ์ ์์ ์๋ํ์ผ๋ ์ฐจ๋จ๋จ.
ํ์ง/๋์
- ์ธ๋ถ ๋ฐ์ธ๋ฉ(bind-address)์ด ํ์์๋ ์๋น์ค๋ 127.0.0.1๋ก ๋ฐ์ธ๋ฉํ ๊ฒ.
- ์๊ฒฉ ์ ์์ด ํ์ํ ๊ฒฝ์ฐ IP ๊ธฐ๋ฐ ํ์ฉ ๋ชฉ๋ก(whitelist) ๋๋ VPN์ ํตํด์๋ง ์ฐ๊ฒฐํ๊ฒ ๊ตฌ์ฑ.
- fail2ban ๋๋ iptables ์ ์ฑ ์ผ๋ก ์งง์ ์๊ฐ ๋ด ๋ฐ๋ณต ๋ก๊ทธ์ธ ์๋๋ฅผ ์๋ ์ฐจ๋จ.
- DB ์ ์ ๋ก๊ทธ๋ฅผ ์ค์ ๋ก๊ทธ์์คํ (ELK, Graylog ๋ฑ)์ผ๋ก ๋ชจ์ผ๊ณ ์์ฌ ํจํด(์งง์ ์๊ฐ์ ๋์ผ ๊ณ์ ๋ก๊ทธ์ธ ์คํจ) ๊ฒฝ๋ณด ์ค์ .