01. ๋ถ์ํ๊ฒฝ
1.1 ๋ถ์ ํ๊ฒฝ
Windows10
WindowsXP
1.2 ๋ถ์ ๋๊ตฌ
PEView
Resource Hacker
PEiD
Exeinfo PE
strings
IDA Pro
OllyDbg
depends
SysAnalyzer
Wireshark
1.3 ๋ถ์ ์ํ
Practical Malware Analysis Labs - Lab01-04.exe
02. ์ ์ ๋ถ์
2.1 PE ๊ตฌ์กฐ ํ์ธ

SECTION .rsrc ์์ญ์ PE ํ์ผ ํ์์ด ์ฝ์ ๋์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. Resource Hacker๋ฅผ ์ฌ์ฉํด์ ํด๋น ํ์ผ์ ์ถ์ถํ๊ณ Lab01-04_inserted.exe๋ก ์ ์ฅํฉ๋๋ค.
2.2 ํจํน ์ฌ๋ถ ํ์ธ


Lab01-04.exe, Lab01-04_inserted.exe ํ์ผ ๋ชจ๋ Entry Point๊ณผ File Offset์ด ๋์ผํ๊ณ ์ปดํ์ผ ์ ๋ณด๋ฅผ ๊ทธ๋๋ก ๋ณผ ์ ์๋ ๊ฒ์ ํตํด ํจํน์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
2.3 strings ํ์ธ

- winlogon.exe โ ์ฌ์ฉ ๋ชฉ์ ์ด ๋ถ๋ถ๋ช ํจ
- BIN โ resource type
- #101 โ resource name
- \system32\wupdmgr.exe โ ๊ธฐ์กด window ํ๋ก๊ทธ๋จ, ์
์ฑ ์ฝ๋ ์ ์ฅ ์์น
- \winup.exe โ ๊ธฐ์กด \system32\wupdmgr.exe ํ๋ก๊ทธ๋จ ์ ์ฅ ์์น
\\system32\\wupdmgr.exe ์ด๋?
Microsoft Windows๋ ์ด์ ์ฒด์ ์์ ์ปดํจํฐ์ ํ๋์จ์ด์ ์ํํธ์จ์ด ๊ฐ์ ๋ธ๋ฆฌ์ง ์ญํ ์ ํ๋ ์ํํธ์จ์ด์ ๋๋ค. Wupdmgr.exe๋ Windows Update Manager๋ฅผ ์คํํ๋ ์ญํ ์ ํฉ๋๋ค. Windows Update Manager๋ ์ด์ ์ฒด์ ์ ์ ๋ฐ์ดํธ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ํ์ธํ๊ณ ๋ค์ด๋ก๋ํ์ฌ ์ค์นํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋๋ค.
2.4 IAT
- Lab01-04.exe
kernel32.dll | ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ์ ์ถ๋ ฅ ๋ช ๋ น, ํ๋ก์ธ์ค์ ์ค๋ ๋ ์์ฑ, ๋๋ถ๋ถ์ Win32 ๊ธฐ๋ณธ์ ์ธ ํจ์๋ค์ ํฌํจํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ | |
โข GetWindowsDirectoryA โข GetTempPathA |
์์คํ ๊ฒฝ๋ก ๋ฐ ๋๋ ํฐ๋ฆฌ ๊ด๋ จ ํจ์ : Windows ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก์ ์์ ํ์ผ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ ธ์ต๋๋ค. | |
โข CreateFileA โข WriteFile โข MoveFileA โข CloseHandle |
ํ์ผ ์ฒ๋ฆฌ ๊ด๋ จ ํจ์ : ํ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฑฐ๋ ํ์ผ์ ์ด๋ํฉ๋๋ค. | |
โข GetCurrentProcess โข OpenProcess โข WinExec โข CreateRemoteThread |
ํ๋ก์ธ์ค ์ฒ๋ฆฌ ๊ด๋ จ ํจ์ : ํ์ฌ ๋๋ ํน์ ํ๋ก์ธ์ค์ ํธ๋ค์ ๊ฐ์ ธ์ค๊ฑฐ๋ ์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ์์ํฉ๋๋ค. ๋, ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์ ์ฐ๋ ๋๋ฅผ ์์ฑํฉ๋๋ค. | |
โข FindResourceA โข LoadResource โข SizeofResource โข GetModuleHandleA โข LoadLibraryA โข GetProcAddress |
๋ฉ๋ชจ๋ฆฌ ๋ฐ ๋ฆฌ์์ค ๊ด๋ จ ํจ์ : ์ง์ ๋ ๋ชจ๋์์ ๋ฆฌ์์ค๋ฅผ ์ฐพ๊ฑฐ๋ ์ง์ ๋ ๋ฆฌ์์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํฉ๋๋ค. ํน์ DLL์ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํ๊ณ , ํจ์์ ์ฃผ์๋ฅผ ์ป์ต๋๋ค. | |
advapi32.dll | ์ฌ์ฉ์ ๋ฐ ๊ทธ๋ฃน ๊ด๋ฆฌ, ๋ ์ง์คํธ๋ฆฌ ์ก์ธ์ค, ๋ณด์ ๋ฐ ๊ถํ ๊ด๋ฆฌ, ์๋น์ค ์ ์ด, ์ํธํ ๊ธฐ๋ฅ ๋ฑ์ ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ | |
โข OpenProcessToken โข AdjustTokenPrivileges โข LookupPrivilegeValue |
๊ถํ ๋ฐ ํ ํฐ ์ฒ๋ฆฌ ๊ด๋ จ ํจ์ : ํน์ ํ๋ก์ธ์ค์ ์์์ค ํ ํฐ์ ์ด์ด ํ ํฐ์ ๊ถํ์ ์กฐ์ ํฉ๋๋ค. ๋, ๊ถํ์ ์ด๋ฆ์ LUID(Locally Unique Identifier)๋ก ๋ณํํฉ๋๋ค. | |
msvcrt.dll | Windows ์ด์ ์ฒด์ ์์ C์ C++๋ก ๊ฐ๋ฐ๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋ ํ์ํ ๊ธฐ๋ณธ์ ์ธ ํจ์๋ค์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ | |
โข __setusermatherr โข __p __commode |
โข ์ฌ์ฉ์ ์ ์ ์ํ ์๋ฌ ํธ๋ค๋ฌ๋ฅผ ์ค์ ํ๋ ํจ์. โข ๊ธฐ๋ณธ ํ์ผ I/O ๋ชจ๋๋ฅผ ์ค์ ํ๋ ํจ์. |
- Lab01-04_inserted.exe
kernel32.dll | ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ์ ์ถ๋ ฅ ๋ช ๋ น, ํ๋ก์ธ์ค์ ์ค๋ ๋ ์์ฑ, ๋๋ถ๋ถ์ Win32 ๊ธฐ๋ณธ์ ์ธ ํจ์๋ค์ ํฌํจํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ | |
WinExec GetTempPathA GetWindowsDirectoryA |
์์คํ ๊ฒฝ๋ก ๋ฐ ๋๋ ํฐ๋ฆฌ ๊ด๋ จ ํจ์ : Windows ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก์ ์์ ํ์ผ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ๋, ํ์ผ์ ์คํํฉ๋๋ค. | |
urlmon.dll | ||
URLDownloadToFileA | ํ์ผ ๋ค์ด๋ก๋ : ์ธํฐ๋ท์์ ๋นํธ๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ํ์ผ๋ก ์ ์ฅํฉ๋๋ค. | |
msvcrt.dll | Windows ์ด์ ์ฒด์ ์์ C์ C++๋ก ๊ฐ๋ฐ๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋ ํ์ํ ๊ธฐ๋ณธ์ ์ธ ํจ์๋ค์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ | |
โข __setusermatherr โข __p__commode |
โข ์ฌ์ฉ์ ์ ์ ์ํ ์๋ฌ ํธ๋ค๋ฌ๋ฅผ ์ค์ ํ๋ ํจ์. โข ๊ธฐ๋ณธ ํ์ผ I/O ๋ชจ๋๋ฅผ ์ค์ ํ๋ ํจ์. |
2.5 Lab01-04.exe ๋์ ๊ณผ์ ๋ถ์


์ฝ๋๋ฅผ ๋ณด๋ฉด, OpenProcessToken ํจ์๋ฅผ ์ฌ์ฉํ์ฌ, ํ์ฌ ํ๋ก์ธ์ค์ ์ก์ธ์ค ํ ํฐ์ TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES ํ๋๊ทธ๋ก ์คํํ๊ณ ์์ต๋๋ค. ์ด๋ ์ก์ธ์ค ํ ํฐ์ ์ฟผ๋ฆฌํ๊ณ ํด๋น ํ ํฐ์ ๊ถํ์ ์กฐ์ ํ๊ธฐ ์ํด ํ์ํฉ๋๋ค.

๋ค์์ผ๋ก, LookupPrivilegeValue ํจ์๋ ํน์ ๊ถํ์ LUID(Local Unique Identifier)๋ฅผ ํ์ธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๊ฐ์ ์์คํ ์์ ํน์ ๊ถํ์ ์๋ณํ๋ ๊ณ ์ ํ ๊ฐ์ ๋๋ค.

LUID๊ฐ ์ฑ๊ณต์ ์ผ๋ก ํ์ธ๋ ํ, AdjustTokenPrivileges ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ๊ถํ์ ํ์ฑํํ๋ ์์ ์ ์ํํฉ๋๋ค. ์ด ๊ณผ์ ์ ํ๋ก์ธ์ค๊ฐ ์์คํ ์์ ๋ ๋์ ๊ถํ์ ์ป์ด ์์ ์ ์ํํ ์ ์๋๋ก ์ค์ ํ๊ธฐ ์ํ ์ ์ฐจ์ ๋๋ค.

๊ธฐ์กด์ {Windows dir}\system32\wupdmgr.exe ํ์ผ์ {Temp dir}\winup.exe๋ก ์ด๋์ํต๋๋ค.


- sub_4011FC


์์ ์ ํ์ผ์์ PE ๊ตฌ์กฐ๋ฅผ ๋ฆฌ์์ค๋ก ํ ๋นํ ํ, ์ด๋ฅผ {Windows dir}\system32\wupdmgr.exe ํ์ผ์ ์ ์ฅํ๊ณ ์คํํฉ๋๋ค.
์ด๋ ์ ์ฅ๋ wupdmgr.exe ํ์ผ๊ณผ ์ด์ ์ ์ถ์ถํ Lab01-04_inserted.exe ํ์ผ์ ๋น๊ตํด ๋ณด๋ฉด, ํด์ ๊ฐ์ด ๋์ผํ์ฌ ๊ฐ์ ํ์ผ์์ ํ์ธํ ์ ์์ต๋๋ค.


2.6 Lab01-04_inserted.exe ๋์ ๋ถ์

{Windows dir}\system32\wupdmgr.exe (Lab01-04_inserted.exe๋ก ๋ณํ๋ ํ์ผ) ์ ์คํํ๋ฉด, hxxp://www.practicalmalwareanalysis.com/updater.exe ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์ ์คํํฉ๋๋ค. ํ์ฌ๋ ํด๋น ์ฌ์ดํธ๊ฐ ์ด์๋์ง ์์ ์ ํํ ํ๋ก๊ทธ๋จ์ ํ์ธํ๊ธฐ ์ด๋ ต์ต๋๋ค.
03. ์์ฝ
Lab01-04.exe ๋๋กํผ(dropper)๋ก์ ์ ์ฑ ํ์ผ์ ์์คํ ์ ์์น์ํค๊ณ ์คํ์ํค๋ ์ญํ ์ ํฉ๋๋ค. ์ด ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ฉด ํ ํฐ ๊ถํ์ ์กฐ์ ํ์ฌ ์์คํ ์ ๊ถํ์ ํ๋ณดํ ํ, ๊ธฐ์กด์ {Windows dir}\system32\wupdmgr.exe ํ์ผ์ {Temp dir}\winup.exe ๋ก ์ด๋์ํต๋๋ค. ๊ทธ ํ, {Windows dir}\system32\wupdmgr.exe ์์น์ Lab01-04.exe ๋ด๋ถ์ ์ฝ์ ๋ PE ํ์ผ์ ์ ์ฅํ๊ณ ์ด๋ฅผ ์คํ์ํต๋๋ค.
์คํ๋ ์ ์ฑ ํ์ผ์ hxxp://www.practicalmalwareanalysis.com/updater.exe์์ ์ถ๊ฐ ํ๋ก๊ทธ๋จ์ ๋ค์ด๋ก๋ ๋ฐ์ ์คํํ๋ฉฐ, ์ด๋ฅผ ํตํด ์ถ๊ฐ์ ์ธ ์ ์ฑ ํ์๋ฅผ ์ํํ ๊ฒ์ผ๋ก ์ถ์ธก๋ฉ๋๋ค.
- ํธ์คํธ ๊ธฐ๋ฐ ์๊ทธ๋์ฒ :
#101
\system32\wupdmgr.exe
\winup.exe - ๋คํธ์ํฌ ๊ธฐ๋ฐ ์๊ทธ๋์ฒ :
hxxp://www.practicalmalwareanalysis.com/updater.exe - Lab01-04.exe ํด์๊ฐ
md5 : 625AC05FD47ADC3C63700C3B30DE79AB - Lab01-04_inserted.exe ํด์๊ฐ
md5 : 6A95C2F88E0C09A91D69FFB98BC6FCE8
'๐ฆพ ๋ณด์ ๐ฆพ > ๋ฆฌ๋ฒ์ฑ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Practical Malware Analysis] Lab03-01.exe ๋ถ์ (0) | 2024.10.23 |
---|---|
[Practical Malware Analysis] Lab01-03.exe ๋ถ์ (1) | 2024.10.03 |
[Practical Malware Analysis] Lab01-02.exe ๋ถ์ (1) | 2024.10.01 |
[Practical Malware Analysis] Lab01-01.exe, Lab01-01.dll ๋ถ์ (0) | 2024.09.30 |
x86-64 ์ด์ ๋ธ๋ฆฌ์ด (0) | 2024.08.28 |