이 영역을 누르면 첫 페이지로 이동
우당탕탕 보안이야기 블로그의 첫 페이지로 이동

우당탕탕 보안이야기

페이지 맨 위로 올라가기

우당탕탕 보안이야기

- 모의 해킹 - 취약점 분석/진단 - AWS

UPX 란?

  • 2022.08.10 22:23
  • Malicious Code/Review
반응형

U  P  X

Ultimate Packer for eXecutables

2022.08.10


UPX

UPX란?

upx는 Ultimate Packer for eXecutables을 줄여서 UPX라고 부르는데

여러 운영체제에서 수많은 포맷을 지원하는 오픈 소스 실행 파일 압축 프로그램이다.

 

upx는 UCL이라는 이름의 데이터 압축 알고리즘을 사용하며 이 구현은 사유 NRV 알고리즘의 일부인 오픈 소스로 되어있다.

upx는 두 개의 메커니즘을 지원한다.

1. 인 플레이스(in-place) 테크닉

2. 임시 파일로의 해제

 

또한 여러운영체제에서 동작하는 것과 더불어 압축률이 60%까지 압축해주는 기능을 가지고 있는 가장 기본적인

압축 프로그램인 것이다.

 

여러 방법 중 리버싱 핵심원리와 악성코드에서도 많이 사용되고 있는데

악성코드에서 많이 사용되는 이유는 데이터를 압축 및 열어볼 수 없게 바꾸어 백신을 우회하는 등의 기법을 사용하고

기존의 우리가 아는 압축파일은 단순히 용량을 줄이는것을 떠나 압축을 하면 파일을 실행 할 수 없는데

upx는 압축을 하더라도 파일을 정상적으로 실행 할 수 있다는 점이 있다.

그래서 위에서 말한 백신을 우회할 수 있다는 점과 파일의 데이터를 숨길 수 있다.

 

오늘은 upx명령어와 사용하는 방법에 대해서 공부해 보았다.

사실 사용법은 아는데.. 그동안 대학교 과제부터 여러 시험과 교육까지 겹치다보니 악성코드 강의를 다 못듣게 되었는데

기억도 되세길 겸 다시 필요한 부분은 기록으로 남겨 다음에 공부하면서 참고하기로 했다.

 

준비물

1. upx.exe

2. notepad.exe

ori_notepad.exe

압축을 하기전에 압축 대상의 파일 크기를 먼저 확인해 보았다.

압축 전 원본파일의 notepad.exe는 파일 크기가 66.0KB로 확인되었다.

 

upx dir

그 다음 cmd를 관리자권한으로 실행 후 upx와 orinotepad.exe가 같이 있는 경로로 이동했다.

같은 경로에 있어야 하기때문에 upx파일을 해당 경로로 옮겨서 확인한다.

나는 바탕화면으로 옮겨놨다.

cd desktop
dir

 

upx 패킹

upx를 이용해서 해당 파일을 패킹해본다.

명령어는 아래와 같다.

upx.exe ori_notepad.exe

위 명령어를 입력하면  파일사이즈 67584 에서 48128으로 Ratio 71.21%만큼 줄어들었다는것을 확인 할 수 있다.

 

upx로 패킹된 파일

upx로 패킹된 파일의 사이즈를 확인해 보았다.

위에서 upx command 창에서도 확인할 수 있지만 47.0kb로 그 크기가 줄어든것을 확인 할 수 있다.

 

 

upx 언패킹

upx로 언패킹을 하는 명령어이다.

이러면 기존의 파일사이즈를 다시 복원되는 것을 확인 할 수 있다.

upx.exe -d ori_notepad.exe

언패킹 후에는 파일 사이즈도 다시 돌아왔다.

 

 

-o 명령어

다음 명령어를 이용하여 다른 방법으로 패킹을 하였다.

해당 -o 옵션을 주면 패킹하는 원본을 두고 새로이 패킹한 파일로 새로 생성한다.

네모박스 안을 보면 ori_notepad_upx.exe로 출력을 하니 바탕화면에 동일한 파일로 패킹된 파일이 있는것을 확인했다.

upx.exe ori_notepad.exe -o ori_notepad_upx.exe

 

 

PEView에서 보는 패킹 유무

PEView에서 패킹된 파일과 아닌 파일을 올려보았다.

text, data,rsrc 섹션이 upx로 압축되어진것을 확인 할 수 있었다.

 

upx

해당 섹션을 누르면 패킹된 곳은 해당 데이터의 시작점(메모리주소)만 알 수 있고 값들은 나오지 않는다.

 

 


upx 사용법은 알고 있었지만

조금 더 찾아보니 upx가 꼭 악성코드에만 사용하는게 아니라는것을 알았다.

복습을 통해 여러가지를 이해할 수 있다는게 신기했다.

반응형
저작자표시 비영리 변경금지 (새창열림)

'Malicious Code > Review' 카테고리의 다른 글

악성코드 환경 준비 끝내기  (0) 2022.02.09
[2] OllyDbg 단축키 알아보기  (0) 2021.11.08
[1] 어셈블리 명령어 한 눈에 보기  (0) 2021.11.08

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • 악성코드 환경 준비 끝내기

    악성코드 환경 준비 끝내기

    2022.02.09
  • [2] OllyDbg 단축키 알아보기

    [2] OllyDbg 단축키 알아보기

    2021.11.08
  • [1] 어셈블리 명령어 한 눈에 보기

    [1] 어셈블리 명령어 한 눈에 보기

    2021.11.08
다른 글 더 둘러보기

정보

우당탕탕 보안이야기 블로그의 첫 페이지로 이동

우당탕탕 보안이야기

  • 우당탕탕 보안이야기의 첫 페이지로 이동

검색

메뉴

  • 홈

카테고리

  • 분류 전체보기 (66)
    • Whoami (1)
    • Malicious Code (9)
      • Analysis (5)
      • Review (4)
      • Recent Trend (0)
    • Digital Forensic (1)
    • Red Team (28)
      • Penetration Testing & CTF (13)
      • Tools (6)
      • 정보보안 (5)
      • Script (0)
      • AOS (4)
      • IOS (0)
    • Data Base (0)
    • Cloud System (3)
      • AWS (3)
    • OS (9)
      • Linux X (3)
      • Windows X (6)
    • Develope (14)
      • Dev Tools (3)
      • HTML (5)
      • CSS (4)
      • Python (1)
      • Source Code 분석 (1)
    • Synology (1)
      • NAS 서버 운영 (0)
      • NAS 서버 구축 (1)

정보

Wolfcall의 우당탕탕 보안이야기

우당탕탕 보안이야기

Wolfcall

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © Wolfcall. Designed by Fraccino.

티스토리툴바