1. 개요

- 한국을 포함한 APAC 지역 기업을 대상으로 FatalRat을 배포하는 대규모 피싱 공격(SalmonSlalom 캠페인)이 발견 [1]

- 제조업, 건설업, 정보기술(IT), 통신, 의료, 에너지, 물류 운송 등 산업군을 대상으로 진행

- 중국의 정식 클라우드 서비스(Youdao Cloud Notes, myqcloud CDN)를 악용한 정교한 다단계 감염 기법을 사용

2. 주요 내용

[사진 1] 공격 체인 요약

2.1 초기 감염 (Initial Infection)

- APAC 지역 정부 기관 및 기업을 대상으로 피싱 메일, WeChat, Telegram을 통해 악성 ZIP 파일 유포

> ZIP 파일에는 세금 신고서나 송장 파일이 포함되어 있으며, 파일명은 중국어로 작성

> 또한, ZIP 파일에 1단계 로더가 포함되어 있으며, AsPacker, UPX, NSPack으로 패킹하여 탐지 회피

패킹 (Packing) : 악성코드가 보안 솔루션에 탐지되지 않도록 파일을 압축하거나 암호화하는 기술로, 악성코드의 구조 및 코드 흐름을 숨겨 정적 분석이나 시그니처 기반 탐지로는 악성코드를 쉽게 식별하지 못하도록 함

 

2.2 1단계 로더 (First-stage loader)

- ZIP 파일을 실행하면, 1단계 로더가 활성화

> AsPacker, UPX, NSPack으로 패킹

> 압축 해제 후, Microsoft Visual C++ 2010으로 컴파일

 

- 로더는 Youdao Cloud Notes에 HTTP 요청을 보내 구성기(Before.dll) 및 2단계 로더(Fangao.dll)에 대한 동적으로 업데이트된 링크 목록을 다운로드

> 링크 목록에서 첫 번째 링크부터 선택되며, 해당 링크가 작동하지 않으면 다음 링크가 선택됨

> 다운로드가 완료되면 Fangao.dll과 Before.dll이 1단계 로더에 의해 로드 및 실행

링크 목록이 저장된 URL : hxxp://note.youdao[.]com/yws/api/note/4b2eead06fc72ee2763ef1f653cdc4ae

 

[사진 2] 다음 단계 모듈에 대한 동적으로 업데이트된 링크 목록

2.2.1 Before.dll (구성기)

- 구성 정보를 다운로드하고 시스템 정보를 수집 및 공격자 서버로 전송

> Youdao Cloud Notes에서 JSON 데이터를 다운로드

> 노트에는 submit, dll, online의 세 가지 유형의 URL이 존재하며, 노트를 사용할 수 없을 경우를 대비한 추가적인 URL

구성 정보 다운 URL : hxxp[:]//note.youdao[.]com/yws/api/note/1eaac14f58d9eff03cf8b0c76dcce913

 

[사진 3] 동적으로 업데이트된 구성정보가 포함된 메모 내용

- 각 매개변수 값은 XOR(Key : 0x58)로 암호화되어 구성 파일인 C:\Users\Public\vanconfig.ini에 저장

> belong 매개변수는 작동한 URL과 관련된 노트 콘텐츠 블록 번호를 나타내며, 차단된 URL을 식별할 수 있도록 함

 

[사진 4] 구성 정보 암/복호화 비교

- 피해자 ID로 사용되는 6자리 난수 값을 생성해 C:\Users\Public\history.txt 파일에 저장

- 또한, DLL 파일이 있는 디렉토리에 사용자의 의심을 줄이기 위한 가짜 청구서가 작성된 텍스트 파일 추출

 

- 감염된 시스템의 이름과 Windows 버전을 수집공격자 서버로 GET 요청을 전송

공격자 서버 URL : hxxp://101.33.243[.]31:82/initialsubmission?windows_version=17134&computer_name=MYTEST:DESKTOP-CROB74D
공격자 서버로 POST 메서드가 아닌 GET 메서드를 사용하는 이유 (개인적인 궁금증 및 생각)
① 탐지 회피
> POST 메서드는 일반적으로 데이터 전송이나 인증에 사용되기 때문에 비정상적인 POST 요청은 보안 솔루션에 의해 탐지될 수 있음
② 전송 데이터의 작은 크기
> 단순히 감염된 시스템의 이름과 Windows 버전 정보만을 전송하기에 상대적으로 전송 데이터가 큰 POST 보다 효율적

③ 공격자 인프라 단순화
> 공격자 서버에 기록되는 로그를 활용해 정보를 수집할 수 있으므로 인프라를 단순화 시킬 수 있음
④ 서버 부하 감소
> Stateless 방식으로 서버의 자원 소모를 감소시켜 여러 피해자로부터 정보를 수집할 때 서버 부하를 감소시킬 수 있음 

2.2.2 2단계 로더 (Fangao.dll)

- Before.dll에 의해 생성된 C:\Users\Public\vanconfig.ini 구성 파일을 사용최종 페이로드 다운 및 실행

 

- 구성 파일에서 submit 매개변수를 사용해 네트워크 이름과 운영체제 버전을 공격자 서버로 전송

> Baidu.com에 접속을 시도해 인터넷 연결을 확인하고, 뮤텍스 UniqueMutexName 생성

뮤텍스 (Mutexex) : 악성코드의 중복 실행을 방지하기 위한 목적으로 사용

 

- 구성 파일에서 dll 매개변수를 사용해 FatalRAT 페이로드 다운

> 각 로더 샘플에 고유한 7Byte XOR키를 사용해 복호화하고 FatalRat 실행

 

- 사용자의 주의를 돌리기 위해 프로그램에 오류가 있다는 알림을 표시하고, 악성코드 실행 여부를 판별하기 위해 몇 가지 검사를 수행

> 검사에 통과할 경우 리소스를 압축 해제하는 프로세스를 시작

> 압축 해제 유틸리티(unrar.dll)은 악성 프로그램의 실행 파일이 있는 디렉토리의 리소스 103에 저장되고 숨김 및 시스템 속성이 할당

> C:\ProgramData\KnGoe와 C:\ProgramData\8877이라는 두 개의 새 폴더 생성하고 리소스를 추출해 파일에 저장

 

- 아카이브가 저장되면 unrar.dll과 비밀번호 by2022를 사용해 아카이브에서 파일 추출 및 압축 해제

> 압축 해제 후 아카이브 파일 삭제 및 실행 중인 프로그램 중에서 mmc.exe 프로세스의 인스턴스를 찾아 종료

아카이브 저장 경로 파일 설명
PO520.rar C:\ProgramData\KnGoe\e.dll 합법적인 DriverAssistant 유틸리티의 일부인 DDUtility.dll
C:\ProgramData\KnGoe\r.dll 합법적인 DriverAssistant 유틸리티의 일부인 DMMUtility.dll
C:\ProgramData\KnGoe\t.dll wke.dll : 사이드로드된 악성 DLL
C:\ProgramData\KnGoe\t.ini 텍스트 파일 내에 저장된 "MZ" 헤더
C:\ProgramData\KnGoe\w.dll acvb.exe : DLL 사이드로딩에 사용되는 실행 파일(DriverAssistant 프로세스로)
QD.rar C:\ProgramData\KnGoe\0user.exe PureCodec의 일부인 합법적인 소프트웨어
C:\ProgramData\KnGoe\update.ini PureCodec 구성 파일
C:\ProgramData\KnGoe\YX.vbs 악성 VBS 스크립트
C:\ProgramData\KnGoe\user.bat 악성 CMD script
MMC.rar C:\ProgramData\8877\Local Group Policy Editor.msc 중국어 그룹 정책 편집기

 

2.3 지속성 확보 (Persistence)

- 시스템 재부팅 후에도 자동으로 재실행되도록 Fangao.dll를 활용해 그룹 정책 로그온 스크립트 (Group Policy Logon Script)를 악용

그룹 정책 로그온 스크립트 (Group Policy Logon Script) : 사용자가 로그온할 때 실행되는 스크립트 파일

 

- 가장 먼저 레지스트리 키의 존재 유무 확인

> 존재 시 이미 지속성이 확보되었다고 판단하고 추가 작업을 수행하지 않음

> 존재하지 않을 시 GUI 자동화 기법을 활용해 다음 과정으로 자동 실행 등록 작업 수행

레지스트리 키 : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Logon

 

자동 실행 등록 작업
① DriverUtility 도구 실행 - DriverUtility 도구 (합법적이고 서명됨)를 실행해 UAC를 우회해 관리자 권한 획득
사용자 계정 컨트롤 (User Account Control, UAC)
> 윈도우 비스타 이상의 운영체제에서 제공하는 보안기능
> 권한이 없는 프로그램이나 악성코드가 바로 실행되지 않도록 사용자에게 실행 여부를 묻는 기능
② Windows Explorer 창 
열기 및 숨기기
- Windows Explorer를 사용하여 C:\ProgramData\8877 디렉토리를 엶
> 해당 디렉토리에는 그룹 정책 편집기의 중국어 버전이 압축 해제된 파일을 포함
> SetWindowPos 및 EnableWindow API 함수를 사용해 사용자에게 보이지 않도록 숨겨진 창 상태로 전환
③ GUI 상호작용 시뮬레이션 - GUI 작업을 WM_KEYDOWN 및 WM_KEYUP API 메시지로 마우스 클릭과 키보드 입력을 자동화
> 과정 : Windows 설정 > 스크립트 (로그온/로그오프) > 로그온 스크립트 추가
※ 윈도우 메시지
> 프로그램에서 변화가 생겼을 때 Windows가 프로그램에게 알려주는 정보
> WM_KEYDOWN : 키보드의 특정 키가 눌린 순간 발생
> WM_KEYUP : 키가 떼어질 때 발생
④ 악성 프로그램 등록 - 로그온 스크립트에 C:\ProgramData\KnGoe\0user.exe 등록
> 해당 실행 파일은 PureCodec의 설치 프로그램으로 위장

 

- 자동 실행 절차의 성공 여부를 확인하기 위해 레지스트리 키를 다시 한 번 확인

> 키가 존재하지 않으면 "RegRunError" 메시지를 전송하여 오류 로그 생성

 

2.4 FatalRAT

[사진 5] FatalRAT 동작 과정

- 0user.exe는 update.ini 구성 파일을 로드(정상적인 과정)하고 path 매개변수로 지정된 바이너리를 호출 및 실행

> update.ini 파일 내용을 조작해 path 매개변수를 XY.vbs로 변경

 

- XY.vbs는 wscript.shell을 사용하여 user.bat 실행

> user.bat 동작 과정

C:\user0 디렉토리를 생성

C:\test 디렉토리를 제거

③ user0.exe가 이미 실행 중인지 확인 및 실행 중일 경우 taskill.exe를 사용하여 종료

C:\ProgramData\KnGoe\w.dll 파일 존재 여부 확인

존재 시 - C:\ProgramData\KnGoe\t.ini에 저장된 MZ 헤더를 4개의 파일에 추가 후 C:\user0 폴더에 저장
> C:\ProgramData\KnGoe\w.dll (저장 파일명 : C:\user0\acvb.exe)
> C:\ProgramData\KnGoe\e.dll (저장 파일명 : C:\user0\DDUtility.dll)
> C:\ProgramData\KnGoe\r.dll (저장 파일명 : C:\user0\DMMUtility.dll)
> C:\ProgramData\KnGoe\t.dll (저장 파일명 : C:\user0\wke.dll)

C:\user0 폴더에 read only, system, hidden and archived 속성 설정

⑥ Ping 127.0.0.1 (스크립트 실행을 일시 중지하는 데 사용됨)

⑦ C:\user0\acvb.exe (DriverAssistant 도구)를 실행

⑧ Ping 127.0.0.1 (스크립트 실행을 일시 중지하는 데 사용됨)

C:\test 폴더에 있는 모든 파일에 read only, system, hidden and archived 속성 설정

⑩ tasklist를 사용하여 실행 중인 프로세스 목록 검색 및 findstr을 사용하여 acvb.exe를 실행하는 프로세스 검색

> 프로세스를 찾을 수 없으면 4단계로 복귀

C:\ProgramData\KnGoe\YX.vbs에 read only, system, hidden and archived 속성 설정

C:\user0 폴더의 파일에 read only, system, hidden and archived 속성 설정

 

[사진 6] user.bat의 내용

- acvb.exeDriverAssistant 유틸리티로 DLL 사이드로딩에 취약함을 악용

> DMMUtility.dll, DDUtility.dll, wke.dll 중 하나를 DLL 사이드로딩 시도

 

- wke.dll

> ASPacker로 패킹

> 파일 끝에 다수의 널 바이트를 추가하여  파일 크기를 부풀리고, 런타임 때 메모리에서 압축 해제

> wkeInit 함수 호출 시 하드코딩된 URL로 HTTP GET 요청을 전송

> DLL.dll은 FatalRAT 페이로드로, XOR 연산을 사용해 복호화되고 메모리에서 실행됨

하드코딩된 URL : hxxp://mytodesktest-1257538800.cos.ap-nanjing.myqcloud[.]com/DLL.dll

 

- FatalRAT

> 악성코드가 가상머신이나 샌드박스 환경에서 실행되는지 확인하기 위해 17가지 검사 수행 및 검사 중 하나라도 실패할 경우 실행 중지

> rundll32.exe 프로세스의 모든 인스턴스를 종료

> 레지스트리  키 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableLockWorkstation를 1로 설정 (화면 잠금 기능 차단)

> C:\Windows\Fatal.key에 키로깅 정보 저장

> C:\Users\Public\vanconfig.ini에서 online 값(C2 서버 주소:포트 정보)을 읽고, XOR (Key : 0x58)로 복호화

 

- 감염된 시스템에 대한 아래 정보가 모두 수집된 후 C2 서버로 암호화하여 전송

> 외부 IP 주소(hxxp://www.taobao.com/help/getip.php 서비스를 사용하여 얻음)

> 운영체제 설치 시간

> 운영 체제 아키텍처 및 버전

> 맬웨어 서비스/레지스트리 키에 대한 정보

> CPU에 대한 정보

> 사용자가 현재 유휴 상태인지 여부에 대한 정보 (180,000틱 이상 동안 입력 이벤트가 수신되지 않은 경우)

> 사용자 이름

> Tencent QQ 메신저가 시스템에서 실행 중인지 여부 (창 클래스 CTXOPConntion_Class로 검색)

> 시스템에서 실행되는 보안 솔루션 및 기타 소프트웨어에 대한 정보

 

- 이후 C2 서버로부터 명령이 도착할 때까지 대기

> 키로깅: 사용자의 키 입력을 기록해 민감한 정보를 탈취
> 시스템 조작: 마스터 부트 레코드 (MBR) 손상, 화면 켜기/끄기, 프로세스 종료
> 데이터 유출: 구글 크롬 (Google Chrome), 인터넷 익스플로러 (Internet Explorer) 등 브라우저에서 사용자 데이터 탈취
> 추가 악성 프로그램 설치: 애니데스크 (AnyDesk), 울트라뷰어 (UltraViewer) 등 원격 제어 도구 설치
> 프록시 관리: 프록시 서비스 시작/중지 및 네트워크 트래픽 조작

 

- 침해지표 참고 (Indicators of compromise) [1]

> 악성파일명 27개

> 악성 파일 MD5 145개

IP 60개

> URL 45개

> 레지스트리 키 1개

파일 경로 6개

> PDB 경로 5개

> 뮤텍스 명 1개

3. 참고

[1] https://ics-cert.kaspersky.com/publications/reports/2025/02/24/fatalrat-attacks-in-apac-backdoor-delivered-via-an-overly-long-infection-chain-to-chinese-speaking-targets/
[2] https://www.dailysecu.com/news/articleView.html?idxno=164002

'악성코드 > 분석' 카테고리의 다른 글

정적분석 (Static Analysis) #3  (1) 2025.03.07
정적분석 (Static Analysis) #2  (0) 2025.03.06
정적분석 (Static Analysis)  (1) 2025.02.25
악성코드 분석 개요  (1) 2025.02.18
Malvertising 기법  (0) 2024.12.16
요약 - 공공 코드 리포지터리의 핵심 기능을 공격자들이 악용하기 시작
- 해당 공격 방법에 대처할 수 있는 방법이 전무
내용 - 깃허브 및 깃랩 코멘트들을 활용해 피싱 링크를 생성하기 시작
> 정상적인 오픈소스 소프트웨어와 연결된 링크처럼 보임
> 누구나 아무 프로젝트를 사칭할 수 있게 해줌
> 프로젝트의 주인이 쉽게 알아낼 수 없으며, 대처법이 없음
※ 과거 일부 공격자들 사이에 알려져 있었으며, 널리 사용되는 것을 발견해 알린 것

- 개발자들은 '코멘트' 기능을 이용해 기능 향상 및 버그와 관련한 제보를 받음
> 내용이 길 경우 문서 파일 또는 스크린 샷 등의 형태로 작성해 코멘트를 남길 수 있음
> 파일 형태로 코멘트를 남길 경우 해당 코멘트에는 자동으로 URL이 배정
> Ex) 깃랩의 프로젝트에 파일을 코멘트로 업로드한 경우 URL
> hxxp://gitlab.com/{프로젝트_그룹_이름}/{리포지터리_이름}/uploads/{파일_id}/{파일_이름}

- 코멘트 부분에 멀웨어를 업로드해 악성 URL 생성
> URL에 깃허브, 깃랩, 프로젝트명 등이 포함되어 육안으로 판단하기 어려움
> 해당 프로젝트의 운영자들이 코멘트를 하나하나 살피기 어려워 URL을 전량 검사하기 어려움
> 해당 코멘트를 지우더라도 생성됐던 URL은 여전히 작동하며, 업로드 된 파일 또한 코멘트에서만 지워지고 CDN에는 그대로 남아있음
> 파일을 업로드한 후 코멘트를 등록하지 않아도 파일이 업로드되는 순간 URL이 생성(파일 업로드 기능만 활성화시키는 것으로 URL 생성 가능)

- 이런 코멘트의 특성으로 인해 URL을 매우 신뢰할 만한 형태로 생성 가능
> 사칭하는 프로젝트의 신뢰도를 훼손
> 대응할 방법이 사실상 전무
기타 - 프로젝트 이름이 포함된 URL을 악성인지 아닌지 판단하는 것은 불가능
> 알고 있는 이름들이 URL에 있다고 해서 믿는 것은 지양
> 보다 확실한 방법이 필요

 

보안뉴스

 

깃허브와 깃랩 사용하면 사실상 대처법이 전무한 피싱 공격 완성

해커들이 공개되지 않은 깃허브 및 깃랩 코멘트들을 활용해 피싱 링크를 만들어내기 시작했다. 이렇게 하니 정상적인 오픈소스 소프트웨어와 연결된 링크처럼 보이게 됐다. 매우 영리한 기법으

www.boannews.com

 

1. 개요

- 영국 보안 기업 Jumpsec에 의해 Microsoft Teams에서 취약점 발견

※ Microsoft Teams: MS에서 개발한 비즈니스 커뮤니케이션 플랫폼

외부 사용자가 보안 제어를 우회하여 피싱 메일 유포할 수 있는 취약점

 

2. 주요내용

- MS Teams 사용자는 각각 고유한 테넌트를 가지며, 다른 테넌트의 사용자에게 메시지를 보낼 수 있음

> 테넌시란 조직의 모든 사용자, 그룹, 리소스 및 서비스를 포함하는 컨테이너 역할을 하고, 조직의 전체 온라인 환경을 의미

> 외부 테넌트의 사용자에게 메시지를 보낼 경우 "External(외부)"가 표시됨

 

- 단, 외부 테넌트의 사용자에게 메시지를 보내는 경우 파일을 보낼 수 없도록 차단

[사진 1] 같은 테넌트 구성원에게 메시지 전송(좌) 및 외부 테넌트 구성원에게 메시지 전송(우) 비교

 

- IDOR 취약점을 이용해 [사진 1]의 차단 정책을 우회하여 파일을 전송할 수 있게됨

 

IDOR(Insecure Direct Object Reference) 취약점
- ‘안전하지 않은 직접 객체 참조’
- 공격자가 요청 메시지의 URL 또는 파라미터를 변경해 정상적으로 허용되지 않는 기능을 실행하거나 다른 사용자의 리소스에 접근할 수 있는 공격
- 접근 제어 기능에서 발생하는 문제점 중 하나
- 수평적/수직적 권한 상승이 발생하며, 이로 인해 타 사용자 정보에 접근하거나, 기존 권한으로는 사용이 불가능한 기능을 이용하게 되는 문제가 발생

※ 접근 통제 리스크 사례
① URL이나 파라미터를 조작하여 다른 사용자의 리소스에 접근하거나 허용되지 않은 기능을 실행할 수 있는 경우
② 적절한 인증 및 인가 과정을 거치지 않고 관리자 페이지 접근할 수 있는 경우
③ 디렉토리 트래버셜 취약점과 같이 웹 디렉토리 경로를 벗어난 호스트 내부 경로의 리소스에 접근할 수 있는 경우

※ 수평적 권한 상승: 동일한 권한을 가진 다른 사용자의 객체에 접근
※ 수직적 권한 상승: 지니고 있는 권한을 넘어서는 기능을 수행(관리자 권한 등)할 수 있는 경우

 

- 공격자는 POST 메소드를 이용한 요청에서 ID 값(RECIPIENT_ID)을 수정하여 파일을 전송할 수 있음

/v1/users/ME/conversations/<RECIPIENT_ID>/messages

 

[사진 2] RECIPIENT_ID 값을 변경한 POST 요청 전송

 

- [사진 2]의 결과로 외부 테넌트에 파일을 전송할 수 있게 됨

 

[사진 3] 외부 테넌트 파일 전송

 

- Jumpsec은 MS에 관련 내용 전달

> MS로부터 즉각적인 조치가 필요한 사항이 아니라는 답변외 취약점 조치 계획 등의 답변은 받지 못함

 

2.1 TeamsPhisher

- 외부 테넌트에 파일을 전송하도록 Python으로 제작된 공격 자동화 툴

- 미국 해군의 보안 전문가들이 개발하여 깃허브에 공개

- 툴 사용을 위해서는 MS Teams 계정이 존재해야 함

> 대상 사용자의 존재여부 및 외부 테넌트의 메시지를 수신할 수 있는지 확인한 뒤 동작하며 미리보기 기능을 제공

 

[사진 4] python3 teamsphisher.py -h

 

옵션 설명
필수 -h 사용법 출력
-u Teams 및 Sharepoint 라이선스가 있는 계정
-p Teams 및 Sharepoint 라이선스가 있는 계정 비밀번호
-a 공격 대상에 전송할 파일의 전체 경로
-m 공격 대상에 첨부파일과 함께 전송할 메시지 파일 경로
-e 공격 대상이 1명일 경우 이메일 주소
-l 공격 대상이 N명일 경우 대상의 이메일 주소가 기록된 파일의 전체 경로
선택 --greeting -m 옵션으로 지정한 메시지 앞에 추가할 사용자 지정 인사말
--securelink 수신자만 확인 가능한 링크로 파일을 전송하며, 첨부 파일을 보기 위해 인증 메시지 표시
--personalize 사용자 이름을 식별해 사용자 이름으로 시작하는 메시지를 전송
--preview 미리보기 모드
--delay 각 메시지 전송 시 지연 시간으로 Default 값은 0
--nogreeting  TeamsPhisher에서 사용하는 내장 인사말을 비활성화
--log TeamsPhisher 출력을 로그 파일에 기록 (사용자 홈 디렉터리에 기록)

 

3. 대응방안

- 외부 테넌트와 메시지를 주고 받을 필요가 있는지에 대한 검토

① 불필요 시

> Microsoft Teams 관리 센터 > 외부 액세스 > 해당 기능 비활성화 권고

 

② 일부 조직이 필요한 경우

> 허용 목록에 있는 특정 도메인과의 통신만 허용하도록 설정

> Microsoft Teams 관리 센터 > 외부 액세스

 

- 외부 테넌트 관련 이벤트 로깅

> Jumpsec은 소프트웨어 로깅에 외부 테넌트 관련 이벤트를 추가해 달라는 요청을 전달

> 외부 메시지 요청 모니터링 및 감지를 위한 웹 프록시 로그 구현

 

- 피싱 등 사회공학 공격과 관련된 직원 교육

> 기본 보안 수칙 준수

 

4. 참고

[1] https://labs.jumpsec.com/advisory-idor-in-microsoft-teams-allows-for-external-tenants-to-introduce-malware/
[2] https://medium.com/@timmylepp/microsoft-teams-idor-exploit-8f3aa7158ce1
[3] https://github.com/Octoberfest7/TeamsPhisher

1. 개요 [1]

- Microsoft에서 은행 및 금융권을 대상으로 다단계 AiTM 피싱 및 BEC 공격에 대해 경고

- 은행 및 금융권과 파트너 관계에 있는 서드파티를 침해한 후 서드파티를 통해 공격 진행

- 서드파티와 피해자 간 신뢰 관계를 이용한 공격

[사진 1] 다단계 AiTM 및 BEC 공격

 

2. AiTM 공격 [2]

- 전통적인 피싱 공격은 공격자가 정상 사이트와 유사한 피싱 사이트를 구성하여 공격 대상에 메일 링크 등으로 전달

- 링크 등으로 피싱 사이트에 접속한 사용자가 입력한 계정 정보 등을 공격자가 탈취

> 발신 주소 확인, 링크 주소 확인, 첨부 파일 확인 주의 등의 보안 교육과 MFA를 적용하여 피싱 공격에 대응

> MFA를 사용하기 위해 피해자의 휴대폰 등에 물리적으로 접근이 가능해야 하며, 피싱 사이트에 MFA를 구현하는데 어려움이 있었기 때문에 어느정도 대응이 됨

 

- 공격자들은 이를 우회하고자 중간자 공격(MITM, Man-in-the-middle attack)을 피싱 공격에 접목하기 시작하였으며, 이를 AiTM(adversary-in-the-middle)이라 함

> 피싱 서버에 로그인 기능을 구현하지 않고, 중간자 역할(프록시 서버)을 수행

> 사용자는 실질적으로 정상 서버와 통신을하며, 로그인 및 MFA 진행

> 공격자는 중간에서 계정 정보, MFA 값, 쿠키 등을 탈취

> 관련 툴로는 Evilginx, Evilginx 2 등이 있음

※ Evilginx: 세션 쿠키, 계정 정보 등을 피싱하는 데 사용되는 중간자 공격 프레임워크

[사진 2] AiTM

2.1 공격 체인

[사진 3] AiTM 피싱 공격에서 BEC까지 공격 체인

① 서드파티 피싱메일 유포

> 최종 공격 대상과 파트너 관계인 서드파티로 위장하여 링크가 포함된 피싱메일 유포

 

② 링크 접속

> 공겨자는 Canva 서비스를 활용

> Canva를 활용해 가짜 OneDrive 문서 미리보기와 피싱 URL 링크를 보여주는 페이지를 호스팅

※ Canva: 프레젠테이션, 포스터, 문서 및 기타 시각 콘텐츠를 만들기 위해 사용되는 오스트레일리아의 그래픽 디자인 플랫폼

 

③ AiTM 공격

> URL에 접속하면 MS 로그인 페이지를 스푸핑한 피싱 페이지로 리다이렉션

> 해당 페이지에서 입력한 계정 정보 및 MFA, 세션 쿠키를 공격자가 탈취

 

④ 서비스 접속

> 앞선 과정에서 탈취한 쿠키 정보를 통해 로그인 및 MFA 인증을 우회

 

⑤ 추가 MFA 인증 수단 등록

> 탈취한 계정으로 접근하기 위해 새로운 MFA 인증 수단을 등록

 

⑥ 메일 수신 규칙 생성

> 공격자는 로그인 후 사용자의 메일함에서 수신 메일을 보관 폴더로 이동하고, 모든 메일을 읽음으로 표시하는 규칙 생성

 

⑦ 피싱 공격

> 공격자는 Canva URL을 일부 수정하여 대규모 피싱 공격을 수행

> 피해 사용자의 연락처를 통해 피싱 메일을 발송

 

⑧ BEC 공격

> 부재중 사용자(피싱 메일을 읽지 않은 사용자)로 확인된 경우 해당 메일 삭제

> 피싱 메일의 진위 여부와 관련된 질문을 수신한 경우 정상 메일이라고 응답 및 해당 메일 삭제

※ BEC 공격은 정당한 송신자로 위장하여 수신자를 속이는 방법이며, EAC 공격은 공격자가 실제 계정을 탈취하여 추가 공격을 진행하는 방법인데, 해당 경우에는 EAC 공격이 좀 더 적합한 것으로 판단됨.

 

⑨ 계정 도용

> 악성 URL에 접속한 사용자의 계정을 탈취하여 또 다른 공격에 사용

 

⑩ BEC 공격

> 앞선 BEC 공격과 동일한 방법으로 반복

 

3. 대응 방안

- 계정 정보 변경

> 비밀번호 변경, MFA 인증 수단 확인 등

 

- 조건부 액세스 정책 적용 [3]

> 조건부 액세스란 접속지 IP, 접속지 위치, 디바이스, 접속 어플리케이션 등을 종합적으로 평가하여 인증 여부 및 인증 수준 결정

 

- 지속적인 세션 검증 [4]

> 일반적으로 액세스 토큰은 1시간 동안 유효

> 해당 토큰이 만료될 경우 해당 세션이 유효한 세션인지 검증

 

- 피싱 방지 솔루션 도입 [5]

> Microsoft Defender SmartScreen의 경우 사용자가 방문하는 웹 페이지의 동작 및 보고된 동작과 비교

> 비교 결과를 통해 정상 사이트인지 악성(또는 유해) 사이트인지 경고를 발생

 

4. 참고

[1] https://www.microsoft.com/en-us/security/blog/2023/06/08/detecting-and-mitigating-a-multi-stage-aitm-phishing-and-bec-campaign/ 
[2] https://thehackernews.com/2023/06/microsoft-uncovers-banking-aitm.html?m=1
[3] https://learn.microsoft.com/ko-kr/azure/active-directory/conditional-access/overview?ocid=magicti_ta_learndoc
[4] https://learn.microsoft.com/ko-kr/azure/active-directory/conditional-access/concept-continuous-access-evaluation?ocid=magicti_ta_learndoc
[5] https://learn.microsoft.com/ko-kr/deployedge/microsoft-edge-security-smartscreen?ocid=magicti_ta_learndoc
[6] https://attack.mitre.org/techniques/T1557/
[7] https://www.boannews.com/media/view.asp?idx=119015
[8] https://www.xn--hy1b43d247a.com/initial-access/aitm

1. 개요

- 북한 해킹조직들이 대한민국 국민들을 대상으로 무차별·지속적 해킹공격을 진행

- 국가정보원이 처음으로 北해킹공격 관련 통계를 공개하며 경각심 제고

※ 대한민국 대상 해킹공격 중, 2020~2022년에 발생한 북한으로부터의 사이버 공격 및 피해통계를 공개

- 북한발 공격은 이메일을 악용한 해킹 공격(74%), 취약점 악용(20%), 워터링 홀(3%), 공급망 공격(2%), 기타(1%) 순으로 집계

※ 국민 대부분이 사용하는 상용 메일을 통한 해킹공격을 한다는 것은, 국민 전체를 대상으로 해킹공격을 하고 있다는 뜻

 

2. 주요내용

- 북한은 해킹메일로 확보한 계정정보를 이용해 정보 탈취하며, 수발신 관계를 분석해 2~3차 공격대상을 선정 및 악성코드 유포 등을 수행

 

- 북한이 사칭한 기관 비율은 다음과 같음

> 일반적으로 발신자명을 먼저 확인하는 점에 착안해 주로 네이버, 카카오를 사칭

기관 네이버 카카오(다음) 금융, 기업, 방송언론 외교안보 기타
비중 45% 23% 12% 6% 14%

 

- 또한, 해킹 메일 제목은 다음과 같음

> 계정 정보, 회원 정보 등 변경 또는 이용제한 안내와 같이 계정 보안 문제를 주제로 피싱메일 발송

순서 해킹메일 제목
1 새로운 환경에서 로그인 되었습니다.
2 [중요] 회원님의 계정이 이용제한되었습니다.
3 해외 로그인 차단 기능이 실행되었습니다.
4 회원님의 본인확인 이메일 주소가 변경되었습니다.
5 알림 없이 로그인하는 기기로 등록되었습니다.
6 회원님의 메일계정이 이용제한 되었습니다.
7 [Daum]계정아이디가 충돌하였습니다. 본인 확인이 필요합니다.
8 [Daum]고객님의 계정이 충돌되었습니다.
9 [경고]회원님의 아이디로 스팸이 대량 발송되었습니다.
10 [보안공지]비정상적인 로그인이 감지되었습니다.

 

- 사칭 발신자명 및 사칭 메일주소

> 사용자들의 의심을 낮추기위해 '발신자명'과 '메일 제목'을 교묘히 변형

사칭대상 사칭 발신자명
네이버 - 네0|버 (숫자 0)
- 네O|버 (영어 O)
네이버
- 네이버
네이버
(주)네이버
- NAVER고객
‘ 네이버 MYBOX ’
카카오(다음) Daum 고객센터
-  Daum 보안
- Daum 고객지원
[Daum]고객센터
- 다음메일 커뮤니케이션
Clean Daum
-  '카카오팀'
- Daum 캐쉬담당자

 

구분 공식 메일주소 사칭 메일주소
네이버 네이버 account_noreply@navercorp.com - account_norply@navercop.com
- accounsts_reply@navercorp.com
- account_help@`navercorp.com
네이버 고객센터 help@help.naver.com - help@helpnaver.com
- help@help.naveradmin.com
- help@help.navor.com
네이버 메일 navermail_noreply@navercorp.com mail_notify@naver.com
no-reply@navecorp.com
- navermail_noreply@sian.com
카카오, 다음 카카오 noreply@kakaocorp.com - noreply@kakaocrop.net
- norepley@kakaocorps.co.kr
- no-reply@kakaocorp.com
다음 메일 notice-master@daum.net - notise-master@daurn.net
- notice-master@daum.nat
- notice-master@hanmail.net
카카오 메일 noreply_kakaomail@kakao.com - noreply-master@kakao.com
noreply@kakao.com
- noreply@kakaocrp.com

 

3. 사칭방법 및 대응방안

- 관리자를 사칭하며, 악성 링크를 삽입계정 입력 유도 및 정보 탈취

대응방안 참고
발신자 이름을 유사하게 흉내내므로, 아이콘 차이 확인
발신자 주소 확인

※ 공식 메일주소 - 사칭 메일주소 비교 표 참고
메일 내 링크 주소 확인
링크 클릭 후 표시되는 화면의 주소 확인

메일 무단열람 방지를 위한 2단계 인증 설정
일반적인 보안 규칙 준수 - 출처가 불분명한 파일, 링크 실행 및 클릭 금지 등

 

4. 참고

[1] https://www.nis.go.kr:4016/CM/1_4/view.do?seq=234&currentPage=1&selectBox=&searchKeyword=&fromDate=&toDate= 

[2] https://www.boannews.com/media/view.asp?idx=118493&page=1&kind=2 

요약 - 구글이 5월 초 두 개의 최상위 도메인 이름(.zip과 .mov)을 추가
- 보안 전문가들은 해당 최상위 도메인을 이용해 피싱 공격을 할 경우 보다 강력한 공격이 가능해질 것이라 예상
내용 - 보안 전문가 바비 로치(Bobby Rauch)는 .zip으로 끝나는 두 개의 URL A, B제시
> zip 파일을 다운로드하는 URL과, 다른 사이트로 리다이렉트 시키는 URL로 혼동 발생

- 우려 의견
① 보안 업체 도메인툴즈(DomainTools)
> 파일 확장자와 똑같은 도메인이 두 개나 생겼다는 건, 피싱 공격자들에게 강력한 무기를 쥐어주었다는 것과 동일
> 특정 파일을 찾아 다운로드 받으려는 사용자들을 속이기에 딱 좋은 장치

② 보안 업체 트렌드마이크로(Trend Micro)
> .zip과 .mov를 활용한 피싱 공격이 훨씬 정교하고 강력해질 것
> 예시로, 정보 탈취형 멀웨어인 바이다(Vidar)의 경우 Zoom.zip 파일 속에 숨겨져서 유포

- 중립 의견
① 보안 업체 노비포(KnowBe4)
> 두 개의 도메인으로 인해 피싱 공격이 의미 있는 수준으로 강력해질 것인지는 아직 아무도 확신할 수 없음
> 파일 확장자와 똑같은 이름의 도메인을 가졌을 때의 나쁜 점이 더 많아 보이는 건 사실

- 구글 
> 도메인 이름이 파일 이름 등과 겹치며 혼란을 야기했던 사례가 이전에도 있었으며, 이미 안전 장치가 마련되어 있음
> .zip과 .mov가 피싱 공격에 활용되는 게 두렵다면 그러한 안전 장치를 사용하면 될 것
기타 - 바이러스토탈(VirusTotal)의 경우 이미 이 도메인 이름 때문에 오류가 발생하기 시작
> 새로운 도메인이 등장함으로써 엔진이 악성 여부를 탐지하는 데에 오류를 보임

- 아직까지 이를 이용한 피싱 공격이 급증하는 것으로 보이지는 않으며, 아직 공격자들이 연구 중에 있는 것으로 보임

- 관련된 피싱 사례를 차단하려는 기술 개발 및 도입이 시작될것
> 브라우저에 장착된 차단 기술만을 의존해서는 공격을 완전히 막을 수는 없음
> 사용자 편에서의 인지 제고와 보안 교육은 여전히 중요한 방어 도구임

- 당분간 .zip과 .mov 도메인을 아예 활용하지 않는다는 정책을 만들어 방화벽 등에 적용시켜 놓는 것이 좋을 것
> 뚜렷한 방어 대책이 나올 때까지 해당 도메인들은 아예 없는 것처럼 여기고 환경을 만들어가는 것이 안전할 것

 

보안뉴스 

 

구글이 만든 새 최상위 도메인 이름, 보안 업계 비판의 소리 점점 커져

두 개의 최상위 도메인 이름이 최근 추가됐는데, 이 때문에 보안 전문가들 사이에서 경고의 소리가 나오는 중이다. 이 도메인 이름은 구글이 5월 초에 발표한 것으로, .zip과 .mov다. 보안 전문가들

www.boannews.com

 

Security risks of the .zip and .mov domains

Why the confusion between .zip & .mov file extensions and the identical domains creates security risks.

www.kaspersky.com

 

The Dangers of Google’s .zip TLD

Can you quickly tell which of the URLs below is legitimate and which one is a malicious phish that drops evil.exe?

medium.com

 

File Archiver In The Browser | mr.d0x

This article explores a phishing technique that emulates a file archiver software in the browser while using a .zip domain . Introduction Last week Google released several new top-level domains (TLDs) including .dad, .phd, .mov and .zip. Many members of th

mrd0x.com

 

+ Recent posts