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

악성코드 분석 5

by 윤라경 2024. 9. 19.

[2024.09.19]

 

[정적 분석 도구]

 

> GUI 버전

 

1) OllyDBG

2) IDA Pro

3) PEiD

4) PEView

5) PEstudio

6) HxD

7) WinMD5

8) Resource Hacker

9) Dependency Walker

 

> Text 버전

 

10) UPX

11) Strings

12) hashdeep

 

 

[동적 분석 도구]

 

1) Process Explorer

2) Process Monitor

3) Wireshark

 

 

[정적 분석 순서]

 

01. 자동화 분석

 

> 분석 도구: virustotal.com

> 분석 결과: 

 

*실습 때는 윈도우 xp를 사용하여 접속이 불가했기 때문에

윈도우 7이랑 호환해서 실습을 진행하면 좋을 것 같다

 

 

02. 해시 값 확인

 

> 분석 도구: hashcalc, WinMD5

> 분석 결과: 

 

 

여기에서 Lab01-01을 선택해 준다

 

 

그렇게 되면 Lab01-01에 대한 해시 값이 분석되어 확인할 수 있다

 

 

03. 패킹 유무 확인

 

> 분석 도구: PEiD, exeinfope, pestudio

 

 

이번에는 차례대로 Lab01-01, Lab01-01.dll, Lab01-02를 분석하려고 한다

 

 

Lab01-01, Lab01-01.dll는 언패킹 상태기 때문에 EP Section이 .text로 표시된다

 

 

반면에 Lab01-02의 경우 upx1으로 나와 있으며,

해당 섹션은 패킹이 되어 있는 상태를 뜻한다

 

 

04. PS 구조 확인

 

> 분석 도구: PEview

> 분석 결과:

 

 

PEview를 통해 구조를 확인할 수 있다

헤더가 3개이기 때문에 오른쪽의 결과에도 3개로 나타난다

 

 

05. DDL, API 정보 확인

 

> 분석 도구: Dependency Walker, Resource Hacker

 

 

06. 파일 상세 분석

 

> 분석 도구: pestudio

 

 

07. 문자열 정보 검색

 

> 분석 도구: strings, ollydbg

> 분석 결과: 

 

 

IDA도 사용 가능하지만 ollydbg에 비해서는 사용률이 떨어진다고 보면 된다

 

 

다음은 명령 프롬프트를 이용하기 위해 Chapter_1L 파일을 따로 복사 후 지정하기 쉬운 경로에 두고,

그 파일 안에 strings를 복사하여 넣어 준다

 

 

악성코드 분석 디렉터리로 들어가서 Chapter_1L 파일이 있는지 확인하고,

존재한다면 해당 디렉터리로 또 다시 이동한다

 

 

strings를 이용하여 Lab01-01.exe 파일을 실행하면 문자열 정보를 확인할 수 있다

 

 

처음에는 잘 사용하지 않는 문자열이 나오기도 하지만,

뒤에서는 kernel132.dll이라는 중요한 문자열이 확인되기도 한다

 

 

마지막으로 ollydbg에서도 Lab01-01 파일을 열어 함수를 확인했다

strings에 비해서는 사용하는 함수만 나와 있는 것을 볼 수 있다

 

 

[악성코드 주요 API]

 

01. 패킹 관련 API

 

> LoadLibrary

> GetProcessAddress

 

 

 

 

02. 파일 관련 API

 

> MoveFile

> GetFileSize

> SetFileAttributes

> GetSystemDirectory

> FindNextFile

> FindClose

> GetTempPath

> CrateFile

> WriteFile

> CreateFileMapping

> MapViewOffice

> UnMapViewOffice

> CopyFile

> ReadFile

 

 

 

 

03. 리소스 관련 API

 

> FindResource

> SizeofResource

> LoadResource

> LockResource

 

 

 

 

04. DDL 인젝션 관련 API

 

> CreateRemoteThread

> GetProcessAddress

> LoadLibrary

> OpenProcess

> VirtualAlloc

> WriteProcessMemory

 

 

 

 

 

 

강의 소감

이번 강의에서는 분석 도구와 분석 순서 및 함수 API에 대해서 알아봤다

Windows 7에에서는 사용이 불가능한 프로그램들이 많이 있어

이번 시간에는 Windows xp를 설치해서 사용했다

7보다 사용이 가능한 프로그램도 많지만, 7에서 사용할 수 있는 프로그램도 존재하기 때문에

이 부분은 호환이 필요할 것 같다

그래서 앞으로의 실습에서는 7과 xp를 둘 다 사용하게 될 것 같고,

마지막으로 앞으로 사용할 함수에 대해서 배웠다

아직 함수에 대해 잘 알지 못하기 때문에 함수에 익숙해지려는 공부를 해야 되겠다

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

악성코드 분석 7  (0) 2024.09.30
악성코드 분석 6  (1) 2024.09.20
악성코드 분석 4  (0) 2024.09.13
악성코드 분석 3  (0) 2024.09.12
악성코드 분석 2  (0) 2024.09.11