보안/악성코드 분석

정적 분석 도구 PEiD, Exeinfo PE 및 UPX 기능 및 사용법

2024. 7. 21. 01:01
목차
  1. 도구를 이용한 패킹 여부 확인
  2. 패킹(Packing)이란?
  3. PEiD 기능 및 활용법
  4. Exeinfo PE 기능 및 활용법
  5. UPX 활용 방법

그림0 - PEiD와 Exeinfo PE

도구를 이용한 패킹 여부 확인

PEiD와 Exeinfo PE는 파일의 컴파일 언어와, 패킹 여부를 확인할 수 있는 정적 분석 도구이다.

UPX는 압축 도구로 패킹과 언패킹이 가능한 도구이다.

 

 

패킹(Packing)이란?

  • 기존의 파일들을 압축, 기존 파일들의 주소값, 데이터 크기, 문자열 정보 등이 변경됨
  • 패킹을 하면 Import Adress Table, String 정보가 어느정도 감춰져 있다.
  • 도구를 사용하여 패킹 여부를 확인하고 파일이 패킹되어있는 경우 언패킹하여 상세하게 분석을 한다.

 

PEiD 기능 및 활용법

그림1 - PEiD 아이콘

그림1의 PEiD 아이콘을 더블클릭 후 파일을 불러온다.

그림2 - PEiD 실행

그림2의 우측 상단의 빨간 박스에서 파일 경로를 불러오거나, 파일을 드래그 앤 드랍하여 파일을 가져온다.

그림3 - PEiD 파일 불러오기(패킹 X)

파일을 불러오면 파일의 경로와, 어떤 언어로 컴파일 되어 있는지 확인할 수 있다.

Microsoft Visual C++6.0 으로 컴파일 된 것으로 보아 Lab01-01.exe 파일은 패킹되지 않은 파일임을 알 수 있다. 패킹되어 있는 경우 Microsoft Visual C++6.0 부분에 패킹 툴의 정보가 출력된다.

 

 

 

그림4 - PEiD 파일 불러오기(패킹 O)

Lab01-02.exe 파일을 가져온다.

그림4의 EP Section 확인 시 UPX1이 확인된다. 이는 UPX라는 툴로 패킹되었다는 의미로, 상세 스캔을 위해 우측 하단의 -> 아이콘을 클릭하여 Deep Scan 또는 Hardcore Scan 으로 스캔을 진행한다. 

 

Normal Scan: Entry Point를 스캔

Deep Scan: Entry Point를 포함하는 Section에서 스캔

Hardcore Scan: 파일 전체에서 스캔

 
그림5 - Deep Scan 또는 Hardcore Scan 결과

그림5를 보면 PEiD 하단에 UPX 0.89.6 -1.02 문자열이 확인되며, 이는 UPX 패킹 툴을 사용하여 패킹한것을 확인할 수 있다.

 

 

 

Exeinfo PE 기능 및 활용법

그림6 - Exeinfo PE 아이콘

그림6의 Exeinfo PE 아이콘을 더블클릭하여 실행한다.

그림7 - Exeinfo PE 실행

그림7의 좌측 상단 File을 클릭하여 파일 경로를 불러오거나, 드래그 앤 드랍하여 파일을 가져와 분석한다.

 

그림8 - Exeinfo PE 파일 불러오기(패킹 X)

그림8의 EP Section 확인 시 .text로 기본 섹션으로 확인되며 하단에는 Microsoft Visual C++ 로 보아 패킹이 되지 않는 파일로 판단된다. 만약 패킹된 파일인 경우 섹션의 이름이 .text 가 아닌 UPX 등 다른 이름으로 변경되어 있다.

 

 

그림9 - Exeinfo PE 파일 불러오기(패킹 O) 그

그림9의 EP Section이 UPX1로 확인되며, 이는 그림8의 EP Section과 다르게 섹션 이름이 변경된 것으로 보인다.

하단의 빨간 박스 내에 UPX 0.89 - 4.23 로 확인되며 이는 UPX 라는 패킹 툴로 패킹 된 것을 확인 할 수 있다.

이처럼 특정 패킹 툴로 패킹된 경우 언패킹 툴을 활용하여 해당 파일을 언패킹 후 파일 분석을 해야 한다.

(패킹된 파일 분석 시 정보가 많이 감춰져 있어, 정보 수집이 제한되므로 언패킹 후 정보를 확인한다.)

 

 

 

UPX 활용 방법

UPX는 컴프레서(압축도구)로 패킹과 언패킹이 가능한 도구이다. (UPX로 패킹된 파일만 언패킹이 가능하다.)

인터넷에서 UPX 를 검색하여 설치 후 실행해본다.

UPX는 설치 후 CMD 창(명령 프롬프트 창)을 사용하여 패킹과 언패킹 할 수 있다.

그림10 - UPX로 언패킹할 파일 동일 경로에 놓기

UPX와 UPX를 통해 언패킹할 파일을 동일 경로에 놓는다.

경로 → C:\malware\upx

 

 

그림11 - 관리자 권한으로 CMD 실행


window + R 입력 후, cmd를 입력하여 관리자 권한으로 실행한다.

그림12 - cd 명령어로 upx 폴더 경로로 이동 후 upx 프로그램 정보 확인

cd C:\malware\upx를 입력하여 upx 폴더로 이동 후, upx를 입력하여 upx 프로그램 정보를 확인한다.

 

그림13 - 악성코드 파일 복사

분석할 악성코드 파일을 복사한다.(언패킹 후 원본 파일 구분을 위해서 복사한다, UPX 언패킹 후 동일한 파일명일 경우 덮어쓰기가 된다.)

그림13의 경우 Lab01-02.exe를 언패킹하여 분석할 예정으로, Lab01-02 - Copy.exe 파일은 패킹된 파일로 남겨질 것이다.

 

그림14 - UPX로 악성코드 파일 언패킹


upx -d Lab01-02.exe를 입력하여 언패킹(압축해제)한다.
기존의 Lab01-02.exe 파일에 언패킹한 Lab01-02.exe 파일이 덮어진다.

그림15 - 패킹된 파일과 언패킹된 파일의 용량 차이

Lab01-02.exe와 Lab01-02-copy.exe 는 용량 차이가 있다.
16kb(언패킹) vs 3kb(패킹)

 

그림16 - 언패킹 후 PEiD로 확인

PEiD로 언패킹 후 파일을 확인해본다.

기존의 패킹된 파일의 경우(그림4, 그림5 참고)와 달리 EP Section 정보와 컴파일 언어 정보가 변경된 것을 확인할 수 있다.

이를 통해 UPX로 언패킹이 완료된 것을 확인할 수 있다.

 

추후 정적 분석 도구들을 활용하여 패킹된 파일과 언패킹된 파일 비교 시 파일에서 얻을 수 있는 정보 차이를 확인해본다.

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

PE 헤더 분석 도구 (PEview, pestudio) 기능 및 사용법  (4) 2024.07.23
악성코드 분석 시 파일 내 문자열 확인 도구 (BinText, Strings) 기능 및 사용법  (4) 2024.07.22
Virustotal 기능 및 사용법 / 악성코드 기초 분석  (0) 2024.07.20
악성코드 분석 업무 설명  (0) 2024.07.02
침해사고 분석 이해  (0) 2024.07.01
  1. 도구를 이용한 패킹 여부 확인
  2. 패킹(Packing)이란?
  3. PEiD 기능 및 활용법
  4. Exeinfo PE 기능 및 활용법
  5. UPX 활용 방법
'보안/악성코드 분석' 카테고리의 다른 글
  • PE 헤더 분석 도구 (PEview, pestudio) 기능 및 사용법
  • 악성코드 분석 시 파일 내 문자열 확인 도구 (BinText, Strings) 기능 및 사용법
  • Virustotal 기능 및 사용법 / 악성코드 기초 분석
  • 악성코드 분석 업무 설명
Security Engineer
Security Engineer
IT 공부
Security Engineer
IT-log
Security Engineer
전체
오늘
어제
  • 분류 전체보기 (172)
    • Programming (39)
      • Python 웹 스크래퍼 만들기 (39)
    • IT 지식 (65)
      • IT 정보 (27)
      • CS 기초 (24)
      • 운영체제 (8)
      • IT 인프라 기초 (6)
    • 보안 (45)
      • 악성코드 분석 (10)
      • Bandit 워게임 (25)
      • 취미로 해킹 2 (6)
      • 환경 구축 (4)
    • 웹 해킹 (23)
      • 웹 기초 지식 (8)
      • SQL 기본 (2)
      • 웹 해킹 및 시큐어 코딩 기초 (13)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • bandit
  • HTML
  • 운영체제
  • 해킹
  • webScrapper
  • 파이썬
  • 모의해킹
  • flask
  • WarGame
  • it 운영
  • 취미로해킹
  • 웹 개발
  • Beautifulsoup
  • CS 기초
  • 취미로 해킹
  • 컴퓨터
  • 워게임
  • Selenium
  • Def
  • CS
  • 웹 해킹
  • 악성코드
  • Python
  • 리눅스
  • IT 인프라
  • 시큐어 코딩
  • overthewire
  • CSS
  • 악성코드 분석
  • Web

최근 댓글

최근 글

hELLO · Designed By 정상우.
Security Engineer
정적 분석 도구 PEiD, Exeinfo PE 및 UPX 기능 및 사용법
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.