13 Security Lab

[Log] 닷넷 PE이미지 로딩 악성코드 풀어보기 본문

Computer Security/Analysis

[Log] 닷넷 PE이미지 로딩 악성코드 풀어보기

Maj0r Tom 2017. 6. 14. 01:10

대상 파일: 085ea96239c20acd94ce3660931c4b58

 

.Net 내부에 인코딩 된 .net PE를 갖고있고, 디코딩 후 이미지교체를 통해 PE로딩 기법을 사용

PE 이미지 로더 / 이미지 드롭핑 / PE 이미지 교체

 

ILSpy로 먼저 살펴 보고자 했으나, 난독화의 정보가 심하고, 코드로 봐도 수상한 점을 찾을 수 없는 파일이다.

 

CFF Explorer 를 통해서 PE 정보를 살펴 보면 VersionString 에 닷넷 v2.0.50727 임을 알 수 있다. 

 

 

 

CFFExplorer 섹션 확인섹션형태도 겁나 양호해서 내가 알고 있던 크립터로 되어있는 건 아닌 듯 하다.

 

 

 

 

 

 

DnSpy로 클래스뷰를 확인하면 아래와 같다.. hadmara, hadmara.exe 가 보이면서 어느정도 윤곽이 잡힌다.

 

 

 

 

 

디버깅 시작 (Module .cctor or Entry Point)

 

 

 

 

 

시작 부분은 아래와 같은 심플 폼을 갖고 있다.

 

 

 

Form1에는 쓸대 없는 내용들이 가득하다.

 

실제동작은 여기서 수행된다.

 

 

Hadmarar.server 라는 의심스러운 부분의 시작점에 BP아래 클래스명이 DecRypter 임 뭔가 풀려질것으로 예상 할 수 있다.객체 Servtext를 매핑시키고 text에 뭘 채우는 것이 보인다.

 

 

 

 

 

DecRypter의 메인으로 오고 여기서 데이터가 풀려 실제가 들어난다 아래 BP가 걸렸을 때 메모리 참조값을 확인한다.

 

 

 

 

[Locals] 지역 변수들을 확인

 

여기 Input에 겁나 담겨있는데 뭔지는 모르겠다만... 이것도 아스키로 변환 된 바이너리로 보인다.

실제로 로딩 되는 PE는 array 에 담겨 있다 .. 바이트 크기 0x5E00

 

 

 

 

Array에 담겨 있던 바이너리를 떠보니 또 다른 닷넷 파일 나온다.역시 섹션 상태는  양호하다

 

 

 

 

 

이건 DnSpy 에서 본 클래스뷰

 

 

 

키로거 기능을 가지고 있다.amirleon.ddns.net 로 수집 된 키 값을 주기적으로 전송한다.

 

 

 

 

 

 

 

 

 

 

관련 스트링:

 

 

 

// Token: 0x04000006 RID: 6

public static string RG = "71d42c344b043448559f6afc6771fd3b";

 

// Token: 0x04000013 RID: 19

public static string sf = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";

 

// Token: 0x04000001 RID: 1

public static string VN = "REVHTEE=";

 

// Token: 0x04000005 RID: 5

public static string DR = "TEMP";

 

// Token: 0x04000004 RID: 4

public static string EXE = "System32.exe";

 

// Token: 0x04000010 RID: 16

public static Computer F = new Computer();

 

// Token: 0x0400000F RID: 15

public static FileStream FS;

 

// Token: 0x04000007 RID: 7

public static string H = "amirleon.ddns.net";

 

 

 

 

170613

 

Comments