본문 바로가기
IT Tools

악성코드 기초 분석 툴 종류 및 사용법

by 떠도리c 2024. 8. 26.
반응형

정적 분석

 
PEid
  • 파일의 패커와 컴파일러 분석
PEview
  • 파일의 헤더, 섹션 등 파일 내부 정보 분석
실행 영역
설명
.text
실행 코드를 담고 있음
IAT(Import Address Table) 정보를 포함한다.
.rdata
문자열과 상수 등을 담고 있는 영역으로 읽기 전용이다.
.data
전역 변수와 Static 변수의 할당을 위해 존재하는 영역이다.
읽기와 쓰기가 가능하다.
.idata
존재 시 임포트 함수 정보를 저장하고 있으며, 존재하지 않는다면 .rdata 섹션 내의
임포트 함수 정보에 저장됨
.edata
존재 시 익스포트 함수 정보를 저장하고 있으며, 존재하지 않는다면 .rdata 섹션 내의
익스포트 함수 정보에 저장됨
.pdata
64비트 실행 파일에만 존재하며, 예외 처리 정보를 저장함
.rsrc
실행 파일에 필요한 리소스를 저장함
아이콘, 커서 등의 리소스 관련 데이터들을 담고 있는 영역
.reloc
라이브러리 파일 재배치 정보를 담고 있음

 

동적 분석

동적 분석은 난독화나 패킹됐을 경우 또는 정적 분석이 한계에 이르렀을 때 수행 도움이 됨

동적 분석은 행위에 대한 내용이 직관적으로 보이기 때문에 분석시간 단축 및 행위를 육안으로 볼 수 있음

  1. DLL 파일 실행 방법
    • PE Header 변조와 확장자를 변경해 실행 파일로 바꿀 수 있다.
      1. PE 헤더의 IMAGE_FILE_HEADER 안에 Characteristics 필드의 IMAGE_FILE_DLL 플래그를 삭제한다.
      2. 이렇게 변경하면 임포트 함수는 동작시킬 수 없지만 DLLMain 메소드 실행하며, 악성코드가 정지하거나 비정상 종료가 될 수도 있다.
  2. ProcMon
    • 프로세스 모니터 또는 레지스트리, 파일 시스템, 네트워크 등 프로세스와 스레드 행위를 모니터링 할 수 있다.
    • 수많은  이벤트가 발생하기에 적절한 필터링으로 적용하여 효과적으로 사용해야 한다.
  3. Process Explorer
    •  프로세스 종료 또는 프로세스 실행할 수도 있다.
    • 활성화된 프로세스, 프로세스가 로딩한 DLL 등 다양한 프로세스 특성과 전반적인 시스템 정보를 볼 수 있다.
    • 프로세스를 모니터링하고 부모 자식 관계를 트리 구조로 화면에 출력한다. 
    •  
    • 기본적으로 서비스는 분혹색, 프로세스는 파란색, 새로운 프로세스틑 녹색, 종료된 프로세스는 빨간색으로 강조된다. 녹색과 빨간색은 일시적이며, 프로세스가 시작/종료된 후 사라진다.
       
    • 프로세스 Properties > Image 탭의 Verify 기능을 이용하면 마이크로소프트의 서명 유무 확인 가능하다.
      * 메모리가 아닌 디스크상의 이미지만을 검증하므로 공격자가 프로세스 교체 기법을 사용할 경우 무용지물
    • Properties > Strings탭 하단의 Image(디스크상) / Memory(메모리상) 문자열 비교
    • 악의적인 문서 파일이 생성하는 프로세스의 Image 탭을 통해 디스크상 악성코드 위치를 찾을 수 있다.
  4.  Wireshark
    • 트래픽의 시각화, 패킷 흐름 분석, 심도있는 패킷 분석

 

반응형