악성코드 분석/이론

[윈도우즈보안과 악성코드기초] 기초정적분석 2

レ(゚∀゚)ヘ=3 2021. 4. 8. 22:33
728x90

기초 정적분석 part02

 

PE 파일헤더와 섹션

 

.text 
: CPU가 실행하는 명령어인 실행 가능한 코드 포함 
대부분의 코딩과 관련된 명령어가 포함

 

.rdata 
: 임포트와 익스포트 정보 포함, 읽기 전용 데이터 저장 
: .idata, .edata 포함 : 임포트, 익스포트 정보 저장
외부 dll 파일, api 함수들에 대한 정보 포함

 

더보기

 

.rdata

  • .idata : 존재 시 임포트 함수 정보를 저장하고 있으며, 존재하지 않는다면 .rdata 섹션 내의 임포트 함수 정보에 저장됨
  • .edata : 존재 시 익스포트 함수 정보를 저장하고 있으며, 존재하지 않는다면 .rdata 섹션 내의 익스포트 함수 정보에 저장됨
  • .pdata : 64비트 실행 파일에만 존재하며, 예외 처리 정보를 저장함

 

 

 

 .data 
: 프로그램의 전역데이터 저장
문자열 저장, 변수의 저장 시 정보 저장
글로벌 변수들, 정적 변수들, String에 대한 정보 저장됨

 

 .rsrc
: 아이콘, 이미지, 메뉴, 문자열 등 실행파일에서 사용하는 리소스
주로 window 용이 포함됨

 

.reloc
: 라이브러리 파일 재배치 정보를 담고 있음

 

PE 헤더 내 정보

 

필드 정보
Imports 악성코드가 사용하는 외부로부터 가져오는 다른 라이브러리
Exports 다른 프로그램이나 라이브러리가 호출할 수 있는 악성코드 내의 함수
Time Date Stamp 프로그램이 컴파일 된 시간 ( 생성된 시간 )
Sections 파일 내의 섹션명과 디스크와 메모리 크기
Subsystem 프로그램이 커맨드라인 기반 ( CUI ) 인지 GUI 기반인지
Resources 파일 내에 포함된 문자열, 아이콘, 메뉴, 기타 정보

 

 

PE 정보들을 확인할 수 있는 프로그램

 

  • PeView ( IMAGE_FILE_HEADER ) : PEfile의 형태와 관련된 헤더 정보들을 보기 쉽게 보여주는 것 
  • PEBroswer : 스트링 정보를 가져올 수 있음
  • PE Explorer : 탭을 이용해서 중요한 정보를 비쥬얼 좋게 보여줌
  • Resource Hacker : 일반 바이너리 파일 ( exe 파일 ) 이 가지고 있는 resource 만 보여주는 프로그램
    -> 윈도우에서 직접적으로 접속하는 API 함수에 들어가는 파라미터, 자원에 관련된 것들을 보여줌

 

 

 

 

'악성코드 분석 > 이론' 카테고리의 다른 글

[윈도우즈보안과 악성코드기초] PE 파일  (0) 2021.03.28