Realtek SDK์˜ ์ทจ์•ฝ์ ์œผ๋กœ ์ธํ•ด 65๊ฐœ ์ œ์กฐ์—…์ฒด์˜ ์žฅ์น˜์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ๋ฌด์„  ์žฅ์น˜ ์ œ์กฐ์—…์ฒด์˜ ํŽŒ์›จ์–ด์— ์‚ฌ์šฉ๋˜๋Š” Realtek SDK์˜ ๊ตฌ์„ฑ ์š”์†Œ์—์„œ ์ธ์ฆ๋˜์ง€ ์•Š์€ ๊ณต๊ฒฉ์ž๊ฐ€ ๋†’์€ ๊ถŒํ•œ์œผ๋กœ ์žฅ์น˜์—์„œ ์›๊ฒฉ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” 200๊ฐ€์ง€ ์ทจ์•ฝ์ ์ด ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋น„ ์ถ”์‚ฐ์— ๋”ฐ๋ฅด๋ฉด ์ด ๋ฌธ์ œ๋Š” Asus, A-Link, Beeline, Belkin, Buffalo, D-Link, Edison, Huawei, LG, Logitec, MT-์˜ ๋‹ค์–‘ํ•œ ๋ฌด์„  ๋ผ์šฐํ„ฐ ๋ชจ๋ธ์„ ํฌํ•จํ•˜์—ฌ 65๊ฐœ ๊ณต๊ธ‰์—…์ฒด์˜ ์ตœ์†Œ XNUMX๊ฐœ ์žฅ์น˜ ๋ชจ๋ธ์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. Link, Netgear, Realtek, Smartlink, UPVEL, ZTE ๋ฐ Zyxel.

์ด ๋ฌธ์ œ๋Š” ๋ฌด์„  ๋ผ์šฐํ„ฐ ๋ฐ Wi-Fi ์ฆํญ๊ธฐ๋ถ€ํ„ฐ IP ์นด๋ฉ”๋ผ ๋ฐ ์Šค๋งˆํŠธ ์กฐ๋ช… ์ œ์–ด ์žฅ์น˜์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ RTL8xxx SoC๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋ฌด์„  ์žฅ์น˜์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. RTL8xxx ์นฉ ๊ธฐ๋ฐ˜ ์žฅ์น˜๋Š” ๋‘ ๊ฐœ์˜ SoC ์„ค์น˜์™€ ๊ด€๋ จ๋œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ SoC๋Š” ์ œ์กฐ์—…์ฒด์˜ Linux ๊ธฐ๋ฐ˜ ํŽŒ์›จ์–ด๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๋‘ ๋ฒˆ์งธ SoC๋Š” ์•ก์„ธ์Šค ํฌ์ธํŠธ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ํ†ตํ•ด ๋ณ„๋„์˜ ๊ฐ„๋‹จํ•œ Linux ํ™˜๊ฒฝ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ํ™˜๊ฒฝ ์ฑ„์šฐ๊ธฐ๋Š” SDK์—์„œ Realtek์ด ์ œ๊ณตํ•˜๋Š” ํ‘œ์ค€ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์™ธ๋ถ€ ์š”์ฒญ ์ „์†ก์˜ ๊ฒฐ๊ณผ๋กœ ์ˆ˜์‹ ๋œ ๋ฐ์ดํ„ฐ๋„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ด ์ทจ์•ฝ์ ์€ Realtek SDK v2.x, Realtek โ€œJungleโ€ SDK v3.0-3.4 ๋ฐ Realtek โ€œLunaโ€ SDK ๋ฒ„์ „ 1.3.2 ์ด์ „์„ ์‚ฌ์šฉํ•˜๋Š” ์ œํ’ˆ์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ์ˆ˜์ • ์‚ฌํ•ญ์€ ์ด๋ฏธ Realtek "Luna" SDK 1.3.2a ์—…๋ฐ์ดํŠธ์—์„œ ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์œผ๋ฉฐ Realtek "Jungle" SDK์šฉ ํŒจ์น˜๋„ ๊ฒŒ์‹œ ์ค€๋น„ ์ค‘์ž…๋‹ˆ๋‹ค. Realtek SDK 2.x์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์„ ๋ฆด๋ฆฌ์Šคํ•  ๊ณ„ํš์€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ์ง€์›์ด ์ด๋ฏธ ์ค‘๋‹จ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์ทจ์•ฝ์ ์— ๋Œ€ํ•ด ์žฅ์น˜์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘๋™ํ•˜๋Š” ์ต์Šคํ”Œ๋กœ์ž‡ ํ”„๋กœํ† ํƒ€์ž…์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

ํ™•์ธ๋œ ์ทจ์•ฝ์ (์ฒ˜์Œ ๋‘ ๊ฐœ์—๋Š” ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€ 8.1์ด ํ• ๋‹น๋˜๊ณ  ๋‚˜๋จธ์ง€์—๋Š” 9.8์ด ํ• ๋‹น๋จ):

  • CVE-2021-35392 - "WiFi Simple Config" ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” mini_upnpd ๋ฐ wscd ํ”„๋กœ์„ธ์Šค์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค(mini_upnpd๋Š” SSDP ํŒจํ‚ท์„ ์ฒ˜๋ฆฌํ•˜๊ณ  wscd๋Š” SSDP ์ง€์› ์™ธ์—๋„ HTTP ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ UPnP ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค). ๊ณต๊ฒฉ์ž๋Š” "์ฝœ๋ฐฑ" ํ•„๋“œ์— ๋„ˆ๋ฌด ํฐ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ํฌํ•จํ•˜์—ฌ ํŠน๋ณ„ํžˆ ์ œ์ž‘๋œ UPnP "SUBSCRIBE" ์š”์ฒญ์„ ๋ณด๋‚ด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ๋… /upnp/event/WFAWLANConfig1 HTTP/1.1 ํ˜ธ์ŠคํŠธ: 192.168.100.254:52881 ์ฝœ๋ฐฑ: NT:upnp:์ด๋ฒคํŠธ
  • CVE-2021-35393์€ SSDP ํ”„๋กœํ† ์ฝœ(UDP ๋ฐ HTTP์™€ ์œ ์‚ฌํ•œ ์š”์ฒญ ํ˜•์‹ ์‚ฌ์šฉ)์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” WiFi ๋‹จ์ˆœ ๊ตฌ์„ฑ ํ•ธ๋“ค๋Ÿฌ์˜ ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๋„คํŠธ์›Œํฌ์— ์„œ๋น„์Šค๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ M-SEARCH ๋ฉ”์‹œ์ง€์˜ "ST:upnp" ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ 512๋ฐ”์ดํŠธ์˜ ๊ณ ์ • ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • CVE-2021-35394๋Š” ์ง„๋‹จ ์ž‘์—…(ping, ๊ฒฝ๋กœ ์ถ”์ ) ์ˆ˜ํ–‰์„ ๋‹ด๋‹นํ•˜๋Š” MP ๋ฐ๋ชฌ ํ”„๋กœ์„ธ์Šค์˜ ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์™ธ๋ถ€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์ธ์ˆ˜ ํ™•์ธ์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์•„ ์ž์‹ ์˜ ๋ช…๋ น์„ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • CVE-2021-35395๋Š” http ์„œ๋ฒ„ /bin/webs ๋ฐ /bin/boa๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์›น ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ผ๋ จ์˜ ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค. system() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์™ธ๋ถ€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์ธ์ˆ˜๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š์•„ ๋ฐœ์ƒํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ์ทจ์•ฝ์ ์ด ๋‘ ์„œ๋ฒ„ ๋ชจ๋‘์—์„œ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฐจ์ด์ ์€ ๊ณต๊ฒฉ์— ์„œ๋กœ ๋‹ค๋ฅธ API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๋‘ ํ•ธ๋“ค๋Ÿฌ ๋ชจ๋‘ CSRF ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ๊ธฐ๋Šฅ๊ณผ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ๋กœ๋งŒ ์ œํ•œํ•˜๋ฉด์„œ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” "DNS ๋ฆฌ๋ฐ”์ธ๋”ฉ" ๊ธฐ์ˆ ์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ์‚ฌ์ „ ์ •์˜๋œ ๊ฐ๋…์ž/๊ฐ๋…์ž ๊ณ„์ •์œผ๋กœ ๊ธฐ๋ณธ ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋„ˆ๋ฌด ํฐ ์ธ์ˆ˜๊ฐ€ ์ „์†ก๋  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—ฌ๋Ÿฌ ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ํ•ธ๋“ค๋Ÿฌ์—์„œ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. POST /goform/formWsc HTTP/1.1 ํ˜ธ์ŠคํŠธ: 192.168.100.254 ์ฝ˜ํ…์ธ  ๊ธธ์ด: 129 ์ฝ˜ํ…์ธ  ์œ ํ˜•: application/x-www-form-urlencoded submit-url=%2Fwlwps.asp&resetUnCfg=0&peerPin=12345678;ifconfig>/tmp/1 ;&setPIN=์‹œ์ž‘+PIN&configVxd=off&resetRptUnCfg=0&peerRptPin=
  • ๋˜ํ•œ UDPServer ํ”„๋กœ์„ธ์Šค์—์„œ ๋ช‡ ๊ฐ€์ง€ ์ทจ์•ฝ์ ์ด ๋” ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•Œ๊ณ  ๋ณด๋‹ˆ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋Š” ์ด๋ฏธ 2015๋…„์— ๋‹ค๋ฅธ ์—ฐ๊ตฌ์ž๋“ค์ด ๋ฐœ๊ฒฌํ–ˆ์ง€๋งŒ ์™„์ „ํžˆ ์ˆ˜์ •๋˜์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” system() ํ•จ์ˆ˜์— ์ „๋‹ฌ๋œ ์ธ์ˆ˜์— ๋Œ€ํ•œ ์ ์ ˆํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ฐ€ ๋ถ€์กฑํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋ฉฐ 'orf;ls'์™€ ๊ฐ™์€ ๋ฌธ์ž์—ด์„ ๋„คํŠธ์›Œํฌ ํฌํŠธ 9034๋กœ ๋ณด๋‚ด ์•…์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ sprintf ํ•จ์ˆ˜์˜ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ์œผ๋กœ ์ธํ•ด UDPServer์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ํ™•์ธ๋˜์—ˆ์œผ๋ฉฐ, ์ด๋Š” ์ž ์žฌ์ ์œผ๋กœ ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€