본문 바로가기

기본 - 악성 코드 분석9

파일 사용 API CreateFile 파일 생성 및 핸들 값 획득 ReadFile 파일 읽기 DeleteFileA 파일 삭제 CopyFileA 파일 복사 MoveFile 파일 이동 WriteFile 파일 쓰기 OpenFile 파일 열기(핸들 값 얻기) FindFirstFile/FindNextFile 디렉토리를 통해 검색하고 파일 시스템을 나열하는 데 사용 GetWindowsDirectory 윈도우 디렉토리의 파일 경로를 반환 GetTempPath 임시 파일 경로를 반환 NtQuertDirectoryFile 디렉토리에서 파일 관련 정보를 반환한다. 루트킷이 주로 파일을 숨길 용도로 많이 사용 SetFileTime 파일의 생성, 접근, 최근 수정 시간을 변경 SfcTerminateWatcherThread 윈도우 파일 보호를 .. 2020. 10. 14.
악성코드 분석할 때 포인트? 간단하게 자신만의 기준을 정해두는 것도 좋은 것 같다. 필자는 동적 분석에 6하원칙으로 간단하게 볼 때 사용하려고 노력한다. 6하원칙 언제 언제 어떤 행위를 하는 가. (타임라인 파악) 누가 누가 사용되는 가. (유틸리티, 사용되는 프로그램) 무엇 무엇을 이용하는 가. (시스템적 관점?, API, 네트워크, 레지스트리, 서비스, 인젝션 등) 어디서 어디서 동작(사용)하는 가. (유저단, 커널단, 서비스, 일반 프로세스, 무엇에서 좀 더 세부적인 느낌) 어떻게 어떻게 동작하는 가. (동작 과정) 왜 왜 이렇게 동작하는가. (동작 원리) 디테일을 추가하고자 한다면 어떻게와 왜를 집중적으로 분석해야 한다. 그냥. 그렇다고 2020. 10. 13.
일단 들이 박고 나중에 정리한다! Accept 들어오는 연결을 리스닝할 때 사용한다. 수신연결을 리스닝하고 있다는 뜻 AdjustTokenPrivileges 특정 권한을 활성화하거나 비활성화할 때 사용한다. 프로세스 인젝션을 행하는 악성코드는 종종 추가 권한을 얻기 위해 이 함수를 호출한다. AttachThreadInput 두 번째 스레드가 키보드나 마우스 같은 입력 이벤트를 수신할 수 있게 하나의 스레드가 다른 스레드의 입력을 처리할 때 사용한다. 키로거나 스파이웨어가 사용 bind 들어오는 연결을 리스닝할 목적으로 로컬 주소에 연관 지을 때 사용 Bitblt 한 장치에서 다른 장치로 그래픽 데이터를 복사할 때 사용 화면을 캡처하는데 사용하기도 함 CallNextHookEx SetWindowsHookEx가 설정한 이벤트를 후킹하는 코드.. 2020. 10. 13.
Office Macro 분석 공통점 Office Macro를 이용한 공격들을 보면 대부분 코드들이 난독화가 되어 있거나, 쓸대 없는 쓰래기들로 가득 가득하다. 그래도 자체적으로 한줄씩 실행을 시켜서 끝까지 보고 어디서 실행되는지 확인하자. 변수의 내용을 확인하고자 한다면 Debug.Print 변수를 활용하거나 옵션들을 잘 찾아보면 변수들의 내용이 아주 친절하게 보인다. 2020. 10. 13.