리버싱(Reversing)9 [악성코드 분석]#3 동적 분석 - part(1/2) 이 글의 모든 내용은 책 '악성코드 분석 시작하기'를 스스로 공부하며 정리한 내용임을 밝힙니다. 동적 분석의 개요 및 분석 도구 1. 동적 분석 동적 분석은 의심 바이너리를 직접 실행하고, 이로부터 얻은 데이터를 기반으로 실행 파일을 분석하는 행위를 말한다. 이를 위해 분석 환경 구축 시, [악성코드 분석]#1 Lab 환경 구축하기를 참고하면 된다. 간단하게 설명하자면, 호스트 PC(내 실제 컴퓨터) 위에 VMware를 활용해 가상 머신 Windows 10, Ubuntu 16.04 를 구축하였다. 2. 활용 도구(Tool) 동적 분석을 진행 시 주요 모니터링 대상은 다음과 같다. ● 프로세스: 프로세스 활동을 모니터링하고 악성코드가 실행되는 동안 생성한 결과 확인 ● 파일 시스템: 악성코드가 특정 파일을.. 2023. 6. 20. [악성코드 분석] PE 파일의 구조 - part(1/4) 이 글의 모든 내용은 책 '리버싱 핵심원리'를 스스로 공부하며 정리한 내용임을 밝힙니다. PE 파일 PE는 Portable Executable의 약자로 UNIX 기반의 파일 형식인 COFF(Common Object File Format)를 기반으로 다른 OS에서의 이식성을 뛰어나도록(Portable) 설계된 실행파일(Executable)이다. 그러나 실제로 Windows에서만 대부분 사용되고 있다. PE는 32비트 형태의 실행 파일이며, PE+ 또는 PE32+가 64비트 형태의 실행 파일을 의미한다. PE 파일 구조에 대한 포스팅을 진행하면서, 구체적인 데이터를 확인하기 위해 평소에 많이 사용하는 cmd를 분석할 것이다. 아래는 cmd.exe 파일의 데이터를 notepad++을 활용해 헥사값으로 확인한 .. 2023. 6. 18. [악성코드 분석]#2 정적 분석 - part(2/2) 이 글의 모든 내용은 책 '악성코드 분석 시작하기'를 스스로 공부하며 정리한 내용임을 밝힙니다. 악성코드 분류 - 퍼지 해싱 파일 해시는 바이너리끼리의 일치 여부를 확인하는 용도로 사용 되었다면, 퍼지 해싱은 파일의 유사도를 확인하는 방법이다. 파일 해시는 샘플의 유사도를 확인할 수 없다. 이에 퍼지 해싱을 사용한다면 바이너리의 유사도를 확인하고, 식별하는 데 도움이 된다. test_packed.exe는 test.exe 파일을 패킹한 파일이다. 패킹된 파일은 압축된 파일이므로 당연히 원본 파일과 유사성을 지닐 것이고, 실제 결과도 93%의 유사성을 지닌다고 출력되었다. 악성코드 분류 - 임포트,섹션 해시 1. 임포트 해시 임포트 해시는 실행 파일에 있는 라이브러리/임포트 함수명을 바탕으로 해시값을 계산하.. 2023. 6. 15. [악성코드 분석]#2 정적 분석 - part(1/2) 이 글의 모든 내용은 책 '악성코드 분석 시작하기'를 스스로 공부하며 정리한 내용임을 밝힙니다. 파일 유형 파악 Windows 실행 파일(PE 파일)은 파일의 첫 바이트에 MZ 또는 헥사 문자 4D 5A라는 파일 시그니처를 가진다. 1. 수작업을 통한 파일 유형 식별 notepad++을 활용하여 파일의 헥사 데이터를 볼 수 있다. notepad++ 내 Hex-editor 플러그인 설치가 필요하다. 리눅스의 xxd 명령어를 활용하면 파일의 헥사 덤프를 생성할 수 있다. 2. 도구를 활용한 파일 유형 식별 리눅스의 file 명령어를 통해서도 파일의 구조를 분석할 수 있다. PE32: 32비트 실행파일 PE32+: 64비트 실행파일 Windows 프로그램중 CFF Explorer을 활용하여 파일을 분석할 수 .. 2023. 6. 14. 이전 1 2 3 다음