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

악성코드 분석 19

by 윤라경 2024. 10. 14.

[2024.10.14]

 

[정적 분석]

> 분석 파일: Lab06-03.exe

 

01. 자동화 분석

 

> 분석 도구: virustotal.com

> 분석 결과: 45/73(V3: 탐지, AlYac: 미탐지)

 

 

 

02. 패킹 여부 확인

 

> 분석 도구: PEiD, exeinfope

> 분석 결과: 패킹되어 있지 않음

 

 

 

03. PE 구조 확인

 

> 분석 도구: PEView, pestudio

> 분석 결과

 

 

서비스 관련한 함수가 나왔다

나머지는 Lab06-02.exe 파일과 비슷하다

 

 

스트링을 확인했을 때 3번대의 새로운 에러를 발견할 수 있었다

또한, 아래로 보이는 바와 같이 Temp 디렉터리도 연관되어 있는 것을 알 수 있다

 

 

03. 문자열 분석

 

> 분석 도구: strings, ollydbg

> 분석 결과

 

 

pestudio에서 확인한 바와 같이 3번대의 새로운 에러를 발견할 수 있었다

 

 

현재 실행했을 때 화면과 같이 나오게 된다

네트워크 연결과 cc.htm에 연결은 되는 상태지만 에러 3.2가 발생한다

 

 

현재 cc.htm에는 X라는 커맨드가 존재한다

하지만 해당 커맨드 부분을 변경한다면 악성 행위를 계속 악성 코드가 감염된 시스템에서 이뤄진다

C&C(Command and Control)로 공격 대상자를 제어할 수 있다

 

 

IDA Pro를 이용해 메인 함수의 시작 지점을 확인한다

 

 

시작 지점은 401210이지만 call 함수를 이용해 401000번대로 돌아간다

 

 

실행하게 되면 401000번대로 돌아오게 된다

여기에서 다시 인터넷 연결 상태를 확인하려고 한다

 

 

현재 eax에 58이라는 값이 반환이 되어 있는 걸 볼 수 있다

현재 AL이 58이고, 스택 값에 58이 저장된다

TEST EAX, EAX로 둘의 값이 같으면 초기화가 된다

 

*TEST는 둘을 비교해서 비트 연산을 하는데 0인지 아닌지 판단하는 명령어다

 

 

그 다음으로 401241 줄의 명령은 Success: Internet Connection이 나타나고,

현재의 화면에서 40124B는 그 다음 줄인 Sucess: Parsed command is X를 나타낸다

 

 

EA60으로 60,000으로 즉, 60초 동안 Sleep 한다는 뜻이다

 

 

새로고침 후 다시 확인해 보면 401161 라인에 CreateDirectoryA 함수가 나온다

위를 보면 알 수 있듯이 Temp 디렉터리를 만들겠다는 뜻이다

다음으로 CopyFileA가 나오며, 파일을 복사한다는 뜻이 된다

다음으로 DeleteFileA가 나오기 때문에 실질적으로 초반부에 파일 분석이 불가하다

 

 

현재는 06-03.exe 파일을 파일명을 변경해서

공격자가 생성한 Temp 디렉터리에 cc.exe로 복사했다

 

 

그렇기 때문에 두 개의 파일을 비교하기 위해 WinMD5로 해시 값을 확인했다

확인 시 두 개의 파일 모두 해시 값이 동일한 것을 확인할 수 있었다

 

 

이번에는 커맨드 값을 c로 변경하고 실행해 보기로 했다

이전까지는 a와 b를 통해 실행 값을 변경했기 때문에 이번에도 조금씩 달라질 수 있다

 

 

ollydbg에서 실행하게 되면 현재 4011F2로 점프하게 되어 있는데,

4011F2에 8바이트를 더했을 때 40117F로 점프하라고 핵사 값에

7F 11 40 00이라는 값이 저장되어 있다

 

 

그렇기 때문에 점프 후 DeleteFileA라는 함수가 나오고,

스택 값을 확인했을 때 Temp 디렉터리에 cc.exe 파일이 존재해야만

삭제할 수 있다는 뜻으로 함수를 해석할 수 있다

 

 

실행 후 확인 시 Temp 디렉터리에 존재했던

cc.exe 파일이 삭제되어 있는 것을 확인할 수 있다

 

 

이번에는 커맨드 값을 d로 변경시킨 후 실행 값을 확인하려고 한다

 

 

d로 변경 후 실행하게 되면 40118C로 점프하게 되는데,

결국 DeleteFileA라는 함수를 호출하지 않게 된다

 

 

점프 후 파일의 동향을 살펴보게 되면, 현재 페이지를 여는 함수가 나타나게 된다

 

 

그 상태로 레지스트리 편집기를 확인하게 되면

해당 경로에 Malware가 생성되어 있다

이제 이 파일의 경우 컴퓨터가 부팅할 때마다 이 악성 코드는

이 이름으로 악성 코드가 실행된다

이제 여기에서 다시 커맨드 값을 c로 변경시키면 깔끔하게 삭제가 된다

 

 

 

강의 소감

이번 강의에서는 Lab06-03.exe 파일로

a부터 d까지 차례대로 커맨드 값을 변경하여 나오는 실행 값을 확인했다

각각 실행되는 흐름이 다른 것을 알게 되었고,

조금 더 자세히는 각 커맨드의 역할이 무엇인지 알게 되었다

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

악성코드 분석 21  (0) 2024.10.15
악성코드 분석 20  (0) 2024.10.15
악성코드 분석 18  (0) 2024.10.10
악성코드 분석 17  (1) 2024.10.08
악성코드 분석 16  (6) 2024.10.08