WEBVTT

00:00.990 --> 00:02.410
안녕하세요, 다시 오신 것을 환영합니다.

00:02.430 --> 00:07.200
이 강의에서는 멀웨어에 사용되는 몇 가지 일반적인 API를 살펴보겠습니다.

00:09.300 --> 00:16.470
따라서 네트워킹, 지속성, 암호화 및 분석 방지, 스텔스 실행, 기타를

00:16.470 --> 00:19.830
주제로 살펴볼 것입니다.

00:20.730 --> 00:22.320
첫째, 네트워킹입니다.

00:22.800 --> 00:25.440
네트워킹은 몇 가지 유형으로 구성됩니다.

00:25.440 --> 00:33.120
원시 소켓이 있을 수 있으며, 서버 측에는 바인드 API, 수신 및 수락이 있습니다.

00:33.480 --> 00:38.730
클라이언트 측에는 연결, 읽기 및 수신, 쓰기 및 종료가 있습니다.

00:39.480 --> 00:48.120
다른 한편으로는 항상 시작 시 생성해야 하는 Windows API 소켓을 사용하여 소켓을 초기화할

00:48.120 --> 00:50.070
수도 있습니다.

00:50.430 --> 00:56.240
서버 측에서는 바인드, 수신, 수락, 클라이언트 측에서는 연결,

00:56.250 --> 01:04.320
전송, 수신, 마지막으로 생성된 소켓을 닫고 폐기하는 클린업이 항상 있습니다.

01:05.340 --> 01:06.510
지속성을 위해 레지스트리

01:06.510 --> 01:14.080
지속성(예: API RegCreateKey, RegOpenKey, RegSetValue, RegDeleteKey,

01:14.110 --> 01:17.380
RegGetValue)이 있습니다.

01:17.380 --> 01:20.050
파일 지속성의 경우 GetTempPath,

01:20.080 --> 01:26.980
CopyFile, CreateFile, WriteFile, ReadFile 및 서비스 지속성이 있습니다.

01:26.980 --> 01:31.540
OpenSCManager, CreateService, StartService, StartServiceCtrlDispatcher가 있습니다.

01:32.410 --> 01:34.290
다음으로 암호화가 있습니다.

01:34.300 --> 01:43.900
Windows를 사용하는 암호화 API: CryptAcquireContext API, CryptGenKey, CryptDestroyKey, CryptDeriveKey,

01:43.930 --> 01:49.420
CryptEncrypt, CryptDecrypt, CryptReleaseContext.

01:50.140 --> 01:52.600
그리고 안티 분석도 있습니다.

01:53.170 --> 02:01.450
예를 들어, 가상 머신을 감지할 수 있는 IsDebuggerPresent, GetSystemInfo, GlobalMemoryStatus,

02:01.450 --> 02:06.910
GetVersion 및 일부 어셈블리 명령어 CPUID 및 RDTSC가 있습니다.

02:08.670 --> 02:14.790
그런 다음 스텔스 API(예: VirtualAlloc, VirtualProtect, ReadProcessMemory, WriteProcessMemory,

02:14.790 --> 02:18.390
CreateRemoteThread 및 UnmapViewOfSection)가 있습니다.

02:18.390 --> 02:23.610
그리고 다른 프로세스에 주입하는 데 사용됩니다.

02:25.900 --> 02:28.960
그런 다음 실행 측면에는 CreateProcess, ShellExecute,

02:28.960 --> 02:31.210
WinExec, ResumeThread가 있습니다.

02:33.110 --> 02:34.790
기타 API도 있습니다.

02:34.820 --> 02:42.260
예를 들어, 키로거에서 사용되는 GetAsyncKeyState 및 SetWindowsHook과 키로거가 키로깅

02:42.260 --> 02:48.650
활동을 수행하는 창을 식별하는 데 사용되는 GetForegroundWindow가 있습니다.

02:49.070 --> 02:53.240
또한 외부 라이브러리를 로드하기 위한 LoadLibrary와 GetProcAddress도 있습니다.

02:54.120 --> 02:55.190
그런 다음 CreateToolhelp32스냅샷은

02:55.200 --> 03:00.180
운영 체제에서 실행 중인 모든 프로세스를 나열합니다.

03:00.450 --> 03:08.970
또한 이러한 원격 액세스 도구에서 화면 캡처에 사용되는 GetDC 및 BitBlt와 InternetOpen, InternetOpenUrl, InternetReadFile,

03:08.970 --> 03:12.640
InternetWriteFile도 있습니다.

03:12.660 --> 03:16.380
이 모든 것은 일반적으로 원격 액세스 도구에서 사용됩니다.

03:17.840 --> 03:24.020
따라서 멀웨어 분석을 수행할 때 항상 찾는 일반적인 API입니다.

03:24.260 --> 03:25.620
이 영상은 여기까지입니다.

03:25.640 --> 03:27.110
시청해 주셔서 감사합니다.
