[긴급] ‘스캔파일’ 메일로 유포되는 워드 문서 주의 – Ammyy 유포
2019년 8월 9일 금요일 새벽 시간부터 국내 기업을 주로 대상으로 Ammyy 백도어를 유포하는 스팸 메일이 다수 유포되고 있어 사용자의 주의가 필요하다. 동일한 목적의 스팸 메일은 8월 8일부터 국외에서도 유포 되고 있으며, 국내에는 오늘 새벽 시간부터 집중적으로 유포되고 있다. 현재까지 확인 된 국내 기업을 대상으로 유포되고 있는 스팸 메일 제목은 ‘스캔파일‘
[주의] 전자항공권 위장 악성코드 유포 (Ammyy, CLOP)
2019년 7월 25일 오전 전자항공권을 위장하여 국내 기업 타겟 악성코드가 대량 유포되어 사용자의 주의가 필요하다. 항공사의 전자항공권으로 위장하여 스팸 메일이 발송되었고, 첨부 된 .iso 파일은 pdf로 위장한 악성 실행파일(*.scr)을 포함하고 있다. 확인결과, 해당파일은 기업사용자를 타겟하여 유포 중인 CLOP 랜섬웨어에서 사용되는 Ammyy 해킹툴을 다운로드 하는것으로 확인되었다. 또한, 기존에 사용했던 엑셀 문서파일(*.xl 확장자)
2019년 상반기 랜섬웨어 동향
2019년 2분기 샘플 건수는 47만4천건으로, 2019년 1분기 33만6천 건 대비 41.2% 증가 하였다. 증가 원인이 된 랜섬웨어는 GandCrab 과 기타로 분류된 감염 리포트가 적은 랜섬웨어 유형이다. 감염 리포트 건수는 2분기 4만1천 건으로 1분기 14만7백 건 보다 무려 70.7% 감소하였다. 지난 2016년부터 랜섬웨어 통계를 산출하기 시작한 이래 가장 낮은 수치를 보였다.
[보고서] 한글 파일에 숨어든 ‘고스트’
한글 파일에 숨어든 ‘고스트’ 고스트스크립트 취약점 CVE-2017-8291을 이용한 악성 한글 파일 동일한 고스트스크립트 취약점을 이용하여 약 2년 여간 지속되고 있는 악성 한글 파일에 대해 상세 분석 보고서입니다. 01. 시작하면서 02. 배경지식 1) 한글 파일의 구조 2) 한글의 EPS 파일 로드 과정 03.악성 한글 파일 1) 한글 파일의 내용과 공격 대상 2) 한글 파일에 포함된 EPS 파일 04. CVE-2017-8291 취약점1) 포스트스크립트의 이해2) 취약점 개요3) 취약점 공격 과정 분석 방법 피연산자 스택 익스플로잇 과정 05. 결론 06. 참고 자료 1) V3 탐지 2) 침해 지표 AhnLab_ASEC_한글파일에숨어든’고스트’.pdf ※ 본 보고서의 어떤 부분도 안랩의 동의 없이 복제, 복사할 수 없으며, 위반시 저작권법에 저촉될 수 있습니다.
3대 국내 사용자 타깃 악성코드 ♥ Amadey 봇의 은밀한 관계
‘GandCrab’ 랜섬웨어, 암호화폐 거래소 대상 공격 악성코드, 스팸 메일로 유입된 ‘Ammyy’ 원격제어 백도어와 ‘Clop’ 랜섬웨어까지… 이들의 공통점은 모두 국내 기업 및 사용자를 주 타깃으로 하는 악성코드라는 점이다. ‘GandCrab’ 랜섬웨어는 ‘이력서’와 같은 스팸 메일이나 국문으로 된 피싱 다운로드 페이지를 이용하여 주로 유포되었고, V3 제품 무력화 시도 등 국내 사용자와 제품을 공격하였다. 암호화폐 거래소 공격 악성코드는 국내 주요 거래소를 대상으로 이메일 첨부파일을 이용하여 유포되었고, 이메일 계정을 포함한 정보와 코인 탈취 등의 기능을 수행하였다. ‘Ammyy’ 백도어는 국내 대기업을 포함하여 무차별적 스팸 메일로 대량 유포되었으며, 원격 제어를 통해 시스템을 장악 및 내부 정보를 탈취한 다음에 ‘Clop’ 랜섬웨어를 시스템에 연결된 내 다수의 PC에 설치하였다. 이렇듯 올 2019년 상반기를 돌아보면 유독 국내 사용자를 및 사용자를 타깃으로 하는 악성코드가 기승을 부렸고 이 중에서 ‘Ammyy’ 백도어와 ‘Clop’ 랜섬웨어 공격은 현재도 활발히 진행중이다. 안랩 ASEC은 이들 악성코드를 계속해서 추적하고 분석하고 있는 과정에서 특별한 연결고리를 확인하였다. 언뜻 보면 서로 연관이 없을 것 같은 공격들 사이에 우연히 공통점이 발견된 것이다. 바로 유포와 실행 중에 ‘Amadey’ 봇을 이용한 점이다. ‘Amadey’는 러시아에서 만들어진 것으로 알려진 봇의 일종으로, 불법 포럼 등을 통해 고가로 거래되고 있다. 주 목적은 시스템 내부 정보 전송, 추가 파일 다운로드 및 실행으로 기능 및 핵심이 되는 실행 파일(PE)의 코드 흐름은 간단한 편이다. 봇 관리와 수집된 내부 정보 및 추가 파일은 공격자가 운영하는 C&C 서버 웹 화면을 통해 관리할 수 있다. [그림 1] Amadey 봇 실행 파일 코드 일부 Amadey 봇 관리자(공격자) 웹 화면 유출 된 C&C 서버 소스 일부 – 파일 다운로드 관리 추가 파일 관리 화면 – [Figure 3] 소스의 웹 화면 즉, ‘Amadey’는 기본적인 정보 유출과 함께 추가 다운로드 할 파일을 실시간으로 교체할 수 있는 맞춤형 봇으로 사용될 수 있는 악성코드이다. 앞서 언급한 국내 타깃 공격에서 ‘Amadey’를 이용한 정황이 확인되었다. 특이한 점은 모든 공격 시도 때마다 이용한 것은 아니고 일부 시도에서 순간적으로 포착되었다. 이제부터 그 순간의 흔적을 확인해보자. #1 GandCrab 랜섬웨어 공격 지난 4월 15일 유포된 ‘Amadey’는 총 3개의 파일을 추가로 다운받아 실행하였고, 이 파일은 정보 유출 유형 외 ‘GandCrab’ 랜섬웨어가 포함되어 있었다. ‘GandCrab’ 유포에 ‘Amadey’를 이용한 것이다. 유포 정황뿐만 아니라 실행 파일 코드 측면에서도 그 외형이 동일하였다. 이는 파일을 만들 때 사용하는 빌더가 동일했다는 것으로, 악성코드 제작자 혹은 유포자가 ‘GandCrab’와 ‘Amadey’를 동일한 빌더를 이용해 외형을 패킹했음을 의미한다. 패킹된 GandCrab 코드(좌) 와 Amadey 코드(우) #2 암호화폐 거래소 대상 악성코드 공격 지난 3월 29일 국내 암호화폐 거래소 PC에서 발견된 악성 파일 ‘Crypto Market Predictor for Desktop v2.13.exe’은 정보 유출과 코인 탈취 기능과 동시에 ‘Amadey’를 이용하여 추가 파일을 다운로드 받았다. 추가로 다운 받은 파일은 또 다른 정보 유출 목적으로 이용되었다. 실행 과정과 추가 파일 유포를 위해 ‘Amadey’를 이용한 사례이다. #3 Ammyy 백도어 및 Clop 랜섬웨어 공격 최근에 가장 이슈가 되고 있는 ‘Ammyy’ 원격제어 백도어 파일 또한 ‘Amadey’를 이용하여 유포된 흔적이 발견되었다. ‘Ammyy’ 백도어는 공격 대상 시스템에 침투한 이후 잠복기간동안 추가 악성 파일을 이용하여 내부 시스템 정보를 완전히 탈취한 뒤 ‘Clop’ 랜섬웨어를 설치한다. 스팸 메일로 유입된 엑셀 파일은 매크로를 통해 ‘Amadey’ 봇을 다운로드 받았고, 해당 봇은 ‘Ammyy 다운로더’를 다운받았다. 이후 다운로더가 ‘Ammyy’ 백도어 파일을 추가로 다운받는다. 이 사례가 독특한 점은 기존까지 모든 ‘Ammyy 다운로더’ 파일은 워드 또는 엑셀 파일을 통해 즉시(또는 인코딩 된 형태)로 시스템에 생성되었기 때문이다. 엑셀의 매크로 코드가 접속하는 주소에 파일이 기존 ‘Ammyy 다운로더’ 방식에서 ‘Amadey’로 변경된 것이다. 그리고 ‘Amadey’가 ‘Ammyy 다운로더’를 다운받도록 하였다. 동일한 접속 주소는 해당 행위가 기록되기 약 2시간 전에는 ‘Amadey’가 아닌 ‘Ammyy 다운로더’를 유포하고 있었다. Amadey로 파일 교체 왜 굳이 단계를 추가하여 파일을 다운받도록 했는지 이유는 알 수 없지만, 분명한 사실은 공격자가 Amadey를 이용하였다는 사실이고, 엑셀 파일이 접속하는 주소에 바이너리가 교체되었다는 점이다. 지금까지 내용을 종합해보면 국내 기업 또는 사용자를 타깃으로 하는 공격 주체는 ‘Amadey’ 봇을 이용하고 있다. 그 이유는 명확하지 않으며 다만 실시간 감염된 PC의 정보 파악 및 추가 다운로드 파일의 교체 등 ‘Amadey’의 기능 자체를 이용하기 위한 것으로 추정된다. 향후에도 이러한 흐름 및 동향에 변화가 있을지 확인해볼 필요가 있다.
다양한 형태로 유포되는 CLOP 랜섬웨어
자사에서는 그간 Ammyy 백도어의 유포 과정과, Ammyy 백도어와 CLOP 랜섬웨어가 같은 인증서를 사용하는 점들을 블로그에 언급해왔다. 이를 총 정리하여 유포 단에서 마지막 랜섬웨어까지의 유포를 정리하고자 한다. 아래 보이는 [그림1]은 전반적인 구조를 표현한 것으로, 한눈에 보아도 복잡하게 구성되어 있음을 알 수 있다. [그림1] – 흐름 구조도 올해 2월 초부터 메일에 악성
유효한 디지털 인증서로 서명된 악성 파일 증가
발급 대상의 신원 정보를 바탕으로 신뢰도를 높이고 무결성을 확보하기 위해 파일에 디지털 서명을 하는 과정을 코드 서명(Code Signing)이라고 한다. 파일 제작자는 공인된 인증기관(CA, Certificate Authority)을 통해 디지털 인증서(Digital Certificate)를 발급받고, 제작한 파일을 해당 인증서로 서명한다. 코드 서명이 된 파일은 기관을 통해 인증받은 파일이기 때문에 웹 브라우저의 다운로드 검증 단계나 파일 실행 단계에서 백신 제품의 탐지를 회피하기 쉽다. 이 때문에 악성코드 공격자들은 파일에 유효한 디지털 서명(Digital Signature) 정보를 추가하여 유포하기도 하는데, 이러한 시도는 이미 2010년 스턱스넷(Stuxnet) 등 과거부터 꾸준히 확인되었다. 주목할 점은 올해 상반기에 국내 유포가 활발했던 악성 파일 중에서 유효한 디지털 인증서로 서명된 파일이 매우 많았고 현재도 활발히 제작되고 있다는 사실이다. 또한 국제적인 하드웨어 제조 업체인 ASUS가 발급받은 인증서로 서명된 파일 중에도 정보 유출 기능이 있는 악성코드가 발견되어 크게 이슈화가 되었다. 신원 정보가 확인되고 신뢰 가능한 인증기관을 통해서만 디지털 인증서를 발급받는 것이 가능한데, 어떻게 유효한 인증서로 서명된 악성 파일들이 만들어질 수 있는 것일까? 인증서가 있는 악성 파일은 인증서 발급 시나리오에 따라 다음 세 가지 유형일 가능성이 높다. ① 이미 발급받아진 다른 회사의 인증서 탈취 ② 정상 회사인 것처럼 가장하거나 유령 회사 이름으로 CA를 통해 인증서 직접 발급 ③ 블랙 마켓을 통해 ② 에 해당하는 인증서 거래 2019년 확인된 악성 파일 중 유효한 인증서로 서명된 파일들의 상당수는 ② 또는 ③ 유형에 해당하며, 이에 비해 적은 수량이지만 ① 로 확인된 파일도 있다. 이제부터 발견된 사례를 바탕으로 악성 파일의 종류와 기능, 그리고 인증서 정보를 살펴 본다. [1] 인증서 직접 발급 – AD 서비스 도메인에 연결된 시스템을 공격하는 ‘Ammyy’ 원격제어 백도어와 ‘Clop’ 랜섬웨어 최근 국내에서 가장 이슈가 되는 악성코드는 주로 기업을 대상으로 유포되고 있는 Ammyy 원격제어 백도어와 이를 통해 설치되는 Clop 랜섬웨어이다. 백도어 파일은 온라인에 공개되어 있는 Ammyy 원격 제어 프로그램의 소스를 이용하여 제작되었고, 이를 공격 대상 PC에 심어 놓은 후 원격으로 시스템에 접근한다. 공격자가 장악한 시스템에서 최종 실행하고자 하는 악성 파일은 Clop 랜섬웨어이다. 특징적으로 이 공격은 유포과정에서 공격 대상 PC가 도메인 컨트롤러를 이용하고 있는 AD(Active Directory) 서비스 구조에 있는 사용자인지 여부를 확인한다. 맞을 경우에만 이후 전파 과정을 진행하는데, 이는 일반적으로 사용자를 도메인으로 구성해서 시스템을 운영하는 기업을 공격 대상으로 한다는 것을 의미한다. 안랩에서는 Clop 랜섬웨어 추적 단계에서 백도어 파일을 다운받는 파일, Ammyy 백도어 파일, 그리고 Clop 랜섬웨어 파일까지 총 3단계의 주요 PE 실행 파일이 코드 서명된 것을 확인하였다. 서명에 이용된 디지털 인증서는 파일의 기능마다 인증서 정보를 달리한 것이 아닌 다양한 인증서가 파일마다 혼재되어 이용되었다. 다운로더부터 랜섬웨어까지 모두 동일한 공격자가 파일을 제작하여 유포하고 있는 것임을 알 수 있다. 현재까지 위 공격에 사용된 것으로 파악한 인증서 정보(인증기관 CA과 발급 대상 정보)는 다음과 같다. 모두 영국에 실제로 있는 영세한 회사 이름으로 인증서를 발급받았다. 대상 회사들이 소프트웨어 제작이나 인증서 발급 업무와 무관한 회사가 많은 점을 고려한다면 이는 회사의 사업자 정보 등을 도용하거나 불법적으로 거래되었을 것으로 추정된다. COMODO RSA Code Signing CA ALCOHOL LTD ALLO’ LTD AWAY PARTNERS LIMITED VAL TRADEMARK TWO LIMITED VERY TELE LIMITED Sectigo RSA Code Signing CA ALISA L LIMITED WINTER AEROSPACE LTD THE COMPANY OF WORDS LTD DELUX LTD COME AWAY FILMS LTD MAN TURBO (UK) LIMITED ANGEL AID LTD DE&GO LTD MARIA’S PEGASEAL LTD D.E.PLANT LIMITED STYLE DESIGN & BUILD LTD Sectigo RSA Code Signing CA DVERI FADO, TOV MEGAPOLIS SERVICES LTD thawte SHA256 Code Signing CA PRIMA ASTRA LTD JIN CONSULTANCY LIMITED
파일리스 형태의 매그니베르 랜섬웨어 사전방어 (V3 행위탐지)
작년(2018년) 안랩 분석팀에서 제작한 매그니베르(Magniber) 복구툴 배포 이후, 매그니베르는 파일리스(Fileless) 형태로 복구가 불가능하게 변경되었다. Fileless 형태로 유포 중인 매그니베르는 행위탐지를 우회하고, 성공적인 파일 암호화를 위하여 (감염 시스템의)권한이 있는 불특정 프로세스에 무차별 인젝션을 수행하게 진화하였다. 이러한 기법을 통해 랜섬웨어 행위의 주체가 감염 시스템의 실행 중인 정상 프로세스가 되고, 해당 프로세스를 종료해도 다른 프로세스에 의해 랜섬웨어 행위가 재
[주의] 국세청 사칭 악성 메일 대량 유포 (Ammyy, CLOP)
2019년 5월 30일 오전 국세청을 사칭한 국내 기업 타겟 악성코드가 대량 유포되어 사용자의 주의가 필요하다. 국세청 세금계산서로 위장하여 스팸 메일이 발송되었고, 첨부 된 .html 파일은 악성 엑셀 파일(xls)을 다운로드 하는 기능이 있다. 기존에는 메일에 xls파일을 첨부하여 유포하였다면, 이번엔 스크립트(html)를 첨부해 이를 통해 xls 을 다운로드 하는 방식으로 변경되었다. [그림 1] 국세청
[주의] 국내 기업을 대상으로 대량 유포되는 엑셀 파일 분석 – Ammyy 원격제어 백도어와 Clop 랜섬웨어 유포
최근 국내에서 가장 이슈가 되는 타겟형 공격은 기업을 대상으로 유포되고 있는 Ammyy 원격제어 백도어와 이를 통해 설치되는 Clop 랜섬웨어이다. 백도어 파일은 온라인에 공개되어 있는 Ammyy 원격제어 프로그램의 소스를 이용하여 제작되었고, 이를 공격 대상 PC에 심어 놓은 후 원격으로 시스템에 접근한다. 공격자가 장악한 시스템에서 최종 실행하고자 하는 악성 파일은 Clop 랜섬웨어이다. 특징적으로 이 공격은 유포과정에서 공격 대상 PC가 도메인 컨트롤러를 이용하고 있는 AD(Active Directory) 서비스 구조에 있는 사용자인지 여부를 확인한다. 맞을 경우에만 이후 전파 과정을 진행하는데, 이는 일반적으로 사용자를 도메인으로 구성해서 시스템을 운영하는 기업을 공격 대상으로 한다는 것을 의미한다. 기업 사용자를 타겟하여 설치되는 해킹툴 Ammyy (CLOP 랜섬웨어) 해킹툴 Ammyy를 이용한 CLOP 랜섬웨어 유포(?) 국내 사용자를 대상으로 유포 중인 악성 Excel 문서 파일 문제는 공격의 시작이 되는 악성 파일이 매우 교묘하게 만들어진 엑셀 파일이라는 것이다. 엑셀 파일은 기업 이메일 계정을 대상으로 동시다발적으로 발송되는데, 대량 발송과 발송된 이메일 내용으로 인해 사용자가 실행할 가능성이 매우 높다. 이번 글에서는 과거부터 현재까지 Ammyy 원격제어 백도어와 Clop 랜섬웨어를 유포하고 있는 엑셀 파일의 기능 및 특징에 대해 변화 순으로 상세히 분석한다. 그리고 이 과정에서 악성 파일이 이용한 ‘엑셀 매크로’라는 과거 엑셀 4.0 버전의 매크로 방식 XLM에 관해서도 설명한다. [첫 번째] * 시기 – 2018년 12월 26일 첫 확인 * 주요 특징 – 엑셀 4.0 (XLM) 매크로 시트 이용, 매크로 시트 숨김, msiexec.exe 프로세스를 통한 파일 다운로드 악성 엑셀 파일을 실행하면 ‘문서 내용을 보기 위해서 상단의 노란색 바에서 콘텐츠 사용을 클릭하라’는 한글 또는 영문 메시지를 확인할 수 있다. 콘텐츠 사용은 매크로 코드 동작에 대한 허용을 의미한다. 메시지는 텍스트가 아닌 공격자가 의도적으로 만든 이미지로 되어 있으며, 이미지 이름은 그림을 뜻하는 ‘Рисунок’로 되어 있다. 이 가짜 메시지 부분은 이후 설명할 악성 엑셀 파일 모두 공통적인 특징이다. 활성화된 악성 매크로는 XLM 매크로로 만들어졌는데, 이는 기존의 VBA와는 전혀 다르다. XLM 매크로는 과거 엑셀 4.0(1992년 출시)의 디폴트 매크로 방식이다. 이후 1993년에 나온 엑셀 5.0부터 현재까지는 디폴트 매크로 코드를 VBA언어를 이용하고 있지만, 여전히 과거의 엑셀 4.0 XLM 매크로 기능을 지원하고 있다. 공격자는 이 부분을 악용하여 비교적 백신 제품에서 탐지가 잘 되는 VBA 방식을 우회하였다. 현재 엑셀 프로그램에서 XLM 매크로를 이용하는 방법 중 대표적으로 엑셀 4.0 매크로 시트(Excel 4.0 Macro Sheet)가 있다. 이외에도 셀(Cell) 이름 관리자를 이용해 XLM 함수를 지정하거나 VBA 코드에서 매크로 함수를 호출할 수 있는 방법이 있지만, 여기에서는 악성 파일이 이용한 매크로 시트에 관해서 설명한다. 매크로 시트는 일반적인 워크시트와 다르게 셀 수식에 입력된 값을 즉시 계산하지 않고 각각을 매크로 함수로 인식하여 셀 단위로 실행한다. 시트이기 때문에 ‘숨기기’를 적용할 수도 있다. 다음은 유포되었던 엑셀 파일에 숨겨져 있던 엑실 4.0 매크로 시트이다. 기본으로 화면에 보이는 시트(Лист)에 우클릭해서 숨기기 취소를 하면 매크로(Макрос) 시트가 확인된다. A1 셀은 이름이 Auto_Open으로 지정되어 문서 실행 시 자동으로 A1 셀이 실행되도록 한다. =EXEC( )은 개별 프로그램을 실행하는 함수로 msiexec.exe와 /i 등 필수 인자 정보를 전달한다. =HALT( )는 =RETURN( )과 유사한데, RETURN이 현재 실행 중인 함수만 중단하는 반면, HALT는 모든 매크로를 이후 단계에서 중단한다. 사용자의 콘텐츠 사용 허용으로 매크로가 실행되면 msiexec.exe 프로세스가 악성 주소에 접근하여 update 이름의 msi 파일을 다운로드하고 실행한다. 매크로 정보를 포함한 모든 Workbook 시트 데이터는 BIFF(Binary Interchange File Format) 포맷으로 저장된다. BiffView나 Oledump와 같은 툴을 이용하여 악성 엑셀 파일의 Workbook 스트림의 구조를 보면, 각 시트의 정보를 담고 있는 BOUNDSHEET(85h)는 총 2개가 있다. 이는 순서대로 Макрос와 Лист 시트 정보와 연결된다. 첫 번째 시트 Макрос의 BOUNDSHEET 정보는 길이 22로 되어있고, 4번과 5번 값이 각각 01h이다. 4번 값은 시트의 현재 상태로서 01h는 Hidden을 의미한다. 5번 값은 시트의 타입으로서 01h는 Excel 4.0 매크로 시트를 뜻한다. 반면 두 번째 시트 Лист는 Visible과 동시에 일반 워크시트 또는 다이얼로그 시트이다. 셀 수식에 입력된 데이터도 CELL FORUMULA(6h)에 저장된다. 이와 같이 엑셀 파일을 직접 실행하지 않아도 Workbook 시트 데이터를 파싱하여 의심스러운 시트의 존재 여부를 확인할 수 있다. [두 번째] * 시기 – 2019년 2월 13일 첫 확인 ~ 5월 16일 * 주요 특징 – 엑셀 4.0 (XLM) 매크로 코드 난독화 시작 엑셀 4.0 매크로 코드를 이용한 악성 엑셀 파일은 최초 발견 이후 코드를 점차 난독화 하기 시작하였다. VBA를 이용한 대부분의 악성 오피스 파일이 VBA 코드를 난독화 하듯이, 엑셀 매크로도 난독화가 가능하다. 매크로 시트의 셀에는 한 개의 셀 수식만 입력이 가능하므로, 제한된 함수 표현 내에서는 이를 난독화하기가 어렵다. 이 때문에 코드의 분기 흐름 자체를 파악하기 어렵게 하였다. 기본적으로 매크로 시트는 Auto_Open 등으로 이름이 지정되거나 없을 경우 A1 셀의 수식을 첫 번째로 실행한다. 이후 현재 실행 중인 열(Column) 아래 방향으로 코드 흐름이 진행된다. 이 과정에서 ‘Macro1’이나 ‘Macro2’처럼 이름이 지정된 셀을 호출하여 분기 흐름이 변경될 수 있다. 분기하게 되면 이전까지 실행했던 루틴을 저장하고 새로운 콜 스택을 생성하여 해당 열에서 아래 방향으로 RETURN 될 때까지 실행한다. 악성 파일은 코드 흐름을 어렵게 하는 것 외에도 기존에 =EXEC 함수를 통해 실행하였던 msiexec.exe 프로세스와 전달 인자 정보를 이제 하나의 셀이 아닌 몇 개의 셀로 나누고, 실행 도중에 데이터를 합쳐 실행하도록 하였다. 아래는 5월 16일에 대량 유포되었던 악성 엑셀 파일이다. 이전보다 더 복잡한 형태로 난독화 되어 있는데 열을 넘어서도 분기를 한다. Auto_Open 또한 A1 이 아닌 D2 에서 시작한다. 이렇게 복잡한 형태로 되어 있을 경우 실행 흐름을 눈으로 따라가기가 어려운데, 이때 VBA 디버깅과 유사하게 한 단계씩 코드를 실행하는 기능을 이용하면 어떤 셀 수식으로 흐름이 이동했는지 파악할 수 있다. 엑셀 4.0 XLM 매크로 코드의 분기 방식을 상세히 이해하기 위해 예시로 만든 매크로 시트로 설명한다. 사용자 눈에 보이는 매크로 함수는 “A1”, “A2”, “B1” 메시지를 띄우는 다이얼로그 박스와 EXEC을 통해 실행되는 계산기(calc.exe)이다. 총 2개의 열에 엑셀 매크로 코드가 있고 행 중간에는 아무 수식도 없는 셀도 있다. 이때 실행 흐름 순서는 다음과 같다. 1) (Auto_Open, A1) ALERT “A1” 메시지 다이얼로그 박스 2) (A2) Macro1 이름을 가진 셀 실행

