분석 정보/악성코드 분석 정보

[악성코드 분석] 워드 문서 DDE 취약점을 이용한 악성코드 유포 주의

TACHYON & ISARC 2017. 11. 13. 17:42

워드 문서 DDE 취약점을 이용한 악성코드 유포 주의 




1. 개요 


최근 ‘DDE’ 취약점을 이용한 악성코드가 유포되어 사용자들의 주의가 요구되고 있다. 이전에는 악성코드를 실행시키기 위해 MS Office의 매크로 기능 및 'JS', 'VBS' 등의 스크립트언어를 이용하였으나, 최근에는 ‘DDE’ 기능을 활용해 실행시키고 있다. 


DDE란 ‘Dynamic Data Exchange’의 약어로 윈도우 응용 프로그램간의 동일한 데이터를 공유하도록 허용하는 방법 중 하나이다. 해당 기능은 워드뿐만 아니라 엑셀, 비쥬얼 베이직 등 다양한 응용프로그램에서 사용되고 있다. 이 기능은 다른 프로세스를 실행시킬 수 있으며 이 기능을 악용하여 악성코드를 다운로드 받거나, 실행시키기 때문에 문제가 된다. 또한 응용 프로그램을 실행할지 묻는 것 이외에는 어떠한 보안 경고를 표시하지 않아 실행 시 주의를 요한다.


이번 분석 보고서에서는 이러한 ‘DDE’와 해당 기능의 취약점을 이용한 악성코드 유포 사례를 알아보고자 한다.




2. 분석 정보


2-1. 파일 경로

구분

내용

파일명

임의의 파일명.doc

파일크기

43,520 byte

진단명

Suspicious/W97.DDEAuto

악성동작

다운로드, 추가 악성 파일 실행











2-2. 유포 경로

이메일을 통하여 불특정 다수를 대상으로 유포되고 있으며, 이메일의 제목과 본문 등은 유포 시점에 따라 다양하게 변경되고 있다.


[그림 1] 이메일 유포 사례[그림 1] 이메일 유포 사례



2-3. 실행 과정

메일에 첨부된 파일을 실행하면 기본적으로 제한된 보기 기능의 보안 주의 메시지가 보여지게 된다. 해당 메시지를 사용자가 사전에 인지하여 종료를 눌러주면 추가적인 위협에 노출되는 것을 막을 수 있다. 하지만 대부분의 사용자들은 워드 문서를 자주 다운로드해 사용하므로 별다른 문제없이 ‘편집 사용’ 버튼을 누름으로써 실행되게 된다.


[그림 2] 이메일 첨부파일 실행 시 화면[그림 2] 이메일 첨부파일 실행 시 화면




3. DDE 기능


3-1. DDE란

‘DDE’란 윈도우 응용 프로그램간에 정보를 공유하도록 허용하는 방법이다. 예를 들어 다른 데이터 베이스 프로그램에서 폼을 변경하거나 엑셀에서 자료 항목을 변경할 때 다른 어떤 프로그램에서 동시에 사용하고있을 그 폼이나 항목 등을 함께 바뀌도록 정보 공유를 허용할 때 이용하는 기능이다. 먼저 아래의 간단한 예시로 ‘DDE’를 알아보고 이 기능을 어떻게 악의적으로 이용하는지에 대해 알아보자.



3-2. DDE를 이용한 예시

먼저 워드에서 DDE를 사용하기 위해서는 삽입 탭의 빠른 문서 요소 → 필드 → =(Formula)를 선택한다.


[그림 3] 수식 필드 추가[그림 3] 수식 필드 추가


수식 추가 후 [!수식의 끝이 잘못되었습니다.]이라고 적혀있는 오류가 있는 필드가 나타난다. 필드를 마우스 오른쪽 단추로 클릭하여 필드 코드 토글을 누른다.


[그림 4] 필드 코드로 전환[그림 4] 필드 코드로 전환


이제 필드 코드로 전환이 되었으므로 “DDEAUTO” 키워드를 이용하여 다른 프로세스를 실행 시킨다.


DDEAUTO C:\\windows\\system32\\cmd “/k calc.exe”


먼저 “DDEAUTO”DDE필드임을 워드에게 알리고, 문서가 열릴 때 자동 실행된다. “DDEAUTO”의 다음에는 실행할 파일의 전체 경로를 넣고 따옴표 사이는 실행파일의 명령어(인수)로 전달된다.


[그림 5] DDEAUTO[그림 5] DDEAUTO

 

그 다음 워드 문서를 저장 후, 컴퓨터에서 문서를 실행하면 다음과 같은 메시지 창이 두 번 보여진다. 첫번째 창은 문서 업데이트를 묻는다. 확인 시 두번째 메시지 창에서는 응용프로그램을 실행 할 지 여부를 묻는다. 이는 사용자에게 “cmd.exe”를 실행하도록 묻기 때문에 경고로 간주될 수 있지만 이러한 문구는 구문 수정으로 숨길 수 있으므로 사용자가 알아차리기 힘들다.


[그림 6] 문서 실행 시 메시지 창[그림 6] 문서 실행 시 메시지 창


사용자가 해당 메시지박스를 모두 예를 누를 시, 워드 문서 실행만으로 위 필드코드에서 입력한 명령어가 같이 실행되는 모습을 확인할 수 있다.


[그림 7] 계산기가 실행 된 모습[그림 7] 계산기가 실행 된 모습

 



4. DDE 취약점을 이용한 악의적인 문서


4-1. 문서 실행

위의 예시로 사용자가 문서 실행만으로 다른 프로세스를 실행시킬 수 있는 모습을 확인하였다. 다음은 현재 유포되고있는 이 기능을 악용한 문서이다. 해당 문서는 “입금 확인 스크린 샷입니다.” 라는 내용을 담고 있으며 사용자의 궁금증을 유발해 실행을 유도한다.


[그림 8] 실제 악성 문서 실행[그림 8] 실제 악성 문서 실행


메시지 창을 모두 누를 시 파워 쉘이 실행되고, 아래 주소에서 파일을 다운로드 하기 위해 시도한다. 해당 파일은 악성 행위에 사용될 파일로 이렇게 DDE 기능을 이용하여 악의적으로 파일을 다운로드 받거나 실행한다


[그림 9] 파워쉘을 이용하여 파일 다운로드[그림 9] 파워쉘을 이용하여 파일 다운로드


해당 필드 코드는 아래와 같이 확인이 가능하다.


[그림 10] 필드 코드[그림 10] 필드 코드





5. 결론

이번 보고서로 알아본 DDE 취약점은 사용자들에게 잘 알려지지 않은 기능을 악용한 사례이다. 해당 기능은 MS사의 정식기능이기 때문에 패치 되거나 제거 되지 않을 것으로 보여진다. 따라서, 워드 문서를 실행 시 사용자의 주의가 요구된다. DDE 기능을 비활성화 하기 위해서는 워드 프로그램에서 “파일 → 옵션 → 고급 → 일반 → 문서를 열 때 자동 연결 업데이트” 항목의 체크를 해제하면 된다.

[그림 11] 자동 연결 업데이트 체크 해제[그림 11] 자동 연결 업데이트 체크 해제


또한 잉카인터넷 안티바이러스 제품 nProtect Anti-Virus/Spyware V4.0에서 진단 및 치료가 가능하다.


[그림 12] nProtect Anti-Virus/Spyware V4.0 진단 및 치료 화면[그림 12] nProtect Anti-Virus/Spyware V4.0 진단 및 치료 화면