ํฐ์คํ ๋ฆฌ ๋ทฐ
๊ฐ์
File Transfer Protocol์ ์ฝ์๋ก ์ธํฐ๋ท์ ํตํด ํ์ผ์ ์ก์์ ํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ์๋น์ค ์ฆ ํ๋กํ ์ฝ์ ๋๋ค. ๊ธฐ๋ฅ์ด ๋จ์ํ ๋งํผ ๋์ ๋ฐฉ์ ๋งค์ฐ ๋จ์ํ์ฌ ์ฌ์ฉ๋ฒ๋ ์ฌ์ด ํธ์ ๋๋ค.
๊ณผ๊ฑฐ WWW(World Wide Web)์ ํตํด ์ฌ์ง, ์์ , ๋์์ ๋ฑ ์ฝํ ์ธ ๋ฅผ ์ฝ์ ์ ์์ง๋ง ๋ง์ ์์ ํ์ผ์ ์ฃผ๊ณ ๋ฐ๊ธฐ์๋ ๋๋ ธ๊ธฐ์ ๋๋์ ํ์ผ์ ๋คํธ์ํฌ๋ฅผ ํตํด ์ฃผ๊ณ ๋ฐ์ ์ ์๊ฒ๋ ๊ณ ์๋ ์๋น์ค์ ๋๋ค.
FTP ์ฌ์ฉ ์ ์ฃผ์ํ ์
(1) FTP์ ์ต๋ช ์๋น์ค
(2) ํด๋น ์๋น์ค์ ์ ๊ทผ์ ์ด ๋ฏธํก
(3) ์ฝํ ๋ฌธ์์ด์ ๊ณ์
(4) ํ๋ฌธ ํต์ ์ด๊ธฐ์ ํจํท์ ์ ๋ณด๊ฐ ๋ ธ์ถ
์ด๋ฌํ ๋ณด์์ ์ธ ์ธก๋ฉด์ ๊ณ ๋ คํ์ง ์๊ณ ์ค๋ก์ง ํธ๋ฆฌ๋ฅผ ์ํด ์ฌ์ฉํ๊ฒ ๋ ๊ฒฝ์ฐ, ๊ณต๊ฒฉ์๋ ์ทจ์ฝํ FTP ์๋น์ค๋ฅผ ์ด์ฉํด ๋์์ ์๋น์ค์ ์ง์ ์ ๊ทผํ์ฌ ๊ธฐ๋ฐ์ฑ๊ณผ ๊ฐ์ฉ์ฑ ๋ฌด๊ฒฐ์ฑ ๋ฑ์ ์นจํดํ ์ฐ๋ ค๊ฐ ์กด์ฌํฉ๋๋ค.
nmap -T4 -sS ๋์ ์ฃผ์
-T4 : ์๋ ์ง์ ( max : 5 )
-sS : SYN Scan ( ๋์๊ณผ ์ธ์ ์ ์ฑ๋ฆฝํ์ง ์์ ํ์๋ฅผ ๋ ธ์ถํ ์ฐ๋ ค๊ฐ ์ ์ )
nmap ์ค์บ๋์ ํตํด ๋์ ์๋น์ค์ FTP ์๋น์ค๊ฐ ํ์ฑํ๋์ด ์๋ ๊ฒ์ ํ์ธํฉ๋๋ค. FTP ์๋น์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก 20๋ฒ(์ ์ก)๊ณผ 21๋ฒ(๋ช ๋ น, ์๋ต ๋ฑ ์ ์ด)์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์๋น์ค ์ค์ธ ๊ฒ์ ํ์ธํ์ผ๋ FTP Banner Grabbing์ ํตํด ์๋น์ค์ ์์ธ ๋ฒ์ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
ProFTPD 1.3.1 ๋ฒ์ ์ ์ฌ์ฉ ์ค์ธ ๊ฒ์ ํ์ธํ์ผ๋ ๋ฒ์ ์ ๋ํ ๊ณต๊ฐ๋ exploit ์ด ์๋์ง ํ์ธํด๋ด ๋๋ค. ๋ง์ผ ๊ณต๊ฐ๋ exploit ์ด ์์์ง๋ผ๋ brute force ๋ dictionary attack ๊ฐ์ ๋ฌด์ฐจ๋ณ ๋์ ๊ณต๊ฒฉ์ ์๋ํ์ฌ ์ฝํ ๋ฌธ์์ด์ ์ฌ์ฉ ์ค์ธ์ง ํ ์คํธํด๋ณด๋ฉด ๋ฉ๋๋ค.
*telnet์ ๊ธฐ๋ฐ์ผ๋ก Banner Grabbing ํ ๊ฒฝ์ฐ ์น ์๋ฒ(Apache , IIS ๋ฑ) ์์ธ ๋ฒ์ ์ ํ์ธ ๊ฐ๋ฅ
msf5 > use scanner/ftp/ftp_version
msf5 auxiliary(scanner/ftp/ftp_version) > set RHOSTS 192.168.0.0/24 --> ์ ์ฒด๋์ญ
RHOSTS => 192.168.0.0/24
msf5 auxiliary(scanner/ftp/ftp_version) > set THREADS 50
THREADS => 50
msf5 auxiliary(scanner/ftp/ftp_version) > run
nmap ์ด์ธ์๋ msfconsole์ ํตํด์๋ ๋์ ์๋น์ค๋ค์ ๋ํ ์ ์ฒด ๋์ญ์ ๋์์ผ๋ก ์ด๋ ค์๋ FTP ์๋น์ค๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
-t : ์ค๋ ๋ ๊ฐ์(์ต๋ 64) ๋ํดํธ 16
-w : ์ค๋ ๋ ๋๊ธฐ์๊ฐ (๋ฎ์์๋ก ๋น ๋ฆ)
-L : ID ํ์ผ
-P :Password ํ์ผ
-f : Cracking ์ฑ๊ณต์ ์ข
๋ฃ
๋งจ๋๋ง ftp, ssh, telnet ๋ฑ์ผ๋ก ๋ฐ๊ฟ์ ๊ณต๊ฒฉ ๊ฐ๋ฅ
๊ณต๊ฐ๋ exploit ์ด ์๋ ๋ฒ์ ์ผ ๊ฒฝ์ฐ ์ด์ฒ๋ผ ๋ฌด์ฐจ๋ณ ๋์ ๊ณต๊ฒฉ์ ์๋ํ์ฌ ๊ณ์ ์ ๋ฌธ์์ด ๊ฐ๋๋ฅผ ํ ์คํธํด ๋ณผ ์ ์์ต๋๋ค. ๋๋ก FTP ๊ณ์ ๊ณผ ํ์ด์ง ์์ค ๋ฑ์ ๋ ธ์ถ๋ ์ผ๋ฐ ์๋น์ค ๊ณ์ ์ด ๋์ผํ ๊ฒฝ์ฐ๋ ์กด์ฌํฉ๋๋ค.
msfconsole ์
๋ ฅ
msf5 > use auxiliary/scanner/ftp/anonymous
msf5 auxiliary(scanner/ftp/anonymous) > set RHOSTS 192.168.0.131
RHOSTS => 192.168.0.131
msf5 auxiliary(scanner/ftp/anonymous) > exploit
msfconsole์ ํตํด ๋์์ FTP ์๋น์ค๊ฐ ์ต๋ช (Anonymous) ์๋น์ค๋ฅผ ์ง์ํ๊ณ ์๋์ง ํ์ธํ์ฌ ๋ง์ผ ์ ๊ทผ์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ต๋ช ์๋น์ค๋ก ์ ๊ทผํ์ฌ ์ ์ฑ ํ์ผ์ ์ ๋ก๋์ํฌ ์ ์์ต๋๋ค.
์์ ๊ฐ์ด Anonymous READ/WRITE๋ก ๋์ถ๋ ๊ฒฝ์ฐ ์ต๋ช ๊ณ์ ์ผ๋ก ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ(์์ ) ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
ID : Anonymous / Password : Anonymous๋ฅผ ์ ๋ ฅํ์ฌ ์ต๋ช ๊ณ์ ์ผ๋ก ์ ์ ์๋ฃ๋์์ผ๋ ๋์ ์์คํ ๋ช ๋ น์ด๋ฅผ ํ์ฉํ์ฌ ๋๋ ํฐ๋ฆฌ ๋ชฉ๋ก์ ํ์ธํ ์ ์์ต๋๋ค.
nmap script ํ์ฉํ ์ต๋ช ๊ณ์ ํ์ธ
nmap -p21 192.168.0.131 --script ftp-anon.nse
์ฌ์ง์ ๋ณด์๋ค์ํผ FTP(21) ์๋น์ค๊ฐ ํ์ฑํ๋์ด์๋ ๊ฒ๊ณผ ๋์์ Anonymous ์๋น์ค๋ฅผ ํ์ฉํ๊ณ ์๊ธฐ์ ๋์ ์์คํ ์ ํ์ผ ํญ๋ชฉ๋ค์ด ์ฝ๊ฒ ๋ ธ์ถ์ด ๋ฉ๋๋ค.
์ต๋ช ๊ณ์ ์ผ๋ก ์ ์์ ์ธ webshell ํ์ผ์ ์ ๋ก๋ํด ๋ณด๋ก ํ๊ฒ ์ต๋๋ค. ์ ๋ก๋ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ http ๋ฉ์๋์ธ "put"์ ํ์ฉํ์ต๋๋ค.
์น ์๋ฒ ๊ฒฝ๋ก์ธ /var/www ์ bWAPP/documents ์ ftpshell.php ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ ๋ก๋๋์ด ์๋์ง ํ์ธํ์ต๋๋ค.
๋์ ์๋น์ค์ ์ฃผ์์์ ์ข ์ ์ ์น์ ๊ฒฝ๋ก๋ช ์ ๊ธฐ์ตํ์ฌ bWAPP/documents/ftpshell.php๋ฅผ ์ ๋ ฅํ์ฌ ์ ๋ก๋ํ ์น์์ ์คํํด๋ณธ ๊ฒฐ๊ณผ ์ฑ๊ณต์ ์ผ๋ก ์คํ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๋์ ๋ฐฉ์
(1) ์ฌ์ฉํ์ง ์๋ ์๋น์ค๋ผ๋ฉด FTP ์๋น์ค๋ฅผ ๋น ํ์ฑํ๊ณ SSH ๋ SFTP๋ฅผ ์ฌ์ฉํ๋๋ก ํด์ผ ํฉ๋๋ค.
SSH : ๋คํธ์ํฌ์์ ์๋ก ๊ฐ์ ํต์ ํ ๋ ๋ณด์์ ์ผ๋ก ์์ ํ๊ฒ ํต์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ฉฐ " ๋ฐ์ดํฐ ์ ์ก " , " ์๊ฒฉ์ ์ด " ๊ฐ ์ฃผ๋ชฉ์
SFTP : ์ผ๋ฐ์ ์ธ FTP ์๋ ๋ฌ๋ฆฌ PC์ ์๋ฒ ๊ฐ์ ์ ์ก๋๋ ๋ฐ์ดํฐ๊ฐ ์ํธํ๋์ด ์๊ธฐ ๋๋ฌธ์ ํจํท์ ํ๋ฌธ ๋ด์ฉ์ด ๋ ธ์ถ๋์ง ์์ต๋๋ค.
(2) ์ต๋ช (Anonymous) ์๋น์ค ๋นํ์ฑํ -> proftpd.conf
<Anonymous /var/www/bWAPP/documents>
User ftp
Group ftp
UserAlias anonymous ftp
RequireValidShell off --> on ์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ์ต๋ช
๋ก๊ทธ์ธ ์ฐจ๋จ
AnonRequirePassword off
MaxClients 10
</Anonymous>
(3) ์ ๊ทผ์ ๋ํ ๋ธ๋๋ฆฌ์คํธ ์ค์ --> ftpusers
# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
nobody
๋ก๊ทธ์ธ ๋นํ์ฉ์ํฌ ๊ณ์ ์ถ๊ฐ ( ์ฌ๊ธฐ์ bee ๊ณ์ ์ ์ถ๊ฐํด์ฃผ๋ฉด bee ๊ณ์ ์ผ๋ก ์ ์๋ถ๊ฐ
(4) ์ ๊ทผ์ ๋ํ ํ์ดํธ๋ฆฌ์คํธ ์ค์
ํ์ฉ์ํฌ IP ๋ฑ๋ก --> /etc/hosts.allow
์ด์ธ์ ๋ชจ๋์ฐจ๋จ --> /etc/hosts.deny
2๊ฐ์ง ์ ์ฉํ proftpd.conf ์์ tcp_wrapper=YES ๋ก ๋์ด์๋์ง ํ์ธ( default ๋ yes )
*๋จ hosts.deny ์ ๋ฑ๋ก๋์ด ์์ด๋ hosts.allow ์ ์ ์ํ์ฉ ์ ์ฑ
์ด ์ค์ ๋์ด ์์ผ๋ฉด ์ ์์ด ๊ฐ๋ฅํด์ง
(5) Windows ์์ FTP ์ ๊ทผ์ ์ด ์ ์ฑ
Windows 2000,2003,2008 ๋ฒ์
์ธํฐ๋ท ์ ๋ณด ์๋น์ค(IIS)๊ด๋ฆฌ -> FTP์ฌ์ดํธ -> ์์ฑ -> ๋๋ ํฐ๋ฆฌ ๋ณด์ ํญ์์ "์ก์ธ์ค ๊ฑฐ๋ถ" ์ ํํ ์ ๊ทผ์ํฌ IP์ฃผ์ ์ถ๊ฐ
'WEB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฒํผ ์ค๋ฒํ๋ก์ฐ(Buffer Overflow) ์ทจ์ฝ์ (0) | 2020.10.30 |
---|---|
CSRF(Cross Site Request Forgery) ์ทจ์ฝ์ (0) | 2020.10.29 |
Heartbleed(CVE-2014-0160) ์ทจ์ฝ์ (0) | 2020.10.27 |
์ทจ์ฝํ ์ง์ ๊ฐ์ฒด ์ฐธ์กฐ ๊ณต๊ฒฉ (0) | 2020.10.26 |
WebDAV ์ทจ์ฝ์ (0) | 2020.10.25 |