Overview


문서형 악성코드의 경우 Macro 나 Script 등을 이용하여 악성동작을 수행하였다. 하지만 최근 DDE 기능을 악용하는 악성코드가 나타나고 있어, 이에 대해 소개하고자 한다.



DDE


우선 DDE 에 대하여 알아보자. DDE 는Dynamic Data Exchange 의 약어로, 응용 프로그램 간의 데이터 공유를 위한 방법이다. 예로 워드와 엑셀 간의 데이터 공유가 있다. DDE 를 활용하기 위해 MS Word 에서 아래와 같이 따라가보자.


삽입 - 빠른 문서 요소 - 필드- 필드 이름: "= (Formula)" - 확인

* MS Word 2016 기준 


아래와 같이 "!수식의 끝이 잘못되었습니다" 라고 출력 될 것이다. 해당 부분을 마우스 우측으로 클릭 후 "필드 코드 토글" 을 클릭해보자. 그럼 아래와 같이 " = \"MERGEFORMAT" 이라는 필드 코드를 확인 할 수 있다.




Execute


수식 중 "DDEAUTO" 라는 Keyword 를 입력 할 수 있다. 이는 문서 실행 시 자동으로 뒤의 명령어를 실행 할 수 있게끔 한다. 예시로 아래와 같이 수식을 입력해보자.


DDEAUTO C:\\Windows\\System32\\cmd "/k calc.exe"



그리고 파일을 저장 후 다시 열어 볼 경우 아래와 같이 팝업 창이 뜨는 것을 확인 할 수 있다.




모두 예를 누를 경우 입력한 명령어가 실행되며 계산기가 나타나는 것을 확인 할 수 있다. 또한 필드 코드가 외부로 보이는 형태를 아래와 같이 변경 할 수 있기 때문에 사용자는 인지하지 못할 수 있다.





Conclusion


위 예시의 경우 간단하게 나타냈다. 하지만 실제 필드 코드를 계산기 실행이 아닌 Powershell 과 같은 것을 이용 할 경우 DDE 는 더욱 많은 곳에 악용 될 수 있다. MS 의 경우 이 기능은 정상적인 기능이며, 실행 여부를 묻는 화면이 출력되므로 충분히 사용자에게 경고가 될 것이라는 입장으로 알려진다. 


강력한 기능으로 보이지는 않더라도, 보안을 공부하는 사람의 입장으로서 최신 악성코드가 이와 같은 방법을 사용하고 있다는 것을 인지 할 필요는 있을 것이다.




Reference


- INCA Internet 공식 블로그 "워드 문서 DDE 취약점을 이용한 악성코드 유포 주의"  : http://erteam.nprotect.com/1422


'Reversing > Theory' 카테고리의 다른 글

Linux 동적 분석 Tool  (3) 2018.04.08
Process Doppelganging  (0) 2018.02.13
Atombombing 기법  (0) 2017.05.28
DoubleAgent 공격  (1) 2017.03.28
암호학 기초 개념  (2) 2016.11.23