본문 바로가기

Analysis

29. Konni's 답변서.hwp

지난 12일, 코니(Konni) 조직이 한글 문서를 위장해 악성코드를 유포한 것이 발견되었다.

 

본 글에서는 해당 한글 악성코드를 분석한다.

 

먼저 한글 문서의 속성은 아래와 같이 나타난다.

타임 스탬프 : 2011년 4월 20일 수요일 오후 10:44:52

최종 수정자 : Administrator

생성 시간 : 2004년 11월 09일 06:23:46 (UTC)

최종 수정 시간 : 2019년 12월 09일 08:30:24 (UTC)

문서 속성

 

문서 안에는 한글 문서를 이용해 악성코드를 유포 및 감염시킬 때 주로 사용되는 EPS 코드가 존재한다. 아래는 해당 EPS 코드이다.

문서 안에 존재하는 EPS 코드

 

해당 EPS코드 안에는 특정 XOR 키를 이용해 문자열로 저장되어있는 헥스값을 XOR 연산해 복호화한다. 연산에 사용되는 XOR 키는 총 16바이트로 이루어지며 다음과 같다.

XOR 키 : 0x29, 0x6B, 0xD6, 0xEB, 0x2C, 0xA9, 0x03, 0x21, 0xBB, 0xEF, 0x5F, 0x5F, 0x4C, 0xFC, 0x10, 0xEC

EPS 내부 XOR 복호화 코드

 

본인은 해당 복호화에 대해서 간단한 코드로 풀어냈다. 아래는 해당 코드이다.

복호화 코드

 

XOR연산을 통해 복호화를 진행하게되면 아래와 같이 실제 쉘코드를 포함한 코드가 나타나게 된다. 코드는 문서에 빈 공간을 만들고 해당 공간에 쉘 코드를 삽입 시킨 후에 쉘 코드를 실행하게끔하는 코드이다. 또한, 문서 내부 쉘코드는 55 8B로 시작해 실행파일 형태가 아닌 단순한 코드형태로 존재한다.

복호화 된 EPS 안 쉘코드 시작지점

 

해당 쉘코드를 분석해보면 먼저 사용할 함수들을 복호화 한 뒤에 WinHttpConnect 와 같은 함수를 사용해 C2서버로 연결을 시도한다. 연결 뒤에는 C2 서버 내 존재하는 vbs.txt와 no1.txt 파일을 이용해 이후 행위를 수행한다. 아래는 C2 서버 정보이다.

C2 Server : nottingham39483[.]com

C2 서버 연결

 

C2 서버로부터 다운받는 vbs.txt 파일은 아래와 같이 Base64로 인코딩되어 있다. 해당 Base64 코드에 대해 디코딩을 진행해주게 되면 파일 시그니처로 "MSCF"를 갖는 cab 압축 파일로 디코딩 되게 된다. 해당 압축 파일 내부에는 "notwo.bat", "start.vbs", "upload.vbs", "no4.bat", "download.vbs" 등이 존재한다.

Base64 인코딩 되어있는 vbs.txt

 

인코딩 되어 있는 vbs.txt는 동일한 C2서버의 no1.txt를 이용해 디코딩한 후에 압축을 풀고 해당 압축 파일 안의 파일들을 이용해 악성행위를 수행하게 된다. 또한 no1.txt 안에는 윈도우 프로그램인 certutil.exe를 이용해 피해 PC의 인증서 탈취도 시도한다.

no1.txt 파일
certutil 정보

 

이후 행위는 압축 파일 안에 존재하는 파일들을 이용해 수행하게 된다. 피해 PC의 정보 탈취를 주로 수행하며 다음은 각 파일마다 수행하는 악성행위이다.

download.vbs : C2 서버로부터 추가 파일 다운로드

start.vbs : notwo.bat 파일 실행

upload.vbs : 수집한 정보들을 C2 서버로 업로드

no4.bat : 피해 PC 내 파일 및 프로그램 정보, 프로세스 리스트 정보, 시스템 정보 등을 탈취 후 upload.vbs를 이용해 C2 서버로 업로드

notwo.bat : 추가적인 파일 다운로드, 레지스트리 등록

download.vbs 파일
start.vbs 파일
upload.vbs 파일
no4.bat 파일
notwo.bat 파일

 

아래 그림에서 빨간색으로 표시된 것은 정보 탈취 후 파일로 저장된 모습이다.

정보 탈취 후 파일로 저장된 모습

 

 

-Reference

https://blog.alyac.co.kr/2660?category=957259

반응형

'Analysis' 카테고리의 다른 글

31. Lazarus's Ratankba  (0) 2020.01.21
30. Lazarus's Dtrack  (0) 2020.01.01
28. Lazarus's 한국국가정보학회 학회장 선거공고.hwp  (0) 2019.12.09
27. Monero coin stealer  (0) 2019.11.26
26. Sodinikibi(Specialist)  (0) 2019.11.21