보안정보

글로벌 정보보안 리더 윈스

HTML 코드로 탐지를 회피하는 Microsoft Office 365 피싱

침해사고분석팀 2021.04.09

 

 

최근 Microsoft Office 365 자격 증명을 수집하는 사기성 웹 페이지를 전파하는데 로컬 및 원격으로 저장된 HTML 코드를 사용하는 피싱 캠페인이 진행되고 있다.

 

이 방법은 가짜 로그인 인터페이스를 얻고 잠재적인 피해자가 민감한 정보를 입력하도록 유도하기 위해 JavaScript 파일에 숨겨진 여러 HTML 조각을 함께 붙이는 것으로 구성되어있다.

 

해당 피싱 캠페인의 피해자는 투자에 대한 Excel 파일(.XLSX)로 보이는 첨부 파일만 포함된 이메일을 받았다.

 

하지만 파일은 URL 인코딩된 텍스트가 포함된 HTML 문서였다.

 

Trustwave의 연구원들은 텍스트를 디코딩하고 엔티티 코드를 통해 더욱 난독화되어있던 더 많은 디코딩을 발견했다.

 

GCHQ의 CyberChef를 사용하여 다른 피싱 캠페인에 사용되는 도메인인 "yourjavascript.com"에서 호스팅되는 두 개의 JavaScript 파일에 대한 링크를 공개했다.

 

 

 
[그림1. JavaScript 파일]
 
 

두 개의 JavaScript 파일 각각에는 HTML 코드를 숨기는 두 개의 URL, Base64 인코딩된 텍스트 블록이 있다.

 

그중 하나에서 연구원은 피싱 페이지의 시작과 피해자의 이메일과 비밀번호를 확인하는 코드를 발견했다.

 

두 번째 자바 스크립트에는 'form'태그와 피해자에게 로그아웃되었으며 다시 인증해야함을 알리는 팝업 메시지를 트리거하는 코드를 통해 위치한 '제출'기능이 포함되어 있다.

 

 

 

[그림2. 피싱 페이지]

 

 

전체적으로 연구원들은 두 개의 JavaScript 파일 중 5개 청크로 분산된 367줄 이상의 HTML 코드와 함께 쌓여있는 전자 메일 첨부 파일을 디코딩하여 Microsoft Office 365 피싱 페이지를 구성했다.

 

 

 

[그림3.  HTML 코드 구성]

 

 

트러스트 웨이브는 이 캠페인의 특이한 점은 자바 스크립트가 원격 위치에서 난독화된 청크로 다운로드된 후 로컬로 통합된다는 것이다.

 

연구원들은 "이는 공격자가 초기 첨부 파일에서 악성 JavaScript를 식별하고 차단할 수있는 Secure Email Gateway와 같은 보안 보호를 우회하는 데 도움이됩니다."라고 덧붙였다.

 

피해자 이메일 주소는 자동으로 채워지고 피싱 사기는 또한 암호가 비어 있지 않은지 확인하고 정규 표현식을 사용하여 유효한 이메일 주소를 확인한다.

 

 

 

[그림4. 이메일과 비밀번호를 피싱하는 페이지와 코드]

 

 

연구원들은 원격 위치의 JavaScript 코드를 가리키는 HTML 첨부 파일과 고유한 인코딩을 사용하여 탐지를 피하는 기존의 방식과 달리 캠페인에서 사용되는 방법이 드물다고 말한다.

 

 

 

출처

https://www.bleepingcomputer.com/news/security/microsoft-office-365-phishing-evades-detection-with-html-lego-pieces/