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 |