본문 바로가기

[혁신성장 청년인재] 인공지능을 활용한 보안전문가 양성과정

Day48: 기초리버싱 | PE file format | UPX 실행압축

PE file format 을 분석하고 코드 raw data를 살펴보았다.

 

다만, 실행 압축을 하면 PE file 및 내부 코드가 압축되어 분석이 어려워진다. 남는건 resource section뿐.. 

그래서 MS Soft에서는 악성코드를 찾는 머신러닝에 resource section을 활용한다는 이야기도 들었다.

 

실행압축된 파일을 압축해제하면 되긴 하지만, 패키징 방법이 약 2천개 정도로 많아 적절하게 압축을 해제하는 것이 거의 불가능하다고 한다. 실행압축된 실행파일을 매뉴얼언팩(손으로 직접 압축해제) 방법을 알아보았다. 

 

매뉴얼 언팩 과정은 거의 수련 과정에 맞먹는데, 이를 머신러닝을 활용하여 더욱 효율적으로 진행하는 프로젝트를 기획

할 수 있을 것 같다. 


# UPX 실행 압축 전 notepad.exe 의 PE file

세 개의 섹션을 확인할 수 있다. section.text | section.data | section.rsrc 

# UPX 실행 압축 진행

C:\Users\user\Desktop\UPX Utility>upx.exe notepad.exe
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2011
UPX 3.08w       Markus Oberhumer, Laszlo Molnar & John Reiser   Dec 12th 2011

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
     67584 ->     48128   71.21%    win32/pe     notepad.exe

Packed 1 file.

<참고: 실행 압축은 압축이 되어도 실행이 가능하다.>

# UPX 실행 압축 후 notepad.exe 의 PE file

기존에 확인되었던 세 개의 섹션은 확인되지 않고, SECTION UPX0 | SECTION UPX1 | SECTION .rsrc 가 보인다. 

결국 리소스 부분만 남고 나머지는 안보이는거

# PE 파일부분이 안보이기 때문에 악성코드 분석 방향은?

-> 리소스 섹션을 분석한다.

-> 매뉴얼 언팩 (이라 부르고 노가다라 쓴다?..)

-> 머신러닝을 활용한다????

반응형