4์›” 1์ฃผ์ฐจ ํ•ดํ‚น์งน์งน ๋‰ด์Šค๋ ˆํ„ฐ ๐Ÿ’Œ ์•ˆ๋…•ํ•˜์„ธ์š”! ๐Ÿ˜ƒ ํœด์‹์„ ๊ฐ€์ง€๊ณ  ๋Œ์•„์˜จ ํ•ดํ‚น์งน์งน์ž…๋‹ˆ๋‹ค. ๊ตฌ๋…์ž ์—ฌ๋Ÿฌ๋ถ„์€ ์ž˜๊ณ„์…จ๋‚˜์š”
4์›” 1์ฃผ์ฐจ ํ•ดํ‚น์งน์งน ๋‰ด์Šค๋ ˆํ„ฐ ๐Ÿ’Œ
์•ˆ๋…•ํ•˜์„ธ์š”! ๐Ÿ˜ƒ ํœด์‹์„ ๊ฐ€์ง€๊ณ  ๋Œ์•„์˜จ ํ•ดํ‚น์งน์งน์ž…๋‹ˆ๋‹ค. ๊ตฌ๋…์ž ์—ฌ๋Ÿฌ๋ถ„์€ ์ž˜๊ณ„์…จ๋‚˜์š”? 
์ตœ๊ทผ ์ฝ”๋กœ๋‚˜ ํ™•์ง„์ž ์ˆ˜๊ฐ€ 20๋งŒ๋Œ€์—์„œ ์œ ์ง€๋˜๊ณ  ์žˆ๋Š”๋ฐ์š”. ๊ตฌ๋…์ž ์—ฌ๋Ÿฌ๋ถ„๋„ ๊ฑด๊ฐ• ์กฐ์‹ฌํ•˜์„ธ์š”! ๐Ÿ˜ญ
์ด๋ฒˆ ์ฃผ๋Š” ์ฝ”๋“œ ๋ถ„์„์„ ๋ฐฉํ•ดํ•˜๋Š” ์ฝ”๋“œ ๋‚œ๋…ํ™”์™€ ๋น„ํŠธ์ฝ”์ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด๋„๋ก ํ• ๊ฒŒ์š”. ๊ธฐ๋Œ€ํ•ด์ฃผ์„ธ์š”! ๐Ÿ˜†
 
์ฃผ๊ฐ„๋‰ด์Šค
์ง€๋‚œ ์ฃผ์—๋Š” ์–ด๋–ค ์ผ๋“ค์ด ์žˆ์—ˆ์„๊นŒ? ๐Ÿ˜

์ž๋ฐ” ์Šคํ”„๋ง(Spring) ํ”„๋ ˆ์ž„ ์›Œํฌ์—์„œ ์›๊ฒฉ ์ฝ”๋“œ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•œ ์ทจ์•ฝ์ ์ด ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์ทจ์•ฝ์ ์€ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„ ์›Œํฌ์™€ ์Šคํ”„๋ง ๋ถ€ํŠธ ์‚ฌ์šฉ์ž๋“ค์ด๋ผ๋ฉด ๋ชจ๋‘ ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” CVSS 9.8์ ์„ ๋ฐ›์€ ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.
Log4Shell ์ทจ์•ฝ์ ๊ณผ ๋น„์Šทํ•œ ์ด๋ฆ„์ธ Spring4Shell์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ถˆ๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ ์Šคํ”„๋ง์œผ๋กœ ๋งŒ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด Tomcat์—์„œ WAR ํฌ๋งท์œผ๋กœ ์ €์žฅ๋˜์–ด์•ผ ์ทจ์•ฝ์ ์ด ํŠธ๋ฆฌ๊ฑฐ ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด JAR ํฌ๋งท์œผ๋กœ ์ €์žฅ๋˜๋ฏ€๋กœ ๊ณต๊ฒฉ์— ์ œ์•ฝ์ด ์žˆ๋‹ค๊ณ  ํ•ด์š”!
Spring๊ฐœ๋ฐœ ํŒ€์˜ ๋ฐœ ๋น ๋ฅธ ๋Œ€์ฒ˜ ๋•๋ถ„์— 3์›” 31์ผ๋ถ€ํ„ฐ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ํŒจ์น˜๋ฅผ ๋ฐฐํฌ ์ค‘์ด๋ผ๊ณ  ํ•˜๋„ค์š”. ์ด์ „ ์ทจ์•ฝ์ ๋“ค๋„ ๊ทธ๋žฌ๋“ฏ์ด ์ทจ์•ฝ์ ์ด ๊ณต๊ฐœ๋œ ์ด์ƒ ํ•ด๋‹น ์ทจ์•ฝ์ ์„ ์‘์šฉํ•œ ๋‹ค๋ฅธ ๊ณต๊ฒฉ๋“ค์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋‹ˆ ๊พธ์ค€ํžˆ ํŒจ์น˜๋ฅผ ํ™•์ธํ•˜๋ฉฐ ์กฐ์‹ฌํ•ด์•ผ๊ฒ ์ฃ ? ๐Ÿ˜ซ
๐Ÿ“Œ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‰ด์Šค๋ ˆํ„ฐ ํ•˜๋‹จ์˜ ํ•˜๋ฃจํ•œ์ค„์„ ํ™•์ธํ•ด์ฃผ์„ธ์š”.

๋Ÿฌ์‹œ์•„ ์ด์™ธ์˜ ๊ตญ๊ฐ€์—์„œ ์šฐํฌ๋ผ์ด๋‚˜๋ฅผ ํ‘œ์ ์œผ๋กœํ•˜๋Š” HeaderTip์ด๋ผ๋Š” ๋ฐฑ๋„์–ด๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. SentinelOne์—์„œ ๋ฐœํ‘œ๋œ ๋ณด๊ณ ์„œ์— ๋”ฐ๋ฅด๋ฉด ํ•ด๋‹น ๋ฐฑ๋„์–ด๋Š” ์ค‘๊ตญ์˜ ํ•ด์ปค๋“ค์ด ์šฐํฌ๋ผ์ด๋‚˜๋ฅผ ํ‘œ์ ์œผ๋กœ ํ•œ ๊ณต๊ฐœ๋œ ์ตœ์ดˆ ์‚ฌ๋ก€๋ผ๊ณ  ํ•ด์š”! 
์ด๋ฒˆ ๊ณต๊ฒฉ์„ ๋ฐฐํ›„๋Š” Scarab์ด๋ผ๋Š” ์ค‘๊ตญ ํ•ด์ปค ๊ทธ๋ฃน์œผ๋กœ ์ถ”์ธก๋˜๋Š”๋ฐ์š”. 2015๋…„ Scarab์˜ ์†Œํ–‰์œผ๋กœ ๋ฐํ˜€์ง„ ๋‹ค๋ฅธ ๋ฉ€์›จ์–ด(Scieron)์—์„œ ์‚ฌ์šฉ๋œ ์ธํ”„๋ผ์™€ ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์ด ์žˆ์–ด ์ถ”์ธกํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค๊ณ  ํ•ด์š”. ๋˜ํ•œ, ์ด์ „ Scarab์ด ์‹œ๋„ํ•œ ํ”ผ์‹ฑ ๊ณต๊ฒฉ๊ณผ์˜ ์œ ์‚ฌ์„ฑ ๊ทธ๋ฆฌ๊ณ  ํ”ผ์‹ฑ ๊ณต๊ฒฉ์— ์‚ฌ์šฉ๋œ ๋ฌธ์„œ๊ฐ€ ์ค‘๊ตญ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Windows์—์„œ ์ž‘์„ฑ๋œ ์ ์œผ๋กœ ๋ฏธ๋ฃจ์–ด ๋ณด์•„ ํ™•์‹ ์„ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค๊ณ  ํ•˜๋„ค์š”! ๐Ÿ˜‰

3์›” 25์ผ, ๋ฏธ ์—ฐ๋ฐฉํ†ต์‹ ์œ„์›ํšŒ(FCC)์—์„œ ๋Ÿฌ์‹œ์•„์˜ ์œ ๋ช…ํ•œ ๋ณด์•ˆํšŒ์‚ฌ์ธ ์นด์Šคํผ์Šคํ‚ค ๋žฉ์„ ๊ตญ๊ฐ€ ์•ˆ๋ณด๋ฅผ ์œ„ํ•ด ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์—†๋Š” ๊ธฐ์—… ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.
ํ•ด๋‹น ๊ธฐ์—… ๋ฆฌ์ŠคํŠธ์—๋Š” ์ค‘๊ตญ์˜ ํ†ต์‹  ์—…์ฒด๋“ค์ด ๋Œ€๋ถ€๋ถ„์ด์—ˆ๋Š”๋ฐ์š”. ์ด๋ฒˆ ๊ฒฐ์ •์€ ๋Ÿฌ์‹œ์•„ ๊ธฐ์—…์ด ์ถ”๊ฐ€๋œ ์ตœ์ดˆ์˜ ์‚ฌ๋ก€๋ผ๊ณ  ํ•ด์š”! ํ•ด๋‹น ๋ชฉ๋ก์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด ๋ฏธ๊ตญ ๊ธฐ๊ด€์—์„œ๋Š” ์ง์ ‘์ ์ด๋“  ๊ฐ„์ ‘์ ์ด๋“  ํ•ด๋‹น ํšŒ์‚ฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ •๋ณด ๋ณด์•ˆ ์ œํ’ˆ, ์†”๋ฃจ์…˜ ๋ฐ ์„œ๋น„์Šค ์‚ฌ์šฉ์ด ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค.
์นด์Šคํผ์Šคํ‚ค ๋žฉ ์ธก์—์„œ๋Š” ํšŒ์‚ฌ ์ฐฝ๋ฆฝ ์ดํ›„ ๊ธฐ์ˆ  ์•…์šฉ์ด ์—†์—ˆ๋˜ ์ ์„ ๋“ค์–ด ์ด๋ฒˆ ๊ฒฐ์ •์ด ๊ธฐ์ˆ ์  ํ‰๊ฐ€์— ์˜ํ•ด ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๊ณ  ์ •์น˜์  ๊ทผ๊ฑฐ์— ๋”ฐ๋ผ ๋‚ด๋ฆฐ ๊ฒฐ์ •์ด๋ผ๋ฉฐ ๋น„ํŒํ–ˆ์–ด์š”! ๐Ÿ˜ฃ

ํ•ดํ‚ค๋ณด์ด์ฆˆํŒ€์ด ์—ฐ๊ตฌํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ์ตœ์‹  ํ•ดํ‚น ๊ธฐ์ˆ ๐Ÿ‘‡

[๋Œ€์ƒ]
Containers
[์„ค๋ช…]

Java ํ”Œ๋žซํผ์˜ ์˜คํ”ˆ์†Œ์Šค ํ”„๋ ˆ์ž„์›Œํฌ์ธ Spring Framework์—์„œ ์›๊ฒฉ ์ฝ”๋“œ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•œ ์ทจ์•ฝ์ ์˜ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Spring์€ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ธ๊ธฐ์žˆ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ํ•ด๋‹น ์ทจ์•ฝ์ ์˜ ํŒŒ๊ธ‰๋ ฅ์ด ํด ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋ฉฐ Log4j์˜ RCE ์ทจ์•ฝ์ ์ด์—ˆ๋˜ Log4Shell๊ณผ ์œ ์‚ฌํ•œ Spring4Shell, SpringShell ๋“ฑ์œผ๋กœ ๋ถˆ๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2์›”์—๋Š” Spring Framework ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ SpEL(Spring Expression Language) ๋ฅผ ์•…์šฉํ•œ ์ทจ์•ฝ์ ์ด ๊ณต๊ฐœ๋˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ทจ์•ฝ์ ์€ Spring Core์˜ ๋ฐ”์ธ๋”ฉ ํ”„๋กœ์„ธ์Šค bindRequestParameters๊ฐ€ ์บ์‹œ์˜ ๊ฐ์ฒด ์†์„ฑ์„ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด getCachedIntrospectionResults ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

getCachedIntrospectionResults ๋ฉ”์„œ๋“œ๋Š” ์œ„ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ๋ฐ˜ํ™˜๊ฐ’์— ํด๋ž˜์Šค ๊ฐ์ฒด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์›๊ฒฉ์—์„œ HTTP Request๋ฅผ ๋ณด๋‚ด๋Š”๊ฒƒ๋งŒ์œผ๋กœ ํด๋ž˜์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ทจ์•ฝ์ ์˜ ์ œ๋ณด์ž๋Š” Apache Tomcat์—์„œ classLoader ๋กœ Tomcat์˜ ๋กœ๊น… ๊ตฌ์„ฑ์„ ์ˆ˜์ •ํ•˜๊ณ  ์ž„์˜ ์ฝ”๋“œ ์‹คํ–‰์„ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” PoC๋ฅผ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

์ง€์†ํ•ด์„œ ๋” ์ข‹์€ ๋‰ด์Šค๋ ˆํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์œผ๋กœ ๊ธ์ •์ ์œผ๋กœ ์ƒ๊ฐํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! 
์นด์นด์˜ค๋ฑ…ํฌ 3333-22-3886590 ใ…Šใ…Žใ……
์˜ค๋Š˜ ์ „ํ•ด๋“œ๋ฆฐ ๋‚ด์šฉ์ด ๋งˆ์Œ์— ๋“œ์…จ๋‚˜์š”?
์ฃผ์œ„ ์นœ๊ตฌ๋“ค์—๊ฒŒ ๋‰ด์Šค๋ ˆํ„ฐ๋ฅผ ์ถ”์ฒœํ•ด์ฃผ์„ธ์š”!
๋‹ค์Œ์ฃผ์—๋„ ์•Œ์ฐฌ ๋‚ด์šฉ์œผ๋กœ ๋Œ์•„์˜ค๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜™
ํ˜น์‹œ ๋งˆ์Œ์— ์•ˆ๋“œ๋Š” ๋ถ€๋ถ„์ด ์žˆ์—ˆ๋‚˜์š”? ์—ฌ๊ธฐ์—์„œ ํ”ผ๋“œ๋ฐฑ์„ ์ „๋‹ฌํ•ด์ฃผ์„ธ์š”!
์—ฌ๋Ÿฌ๋ถ„์˜ ์˜๊ฒฌ๋“ค์„ ์ ๊ทน ๋ฐ˜์˜ํ•ด์„œ ๋”์šฑ ์œ ์ตํ•œ ๋‰ด์Šค๋ ˆํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด๊ฐ€๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜ƒ

ํ•ดํ‚ค๋ณด์ด์ฆˆ
hackyboizteam@gmail.com
์„œ์šธ์‹œ ๊ด‘์ง„๊ตฌ ๊ตฐ์ž๋™ 134-33 3์ธต
์ˆ˜์‹ ๊ฑฐ๋ถ€ Unsubscribe