문서, 워드, 오피스, 한글 DDE (Dynamic Data Exchange) 악성코드 스크립트 취약점

오피스 DDE(Dynamic Data Exchange) 악성코드 취약점

문서 작성 프로그램인 워드, 엑셀, 한글 등 이 있는데 이런 문서 프로그램에는 매크로 기능이나 , JAVA, VBS 등의 기능들이 존재합니다.
이런 기능들을 악용하게 되면 파일 내에 악성코드를 심어서 유포할 가능성이 존재하게 됩니다.

악성코드 유포 방식은 DDE 기능을 통해서 유포될 수 있습니다.

dde 취약점


DDE(Dynamic Data Exchange)란?

사용자의 편의를 위해 Windows에서 사용 가능한 응용 프로그램 간 데이터 전송을 위해 사용하는 기능입니다.

 

DDE를 통해 스크립트를 삽입한 문서를 열게 되면 "이 문서에 다른 파일을 참조하는 링크가 있습니다." 라는 문구가 나오게 됩니다.

공격자가 스크립트를 심어 메일 전송 > 사용자가 문서 열람 > 공격자가 원하는 명령어로 공격 실행
방식으로 악성코드를 심어두게 됩니다.

 

공격 실습

워드에서 삽입

DDE 스크립트를 워드에 직접 삽입하여 공격해보는 실습을 해보도록 하겠습니다.

워드에서 삽입 탭으로 들어가 줍니다.

 

빠른문서요소 필드

오른쪽에 "빠른 문서 요소" > "필드" 를 선택해 줍니다.

 

formula

필드 이름으로 Formula를 선택해 주시고 확인을 클릭합니다.

 

필드 코드 토글

나온 수식에 마우스 우클릭을 하시고 "필드 코드 토글" 이라는 메뉴를 선택해 줍니다.

 

코드

{ } 사이에 DDEAUTO 코드를 입력해 주시면 됩니다.

 

 

저는 cmd에 notepad를 실행하는 명령어를 입력해 보겠습니다

. notepad.exe 대신 calc.exe 계산기 등으로도 테스트가 가능합니다.

{ DDEAUTO C:\\Windows\\System32\\cmd.exe "/k notepad.exe" }

위 코드를 입력해 주시고 저장을 해주고 나옵니다.

 

이 문서에 다른 파일을 참조하는 링크가 있습니다.

이제 문서를 열어 보시면 "이 문서에 다른 파일을 참조하는 링크가 있습니다. 연결된 파일의 데이터로 이 문서를 업데이트하시겠습니까?" 라는 문구가 나오면서 생각없이 예를 누르게 만들어 코드가 실행됩니다.

 

메모장

그러면 아까 작성한 스크립트가 실행되며 메모장(notepad.exe)이 열리는 것을 볼 수 있습니다.

예방법

파일을 눌러줍니다.

이를 예방하기 위해서는 문서 자동 연결 업데이트 기능을 꺼줘야 합니다.

환경설정으로 들어가기 위해 파일을 클릭해 줍니다.

 

워드 옵션

좌측 하단에 "옵션"을 클릭해 주세요

 

문서를 열 때 자동 연결 업데이트

"문서를 열 때 자동 연결 업데이트" 이 항목이 기본적으로 켜져있는데 이 옵션을 꺼주도록 합니다.
그리고 나서 확인을 누르고 나와 주세요

댓글

Designed by JB FACTORY