Skip to main content

Command Palette

Search for a command to run...

Component Object Model

Published
โ€ข2 min readโ€ขView as Markdown

๐ŸŽฏ COM (Component Object Model): ํ•ด์ปค์˜ ๋น„๋ฐ€ ํ†ต๋กœ

๐Ÿงฉ ๊ธฐ๋ณธ ๊ฐœ๋… (์‰ฝ๊ฒŒ)

์œˆ๋„์šฐ ๋‚ด๋ถ€์—๋Š” "์ˆ˜๋งŽ์€ ์กฐ๊ฐ์˜ ๋ ˆ๊ณ  ๋ธ”๋ก" ๊ฐ™์€ ์ปดํฌ๋„ŒํŠธ๋“ค์ด ๋Œ์•„๋‹ค๋‹Œ๋‹ค.
์ด๊ฑธ ์„œ๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์‹œ์Šคํ…œ์ด ๋ฐ”๋กœ COM.

  • "์•ผ Word์•ผ, ์ด ํ‘œ ์ข€ ๊ฐ€์ ธ์™€๋ด"

  • "์•ผ Explorer์•ผ, ์ด ํŒŒ์ผ ๋ฆฌ์ŠคํŠธ ์ข€ ์ค˜๋ด"

  • "์•ผ ๋„คํŠธ์›Œํฌ์•ผ, ์ด URL์— ์—ฐ๊ฒฐํ•ด์ค˜"

์ด๋Ÿฐ ์‹์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ๋ผ๋ฆฌ ์„œ๋กœ ๊ธฐ๋Šฅ ๋นŒ๋ ค์“ฐ๊ฒŒ ํ•ด์ฃผ๋Š” ์‹œ์Šคํ…œ
์œˆ๋„์šฐ์˜ ๊ฑฐ์˜ ๋ชจ๋“  ์‹œ์Šคํ…œ์ด ๋‚ด๋ถ€์ ์œผ๋กœ COM ์‚ฌ์šฉ ์ค‘.
(Explorer, IE, Office, PowerShell, Windows Shell ๋“ฑ๋“ฑ...)


๐Ÿ’ฃ ๊ทธ๋Ÿฐ๋ฐ ํ•ด์ปค๋Š”?

ํ•ด์ปค๋Š” ์ด๊ฑธ ๋ณด๊ณ  ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ•œ๋‹ค:

"์–ด๋ผ? ์ด ๋ ˆ๊ณ  ๋ธ”๋ก ์—ฐ๊ฒฐ ๊ณ ๋ฆฌ๋งŒ ์กฐ์ž‘ํ•˜๋ฉด...
๋‚ด ์ฝ”๋“œ๋„ ์‹œ์Šคํ…œ์ฒ˜๋Ÿผ '์ •์ƒ์ ์œผ๋กœ' ์‹คํ–‰๋  ์ˆ˜ ์žˆ๊ฒ ๋Š”๋ฐ?"


โš” ์‹ค์ œ ๊ณต๊ฒฉ ์˜ˆ์‹œ๋“ค

โ‘  COM Hijacking (๊ฐ€์žฅ ์œ ๋ช…ํ•œ ๊ธฐ์ˆ )

  • ์œˆ๋„์šฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์–ด๋–ค COM ๊ฐ์ฒด๊ฐ€ ์–ด๋–ค DLL์„ ์“ธ์ง€ ์ ํ˜€์žˆ๋‹ค.

  • ๋‚ด๊ฐ€ ์ด ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ‚ค๋ฅผ ๋ฐ”๊ฟ”์„œ ๋‚ด ์•…์„ฑ DLL ๊ฒฝ๋กœ๋ฅผ ๋“ฑ๋กํ•ด๋ฒ„๋ฆผ.

  • ์ดํ›„ ์ •์ƒ ์•ฑ์ด ํ•ด๋‹น COM ๊ฐ์ฒด ํ˜ธ์ถœ โ†’ ๋‚ด ์•…์„ฑ DLL์ด ๋Œ€์‹  ์‹คํ–‰๋จ.

์‹ค์ „ ์‚ฌ๋ก€:
2017๋…„ APT ๊ณต๊ฒฉ ๊ทธ๋ฃน์ด Outlook COM Hijacking์„ ์ด์šฉํ•ด
ํ”ผํ•ด์ž์˜ ์•„์›ƒ๋ฃฉ์ด ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋ฐฑ๋„์–ด๊ฐ€ ์—ด๋ฆฌ๊ฒŒ ๋งŒ๋“  ์‚ฌ๋ก€ ๋ฐœ์ƒ.


โ‘ก Fileless Malware + COM

  • ์•…์„ฑ์ฝ”๋“œ๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅํ•˜์ง€ ์•Š๊ณ , ๋ฉ”๋ชจ๋ฆฌ์—์„œ๋งŒ ์‹คํ–‰

  • PowerShell + COM ์ธํ„ฐํŽ˜์ด์Šค ์กฐํ•ฉ ๋งŽ์ด ์‚ฌ์šฉ๋จ

  • ํƒ์ง€ ์–ด๋ ค์›€ (๋””์Šคํฌ์— ํ”์  ๊ฑฐ์˜ ์—†์Œ)

์‹ค์ „ ์‚ฌ๋ก€:
FIN7 ๊ทธ๋ฃน์ด Excel ๋ฌธ์„œ ์•ˆ DDE + PowerShell + COM ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•ด
ํ”ผํ•ด์ž ๋„คํŠธ์›Œํฌ ์žฅ์•… โ†’ ์ˆ˜๋ฐฑ์–ต ํ”ผํ•ด ์ž…ํž˜ (POS ์‹œ์Šคํ…œ ํ•ดํ‚น)


โ‘ข Scheduled Task ์ƒ์„ฑ (Persistence)

  • ํŠน์ • COM ๊ฐ์ฒด์—๋Š” ์Šค์ผ€์ค„ ์ž‘์—… ์ƒ์„ฑ ๊ธฐ๋Šฅ ์žˆ์Œ

  • ์ด๋ฅผ ์•…์šฉํ•ด ์ง€์†์ ์œผ๋กœ ์•…์„ฑ์ฝ”๋“œ ์‹คํ–‰ ์˜ˆ์•ฝ ๊ฐ€๋Šฅ

์‹ค์ „ ์‚ฌ๋ก€:
๋žœ์„ฌ์›จ์–ด ๊ทธ๋ฃน๋“ค์ด "schtasks COM ๊ฐ์ฒด" ์•…์šฉ โ†’
ํ”ผํ•ด ์‹œ์Šคํ…œ ์žฌ๋ถ€ํŒ…ํ•  ๋•Œ๋งˆ๋‹ค ์•…์„ฑ์ฝ”๋“œ ์žฌ์‹คํ–‰


โ‘ฃ ์›๊ฒฉ ๊ณต๊ฒฉ: DCOM + COM

  • DCOM (Distributed COM): ๋„คํŠธ์›Œํฌ๋ฅผ ๋„˜์–ด์„œ COM ํ˜ธ์ถœ ๊ฐ€๋Šฅ

  • ๋‚ด๋ถ€๋ง lateral movement (์˜†์œผ๋กœ ํผ์ง€๊ธฐ) ๊ณต๊ฒฉ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ

์‹ค์ „ ์‚ฌ๋ก€:
2020๋…„ ์œ ๋ช… ๋žœ์„ฌ์›จ์–ด ๊ทธ๋ฃน์ด ๋‚ด๋ถ€๋ง lateral movement ์œ„ํ•ด
DCOM๊ณผ WMI COM ์ธํ„ฐํŽ˜์ด์Šค ํ™œ์šฉ โ†’ ์ˆ˜๋ฐฑ ๋Œ€ ์„œ๋ฒ„ ๊ฐ์—ผ


๐Ÿ” ์™œ ํ•ด์ปค๋“ค์ด COM์„ ์‚ฌ๋ž‘ํ•˜๋Š”๊ฐ€?

์ด์œ ์„ค๋ช…
๐Ÿ’ก ์ •์ƒ ๊ธฐ๋Šฅ ์œ„์žฅ์ •์ƒ ์œˆ๋„์šฐ ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ ์‚ฌ์šฉ โ†’ ํƒ์ง€ ํšŒํ”ผ
๐Ÿšช ์‹œ์Šคํ…œ ๊นŠ์ˆ™์ด ์นจํˆฌ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ, ์„œ๋น„์Šค, ์Šค์ผ€์ค„, ๊ถŒํ•œ์Šน๊ธ‰ ๋‹ค์–‘ํ•˜๊ฒŒ ํ™œ์šฉ
๐Ÿง™ ๋‹ค์–‘ํ•œ ์–ธ์–ด ์ง€์›C, C++, Python, PowerShell, VBScript ๋“ฑ
๐Ÿ“ก ์›๊ฒฉ๊นŒ์ง€ ๊ฐ€๋ŠฅDCOM ํ†ตํ•ด ์›๊ฒฉ ์‹œ์Šคํ…œ๊นŒ์ง€ ์กฐ์ž‘ ๊ฐ€๋Šฅ

ํ•œ๋งˆ๋””๋กœ ๋งํ•ด์„œ:

๐Ÿ“ฃ "COM์€ ์œˆ๋„์šฐ ์•ˆ์˜ ํ•ฉ๋ฒ•์ ์ธ ๋’ท๋ฌธ์ด๋‹ค.
์ •์ƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฉด์„œ ๋ชฐ๋ž˜ ๋†€ ์ˆ˜ ์žˆ๋Š” ๋†€์ดํ„ฐ."

More from this blog

psk-study

134 posts