161,162,10161,10162/udp - Pentesting SNMP

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

๊ธฐ๋ณธ ์ •๋ณด

SNMP - Simple Network Management Protocol๋Š” ๋„คํŠธ์›Œํฌ์˜ ๋‹ค์–‘ํ•œ ์žฅ์น˜(์˜ˆ: ๋ผ์šฐํ„ฐ, ์Šค์œ„์น˜, ํ”„๋ฆฐํ„ฐ, IoT ๋“ฑ)๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.

PORT    STATE SERVICE REASON                 VERSION
161/udp open  snmp    udp-response ttl 244   ciscoSystems SNMPv3 server (public)

Tip

SNMP๋Š” traps๋ฅผ ์œ„ํ•ด ํฌํŠธ 162/UDP๋„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ช…์‹œ์ ์œผ๋กœ ์š”์ฒญ๋˜์ง€ ์•Š์€ SNMP ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ ํŒจํ‚ท์ž…๋‹ˆ๋‹ค.

MIB

์ œ์กฐ์—…์ฒด ๊ฐ„ ๋ฐ ๋‹ค์–‘ํ•œ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์กฐํ•ฉ์—์„œ SNMP ์ ‘๊ทผ์ด ์ž‘๋™ํ•˜๋„๋ก ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด **Management Information Base (MIB)**๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MIB๋Š” ์žฅ์น˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋…๋ฆฝ์ ์ธ ํ˜•์‹์ž…๋‹ˆ๋‹ค. MIB๋Š” ๋ชจ๋“  ์ฟผ๋ฆฌ ๊ฐ€๋Šฅํ•œ SNMP ๊ฐ์ฒด๊ฐ€ ํ‘œ์ค€ํ™”๋œ ํŠธ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ๋‚˜์—ด๋œ ํ…์ŠคํŠธ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ํ•„์š”ํ•œ ๊ณ ์œ  ์ฃผ์†Œ์™€ ์ด๋ฆ„ ์™ธ์—๋„ ๊ฐ์ฒด์˜ ์œ ํ˜•, ์ ‘๊ทผ ๊ถŒํ•œ ๋ฐ ์„ค๋ช…์— ๋Œ€ํ•œ ์ •๋ณด๋„ ์ œ๊ณตํ•˜๋Š” **์ตœ์†Œ ํ•˜๋‚˜์˜ Object Identifier (OID)**๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
MIB ํŒŒ์ผ์€ Abstract Syntax Notation One (ASN.1) ๊ธฐ๋ฐ˜ ASCII ํ…์ŠคํŠธ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค. MIB๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์ง€๋งŒ, ์–ด๋–ค ์ •๋ณด๋ฅผ ์–ด๋””์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”์ง€์™€ ๊ทธ๊ฒƒ์ด ์–ด๋–ค ๋ชจ์Šต์ธ์ง€, ํŠน์ • OID์— ๋Œ€ํ•œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š”์ง€ ๋˜๋Š” ์–ด๋–ค ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด ์‚ฌ์šฉ๋˜๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

OIDs

**Object Identifiers (OIDs)**๋Š” ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณ ์œ  ์‹๋ณ„์ž๋Š” Management Information Base (MIB) ๋‚ด์˜ ๊ฐ์ฒด๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

MIB ๊ฐ์ฒด ID ๋˜๋Š” OID์˜ ๊ฐ€์žฅ ๋†’์€ ์ˆ˜์ค€์€ ๋‹ค์–‘ํ•œ ํ‘œ์ค€ ์„ค์ • ์กฐ์ง์— ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ตœ์ƒ์œ„ ์ˆ˜์ค€ ๋‚ด์—์„œ ๊ธ€๋กœ๋ฒŒ ๊ด€๋ฆฌ ๊ด€ํ–‰ ๋ฐ ํ‘œ์ค€์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ, ๊ณต๊ธ‰์—…์ฒด๋Š” ๊ฐœ์ธ ๋ธŒ๋žœ์น˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ž์œ ๋ฅผ ๋ถ€์—ฌ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ธŒ๋žœ์น˜ ๋‚ด์—์„œ ๊ทธ๋“ค์€ ์ž์‹ ์˜ ์ œํ’ˆ ๋ผ์ธ๊ณผ ๊ด€๋ จ๋œ ๊ด€๋ฆฌ ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•  ์ž์œจ์„ฑ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์€ ๋‹ค์–‘ํ•œ ๊ณต๊ธ‰์—…์ฒด์™€ ํ‘œ์ค€ ๊ฐ„์— ๊ด‘๋ฒ”์œ„ํ•œ ๊ฐ์ฒด๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ์ ์ด๊ณ  ์กฐ์ง์ ์ธ ๋ฐฉ๋ฒ•์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

์›น์—์„œ OID ํŠธ๋ฆฌ๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: http://www.oid-info.com/cgi-bin/display?tree=#focus ๋˜๋Š” OID์˜ ์˜๋ฏธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ: 1.3.6.1.2.1.1) http://oid-info.com/get/1.3.6.1.2.1.1์—์„œ ์ ‘๊ทผํ•˜์—ฌ ํ™•์ธํ•˜์„ธ์š”.
์ผ๋ถ€ ์ž˜ ์•Œ๋ ค์ง„ OID๊ฐ€ ์žˆ์œผ๋ฉฐ, 1.3.6.1.2.1 ๋‚ด์˜ ๊ฒƒ๋“ค์€ MIB-2์—์„œ ์ •์˜๋œ Simple Network Management Protocol (SNMP) ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด OID์—์„œ ๋Œ€๊ธฐ ์ค‘์ธ OID๋ฅผ ํ†ตํ•ด ํฅ๋ฏธ๋กœ์šด ํ˜ธ์ŠคํŠธ ๋ฐ์ดํ„ฐ(์‹œ์Šคํ…œ ๋ฐ์ดํ„ฐ, ๋„คํŠธ์›Œํฌ ๋ฐ์ดํ„ฐ, ํ”„๋กœ์„ธ์Šค ๋ฐ์ดํ„ฐ ๋“ฑ)๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OID ์˜ˆ์‹œ

์—ฌ๊ธฐ์—์„œ ์˜ˆ์‹œ:

1 . 3 . 6 . 1 . 4 . 1 . 1452 . 1 . 2 . 5 . 1 . 3. 21 . 1 . 4 . 7

์ด ์ฃผ์†Œ์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • 1 โ€“ ์ด๊ฒƒ์€ ISO๋ผ๊ณ  ํ•˜๋ฉฐ, ์ด๊ฒƒ์ด OID์ž„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ชจ๋“  OID๋Š” โ€œ1โ€œ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • 3 โ€“ ์ด๊ฒƒ์€ ORG๋ผ๊ณ  ํ•˜๋ฉฐ, ์žฅ์น˜๋ฅผ ๋งŒ๋“  ์กฐ์ง์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • 6 โ€“ ์ด๊ฒƒ์€ dod ๋˜๋Š” ๊ตญ๋ฐฉ๋ถ€๋กœ, ์ธํ„ฐ๋„ท์„ ์ฒ˜์Œ์œผ๋กœ ์„ค๋ฆฝํ•œ ์กฐ์ง์ž…๋‹ˆ๋‹ค.
  • 1 โ€“ ์ด๊ฒƒ์€ ์ธํ„ฐ๋„ท์˜ ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด์–ด ๋ชจ๋“  ํ†ต์‹ ์ด ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์งˆ ๊ฒƒ์ž„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • 4 โ€“ ์ด ๊ฐ’์€ ์ด ์žฅ์น˜๊ฐ€ ์ •๋ถ€๊ฐ€ ์•„๋‹Œ ๋ฏผ๊ฐ„ ์กฐ์ง์— ์˜ํ•ด ๋งŒ๋“ค์–ด์กŒ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • 1 โ€“ ์ด ๊ฐ’์€ ์žฅ์น˜๊ฐ€ ๊ธฐ์—… ๋˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ์—”ํ‹ฐํ‹ฐ์— ์˜ํ•ด ๋งŒ๋“ค์–ด์กŒ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

์ด ์ฒซ ์—ฌ์„ฏ ๊ฐ’์€ ๋ชจ๋“  ์žฅ์น˜์— ๋Œ€ํ•ด ๋™์ผํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚˜๋ฉฐ, ๊ทธ๋“ค์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์ˆซ์ž ์‹œํ€€์Šค๋Š” ๋ชจ๋“  OID์— ๋Œ€ํ•ด ๋™์ผํ•˜๋ฉฐ, ์ •๋ถ€์—์„œ ์ œ์ž‘๋œ ์žฅ์น˜์˜ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์ˆซ์ž ์„ธํŠธ๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค.

  • 1452 โ€“ ์ด ์žฅ์น˜๋ฅผ ์ œ์กฐํ•œ ์กฐ์ง์˜ ์ด๋ฆ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • 1 โ€“ ์žฅ์น˜์˜ ์œ ํ˜•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ, ์•Œ๋žŒ ์‹œ๊ณ„์ž…๋‹ˆ๋‹ค.
  • 2 โ€“ ์ด ์žฅ์น˜๊ฐ€ ์›๊ฒฉ ํ„ฐ๋ฏธ๋„ ์žฅ์น˜์ž„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๋‚˜๋จธ์ง€ ๊ฐ’๋“ค์€ ์žฅ์น˜์— ๋Œ€ํ•œ ๊ตฌ์ฒด์ ์ธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • 5 โ€“ ์ด์‚ฐ ์•Œ๋žŒ ํฌ์ธํŠธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • 1 โ€“ ์žฅ์น˜ ๋‚ด์˜ ํŠน์ • ํฌ์ธํŠธ
  • 3 โ€“ ํฌํŠธ
  • 21 โ€“ ํฌํŠธ์˜ ์ฃผ์†Œ
  • 1 โ€“ ํฌํŠธ์˜ ๋””์Šคํ”Œ๋ ˆ์ด
  • 4 โ€“ ํฌ์ธํŠธ ๋ฒˆํ˜ธ
  • 7 โ€“ ํฌ์ธํŠธ์˜ ์ƒํƒœ

SNMP ๋ฒ„์ „

SNMP์—๋Š” 2๊ฐœ์˜ ์ค‘์š”ํ•œ ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • SNMPv1: ์ฃผ์š” ๋ฒ„์ „์œผ๋กœ, ์—ฌ์ „ํžˆ ๊ฐ€์žฅ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๋ฉฐ, ์ธ์ฆ์€ ๋ฌธ์ž์—ด(์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค(๋ชจ๋“  ์ •๋ณด๊ฐ€ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ์ „์†ก๋จ). ๋ฒ„์ „ 2 ๋ฐ 2c๋„ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „์†กํ•˜๋ฉฐ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์„ ์ธ์ฆ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • SNMPv3: ๋” ๋‚˜์€ ์ธ์ฆ ํ˜•ํƒœ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ์ •๋ณด๋Š” ์•”ํ˜ธํ™”๋˜์–ด ์ „์†ก๋ฉ๋‹ˆ๋‹ค( ์‚ฌ์ „ ๊ณต๊ฒฉ์ด ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ์ง€๋งŒ SNMPv1 ๋ฐ v2๋ณด๋‹ค ์˜ฌ๋ฐ”๋ฅธ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ฐพ๊ธฐ๊ฐ€ ํ›จ์”ฌ ๋” ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค).

์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด

์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด, MIB์— ์ €์žฅ๋œ ์ •๋ณด์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ๋ฒ„์ „ 1 ๋ฐ 2/2c์—์„œ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์„ ์•Œ์•„์•ผ ํ•˜๋ฉฐ, ๋ฒ„์ „ 3์—์„œ๋Š” ์ž๊ฒฉ ์ฆ๋ช…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์—๋Š” 2๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • public ์ฃผ๋กœ ์ฝ๊ธฐ ์ „์šฉ ๊ธฐ๋Šฅ
  • private ์ฝ๊ธฐ/์“ฐ๊ธฐ ์ผ๋ฐ˜์ ์œผ๋กœ

OID์˜ ์“ฐ๊ธฐ ๊ฐ€๋Šฅ์„ฑ์€ ์‚ฌ์šฉ๋œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฏ€๋กœ, **โ€œpublicโ€์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋”๋ผ๋„ ์ผ๋ถ€ ๊ฐ’์„ ์“ธ ์ˆ˜ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ํ•ญ์ƒ โ€œ์ฝ๊ธฐ ์ „์šฉโ€œ์ธ ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ์ฒด๋ฅผ ์“ฐ๊ธฐ ์‹œ๋„ํ•˜๋ฉด noSuchName ๋˜๋Š” readOnly ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋ฒ„์ „ 1 ๋ฐ 2/2c์—์„œ๋Š” ์ž˜๋ชป๋œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‘๋‹ต์ด ์žˆ์œผ๋ฉด ์œ ํšจํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์ด ์‚ฌ์šฉ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํฌํŠธ

์œ„ํ‚ค๋ฐฑ๊ณผ์—์„œ:

  • SNMP ์—์ด์ „ํŠธ๋Š” UDP ํฌํŠธ 161์—์„œ ์š”์ฒญ์„ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ด€๋ฆฌ์ž๋Š” ํฌํŠธ 162์—์„œ ์•Œ๋ฆผ(Traps ๋ฐ InformRequests)์„ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค.
  • Transport Layer Security ๋˜๋Š” Datagram Transport Layer Security์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋  ๋•Œ, ์š”์ฒญ์€ ํฌํŠธ 10161์—์„œ ์ˆ˜์‹ ๋˜๊ณ  ์•Œ๋ฆผ์€ ํฌํŠธ 10162๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

๋ธŒ๋ฃจํŠธ ํฌ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด (v1 ๋ฐ v2c)

์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์„ ์ถ”์ธกํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์ „ ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SNMP์— ๋Œ€ํ•œ ๋ธŒ๋ฃจํŠธ ํฌ์Šค ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•˜์„ธ์š”. ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์€ public์ž…๋‹ˆ๋‹ค.

SNMP ์—ด๊ฑฐํ•˜๊ธฐ

์žฅ์น˜์—์„œ ์ˆ˜์ง‘๋œ ๊ฐ OID์˜ ์˜๋ฏธ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค:

apt-get install snmp-mibs-downloader
download-mibs
# Finally comment the line saying "mibs :" in /etc/snmp/snmp.conf
sudo vi /etc/snmp/snmp.conf

์œ ํšจํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด, SNMPWalk ๋˜๋Š” SNMP-Check๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

snmpbulkwalk -c [COMM_STRING] -v [VERSION] [IP] . #Don't forget the final dot
snmpbulkwalk -c public -v2c 10.10.11.136 .

snmpwalk -v [VERSION_SNMP] -c [COMM_STRING] [DIR_IP]
snmpwalk -v [VERSION_SNMP] -c [COMM_STRING] [DIR_IP] 1.3.6.1.2.1.4.34.1.3 #Get IPv6, needed dec2hex
snmpwalk -v [VERSION_SNMP] -c [COMM_STRING] [DIR_IP] NET-SNMP-EXTEND-MIB::nsExtendObjects #get extended
snmpwalk -v [VERSION_SNMP] -c [COMM_STRING] [DIR_IP] .1 #Enum all

snmp-check [DIR_IP] -p [PORT] -c [COMM_STRING]

nmap --script "snmp* and not snmp-brute" <target>

braa <community string>@<IP>:.1.3.6.* #Bruteforce specific OID

ํ™•์žฅ ์ฟผ๋ฆฌ(download-mibs)๋ฅผ ํ†ตํ•ด ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์—ด๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

snmpwalk -v X -c public <IP> NET-SNMP-EXTEND-MIB::nsExtendOutputFull

SNMP๋Š” ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ ๋งŽ์€ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ํฅ๋ฏธ๋กœ์šด ๊ฒƒ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค (IPv4 ๋ฐ IPv6 ์ฃผ์†Œ), ์‚ฌ์šฉ์ž ์ด๋ฆ„, ๊ฐ€๋™ ์‹œ๊ฐ„, ์„œ๋ฒ„/OS ๋ฒ„์ „, ๋ฐ ํ”„๋กœ์„ธ์Šค

์‹คํ–‰ ์ค‘ (๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Œ)โ€ฆ.

์œ„ํ—˜ํ•œ ์„ค์ •

๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ ์˜์—ญ์—์„œ ํŠน์ • ๊ตฌ์„ฑ ๋ฐ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํฌ๊ด„์ ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์ œ์–ด๋ฅผ ๋ณด์žฅํ•˜๋Š” ๋ฐ ํ•ต์‹ฌ์ ์ž…๋‹ˆ๋‹ค.

์ ‘๊ทผ ์„ค์ •

๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์„ค์ •์ด ์ „์ฒด OID ํŠธ๋ฆฌ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ฉฐ, ์ด๋Š” ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์—์„œ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค:

  1. **rwuser noauth**๋Š” ์ธ์ฆ ์—†์ด OID ํŠธ๋ฆฌ์— ๋Œ€ํ•œ ์ „์ฒด ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋„๋ก ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์ด ์„ค์ •์€ ๊ฐ„๋‹จํ•˜๋ฉฐ ์ œํ•œ ์—†๋Š” ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ณด๋‹ค ๊ตฌ์ฒด์ ์ธ ์ œ์–ด๋ฅผ ์œ„ํ•ด ์ ‘๊ทผ์€ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€์—ฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
  • **rwcommunity**๋Š” IPv4 ์ฃผ์†Œ์— ๋Œ€ํ•ด, ๋ฐ
  • **rwcommunity6**๋Š” IPv6 ์ฃผ์†Œ์— ๋Œ€ํ•ด.

๋‘ ๋ช…๋ น ๋ชจ๋‘ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด๊ณผ ๊ด€๋ จ IP ์ฃผ์†Œ๋ฅผ ์š”๊ตฌํ•˜๋ฉฐ, ์š”์ฒญ์˜ ์ถœ์ฒ˜์— ๊ด€๊ณ„์—†์ด ์ „์ฒด ์ ‘๊ทผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Microsoft Windows์šฉ SNMP ๋งค๊ฐœ๋ณ€์ˆ˜

์ผ๋ จ์˜ ๊ด€๋ฆฌ ์ •๋ณด ๋ฒ ์ด์Šค (MIB) ๊ฐ’์ด SNMP๋ฅผ ํ†ตํ•ด Windows ์‹œ์Šคํ…œ์˜ ๋‹ค์–‘ํ•œ ์ธก๋ฉด์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค:

  • ์‹œ์Šคํ…œ ํ”„๋กœ์„ธ์Šค: 1.3.6.1.2.1.25.1.6.0๋ฅผ ํ†ตํ•ด ์ ‘๊ทผ๋˜๋ฉฐ, ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์‹œ์Šคํ…œ ๋‚ด์˜ ํ™œ์„ฑ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ: 1.3.6.1.2.1.25.4.2.1.2 ๊ฐ’์€ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์„ ์ถ”์ ํ•˜๋Š” ๋ฐ ์ง€์ •๋ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค ๊ฒฝ๋กœ: ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋””์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด 1.3.6.1.2.1.25.4.2.1.4 MIB ๊ฐ’์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์ €์žฅ ์žฅ์น˜: ์ €์žฅ ์žฅ์น˜์˜ ๋ชจ๋‹ˆํ„ฐ๋ง์€ 1.3.6.1.2.1.25.2.3.1.4์— ์˜ํ•ด ์šฉ์ดํ•ด์ง‘๋‹ˆ๋‹ค.
  • ์†Œํ”„ํŠธ์›จ์–ด ์ด๋ฆ„: ์‹œ์Šคํ…œ์— ์„ค์น˜๋œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด 1.3.6.1.2.1.25.6.3.1.2๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž ๊ณ„์ •: 1.3.6.1.4.1.77.1.2.25 ๊ฐ’์€ ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • TCP ๋กœ์ปฌ ํฌํŠธ: ๋งˆ์ง€๋ง‰์œผ๋กœ, 1.3.6.1.2.1.6.13.1.3๋Š” TCP ๋กœ์ปฌ ํฌํŠธ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๋ฐ ์ง€์ •๋˜์–ด ์žˆ์œผ๋ฉฐ, ํ™œ์„ฑ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ํ†ต์ฐฐ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Cisco

Cisco ์žฅ๋น„์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ์ด ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”:

Cisco SNMP

SNMP์—์„œ RCE๋กœ

SNMP ์„œ๋น„์Šค ๋‚ด์—์„œ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜๋Š” ๋ฌธ์ž์—ด์ด ์žˆ๋‹ค๋ฉด, ์ด๋ฅผ ์•…์šฉํ•˜์—ฌ ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

SNMP RCE

๋Œ€๋Ÿ‰ SNMP

Braa๋Š” ๋Œ€๋Ÿ‰ SNMP ์Šค์บ๋„ˆ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋„๊ตฌ์˜ ์˜๋„๋œ ์‚ฌ์šฉ์€ ๋ฌผ๋ก  SNMP ์ฟผ๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด์ง€๋งŒ, net-snmp์˜ snmpwalk์™€๋Š” ๋‹ฌ๋ฆฌ ์ˆ˜์‹ญ ๋˜๋Š” ์ˆ˜๋ฐฑ ๊ฐœ์˜ ํ˜ธ์ŠคํŠธ๋ฅผ ๋™์‹œ์—, ๋‹จ์ผ ํ”„๋กœ์„ธ์Šค์—์„œ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹œ์Šคํ…œ ์ž์›์„ ๋งค์šฐ ์ ๊ฒŒ ์†Œ๋ชจํ•˜๋ฉฐ ์Šค์บ”์„ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Braa๋Š” ์ž์ฒด SNMP ์Šคํƒ์„ ๊ตฌํ˜„ํ•˜๋ฏ€๋กœ net-snmp์™€ ๊ฐ™์€ SNMP ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ตฌ๋ฌธ: braa [์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด]@[[SNMP ์„œ๋ฒ„์˜ IP]:[iso id]

braa ignite123@192.168.1.125:.1.3.6.*

์ด๊ฒƒ์€ ์ˆ˜๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ๋งŽ์€ MB์˜ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ, ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๋ฅผ ์ฐพ์•„๋ด…์‹œ๋‹ค (from https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/):

์žฅ์น˜

์ด ๊ณผ์ •์€ ๊ฐ ํŒŒ์ผ์—์„œ sysDesc MIB ๋ฐ์ดํ„ฐ (1.3.6.1.2.1.1.1.0)๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์žฅ์น˜๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” grep ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค:

grep ".1.3.6.1.2.1.1.1.0" *.snmp

๋น„๊ณต์‹ ๋ฌธ์ž์—ด ์‹๋ณ„

์ค‘์š”ํ•œ ๋‹จ๊ณ„๋Š” ์กฐ์ง์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋น„๊ณต์‹ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์ž์—ด์„ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ Cisco IOS ๋ผ์šฐํ„ฐ์—์„œ ์ด ๋ฌธ์ž์—ด์€ ๋ผ์šฐํ„ฐ์˜ ์‹คํ–‰ ๊ตฌ์„ฑ์„ ์ถ”์ถœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‹๋ณ„์€ ์ข…์ข… grep ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ โ€œtrapโ€œ์ด๋ผ๋Š” ๋‹จ์–ด์— ๋Œ€ํ•œ SNMP Trap ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์˜์กดํ•ฉ๋‹ˆ๋‹ค.

grep -i "trap" *.snmp

์‚ฌ์šฉ์ž ์ด๋ฆ„/๋น„๋ฐ€๋ฒˆํ˜ธ

MIB ํ…Œ์ด๋ธ”์— ์ €์žฅ๋œ ๋กœ๊ทธ๋Š” ๋กœ๊ทธ์˜จ ์‹œ๋„ ์‹คํŒจ๋ฅผ ๊ฒ€์‚ฌํ•˜๋ฉฐ, ์ด ๊ณผ์ •์—์„œ ์‚ฌ์šฉ์ž ์ด๋ฆ„์œผ๋กœ ์ž…๋ ฅ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์šฐ์—ฐํžˆ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. fail, failed, ๋˜๋Š” _login_๊ณผ ๊ฐ™์€ ํ‚ค์›Œ๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์œ ์šฉํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค:

grep -i "login\|fail" *.snmp

์ด๋ฉ”์ผ

๋งˆ์ง€๋ง‰์œผ๋กœ, ๋ฐ์ดํ„ฐ์—์„œ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด grep ๋ช…๋ น์–ด์™€ ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฉ”์ผ ํ˜•์‹๊ณผ ์ผ์น˜ํ•˜๋Š” ํŒจํ„ด์— ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค:

grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" *.snmp

SNMP ๊ฐ’ ์ˆ˜์ •

_NetScanTools_๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋น„๊ณต์‹ ๋ฌธ์ž์—ด์„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์Šคํ‘ธํ•‘

ACL์ด SMNP ์„œ๋น„์Šค์— ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ถ€ IP๋งŒ ํ—ˆ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, UDP ํŒจํ‚ท ๋‚ด์—์„œ ์ด ์ฃผ์†Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์Šคํ‘ธํ•‘ํ•˜๊ณ  ํŠธ๋ž˜ํ”ฝ์„ ์Šค๋‹ˆํ•‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SNMP ๊ตฌ์„ฑ ํŒŒ์ผ ๊ฒ€์‚ฌ

  • snmp.conf
  • snmpd.conf
  • snmp-config.xml

HackTricks ์ž๋™ ๋ช…๋ น

Protocol_Name: SNMP    #Protocol Abbreviation if there is one.
Port_Number:  161     #Comma separated if there is more than one.
Protocol_Description: Simple Network Managment Protocol         #Protocol Abbreviation Spelled out

Entry_1:
Name: Notes
Description: Notes for SNMP
Note: |
SNMP - Simple Network Management Protocol is a protocol used to monitor different devices in the network (like routers, switches, printers, IoTs...).

https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smtp/index.html

Entry_2:
Name: SNMP Check
Description: Enumerate SNMP
Command: snmp-check {IP}

Entry_3:
Name: OneSixtyOne
Description: Crack SNMP passwords
Command: onesixtyone -c /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings-onesixtyone.txt {IP} -w 100

Entry_4:
Name: Nmap
Description: Nmap snmp (no brute)
Command: nmap --script "snmp* and not snmp-brute" {IP}

Entry_5:
Name: Hydra Brute Force
Description: Need Nothing
Command: hydra -P {Big_Passwordlist} -v {IP} snmp


Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ