본문 바로가기
악성코드 분석

악성코드 분석 8

by 윤라경 2024. 9. 30.

[2024.09.24]

 

[기초 정적 분석]

> 분석 파일: Lab01-02.exe

 

01. 자동화 분석

 

> 분석 도구: virustotal.com

> 분석 결과: 악성 코드로 확인됨(58/72), V3, AlYack 탐지

 

 

 

 

02. 이 악성코드가 패킹되거나 난독화 징후가 있는가?

만약 있다면 어떤 도구로 패킹되었는가?

 

> 분석 도구: PEiD, exeinfope

> 분석 결과: UPX로 패커로 패킹됨

 

 

 

현재 UPX로 패커로 패킹되어 있는 것을 확인할 수 있다

 

 

PEView로 PE 구조를 살펴볼 때도 UPX로 패킹되어 있는 모습을 볼 수 있다

 

*패킹을 진행한다고 해도 오리지널 파일과 동일하게 언패킹이 되지 않을 수도 있다

 

 

마지막으로 pestudio로 확인했을 때에도 악성코드를 볼 수 있다

하이픈(-)으로 나와 있는 것이 탐지하지 못한 악성코드라고 보면 된다

 

 

x 표시된 부분들이 문제가 된다는 것을 알 수 있다

현재 패킹되어 있기 때문에 많이 나타나지는 않는다

 

 

=> 언패킹 진행

 

 

-d 옵션을 넣어서 패킹된 파일의 언패킹을 진행한다

하지만 이렇게 될 시 기존 파일이 언패킹이 진행되기 때문에 따로 저장하는 방식도 존재한다

 

 

이렇게 별도의 -o 옵션을 추가하여 unpack.exe 파일을 따로 저장할 수 있다

 

 

언패킹 진행 후에는 .text로 언패킹 되었고, Microsoft visual c++로 확인되는 것도 볼 수 있다

 

 

다시 virustotal로 확인했을 때에도 패킹 진행된 기존 파일과 다른 점을 확인할 수 있다

 

 

pestudio로 다시 확인 시에도 기존 파일과는 다른 점을 발견할 수 있었다

 

 

악성 코드에 CreateServiceA가 있으면

 

 

윈도우의 서비스에 등록하게 된다

 

*서비스 확인 -> 윈도우 검색 ->  services.msc

 

 

=> 패킹 전/후 비교

 

 

패킹이 되어 있을 때는 UPX로 표시되었으나, 현재는 언패킹 후로

코드 영역이나 리소스 영역 모두 정상적으로 표시되는 걸 확인할 수 있다

 

 

03. 해시 값 계산

 

> 분석 도구: HashCalc, WindMD5

> 분석 결과

 

 

HashCalc로 해시 값을 계산했을 때에도 MD5만 살펴봐도 패킹 전과 후가 다른 것을 볼 수 있다

 

 

WinMD5로 확인 시에도 결과값이 다르다

 

 

04. 임포트를 보고 악성 행위를 알아낼 수 있는가?

만약 있다면 어떤 임포트를 보고 알아낼 수 있는가?

 

> 분석 도구: D/W

> 분석 결과

 

 

 

 

05. 감염된 시스템에서 검색/확인할 수 있는 다른 파일이나

호스트 기반 증거가 존재하는가?

 

1) 분석 도구: OllyDBG

2) 분석 결과: HGL345 - MutexName

MalService: 서비스명, 출력할 서비스명

 

 

 

현재 사용하지 않는 문자열을 제외하고 첫 번째로 MalService가 눈에 띈다

이 뒤로는 실행되는 문자열들을 나열한 것처럼 확인된다

새로운 것은 MalService고 나머지는 기존의 문자열과 비슷하다

 

 

언패킹 파일의 문자열을 확인했을 때는 패킹 파일보다 조금 더 상세히 나온다

실행되는 흐름을 확인할 수 있도록 문자열이 나열된다

 

 

06. 이 악성 코드의 목적은 무엇인가?

 

> 서비스 파일(Malservice) 생성, 등록 후 실행하면

> Internet Explorer 8.0을 이용하여 http://www.malwareanalysisbook.com을을 접속 요청 

> InternetOpen: 애플리케이션의 Winlnet 함수 사용을 초기화

> InternetRead: InternetOpenUrl, FtpOpenFile 또는 HttpOpenRequest 함수에서 연 핸들에서 데이터를 읽음

> InternetOpenURL: 전체 FTP 또는 HTTP URL로 지정된 리소스를 연다

> HttpOpenRequest: 함수에서 연 핸들에서 데이터를 읽음

 

 

 

강의 소감

오늘도 지난 시간에 이어 패킹 파일과 언패킹 파일을 비교 분석을 시도했다

패킹되어 있는 파일은 분석이 어렵고, 언패킹 파일은 패킹 파일보다 분석하기 쉽도록 되어 있는 구조다

반드시 분석 전에 패킹 여부를 확인하여 조금 더 분석이 쉽도록 하는 게 좋을 것 같다

또 마지막으로 문자열을 확인함으로 어떻게 실행되는지의 흐름을 확인할 수 있었다

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

악성코드 분석 10  (0) 2024.09.30
악성코드 분석 9  (1) 2024.09.30
악성코드 분석 7  (0) 2024.09.30
악성코드 분석 6  (1) 2024.09.20
악성코드 분석 5  (0) 2024.09.19