반응형

* NtSetInfomationProcess

 프로그램 권한 수준을 변경하거나 데이터 실행 방지(DEP)를 우회할 때 사용한다.


* OleInitialize

 COM 라이브러리를 초기화할 때 사용한다. COM 객체를 사용하는 프로그램은 다른 COM 함수를 호출하기 이전 OleInitialize를 호출해야만 한다.


* OpenMutex

 악성코드가 시스템에서 특정 시간에 하나의 인스턴스만 실행하게 보장하는 상호 배제 객체 핸들을 오픈한다. 악성코드는 뮤텍스명을 고정하는 경우가 많으므로 좋은 호스트 기반 감염 흔적이 될 수 있다.


* OpenProcess

 시스템 동작 중인 다른 프로세스 핸들을 오픈한다. 이 핸들은 다른 프로세스 메모리로 읽고 쓰거나 다른 프로세스로 코드로 주입할 때 사용한다.


* OpenSCManager

 서비스 제어 관리자 핸들을 오픈한다. 서비스를 설치, 수정, 제어하는 임의의 프로그램은 다른 서비스 조작 함수 이전에 반드시 이 함수를 호출해야만 한다.


* OutputDebugString

 디버거에 붙으면(attach) 문자를 출력한다. 이는 안티디버깅 기법으로 사용할 수 있다.


* PeekNamePipe

 파이프에서 데이터를 삭제하지 않고 명명한 파이프에서 데이터를 복제할 때 사용한다.

이 함수는 리버스 셸에 자주 사용한다.


* Process32First/Process32Next

 CreateToolhelp32Snapshot 이전 호출에서 프로세스를 수집하기 시작할 때 사용한다.

악성코드는 인젝션할 프로세스를 검색할 때 프로새스를 검색한다.


* QueryPerformanceCounter

 하드웨어 기반 성능 카운터 값을 검색할 때 사용한다. 이 함수는 때때로 안티디버깅 기법의 일부로 시간 정보를 입수할 때 사용한다. 컴파일러가 종종 추가해 많은 실행 파일에서 포함하고 있으므로 이 함수를 임포트했다는 사실 자체가 제공하는 정보는 거의 없다.


* QueueUserAPC

 다른 스레드에서 코드를 실행할 때 사용한다. 악성코드는 QueueUserAPC를 이용해 다른 프로세스에 코드를 주입한다.


* ReadProcessMemory

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


* recv

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


* RegisterHotKey

 사용자가 특정 키 조합(CTRL-ALT-J)을 입력할 시점을 알려주는 핸들러를 등록할 때 사용한다. 이 함수는 사용자가 키 조합을 입력할 때 활성화된 윈도우와 관계 없다. 이 함수는 때때로 스파이웨어가 특정 키 조합을 입력할 때까지 은폐할 때 사용한다.


* RegOpenKey

 레지스트리 키를 읽고 편집하는 핸들을 오픈한다. 레지스트리 키는 때때로 소프트웨어가 호스트에 기록할 때 쓰기도 한다. 레지스트리는 운영체제 전체와 애플리케이션 설정 정보를 갖고 있다.


* ResumeThread

 이전에 중단한 스레드를 제거한다. ResumeThread는 인젝션 기법의 일부로 사용한다.


* RtlCreateRegistryKey

 커널 모드 코드에서 레지스트리를 생성할 때 사용한다.


* RtlWriteRegistryValue

 커널 모드 코드에서 레지스트리를 작성할 때 사용한다.


* SamIConnect

 계정 정보에 접근하는 호출을 위해 보안 계정 관리자(SAM, Security Account Manager)에 접속한다. 해시를 덤프하는 프로그램은 사용자의 로그인 패스워드 해시를 수집할 용도로 SAM 데이터베이스에 접근한다.



반응형

+ Recent posts