안녕하세요, 다시 오신 것을 환영합니다.
이 강의에서는 멀웨어에 사용되는 몇 가지 일반적인 API를 살펴보겠습니다.
따라서 네트워킹, 지속성, 암호화 및 분석 방지, 스텔스 실행, 기타를
주제로 살펴볼 것입니다.
첫째, 네트워킹입니다.
네트워킹은 몇 가지 유형으로 구성됩니다.
원시 소켓이 있을 수 있으며, 서버 측에는 바인드 API, 수신 및 수락이 있습니다.
클라이언트 측에는 연결, 읽기 및 수신, 쓰기 및 종료가 있습니다.
다른 한편으로는 항상 시작 시 생성해야 하는 Windows API 소켓을 사용하여 소켓을 초기화할
수도 있습니다.
서버 측에서는 바인드, 수신, 수락, 클라이언트 측에서는 연결,
전송, 수신, 마지막으로 생성된 소켓을 닫고 폐기하는 클린업이 항상 있습니다.
지속성을 위해 레지스트리
지속성(예: API RegCreateKey, RegOpenKey, RegSetValue, RegDeleteKey,
RegGetValue)이 있습니다.
파일 지속성의 경우 GetTempPath,
CopyFile, CreateFile, WriteFile, ReadFile 및 서비스 지속성이 있습니다.
OpenSCManager, CreateService, StartService, StartServiceCtrlDispatcher가 있습니다.
다음으로 암호화가 있습니다.
Windows를 사용하는 암호화 API: CryptAcquireContext API, CryptGenKey, CryptDestroyKey, CryptDeriveKey,
CryptEncrypt, CryptDecrypt, CryptReleaseContext.
그리고 안티 분석도 있습니다.
예를 들어, 가상 머신을 감지할 수 있는 IsDebuggerPresent, GetSystemInfo, GlobalMemoryStatus,
GetVersion 및 일부 어셈블리 명령어 CPUID 및 RDTSC가 있습니다.
그런 다음 스텔스 API(예: VirtualAlloc, VirtualProtect, ReadProcessMemory, WriteProcessMemory,
CreateRemoteThread 및 UnmapViewOfSection)가 있습니다.
그리고 다른 프로세스에 주입하는 데 사용됩니다.
그런 다음 실행 측면에는 CreateProcess, ShellExecute,
WinExec, ResumeThread가 있습니다.
기타 API도 있습니다.
예를 들어, 키로거에서 사용되는 GetAsyncKeyState 및 SetWindowsHook과 키로거가 키로깅
활동을 수행하는 창을 식별하는 데 사용되는 GetForegroundWindow가 있습니다.
또한 외부 라이브러리를 로드하기 위한 LoadLibrary와 GetProcAddress도 있습니다.
그런 다음 CreateToolhelp32스냅샷은
운영 체제에서 실행 중인 모든 프로세스를 나열합니다.
또한 이러한 원격 액세스 도구에서 화면 캡처에 사용되는 GetDC 및 BitBlt와 InternetOpen, InternetOpenUrl, InternetReadFile,
InternetWriteFile도 있습니다.
이 모든 것은 일반적으로 원격 액세스 도구에서 사용됩니다.
따라서 멀웨어 분석을 수행할 때 항상 찾는 일반적인 API입니다.
이 영상은 여기까지입니다.
시청해 주셔서 감사합니다.