메인 콘텐츠로 건너뛰기
Tanium 블로그

이메일 도용, 그 방법을 세어보다

최근 공개된 민주당 전국위원회(DNC) 해킹 사건은 이메일 침해를 표적으로 삼는, 매우 흔한 형태의 데이터 도난을 다시금 주목받게 만들었다. 이러한 보안 침해 사고에 대한 즉각적인 대응으로 흔히 메시지 암호화나 2단계 인증과 같은 보안 조치를 도입하자는 주장이 제기된다. 실제로는 이러한 공격을 예방하고, 탐지하며, 대응하는 일이 훨씬 더 복잡합니다. 일반적인 기업 네트워크는 공격자들이 이메일을 탈취할 수 있는 무수한 기회를 제공하는데, 이는 소수의 사용자에게만 영향을 미치는 매우 표적화된 공격이든, 아니면 시간이 지남에 따라 대량의 데이터를 수집하려는 시도이든 상관없이 마찬가지입니다.

지난 7년 동안 저는 표적 공격을 당해 기밀 이메일을 유실했던 수많은 기관들과 협력해 왔습니다. 이 블로그 게시물에서는 공격자들이 사용하는 것으로 확인된 몇 가지 일반적인 기법을 살펴보고, 인증과 암호화가 미치는 영향을 논의하며, Tanium이 이러한 기법을 탐지하고 대응하는 데 어떻게 도움이 될 수 있는지 소개하겠습니다.

기본 가정

이 글에서는 Windows 환경에 대한 표적 침입 시 제가 “기본 전제”라고 생각하는 몇 가지 가정을 설정해 보겠습니다. 먼저, 피해 조직이 여전히 가장 널리 사용되는 기업용 이메일 플랫폼인 Microsoft Exchange를 사용하고 있다는 점을 명확히 해 둡시다. 또한 공격자가 이미 피해자의 내부 네트워크에 접근 권한을 확보했으며, 그 후 을 통해 다음 관측 지점 중 적어도 하나 에서 활동을 수행할 수 있다고 가정해 봅시다:

  • Outlook Web Access와 같이 외부에서 접속 가능한 웹메일 서버에 브라우저를 통해 접속하는 것
  • (1) 동일한 내부 네트워크 내에 있는, 이전에 백도어가 심어진 시스템을 통해, 또는 (2) 보안이 침해된 VPN이나 기타 원격 접속 솔루션을 통해 내부 Exchange 서버로 연결되는 경로
  • 이메일이 조사 대상인 특정 개인의 최종 사용자 워크스테이션에 대한 백도어 접근

마지막으로, 공격자가 다음 유형의 인증 정보 중 적어도 하나를 성공적으로 탈취했다고 가정하겠습니다:

  • Exchange 또는 도메인 관리자에게 속한 특권 Active Directory 계정
  • 피해자 PC 간에 수평 이동을 위해 재사용할 수 있는 일반적인 로컬 관리자 계정
  • 이메일 내용이 조사 대상인 표적 개인의 비특권 도메인 계정

이를 염두에 두고, 몇 가지 일반적인 상황을 살펴보겠습니다.

공격자들은 종종 Outlook Web Access(OWA)를 표적으로 삼습니다.

공격자들은 침입 후 단계, 즉 자격 증명을 성공적으로 탈취한 후에 Outlook Web Access(OWA)를 표적으로 삼는 경우가 많습니다. 특히 OWA에 2단계 인증이 필요하지 않거나, 2단계 인증을 요구하는 VPN 뒤에 위치해 있지 않은 경우 OWA에 접속하기가 매우 쉽습니다. 도메인 계정 하나 또는 모든 도메인 계정이 도난당하면, 일반 사용자처럼 로그인하기만 하면 됩니다. 대규모 다국적 조직에서 이러한 활동을 광범위하게 탐지하는 것은 어려운 일일 수 있는데, 특히 공격자가 임의의 소스 주소나 자신이 이용할 수 있는 모든 경유 지점을 통해 브라우저 기반의 접근 방식을 사용할 수 있다는 점을 고려하면 더욱 그렇습니다.

웹메일이 VPN 뒤에 위치해 있다 하더라도, 내부 네트워크에 침투한 공격자에게 노출될 가능성이 여전히 있습니다. 공격자들은 종종 내부에서 접근 가능한 웹메일 인스턴스에 단일 인증 방식의 도메인 자격 증명을 사용하여 접속할 수 있는지 탐색합니다. 만약 그렇다면, 공격자는 터널링 악성코드를 이용해 기존 백도어가 설치된 호스트를 거점으로 삼아, 표적 사용자로 위장하여 인증할 수 있습니다.

암호화가 도움이 될까요?

조직에서 Outlook Web Access와 함께 S/MIME를 사용하는 경우, 암호화된 이메일을 읽으려면 Internet Explorer만 사용할 수 있습니다. 또한, 메시지를 복호화하는 데 필요한 개인 키는 로컬 엔드포인트의 인증서 저장소에 설치되어 있어야 합니다. 따라서 공격자는 피해 사용자의 개인 키에 접근하거나, 원격 접속을 통해 피해자의 PC에 접속하여 피해자를 사칭해 이메일을 열람해야 합니다. 도메인 전체가 침해당하는 상황에서는 두 가지 모두 큰 장애물이 되지 않을 것입니다.

조직이 PGP와 같은 다른 암호화 방식을 사용하고 있는 경우, 공격자는 다시 한 번 표적 사용자의 시스템에서 개인 키와 키 문구를 복구해야 할 것입니다. 도메인 전체가 침해된 상황에서는 공격자가 특정 사용자의 시스템에 접근하는 것을 막기 어려울 수 있습니다. 그러나 이로 인해 공격자는 기회주의적인 행동(“어디서든 아담의 이메일을 입수할 수 있다”)에서 표적형 행동(“먼저 아담의 시스템을 해킹해야 한다…”)으로 전환할 수밖에 없게 된다.

사용자들이 웹메일과 같은 서비스를 이용할 때 대개 가장 수월한 방법을 택한다는 점을 염두에 두는 것이 좋습니다. 이로 인해 자신의 컴퓨터나 다른 브라우저를 사용할 때 암호화되지 않은 메시지가 주고받게 되는 경우가 종종 발생하는데, 이는 이메일의 범위가 더 좁아지기는 했지만 데이터 도난이 더 쉽게 일어날 수 있는 기회를 제공하게 됩니다.

타늄은 어떻게 이를 탐지할 수 있었을까?

조직은 공격자가 소유한 엔드포인트가 이전에 탈취된 인증 정보를 사용하여 인터넷을 통해 OWA에 직접 접속하는 사실을 당연히 파악할 수 없을 것입니다. 이로 인해 확보 가능한 증거의 출처는 네트워크 트래픽과 메일 서버 자체의 로그 데이터로 한정됩니다. Outlook Web Access 인증 이벤트와 웹 서버 로그를 SIEM에 중앙 집중화하면 사후 조사를 훨씬 수월하게 진행할 수 있습니다. 네트워크 아키텍처에 따라, 수신 웹메일 요청의 실제 소스 IP를 파악하기 위해 여러 데이터 소스를 상호 연관시켜 분석해야 할 수도 있습니다.

Tanium은 엔드포인트 로그를 자동으로 수집하여 중앙 집중식 위치로 전송함으로써, 해당 로그를 시스템에 입력하고 후처리를 수행할 수 있도록 지원하는 ‘ ’ ‘Copy Tools’‘ ’ 패키지를 제공합니다. 이전 사례에서 저는 액세스 로그에 기록된 브라우저 사용자 에이전트와 접속 시간, 소스 주소를 종합적으로 분석하여, 해킹당한 계정에 대한 악의적인 OWA 접속과 정상적인 접속을 성공적으로 구분해 낸 조사관들과 함께 일한 적이 있습니다.

공격자가 해킹당한 내부 시스템을 통해 웹메일에 접근하는 경우, 이는 “피보팅”에 사용된 엔드포인트에 대한 증거를 훨씬 더 많이 확보할 수 있게 해줍니다. 접근 방식에 따라 Tanium은 과거 이벤트에 대한 사용자 컨텍스트를 포함하는 로컬** 보안 이벤트 로그** 항목( ), 브라우저 기록(), 및 실행된 프로세스 추적( )을 검색할 수 있는 센서를 제공합니다. 예를 들어, 감염된 사용자의 시스템에 있는 백도어를 통해 Internet Explorer를 사용하는 공격자는 관리자 본인의 사용자 프로필이 아닌 시스템 컨텍스트의 프로필 아래에 브라우저 기록 항목을 생성할 수 있습니다. 이러한 항목들은 대개 비정상적인 양상을 띠고 있어 추가 조사가 필요한 경우가 많습니다.

PowerShell을 사용하여 Exchange 서버에서 이메일 수집하기

PowerShell이 Microsoft Exchange 서버 관리에서 비롯된 점을 고려할 때, 이를 사용하여 사용자 사서함에 접근하고 메시지를 가져오거나 보낼 수 있다는 사실은 그리 놀라운 일이 아닙니다. 저는 공격자들이 악성 PowerShell 스크립트를 이용해 이메일을 수집한 여러 건의 침입 사건을 목격했습니다. 이 방법에는 기본적으로 PowerShell에 포함되어 있지 않은 Exchange Web Services(EWS) 라이브러리[1]가 필요합니다.

실제로 EWS를 사용하려면 PowerShell 코드와 함께 “Microsoft.Exchange.WebServices.dll”이라는 단일 DLL 파일만 포함하면 됩니다. Stack Overflow의 유용한 게시물[2] 에서는 스크립트를 통해 이러한 방식으로 메시지를 가져오는 것이 얼마나 쉬운지 보여줍니다.

암호화가 도움이 될까요?

공격자가 표적 사용자의 시스템에서 해당 사용자의 도메인 계정 권한 하에 PowerShell 스크립트를 실행할 경우, S/MIME 복호화에 필요한 Windows 인증서 저장소의 개인 키에 접근할 수 있게 됩니다. 앞서 언급한 바와 같이, PGP와 같은 다른 암호화 방식을 사용한다면, 공격자는 검색된 메시지를 확인하는 데 필요한 키와 암호를 복구하기 위해 추가적인 단계를 거쳐야 할 것입니다.

타늄은 어떻게 이를 탐지할 수 있었을까?

Tanium Trace는 네트워크 연결 활동과 이에 수반되는 프로세스 및 사용자 컨텍스트를 지속적으로 기록합니다. 당사의 헌팅 대시보드 중 하나는 Trace Network Connections 센서를 사용하여 포트 80 및 443에 연결을 수립한 모든 PowerShell 인스턴스에 대한 필터링된 보기를 제공합니다. Exchange 관리자를 제외하고는, 대부분의 최종 사용자 시스템이나 다른 유형의 서버에서 PowerShell을 이러한 방식으로 사용하는 것은 이례적인 일입니다. 고객사들은 대개 Tanium의 ‘컴퓨터 그룹(Computer Groups)’ 기능을 이러한 유형의 모니터링 대시보드와 함께 사용하여, 이와 같은 악성 활동을 보다 정확하게 파악합니다.

또 다른 방법은 엔드포인트에서 “Microsoft.Exchange.WebServices.dll” 라이브러리의 존재 여부나 사용 여부를 확인하는 것입니다. Tanium 사용자는 ‘ ’ , ‘Index Query’, ‘ ’ 센서를 실행하여 모든 시스템의 전체 하드 드라이브를 몇 초 만에 검색하고, 이 라이브러리를 이름이나 해시 값으로 찾을 수 있습니다. 또한, ` ` , `Loaded Modules`, ` ` 센서를 통해 메모리에 이 라이브러리를 불러온 모든 시스템을 확인할 수 있습니다. 다시 한 번 말하자면, 컴퓨터 관련 그룹들은 이 라이브러리의 예상된 사용과 예상치 못한 사용을 구분하는 데 있어 더 넓은 관점을 제시할 수 있습니다.

메시징 애플리케이션 프로그래밍 인터페이스(MAPI) 도구

MAPI/RPC는 Outlook이 Exchange 서버를 지원하기 위해 사용하는 표준 프로토콜입니다. 이 기능은 문서화되어 있으며 다양한 API를 통해 이용할 수 있으므로, 다른 Windows 애플리케이션에서도 이를 활용할 수 있습니다. For example, “MAPIGET.EXE”, one of the utilities highlighted in Mandiant’s 2010 report on APT1, connects to Exchange servers via MAPI and stolen NTLM credentials to harvest a targeted account’s messages and attachments. Outlook이 설치된 시스템의 경우, VBS나 VBA와 같은 스크립트 언어 또한 MAPI 네임스페이스를 활용하여 수신함을 조작하고 이메일을 가져올 수 있습니다. 다만, 이는 설치된 Outlook의 버전과 설정에 따라 달라질 수 있는 제한 사항이 적용됩니다.

네트워크 모니터링 관점에서 볼 때, MAPI가 RPC를 사용하기 때문에 클라이언트가 단일 고정 서비스 포트 대신 광범위한 고번호 포트를 사용하여 Exchange 서버에 연결한다는 점에 유의해야 합니다. Exchange에 “Outlook Anywhere” 기능이 구성되어 있는 경우, 클라이언트는 HTTPS 포트 443을 통해 RPC로 연결할 수 있습니다.

암호화가 도움이 될까요?

많은 MAPI 기반 도구는 S/MIME로 암호화된 메시지를 단순히 “smime.p7m” ” 첨부 파일로 가져옵니다. 앞서 다른 시나리오에서 언급한 바와 같이, 공격자가 피해 사용자의 엔드포인트에서 활동 중이며 충분한 권한을 가지고 있다면 Windows 인증서 저장소에 접근할 수 있습니다.

타늄은 어떻게 이를 탐지할 수 있었을까?

 Established Connections 및 Trace Network Connections 센서는 분석가가 Exchange 서버 주소 및 포트 범위에 연결되는 모든 프로세스의 이름, 경로 및 해시를 즉시 비교할 수 있도록 중첩 가능한 출력을 생성할 수 있습니다. 분석가는 , , Trace Executed Processes,  를 통해 의심스러운 이벤트에 대한 명령줄 및 발생 경로를 확인하기 위해 더 심층적인 분석을 수행할 수 있습니다. 이 데이터를 모니터링하면 조직은 이메일 서버 인프라와 통신을 시도하는 악성 애플리케이션을 파악할 수 있습니다.

로컬 Outlook 사서함 및 보관함 파일 훔치기

거의 모든 Outlook 사용자는 이 프로그램의 오프라인 및 보관함 기능을 잘 알고 있습니다. 공격자의 관점에서 볼 때, 이러한 파일들은 엔드포인트에 있는 다른 파일들과 다를 바가 없습니다. 즉, 운영 체제의 기본 명령어나 많은 백도어에 공통적으로 포함된 기능을 사용하여 복사, 압축, 전송할 수 있습니다. 두 가지 제약 요인은 해당 파일의 크기와 사용자가 해당 파일에 비밀번호 보호 기능을 설정했는지 여부일 수 있습니다.

암호화가 도움이 될까요?

여기까지 읽으셨다면, 아마 이미 정답을 눈치채셨을 겁니다. 공격자가 자신의 PC에 저장된 피해자의 Outlook 아카이브에 접근할 수 있다면, Windows 자격 증명 저장소에 있는 모든 정보에 접근하거나 키로깅 또는 기타 기술을 사용하여 다른 자격 증명을 탈취할 가능성이 높습니다.

타늄은 어떻게 이를 탐지할 수 있었을까?

 Trace File Operations 센서를 사용하면 비정상적인 위치에서, 또는 비정상적인 프로세스에 의해 생성되거나 수정된 Outlook 사서함 파일을 추적하는 필터링된 검색 또는 대시보드를 구축할 수 있습니다. 마찬가지로, Tanium의 ‘ ’ , ‘Index Query’, ‘ ’ 센서는 기업 전체에 걸쳐 저장된 메일박스 파일을 검색할 수 있습니다.

키 입력 기록 및 화면 스크래핑

감염된 시스템에서 충분한 권한을 가진 환경에서 실행되는 모든 악성코드는 모든 키 입력을 기록하고, 주기적으로 창 내용이나 전체 화면의 내용을 캡처할 수 있습니다. 이러한 도구 중 상당수는 공격자가 설정한 패턴과 일치하는 데이터만 수집하거나, 특정 애플리케이션이나 창 제목에서 데이터를 수집하도록 구성할 수 있습니다. 최종 사용자가 확인한 모든 이메일의 내용이 이러한 방식으로 유출될 수 있습니다. 물론, 공격자가 대량의 이메일을 신속하게 수집하고자 할 경우 이 방법은 이상적이지 않으며, 적용 범위에도 한계가 있습니다. 즉, 각 피해 사용자의 시스템이 감염되어야 하며, 악성코드가 시간이 지남에 따라 상당량의 불필요한 데이터를 수집할 수도 있습니다.

암호화가 도움이 될까요?

아니요. 화면에 나타나거나 글자로 적혀 있다면, 그것은 노출된 것입니다.

타늄은 어떻게 이를 탐지할 수 있었을까?

백도어, 키로거, 화면 캡처/스크래퍼 및 기타 관련 악성코드를 심는 방법은 무수히 많기 때문에, 이를 모두 탐지할 수 있는 단일한 기술은 존재하지 않습니다. 하지만 저는 지속성 메커니즘을 분석하는 것이 이러한 악성코드의 가장 기본적인 공통 요소를 해결하는 효과적인 방법이라는 사실을 종종 확인해 왔습니다. 공격자가 일정 기간에 걸쳐 엔드포인트에서 데이터를 수집하고자 한다면, 해당 악성코드는 재부팅 후에도 계속 작동해야 합니다.

많은 Tanium 고객사들은 , , Autorun Program Details, , , Trace Loaded Drivers, , , DLL Load Order Hijacking Search, , , Service Module Details, , , WMI Event Consumers,  와 같은 지속성 관련 센서를 활용하여 기업 전반에서 의심스러운 바이너리 및 스크립트를 탐지하고 있습니다.

조사관이 키 입력 기록이나 화면 캡처를 생성하는 악성코드를 식별한 후에는, 해당 악성코드가 일관된 출력 파일 명명 규칙을 따르고 있다는 사실도 파악할 수 있습니다.  Trace File Operations 센서는 특정 이름이나 경로 형식과 일치하는 과거 파일 작업 내역을 식별하는 데 도움이 되며, Index Query 센서는 마찬가지로 디스크 내 어디에서든 특정 패턴(또는 헤더 바이트 시퀀스)과 일치하는 저장된 파일을 찾아낼 수 있습니다.

기타 방법 및 마무리 생각

이 글은 공격자가 피해자의 컴퓨터나 해킹당한 기업 네트워크에서 이메일을 훔칠 수 있는 방법 중 극히 일부만을 다루고 있습니다. 그 밖의 기법으로는 다음과 같은 것들이 있습니다:

  • 사용자의 이메일을 제3자 주소로 몰래 전달하도록 Exchange 구성하기
  •  , 등의 사용자들은 고의로,  자신의 메일을 개인 이메일 주소로 전달하고 있으며, 해당 주소는 이후 해킹당하게 됩니다.
  • BEEF[3]와 같은 브라우저 익스플로잇 프레임워크는 웹메일 활동 및 기타 브라우저 내 데이터를 은밀하게 모니터링할 수 있다.
  • 사내 이메일 보관(즉, 소송 및 감사 지원 목적)에 사용되는 내부 소프트웨어를 대상으로 함
  • 피해자들을 속여 합법적인 이메일 클라이언트를 사칭하는 악성 모바일 애플리케이션을 사용하도록 유도하는 행위
  • … 그리고 그 밖에도 셀 수 없이 많은 것들이 …

다른 자산과 마찬가지로 기업 이메일의 보안을 확보하려면 신중한 위협 모델링이 필요합니다. 공격자들은 대개 목표를 달성하기 위해 저항이 가장 적은 경로를 택한다는 점을 고려해야 합니다. 따라서 모든 공격 경로가 반드시 대응책에 동등한 투자를 요하는 가능성이 높거나 실용적인 공격 경로인 것은 아닙니다.

전형적인 평면형 Windows 네트워크에서는 소수의 시스템에서 발생한 국지적인 침해 사고가 순식간에 도메인 전체에 걸친 더 심각한 침해로 번질 수 있습니다. 반면, 더 좁은 범위의 데이터에만 관심이 있는 침입자의 경우, 표적이 된 개별 사용자를 감염시키는 것만으로도 “충분할” 수 있습니다. 마찬가지로, 메시지 암호화만으로는 이러한 모든 공격 경로를 막을 수 있는 만병통치약이 아닙니다. 하지만 이는 공격자가 네트워크상의 임의의 중계 지점에서 어떤 계정의 메시지에든 기회주의적으로 접근하는 것을 용이하게 하는 대신, 더 제한된 범위의 피해자 시스템을 통해 활동하도록 강제할 수 있다.

이메일을 탈취하는 데 이용되는 기법의 종류는 놀라울 정도로 다양하며, 이러한 위협에 직면한 대상은 주목을 많이 받는 곳들뿐만이 아닙니다. 이를 탐지하고 대응하기 위한 포괄적인 엔드포인트 가시성을 확보하는 것이 이메일 보안을 유지하는 최선의 방법입니다.

[1] https://github.com/officedev/ews-managed-api

[2] http://stackoverflow.com/questions/4454165/how-to-check-an-exchange-mailbox-via-powershell

[3] http://null-byte.wonderhowto.com/how-to/hack-like-pro-hack-web-browsers-with-beef-0159961/

저자 라이언 카잔시얀() 소개: 타늄(Tanium)의 최고 보안 아키텍트(Chief Security Architect)인 라이언 카잔시얀은 사고 대응, 포렌식 분석, 침투 테스트 분야에서 14 년 이상의 경력을 보유하고 있습니다. 라이언은 타늄(Tanium)의 위협 대응(Threat Response) 제품군의 설계 및 로드맵을 총괄하며, 타늄 엔드포인트 탐지 및 대응(EDR) 팀을 이끌고 있습니다. Tanium에 합류하기 전, 라이언은 Mandiant에서 표적 공격의 피해를 입은 수십 개의 포춘 500 대 기업과 협력하며 조사 및 대응 업무를 총괄했습니다. 라이언은 블랙햇(Black Hat)과 FBI 사이버 수사대의 강사로 활동하며 수백 명의 사고 대응 요원을 양성해 왔습니다. 그는 『Incident Response and Computer Forensics 제3판』(McGraw-Hill, 2014)의 공동 저자이다. 라이언은 또한 TV 시리즈 《미스터 로봇》의 기술 자문으로 활동하며, 작가진 및 제작팀과 협력해 드라마에 등장하는 해킹 장면을 기획하고 있습니다.