๐ต๏ธโโ๏ธ Immunity Debugger๋ก ์ ์ฑ์ฝ๋ ํด๋ถํ๊ธฐ ๐

์๋ ํ์ธ์, ์ฌ๋ฌ๋ถ! ์ค๋์ ์ ๋ง ํฅ๋ฏธ์ง์งํ ์ฃผ์ ๋ก ์ฌ๋ฌ๋ถ๊ณผ ํจ๊ปํ ๊ฑฐ์์. ๋ฐ๋ก Immunity Debugger๋ฅผ ์ด์ฉํ ์ ์ฑ์ฝ๋ ๋ถ์์ ๋ํด ์์๋ณผ ๊ฑด๋ฐ์. ์ ์ฑ์ฝ๋๋ผ๊ณ ํ๋ฉด ๋ญ๊ฐ ๋ฌด์์ด ๋๋์ด ๋ค์ฃ ? ํ์ง๋ง ๊ฑฑ์ ๋ง์ธ์! ์ฐ๋ฆฌ๊ฐ ํจ๊ป ์ด ๋ ์๋ค์ ์ ์ฒด๋ฅผ ๋ฐํ๋ผ ๊ฑฐ๋๊น์. ๐
์์ฆ ๊ฐ์ ๋์งํธ ์๋์ ๋ณด์์ ์ ๋ง ์ค์ํด์. ๊ทธ๋์ ์ด๋ฐ ์ง์๋ค์ด ์ฌ๋ฌ๋ถ์ ์์คํ ์ฌ๋ฅ์ด ๋ ์ ์๋ต๋๋ค. ํน์ ์๋์? ์ด๋ฐ ์ค๋ ฅ์ ๊ฐ์ถ๋ฉด ์ฌ๋ฅ๋ท๊ฐ์ ํ๋ซํผ์์ ์ฌ๋ฌ๋ถ์ ๋ฅ๋ ฅ์ ๋ฝ๋ด๊ณ ์์ต๊น์ง ์ฌ๋ฆด ์ ์์์ง๋ ๋ชฐ๋ผ์. ใ ใ
์, ๊ทธ๋ผ ์ด์ ๋ถํฐ Immunity Debugger์ ์ธ๊ณ๋ก ๋น ์ ธ๋ณผ๊น์? ์ค๋น๋์ จ๋์? ๊ทธ๋ผ ๊ณ ๊ณ ์ฝ~! ๐
๐ง Immunity Debugger, ๋ญ๊ธธ๋ ์ด๋ ๊ฒ ํซํด?
๋จผ์ Immunity Debugger๊ฐ ๋ญ์ง ์์๋ณผ๊น์? ์ด๋ฆ๋ถํฐ ์ข ๋ฉ์์์์? "๋ฉด์ญ" ๋๋ฒ๊ฑฐ๋ผ๋, ๋ญ๊ฐ ๋ฐ์ด๋ฌ์ค๋ฅผ ๋ง์์ฃผ๋ ๋๋์ด ๋ค์ง ์๋์? ใ ใ ใ
Immunity Debugger๋ ์๋์ฐ ํ๊ฒฝ์์ ๋์ํ๋ ๊ฐ๋ ฅํ ๋๋ฒ๊น ๋๊ตฌ์์. ํ๋ก๊ทธ๋จ์ ์คํ ๊ณผ์ ์ ํ๋ํ๋ ๋ฐ๋ผ๊ฐ๋ฉด์ ๋ถ์ํ ์ ์๊ฒ ํด์ฃผ๋ ๋ ์์ด์ฃ . ํนํ ์ ์ฑ์ฝ๋ ๋ถ์์ ์์ฃผ ์ ์ฉํ๋ต๋๋ค.
๐ค ์ ๊น! ๋๋ฒ๊น ์ด ๋ญ๋๊ณ ์?
๋๋ฒ๊น ์ ํ๋ก๊ทธ๋จ์ ๋ฒ๊ทธ(์ค๋ฅ)๋ฅผ ์ฐพ์ ๊ณ ์น๋ ๊ณผ์ ์ ๋งํด์. ๊ทผ๋ฐ ์ฐ๋ฆฌ๋ ์ด๊ฑธ ์ ์ฑ์ฝ๋ ๋ถ์์ ํ์ฉํ ๊ฑฐ์์. ์ ์ฑ์ฝ๋์ '๋ฒ๊ทธ'๋ฅผ ์ฐพ๋ ๊ฒ ์๋๋ผ, ์ ์ฑ์ฝ๋์ ๋์ ์๋ฆฌ๋ฅผ ํ์ ํ๋ ๊ฑฐ์ฃ !
Immunity Debugger์ ํน์ง์ ๊ฐ๋จํ ์ดํด๋ณผ๊น์?
- ๐ ๊ฐ๋ ฅํ ๋ถ์ ๊ธฐ๋ฅ: ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ, ๋ ์ง์คํฐ, ์คํ ๋ฑ์ ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์์ด์.
- ๐จ ์ฌ์ฉ์ ์นํ์ ์ธํฐํ์ด์ค: ๊ทธ๋ํฝ ํ๊ฒฝ์ด๋ผ ์ด๋ณด์๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ด์.
- ๐ง ํ์ฅ์ฑ: ํ์ด์ฌ ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์์ด์. (์ด๊ฑฐ ์ง์ง ๋๋ฐ์ด์์!)
- ๐ฆ ์ ์ฑ์ฝ๋ ๋ถ์ ํนํ: ์ ์ฑ์ฝ๋ ๋ถ์์ ํ์ํ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ด ๋ด์ฅ๋์ด ์์ด์.
์ด๋ฐ ํน์ง๋ค ๋๋ฌธ์ Immunity Debugger๋ ๋ณด์ ์ ๋ฌธ๊ฐ๋ค ์ฌ์ด์์ ์ธ๊ธฐ ๋ง์ ์ด๋๋๋ค. ๋ง์น ํด์ปค๋ค์ ํ์ ์์ดํ ๊ฐ์ ๊ฑฐ์ฃ ! ๐
์~ ์ด๋ ๊ฒ ๋ณด๋๊น Immunity Debugger๊ฐ ์ผ๋ง๋ ๋๋จํ ๋ ์์ธ์ง ๋๊ปด์ง์ง ์๋์? ์ด์ ์ด ๋ ์์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์์ธํ ์์๋ณผ ์ฐจ๋ก์์. ์ค๋น๋์ จ๋์? ๊ทธ๋ผ ๋ค์ ์น์ ์ผ๋ก ๊ณ ๊ณ ! ๐โโ๏ธ๐จ
๐ ๏ธ Immunity Debugger ์ค์นํ๊ณ ์์ํ๊ธฐ
์, ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก Immunity Debugger๋ฅผ ์ฌ์ฉํด๋ณผ ๊ฑฐ์์. ๊ทผ๋ฐ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ ์ค์นํด์ผ๊ฒ ์ฃ ? ๊ฑฑ์ ๋ง์ธ์. ์ค์น ๊ณผ์ ์ ์์ฃผ ๊ฐ๋จํด์! ๐
๐ฅ Immunity Debugger ๋ค์ด๋ก๋ ๋ฐ ์ค์น
- ๋จผ์ Immunity Inc. ๊ณต์ ์น์ฌ์ดํธ์ ์ ์ํด์.
- ํ์ด์ง ํ๋จ์ ์๋ "Download" ๋ฒํผ์ ํด๋ฆญํด์.
- ๊ฐ๋จํ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๋ฉด ๋ค์ด๋ก๋ ๋งํฌ๋ฅผ ๋ฐ์ ์ ์์ด์.
- ๋ค์ด๋ก๋ ๋ฐ์ ์ค์น ํ์ผ์ ์คํํ๊ณ ์ง์์ ๋ฐ๋ผ ์ค์น๋ฅผ ์๋ฃํด์.
์ฃผ์! Immunity Debugger๋ ์๋์ฐ ํ๊ฒฝ์์๋ง ๋์ํด์. ๋งฅ์ด๋ ๋ฆฌ๋ ์ค ์ฌ์ฉ์๋ผ๋ฉด ๊ฐ์๋จธ์ ์ ์ด์ฉํด์ผ ํ ๊ฑฐ์์. ๐
๐ Immunity Debugger ์คํํ๊ธฐ
์ค์น๊ฐ ์๋ฃ๋๋ค๋ฉด ์ด์ Immunity Debugger๋ฅผ ์คํํด๋ณผ ์ฐจ๋ก์์!
- ์์ ๋ฉ๋ด์์ "Immunity Debugger"๋ฅผ ์ฐพ์ ์คํํด์.
- ์ฒ์ ์คํํ๋ฉด Windows Defender๋ ๋ค๋ฅธ ๋ฐฑ์ ํ๋ก๊ทธ๋จ์์ ๊ฒฝ๊ณ ๋ฅผ ํ ์ ์์ด์. ๊ฑฑ์ ๋ง์ธ์, ์ด๊ฑด ์ ์์ด์์! Immunity Debugger๊ฐ ์์คํ ์ ๊น์์ด ์ ๊ทผํ๊ธฐ ๋๋ฌธ์ด์ฃ .
- ์คํ ๊ถํ์ ํ์ฉํ๋ฉด Immunity Debugger์ ๋ฉ์ธ ํ๋ฉด์ด ๋ํ๋ ๊ฑฐ์์.
๐ก ๊ฟํ!
Immunity Debugger๋ฅผ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํ๋ฉด ๋ ์ํํ๊ฒ ์ฌ์ฉํ ์ ์์ด์. ์์ด์ฝ์ ์ฐํด๋ฆญ ํ "๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํ"์ ์ ํํ์ธ์!
๐ฅ๏ธ Immunity Debugger ์ธํฐํ์ด์ค ์ดํด๋ณด๊ธฐ
Immunity Debugger๋ฅผ ์ฒ์ ์คํํ๋ฉด ์ข ๋ณต์กํด ๋ณด์ผ ์ ์์ด์. ํ์ง๋ง ๊ฑฑ์ ๋ง์ธ์! ์ฒ์ฒํ ํ๋์ฉ ์ดํด๋ณผ ๊ฑฐ์์.
Immunity Debugger์ ์ธํฐํ์ด์ค๋ ํฌ๊ฒ 4๊ฐ์ ์ฐฝ์ผ๋ก ๋๋์ด ์์ด์:
- ๋์ค์ด์ ๋ธ๋ฆฌ ์ฐฝ (์ผ์ชฝ ์๋จ): ํ๋ก๊ทธ๋จ์ ์ด์ ๋ธ๋ฆฌ ์ฝ๋๋ฅผ ๋ณด์ฌ์ค์.
- ๋ ์ง์คํฐ ์ฐฝ (์ค๋ฅธ์ชฝ ์๋จ): CPU ๋ ์ง์คํฐ์ ํ์ฌ ๊ฐ์ ๋ณด์ฌ์ค์.
- ๋ฉ๋ชจ๋ฆฌ ๋คํ ์ฐฝ (์ผ์ชฝ ํ๋จ): ์ ํํ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ด์ฉ์ 16์ง์๋ก ๋ณด์ฌ์ค์.
- ์คํ ์ฐฝ (์ค๋ฅธ์ชฝ ํ๋จ): ํ๋ก๊ทธ๋จ์ ์คํ ๋ด์ฉ์ ๋ณด์ฌ์ค์.
์ด ๋ค ๊ฐ์ ์ฐฝ์ด Immunity Debugger์ ํต์ฌ์ด์์. ๊ฐ ์ฐฝ์ ์๋ก ์ฐ๋๋์ด ์์ด์, ํ๋์ ์ฐฝ์์ ๋ณํ๊ฐ ์ผ์ด๋๋ฉด ๋ค๋ฅธ ์ฐฝ๋ค๋ ๊ทธ์ ๋ง์ถฐ ์ ๋ฐ์ดํธ๋ผ์. ์ ๋ง ๋๋ํ์ฃ ? ๐
๐ฎ ๊ธฐ๋ณธ์ ์ธ ์ปจํธ๋กค
Immunity Debugger๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ฉด ์ข ์ด๋ ค์ ๋ณด์ผ ์ ์์ด์. ํ์ง๋ง ๊ธฐ๋ณธ์ ์ธ ์ปจํธ๋กค๋ง ์๋ฉด ๊ธ๋ฐฉ ์ต์ํด์ง ๊ฑฐ์์!
- F2: ๋ธ๋ ์ดํฌํฌ์ธํธ ์ค์ /ํด์
- F7: ํ ๋จ๊ณ์ฉ ์คํ (Step Into)
- F8: ๋ค์ ๋ช ๋ น์ด๋ก ์คํ (Step Over)
- F9: ์คํ (Run)
- Ctrl + F2: ๋๋ฒ๊น ์ค์ง
์ด ํค๋ค๋ง ๊ธฐ์ตํ๋ฉด ๊ธฐ๋ณธ์ ์ธ ๋๋ฒ๊น ์ ํ ์ ์์ด์. ๋ง์น ๊ฒ์์ ์ปจํธ๋กค์ ์ตํ๋ ๊ฒ์ฒ๋ผ ์๊ฐํ๋ฉด ๋ผ์. ์ฐ์ตํ๋ค ๋ณด๋ฉด ์์ฐ์ค๋ฝ๊ฒ ์์ ์ต์ ๊ฑฐ์์! ๐
๐ ์์๋๋ฉด ์ข์ ์ !
Immunity Debugger๋ ํ์ด์ฌ ์คํฌ๋ฆฝํ ์ ์ง์ํด์. ์ด๋ฅผ ์ด์ฉํ๋ฉด ๋ฐ๋ณต์ ์ธ ์์ ์ ์๋ํํ๊ฑฐ๋, ๋ณต์กํ ๋ถ์ ์์ ์ ์ฝ๊ฒ ํ ์ ์์ด์. ํ์ด์ฌ์ ์กฐ๊ธ์ด๋ผ๋ ์๊ณ ์๋ค๋ฉด ํฐ ๋์์ด ๋ ๊ฑฐ์์!
์, ์ด์ Immunity Debugger์ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ๋ฒ์ ์์๋ดค์ด์. ์ด๋์? ์๊ฐ๋ณด๋ค ์ด๋ ต์ง ์์ฃ ? ๐ ์ด์ ์ฐ๋ฆฌ๋ Immunity Debugger๋ผ๋ ๊ฐ๋ ฅํ ๋ฌด๊ธฐ๋ฅผ ์์ ๋ฃ์์ด์. ์ด๊ฑธ๋ก ๋ญ ํ ์ ์์์ง ์ ๋ง ๊ธฐ๋๋์ง ์๋์?
๋ค์ ์น์ ์์๋ ์ด ๊ฐ๋ ฅํ ๋๊ตฌ๋ฅผ ์ด์ฉํด ์ค์ ๋ก ์ ์ฑ์ฝ๋๋ฅผ ๋ถ์ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณผ ๊ฑฐ์์. ์ ๋ง ํฅ๋ฏธ์ง์งํ๊ฒ ์ฃ ? ๊ทธ๋ผ ๋ค์ ์น์ ์์ ๋ง๋์! ๐
๐ต๏ธโโ๏ธ Immunity Debugger๋ก ์ ์ฑ์ฝ๋ ํด๋ถํ๊ธฐ
์, ์ด์ ์ง์ง ์ฌ๋ฏธ์๋ ๋ถ๋ถ์ด ์์๋ฉ๋๋ค! Immunity Debugger๋ฅผ ์ด์ฉํด ์ค์ ์ ์ฑ์ฝ๋๋ฅผ ๋ถ์ํด๋ณผ ๊ฑฐ์์. ํฅ๋ฏธ์ง์งํ์ง ์๋์? ๋ง์น ํ์ ์ด ๋ ๊ฒ ๊ฐ์ ๊ธฐ๋ถ์ด ๋ค ๊ฑฐ์์! ๐ต๏ธโโ๏ธ
์ฃผ์! ์ค์ ์ ์ฑ์ฝ๋๋ฅผ ๋ค๋ฃฐ ๋๋ ํญ์ ์์ ํ ํ๊ฒฝ์์ ํด์ผ ํด์. ๊ฐ์๋จธ์ ์ ์ฌ์ฉํ๊ฑฐ๋, ๋คํธ์ํฌ์ ๋ถ๋ฆฌ๋ ํ๊ฒฝ์์ ์์ ํ๋ ๊ฒ์ด ์ข์์. ์์ ์ด ์ต์ฐ์ ์ด๋๊น์! ๐
๐ญ ์ ์ฑ์ฝ๋ ์ํ ์ค๋นํ๊ธฐ
์ค์ ์ ์ฑ์ฝ๋๋ฅผ ๋ถ์ํ๊ธฐ ์ ์, ๊ฐ๋จํ ์ ์ฑ์ฝ๋ ์ํ์ ๋ง๋ค์ด๋ณผ๊ฒ์. ์ด ์ํ์ ์ค์ ์ ์ฑ์ฝ๋์ฒ๋ผ ์ํํ์ง๋ ์์ง๋ง, ์ ์ฑ์ฝ๋์ ๊ธฐ๋ณธ์ ์ธ ๋์์ ํ๋ด ๋ด๊ณ ์์ด์.
์๋๋ ๊ฐ๋จํ C++ ์ฝ๋์์. ์ด ์ฝ๋๋ ํ์ผ์ ์์ฑํ๊ณ , ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์์ ํ๊ณ , ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ์๋ํ๋ ๋์์ ํฉ๋๋ค. ์ค์ ์ ์ฑ์ฝ๋๋ค์ด ์์ฃผ ํ๋ ํ๋๋ค์ด์ฃ !
#include <windows.h>
#include <fstream>
#include <winsock2.h>
int main() {
// ํ์ผ ์์ฑ
std::ofstream file("malicious.txt");
file << "This is a malicious file!";
file.close();
// ๋ ์ง์คํธ๋ฆฌ ์์
HKEY hKey;
RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey);
RegSetValueEx(hKey, "MaliciousProgram", 0, REG_SZ, (BYTE*)"C:\\malicious.exe", strlen("C:\\malicious.exe") + 1);
RegCloseKey(hKey);
// ๋คํธ์ํฌ ์ฐ๊ฒฐ ์๋
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2), &wsaData);
SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_port = htons(80);
sin.sin_addr.s_addr = inet_addr("123.456.789.0"); // ๊ฐ์ง IP ์ฃผ์
connect(sock, (sockaddr*)&sin, sizeof(sin));
closesocket(sock);
WSACleanup();
return 0;
}
์ด ์ฝ๋๋ฅผ ์ปดํ์ผํด์ ์คํ ํ์ผ๋ก ๋ง๋ค์ด์ฃผ์ธ์. ์ด์ ์ฐ๋ฆฌ์ "์ ์ฑ์ฝ๋" ์ํ์ด ์ค๋น๋์ด์!
๐ Immunity Debugger๋ก ์ ์ฑ์ฝ๋ ์ด๊ธฐ
์, ์ด์ ์ฐ๋ฆฌ์ "์ ์ฑ์ฝ๋"๋ฅผ Immunity Debugger๋ก ์ด์ด๋ณผ ๊ฑฐ์์. ์ค๋น๋๋์? ๊ณ ๊ณ ์ฝ~! ๐
- Immunity Debugger๋ฅผ ์คํํด์.
- File > Open ๋ฉ๋ด๋ฅผ ์ ํํ๊ณ ์ฐ๋ฆฌ๊ฐ ๋ง๋ ์คํ ํ์ผ์ ์ ํํด์.
- ํ์ผ์ด ๋ก๋๋๋ฉด Immunity Debugger๊ฐ ์๋์ผ๋ก ํ๋ก๊ทธ๋จ์ ์์ ์ง์ ์ ๋ฉ์ถ ๊ฑฐ์์.
์~ ๋ฒ์จ ๋ญ๊ฐ ๋๋จํ ๊ฑธ ํ๊ณ ์๋ ๊ฒ ๊ฐ์ง ์๋์? ใ ใ ใ
๐ต๏ธ ์ฝ๋ ๋ถ์ํ๊ธฐ
์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ฝ๋๋ฅผ ๋ถ์ํด๋ณผ ๊ฑฐ์์. ๋์ค์ด์ ๋ธ๋ฆฌ ์ฐฝ์ ๋ณด๋ฉด ์ด์ ๋ธ๋ฆฌ ์ฝ๋๊ฐ ๋ณด์ผ ๊ฑฐ์์. ์ฒ์ ๋ณด๋ฉด ์ธ๊ณ์ด ๊ฐ๊ฒ ์ง๋ง, ์ฒ์ฒํ ์ดํด๋ณด๋ฉด ์ดํดํ ์ ์์ ๊ฑฐ์์!
1. ํ์ผ ์์ฑ ๋ถ๋ถ ์ฐพ๊ธฐ
์ฐ๋ฆฌ ์ฝ๋์ ์ฒซ ๋ฒ์งธ ๋์์ ํ์ผ์ ์์ฑํ๋ ๊ฑฐ์์ฃ ? ์ด์ ๋ธ๋ฆฌ ์ฝ๋์์ ์ด ๋ถ๋ถ์ ์ฐพ์๋ณผ๊ฒ์.
push offset FileName ; "malicious.txt"
call ds:fopen
add esp, 8
mov [ebp+hFile], eax
์ด๋ฐ ์์ ์ฝ๋๋ฅผ ์ฐพ์ ์ ์์ ๊ฑฐ์์. `fopen` ํจ์๋ฅผ ํธ์ถํ๋ ๋ถ๋ถ์ด ํ์ผ์ ์์ฑํ๋ ๊ณณ์ด์์.
2. ๋ ์ง์คํธ๋ฆฌ ์์ ๋ถ๋ถ ์ฐพ๊ธฐ
๋ค์์ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์์ ํ๋ ๋ถ๋ถ์ด์์. ์ด ๋ถ๋ถ์ ์ข ๋ ๋ณต์กํ ์ ์์ด์.
push offset SubKey ; "Software\\Microsoft\\Windows\\CurrentVersion\\Run"
push HKEY_CURRENT_USER
call ds:RegOpenKeyExA
test eax, eax
jnz short loc_401234
์ด๋ฐ ์ฝ๋๋ฅผ ์ฐพ์ ์ ์์ ๊ฑฐ์์. `RegOpenKeyExA` ํจ์๋ฅผ ํธ์ถํ๋ ๋ถ๋ถ์ด ๋ ์ง์คํธ๋ฆฌ ํค๋ฅผ ์ฌ๋ ๊ณณ์ด์์.
3. ๋คํธ์ํฌ ์ฐ๊ฒฐ ์๋ ๋ถ๋ถ ์ฐพ๊ธฐ
๋ง์ง๋ง์ผ๋ก ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ์๋ํ๋ ๋ถ๋ถ์ ์ฐพ์๋ณผ๊ฒ์.
push 6 ; IPPROTO_TCP
push 1 ; SOCK_STREAM
push 2 ; AF_INET
call ds:socket
mov [ebp+sock], eax
์ด๋ฐ ์ฝ๋๋ฅผ ์ฐพ์ ์ ์์ ๊ฑฐ์์. `socket` ํจ์๋ฅผ ํธ์ถํ๋ ๋ถ๋ถ์ด ๋คํธ์ํฌ ์์ผ์ ์์ฑํ๋ ๊ณณ์ด์์.
๐ฏ ๋ธ๋ ์ดํฌํฌ์ธํธ ์ค์ ํ๊ธฐ
์ด์ ์ฐ๋ฆฌ๊ฐ ์ฐพ์ ์ค์ํ ๋ถ๋ถ๋ค์ ๋ธ๋ ์ดํฌํฌ์ธํธ๋ฅผ ์ค์ ํด๋ณผ๊ฒ์. ๋ธ๋ ์ดํฌํฌ์ธํธ๋ ํ๋ก๊ทธ๋จ์ ์คํ์ ํน์ ์ง์ ์์ ๋ฉ์ถ๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ์ด์์.
- ํ์ผ ์์ฑ ๋ถ๋ถ์์ `fopen` ํจ์ ํธ์ถ ์ง์ ์ ์ปค์๋ฅผ ๋๊ณ F2๋ฅผ ๋๋ฌ์.
- ๋ ์ง์คํธ๋ฆฌ ์์ ๋ถ๋ถ์์ `RegOpenKeyExA` ํจ์ ํธ์ถ ์ง์ ์ ์ปค์๋ฅผ ๋๊ณ F2๋ฅผ ๋๋ฌ์.
- ๋คํธ์ํฌ ์ฐ๊ฒฐ ๋ถ๋ถ์์ `socket` ํจ์ ํธ์ถ ์ง์ ์ ์ปค์๋ฅผ ๋๊ณ F2๋ฅผ ๋๋ฌ์.
๋ธ๋ ์ดํฌํฌ์ธํธ๋ฅผ ์ค์ ํ ์ค์ ํ๋์์ผ๋ก ๋ณํ ๊ฑฐ์์. ๋ฉ์ง์ฃ ? ๐
๐โโ๏ธ ํ๋ก๊ทธ๋จ ์คํํ๊ธฐ
์ด์ ๋ชจ๋ ์ค๋น๊ฐ ๋๋ฌ์ด์! ํ๋ก๊ทธ๋จ์ ์คํํด๋ณผ๊น์?
- F9 ํค๋ฅผ ๋๋ฌ ํ๋ก๊ทธ๋จ์ ์คํํด์.
- ํ๋ก๊ทธ๋จ์ด ์ฒซ ๋ฒ์งธ ๋ธ๋ ์ดํฌํฌ์ธํธ์์ ๋ฉ์ถ ๊ฑฐ์์.
- F7์ด๋ F8 ํค๋ฅผ ๋๋ฌ ํ ๋จ๊ณ์ฉ ์คํํด๋ณด์ธ์.
- ๊ฐ ๋จ๊ณ์์ ๋ ์ง์คํฐ ์ฐฝ๊ณผ ์คํ ์ฐฝ์ ๊ด์ฐฐํด๋ณด์ธ์. ๊ฐ๋ค์ด ์ด๋ป๊ฒ ๋ณํ๋์ง ๋ณผ ์ ์์ ๊ฑฐ์์.
์~ ์ ๋ง ๋๋จํ์ง ์๋์? ์ฐ๋ฆฌ๊ฐ ๋ฐฉ๊ธ ์ ์ฑ์ฝ๋์ ๋์์ ํ๋ํ๋ ๋ฐ๋ผ๊ฐ๋ฉด์ ๋ถ์ํ์ด์! ๐
๐ก ๊ฟํ!
์ค์ ์ ์ฑ์ฝ๋๋ ์ด๊ฒ๋ณด๋ค ํจ์ฌ ๋ณต์กํ๊ณ ๊ต๋ฌํ ๊ฑฐ์์. ์ํฐ ๋๋ฒ๊น ๊ธฐ์ ์ ์ฌ์ฉํ๊ฑฐ๋, ์ฝ๋๋ฅผ ๋๋ ํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ฃ . ํ์ง๋ง ๊ธฐ๋ณธ ์๋ฆฌ๋ ๊ฐ์์. ๊พธ์คํ ์ฐ์ตํ๋ฉด ์ค์ ์ ์ฑ์ฝ๋๋ ๋ถ์ํ ์ ์์ ๊ฑฐ์์!
์, ์ฌ๋ฌ๋ถ! ์ค๋ ์ฐ๋ฆฌ๋ Immunity Debugger๋ฅผ ์ฌ์ฉํด์ ์ ์ฑ์ฝ๋๋ฅผ ๋ถ์ํด๋ดค์ด์. ์ด๋ ์ จ๋์? ์ฒ์์๋ ์ด๋ ค์ ๋ณด์์ง๋ง, ํ๋์ฉ ๋ฐ๋ผ๊ฐ๋ค ๋ณด๋ ๊ทธ๋ ๊ฒ ์ด๋ ต์ง๋ง์ ์์์ฃ ?
์ด๋ฐ skills์ ์ ๋ง ๊ฐ์ง ์ฌ๋ฅ์ด ๋ ์ ์์ด์. ์ฌ๋ฅ๋ท๊ฐ์ ํ๋ซํผ์์ ์ด๋ฐ ๋ฅ๋ ฅ์ ๊ณต์ ํ๋ฉด ๋ง์ ์ฌ๋๋ค์๊ฒ ๋์์ด ๋ ์ ์์ ๊ฑฐ์์. ์ฌ๋ฌ๋ถ์ ์ง์์ด ๋๊ตฐ๊ฐ์๊ฒ๋ ๋ณด๋ฌผ์ด ๋ ์ ์๋ค๋ ๊ฑธ ์์ง ๋ง์ธ์! ๐
๋ค์ ์น์ ์์๋ ์ข ๋ ์ฌํ๋ ๊ธฐ์ ๋ค์ ์์๋ณผ ๊ฑฐ์์. ์ค๋น๋์ จ๋์? ๊ทธ๋ผ ๊ณ ๊ณ ! ๐
๐ฌ Immunity Debugger ์ฌํ ๊ธฐ์
์, ์ด์ ์ฐ๋ฆฌ๋ Immunity Debugger์ ๊ธฐ๋ณธ์ ๋ง์คํฐํ์ด์! ๐๐๐ ํ์ง๋ง ์ฌ๊ธฐ์ ๋ฉ์ถ๋ฉด ์ ๋๊ฒ ์ฃ ? ์ด์ ์ข ๋ ๊ณ ๊ธ ๊ธฐ์ ๋ค์ ์์๋ณผ ๊ฑฐ์์. ์ค๋น๋์ จ๋์? ์ฌํธํก ํ๋ฒ ํ๊ณ ... ๊ณ ๊ณ ์ฝ~! ๐
๐ง ๋ฉ๋ชจ๋ฆฌ ๋งต ๋ถ์ํ๊ธฐ
๋ฉ๋ชจ๋ฆฌ ๋งต์ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ณด์ฌ์ฃผ๋ ์ค์ํ ๋๊ตฌ์์. Immunity Debugger์์๋ View > Memory ๋ฉ๋ด๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ ๋งต์ ๋ณผ ์ ์์ด์.
๋ฉ๋ชจ๋ฆฌ ๋งต์์ ์ฐ๋ฆฌ๊ฐ ์ฃผ๋ชฉํด์ผ ํ ๋ถ๋ถ๋ค์:
- .text ์น์ : ์คํ ๊ฐ๋ฅํ ์ฝ๋๊ฐ ์ ์ฅ๋ ์์ญ
- .data ์น์ : ์ด๊ธฐํ๋ ์ ์ญ ๋ณ์๊ฐ ์ ์ฅ๋ ์์ญ
- .bss ์น์ : ์ด๊ธฐํ๋์ง ์์ ์ ์ญ ๋ณ์๊ฐ ์ ์ฅ๋ ์์ญ
- ํ(Heap): ๋์ ์ผ๋ก ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ
- ์คํ(Stack): ์ง์ญ ๋ณ์์ ํจ์ ํธ์ถ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ ์์ญ
์ ์ฑ์ฝ๋๋ ์ข ์ข ์ด๋ฐ ๋ฉ๋ชจ๋ฆฌ ์์ญ๋ค์ ๋น์ ์์ ์ผ๋ก ์ฌ์ฉํด์. ์๋ฅผ ๋ค์ด, .text ์น์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฑฐ๋, ํ์ ์คํ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ๋ฃ๋ ๋ฑ์ ํ๋์ ํ ์ ์์ฃ . ์ด๋ฐ ๋น์ ์์ ์ธ ํจํด์ ๋ฐ๊ฒฌํ๋ฉด ์ ์ฑ ํ์๋ฅผ ์์ฌํด๋ณผ ์ ์์ด์.
๐ API ํํน ํ์งํ๊ธฐ
API ํํน์ ์ ์ฑ์ฝ๋๊ฐ ์์ฃผ ์ฌ์ฉํ๋ ๊ธฐ์ ์ค ํ๋์์. ์์คํ API ํจ์์ ๋์์ ๊ฐ๋ก์ฑ์ ์์ ์ ์ฝ๋๋ฅผ ์คํํ๋ ๊ฑฐ์ฃ . Immunity Debugger์์๋ ์ด๋ฐ API ํํน์ ํ์งํ ์ ์์ด์.
- View > Executable modules ๋ฉ๋ด๋ฅผ ์ ํํด์.
- ์์ฌ๋๋ ๋ชจ๋์ ์ฐํด๋ฆญํ๊ณ "View code" ์ต์ ์ ์ ํํด์.
- ํจ์์ ์์ ๋ถ๋ถ์ ๋น์ ์์ ์ธ ์ ํ(JMP) ๋ช ๋ น์ด๊ฐ ์๋์ง ํ์ธํด์.
๋ง์ฝ API ํจ์์ ์์ ๋ถ๋ถ์ ๋ค๋ฅธ ์ฃผ์๋ก ์ ํํ๋ ๋ช ๋ น์ด๊ฐ ์๋ค๋ฉด, ์ด๋ API ํํน์ ์งํ์ผ ์ ์์ด์.
๐ธ๏ธ ๋คํธ์ํฌ ํ๋ ๋ชจ๋ํฐ๋ง
๋ง์ ์ ์ฑ์ฝ๋๋ค์ด ์ธ๋ถ ์๋ฒ์ ํต์ ์ ์๋ํด์. Immunity Debugger์์๋ ์ด๋ฐ ๋คํธ์ํฌ ํ๋์ ๋ชจ๋ํฐ๋งํ ์ ์์ด์.
- Debugging Options > Exceptions ๋ฉ๋ด์์ "Break on new thread" ์ต์ ์ ์ฒดํฌํด์.
- ํ๋ก๊ทธ๋จ์ ์คํํ๊ณ ๋คํธ์ํฌ ๊ด๋ จ API(์: connect, send, recv ๋ฑ)์ ๋ธ๋ ์ดํฌํฌ์ธํธ๋ฅผ ์ค์ ํด์.
- ํ๋ก๊ทธ๋จ์ด ์ด ํจ์๋ค์ ํธ์ถํ ๋ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋์ง ๊ด์ฐฐํด์.
์ด๋ ๊ฒ ํ๋ฉด ์ ์ฑ์ฝ๋๊ฐ ์ด๋ค ์๋ฒ์ ํต์ ํ๋์ง, ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋์ง ํ์ ํ ์ ์์ด์.
๐ ์ํธํ๋ ๋ฌธ์์ด ํด๋ ํ๊ธฐ
์ ์ฑ์ฝ๋๋ ์ข ์ข ์ค์ํ ๋ฌธ์์ด(์: C&C ์๋ฒ ์ฃผ์, ํ์ผ ์ด๋ฆ ๋ฑ)์ ์ํธํํด์ ์ ์ฅํด์. ์ด๋ฅผ ํด๋ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณผ๊น์?
- ์ํธํ๋ ๋ฌธ์์ด์ด ์ฌ์ฉ๋๋ ๋ถ๋ถ์ ๋ธ๋ ์ดํฌํฌ์ธํธ๋ฅผ ์ค์ ํด์.
- ํด๋น ๋ถ๋ถ๊น์ง ํ๋ก๊ทธ๋จ์ ์คํํด์.
- ์คํ์ด๋ ๋ ์ง์คํฐ์ ์๋ ์ํธํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ์ฅ์ ๋ณต์ฌํด์.
- ๋ณตํธํ ๋ฃจํด์ด ์คํ๋ ํ์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ฉ์ ๋ค์ ํ์ธํด์.
- ๋ ๊ฐ์ ๋น๊ตํด์ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ถํด๋ณด์ธ์.
์ด ๊ณผ์ ์ ํตํด ์ ์ฑ์ฝ๋๊ฐ ์ฌ์ฉํ๋ ์ํธํ ๋ฐฉ์์ ํ์ ํ๊ณ , ์จ๊ฒจ์ง ์ ๋ณด๋ฅผ ๋ฐ๊ฒฌํ ์ ์์ด์.
๐ก ๊ฟํ!
Immunity Debugger์ ํ์ด์ฌ ์คํฌ๋ฆฝํ ๊ธฐ๋ฅ์ ํ์ฉํ๋ฉด ์ด๋ฐ ๋ณต์กํ ๋ถ์ ๊ณผ์ ์ ์๋ํํ ์ ์์ด์. ์๋ฅผ ๋ค์ด, ํน์ API ํธ์ถ์ ๋ชจ๋ํฐ๋งํ๊ฑฐ๋, ๋ฉ๋ชจ๋ฆฌ ๋ณํ๋ฅผ ์ถ์ ํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ ์ ์์ฃ . ํ์ด์ฌ ์ค๋ ฅ์ ํค์ฐ๋ฉด ๋ถ์ ๋ฅ๋ ฅ์ด ํจ์ฌ ํฅ์๋ ๊ฑฐ์์!
๐ญ ์ํฐ ๋๋ฒ๊น ๊ธฐ์ ์ฐํํ๊ธฐ
๊ณ ๊ธ ์ ์ฑ์ฝ๋๋ ์ข ์ข ์ํฐ ๋๋ฒ๊น ๊ธฐ์ ์ ์ฌ์ฉํด์. ์ด๋ฅผ ์ฐํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณผ๊น์?
- IsDebuggerPresent ํจ์: ์ด ํจ์ ํธ์ถ ์งํ์ EAX ๋ ์ง์คํฐ ๊ฐ์ 0์ผ๋ก ์ค์ ํด์.
- ์๊ฐ ์ฒดํฌ: RDTSC ๋ช ๋ น์ด ์ฌ์ฉ ์ ํ์ ๋ธ๋ ์ดํฌํฌ์ธํธ๋ฅผ ์ค์ ํ๊ณ , ๊ฒฐ๊ณผ ๊ฐ์ ์กฐ์ํด์.
- ์์ธ ์ฒ๋ฆฌ: Debugging Options > Exceptions ๋ฉ๋ด์์ ๊ด๋ จ ์์ธ๋ฅผ ๋ฌด์ํ๋๋ก ์ค์ ํด์.
์ด๋ฐ ๊ธฐ์ ๋ค์ ํ์ฉํ๋ฉด ์ ์ฑ์ฝ๋์ ์ํฐ ๋๋ฒ๊น ๊ธฐ์ ์ ์ฐํํ๊ณ ๋ ๊น์ด ๋ถ์ํ ์ ์์ด์.
๐ ๋ง๋ฌด๋ฆฌ
์์ฐ! ์ ๋ง ๋๋จํด์. ์ฌ๋ฌ๋ถ์ ์ด์ Immunity Debugger์ ๊ณ ๊ธ ์ฌ์ฉ์๊ฐ ๋์์ด์. ๐๐๐ ์ด๋ฐ ๊ธฐ์ ๋ค์ ์ตํ๋ฉด ์ ๋ง ๋ณต์กํ ์ ์ฑ์ฝ๋๋ ๋ถ์ํ ์ ์์ ๊ฑฐ์์.
ํ์ง๋ง ๊ธฐ์ตํ์ธ์. ์ด๋ฐ ๋ฅ๋ ฅ์ ํฐ ์ฑ ์๊ฐ๋ ๋ฐ๋ฅด๋ ๋ฒ์ด์์. ํญ์ ์ค๋ฆฌ์ ์ผ๋ก, ๊ทธ๋ฆฌ๊ณ ํฉ๋ฒ์ ์ผ๋ก ์ฌ์ฉํด์ผ ํด์. ์ฌ๋ฌ๋ถ์ ๋ฅ๋ ฅ์ด ์ธ์์ ๋ ์์ ํ๊ฒ ๋ง๋๋ ๋ฐ ๊ธฐ์ฌํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋ผ์.
๊ทธ๋ฆฌ๊ณ ๋ ํ๋! ์ด๋ฐ ๊ณ ๊ธ ๊ธฐ์ ์ ์ตํ๋ค๊ณ ํด์ ๊ธฐ๋ณธ์ ์ํํ ํ๋ฉด ์ ๋ผ์. ๊ธฐ๋ณธ์ด ํผํผํด์ผ ์์ฉ๋ ์ํ ์ ์๋ ๋ฒ์ด์ฃ . ํญ์ ๊ธฐ๋ณธ์ ๋ค์ง๋ ๊ฒ๋ ์์ง ๋ง์ธ์.
์, ์ด์ ์ฌ๋ฌ๋ถ์ Immunity Debugger์ ์ง์ ํ ๋ง์คํฐ์์. ์ด ๋ฅ๋ ฅ์ผ๋ก ๋ฌด์์ ํ ์ ์์๊น์? ๋ณด์ ์ ๋ฌธ๊ฐ๋ก์์ ์ปค๋ฆฌ์ด๋ฅผ ์์๊ฐ ์๋ ์๊ณ , ์ฌ๋ฅ๋ท๊ฐ์ ํ๋ซํผ์์ ์ฌ๋ฌ๋ถ์ ์ง์์ ๊ณต์ ํ ์๋ ์์ด์. ์ฌ๋ฌ๋ถ์ ์ฌ๋ฅ์ด ์ธ์์ ๋ ์์ ํ๊ณ ์ข์ ๊ณณ์ผ๋ก ๋ง๋ค ์ ์๋ค๋ ๊ฑธ ์์ง ๋ง์ธ์!
์, ์ด์ ์ ๋ง ๋์ด์์. ์ฌ๋ฌ๋ถ์ Immunity Debugger ์ฌ์ ์ด ์ฌ๊ธฐ์ ๋๋๋ ๊ฒ ์๋๋ผ ์๋ก์ด ์์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋ผ์. ํญ์ ํธ๊ธฐ์ฌ์ ๊ฐ์ง๊ณ ์๋ก์ด ๊ฒ์ ๋ฐฐ์ฐ๋ ค๋ ์์ธ๋ฅผ ์์ง ๋ง์ธ์. ๊ทธ๊ฒ ๋ฐ๋ก ์ง์ ํ ํด์ปค์ ์ ์ ์ด๋๊น์! ๐
์ฌ๋ฌ๋ถ์ ์๋ ์ ํ์ด์ด ๊ฐ๋ํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ํ์ดํ ! ๐๐
- ์ง์์ธ์ ์ฒ - ์ง์ ์ฌ์ฐ๊ถ ๋ณดํธ ๊ณ ์ง
์ง์ ์ฌ์ฐ๊ถ ๋ณดํธ ๊ณ ์ง
- ์ ์๊ถ ๋ฐ ์์ ๊ถ: ๋ณธ ์ปจํ ์ธ ๋ ์ฌ๋ฅ๋ท์ ๋ ์ AI ๊ธฐ์ ๋ก ์์ฑ๋์์ผ๋ฉฐ, ๋ํ๋ฏผ๊ตญ ์ ์๊ถ๋ฒ ๋ฐ ๊ตญ์ ์ ์๊ถ ํ์ฝ์ ์ํด ๋ณดํธ๋ฉ๋๋ค.
- AI ์์ฑ ์ปจํ ์ธ ์ ๋ฒ์ ์ง์: ๋ณธ AI ์์ฑ ์ปจํ ์ธ ๋ ์ฌ๋ฅ๋ท์ ์ง์ ์ฐฝ์๋ฌผ๋ก ์ธ์ ๋๋ฉฐ, ๊ด๋ จ ๋ฒ๊ท์ ๋ฐ๋ผ ์ ์๊ถ ๋ณดํธ๋ฅผ ๋ฐ์ต๋๋ค.
- ์ฌ์ฉ ์ ํ: ์ฌ๋ฅ๋ท์ ๋ช ์์ ์๋ฉด ๋์ ์์ด ๋ณธ ์ปจํ ์ธ ๋ฅผ ๋ณต์ , ์์ , ๋ฐฐํฌ, ๋๋ ์์ ์ ์ผ๋ก ํ์ฉํ๋ ํ์๋ ์๊ฒฉํ ๊ธ์ง๋ฉ๋๋ค.
- ๋ฐ์ดํฐ ์์ง ๊ธ์ง: ๋ณธ ์ปจํ ์ธ ์ ๋ํ ๋ฌด๋จ ์คํฌ๋ํ, ํฌ๋กค๋ง, ๋ฐ ์๋ํ๋ ๋ฐ์ดํฐ ์์ง์ ๋ฒ์ ์ ์ฌ์ ๋์์ด ๋ฉ๋๋ค.
- AI ํ์ต ์ ํ: ์ฌ๋ฅ๋ท์ AI ์์ฑ ์ปจํ ์ธ ๋ฅผ ํ AI ๋ชจ๋ธ ํ์ต์ ๋ฌด๋จ ์ฌ์ฉํ๋ ํ์๋ ๊ธ์ง๋๋ฉฐ, ์ด๋ ์ง์ ์ฌ์ฐ๊ถ ์นจํด๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
์ฌ๋ฅ๋ท์ ์ต์ AI ๊ธฐ์ ๊ณผ ๋ฒ๋ฅ ์ ๊ธฐ๋ฐํ์ฌ ์์ฌ์ ์ง์ ์ฌ์ฐ๊ถ์ ์ ๊ทน์ ์ผ๋ก ๋ณดํธํ๋ฉฐ,
๋ฌด๋จ ์ฌ์ฉ ๋ฐ ์นจํด ํ์์ ๋ํด ๋ฒ์ ๋์์ ํ ๊ถ๋ฆฌ๋ฅผ ๋ณด์ ํฉ๋๋ค.
ยฉ 2025 ์ฌ๋ฅ๋ท | All rights reserved.
๋๊ธ 0๊ฐ