반응형

* SamIGetPrivateData

 보안 계정 관리자 데이터베이스에서 특정 사용자에 관한 개별 정보를 질의한다. 해시를 덤프하는 프로그램은 사용자의 로그인 패스워드 해시를 수집할 용도로 SAM 데이터베이스에 접근한다.


* SamQueryInfomationUse

 보안 계정 관리자 데이터베이스에서 특정 사용자에 관한 개별 정보를 질의한다. 해시를 덤프하는 프로그램은 사용자의 로그인 패스워드 해시를 수집할 용도로 SAM 데이터베이스에 접근한다.


* send

 원격 시스템에 데이터를 전송한다. 악성코드는 이 함수를 이용해 원격 명령 제어 서버로 데이터를 전송한다.


* SetFileTime

 파일의 생성, 접근, 최근 수정 시간을 변경한다. 악성코드는 종종 이 함수를 이용해 악의적인 행위를 숨기려 한다.


* SetThreadContext

 주어진 스레드 문맥을 수정할 때 사용한다. 일부 인젝션 기법은 SetThreadContext를 사용한다.


* SetWindowsHookEx

 특정 이벤트를 호출할 때 매번 호출하는 후킹 함수를 설정한다. 주로 키로거나 스파이웨어가 사용하며, 이 함수는 DLL을 시스템상의 모든 프로세스로 로드하는 쉬운 방법을 제공한다. 이 함수는 때로 컴파일러가 추가한다.


* SfcTerminateWatcherThread

 윈도우 파일 보호를 비활성화하고 보호돼야 할 파일을 수정하는 데 이용한다. SfcFileException도 이 기능에 사용할 수 있다.


* ShellExecute

 다른 프로그램을 실행할 때 사용한다. 악성코드가 신규 프로세스를 생성하면 새로운 프로세스도 역시 분석할 필요가 있다.


* StartServiceCtrlDispatcher

 프로세스의 main 스레드를 서비스 제어 관리자로 연결하는 서비스에 의해 사용한다. 서비스로서 동작하는 임의의 프로세스는 이 함수를 시작한지 30초 이내에 호출해야만 한다. 악성코드에서 이 함수가 존재한다면 함수는 서비스로 동작할 것이다.


* SuspendThread

 실행 중지를 위해 스레드를 중단한다. 악성코드는 때때로 스레드를 중단해 코드 인젝션을 수행한다.


* system

 일부 C 런타임 라이브러리에서 제공하는 다른 프로그램을 실행시키는 함수다. 윈도우에서 이 함수는 CreateProcess의 래퍼 함수(wrapper function)를 제공한다.


* Thread32First/Thread32Next

 프로세스 스레드를 통해 반복할 때 사용한다. 주입기는 이 함수를 이용해 인젝션할 적절한 스레드를 찾아낸다.


* Toolhelp32ReadProcessMemory

 원격 프로세스 메모리를 읽을 때 사용한다.


* URLDownloadToFile

 웹 서버에서 파일을 다운로드하고 디스크에 저장하는 상위 수준의 호출이다. 이 함수는 모든 종류의 다운로더 기능을 하나의 함수 호출에서 구현했기 때문에 대중적인 다운로더다.


* VirtualAllocEx

 원격 프로세스에서 메모리를 할당할 수 있는 메모리 할당 루틴이다. 악성코드는 때때로 VirtualAllocEx를 프로세스 인젝션의 일부로 사용한다.


* VirtualProtectEx

 메모리 지역 보호를 변경한다. 악성코드는 이 함수를 이용해 메모리 읽기 전용 섹션을 실행 가능하게 변경한다.


* WideCharToMultiByte

 유니코드 문자열을 ASCII 문자열로 변환할 때 사용한다.


* WinExec

 다른 프로그램을 실행할 때 사용한다. 악성코드가 신규 프로세스를 생성하면 새로운 프로세스도 역시 분석할 필요가 있다.


* WlxLoggedOnSAS(그리고 기타 Wlx* 함수)

 인증 모듈 행위를 하는 DLL이 익스포트해야만 하는 함수다. Wlx* 함수를 익스포트하는 악성코드는 그래픽 식별과 인증(GINA, Graphical Identification and Authentication)교체를 수행할 수도 있다.


* Wow64DisableWow64FsRedirection

 64비트 운영체제에서 32비트 파일을 로드할 때 발생하는 파일 리다이렉션을 비활성화한다.

32비트 애플리케이션이 이 함수를 호출한 이후 C:\Windows\System32로 쓰려하면 C:\Windows\SysWOW64로 리다이렉션하는 대신 실제 C:\Windows\System32로 쓰게 된다.


* WriteProcessMemory

 원격 프로세스로 데이터를 작성할 때 사용한다. 악성코드는 WriteProcessMomory를 프로세스 인젝션의 일부로 이용한다.


* WSAStartup

 하위 수준의 네트워크 기능을 초기화할 때 사용한다. 네트워크 관련 기능의 시작점을 알아내는 쉬운 방법으로 WSAStartup 호출 검색을 사용한다.



반응형

+ Recent posts