1. 개요

- 북한 배후 해킹그룹 김수키(Kimsuky)에서 국내 보안 프로그램으로 위장한 악성코드 유표 정황 포착

- Go 언어 기반 인포스틸러로, 국내 보안기업의 보안 프로그램 설치파일로 위장

- 시스템 정보, 브라우저 정보, AV 설치 목록 등을 탈취하며, GPKI 정보 또한 탈취를 시도

- 악성코드에 파일에 포함된 문자열을 따 '트롤스틸러(Troll Stealer)'로 명명

 

2. 주요내용 [1]

- 악성코드는 국내 특정 웹 사이트 접속시 연결되는 보안 프로그램 다운로드 페이지로부터 유포

> SGA Solutions의 보안 프로그램 설치 파일(TrustPKI, NX_PRNMAN)로 위장

> 악성코드는 정상 인스트롤러와 악성코드를 드랍 및 실행하는 Dropper

> 악성파일은 모두 원래 인증서인 “SGA Solutions”가 아닌, 유효한 “D2innovation Co.,LTD” 인증서로 서명

[사진 1] 악성 파일 서명 정보

2.1 실행 흐름

[사진 2] 실행 흐름 요약

① Mutex  생성 및 자가 삭제

- 중복 실행 방지를 위한 Mutex 생성

- %Temp% 하위 경로에 자가 삭제를 위한 BAT 스크립트 파일 생성 및 실행

 

② 파일 Dropper

- 정상으로 위장하기 위해 SGA Solutions 정상 설치파일을 Desktop 경로에 설치 및 실행

- Troll Stealer와 감염 이력을 확인하기 위한 파일을 드랍

 

③ Troll Stealer 설치

- rundll32.exe 프로세스를 통해 실행하며, 감염 이력 확인을 위한 파일명이 Export 함수로 호출

> 감염 이력 확인을 위한 파일이 존재하는 경우에만 악성 행위 수행

> 자체적으로 중복실행 방지를 위한 Mutex 생성 (Dropper Mutex와 다른 값)

> 분석 방해를 위해 VMProtect 패킹

 

④ 구성 데이터 설정

- 감염된 시스템의 MAC주소, 디렉터리 경로 수집 후 악성행위 수행을 위해 Config 임시 파일 생성

> Config 내에는 C2 서버 주소 등의 정보가 포함

> Config 파일 암호화 후 C2 서버 전송 및 파일 삭제

 

⑤ 정보 수집

- 감염된 시스템 내 정보를 탈취 및 암호화 후 C2 서버로 전송

- 특히, C드라이브 내 GPKI(Government Public Key Infrastructure) 폴더 탈취 시도가 확인

> 행정전자서명인증서인 GPKI는 국내 행정 및 공공기관 등의 정부에서 사용하는 전자적 정보 [2]

> 행정전자서명의 진위를 검증할 때 사용되는 공인인증서

> 일반 PC에서는 사용되지 않고, 공무를 위해 사용되는 PC에 설치되는 것이 일반적

> 공공에 설치된 PC 등을 타겟으로 한 캠페인으로 평가됨

[사진 3] 악성코드 탈취 정보 목록

 

⑥ 파일 암호화

- C2 서버로 데이터 전송 전, 데이터를 암호화

> RC4와 RSA-4096 알고리즘을 조합하여 데이터를 암호화

> 하드코딩된 PKCS#1의 DER로부터 RSA 공개키 파싱을 수행

> 랜덤 RC4 키 값을 생성하여 탈취 데이터 암호화

> RSA 공개키를 이용해 RC4 암호화 키 암호화

 

⑦ C2 통신

- C2 통신을 위해 12개의 필드로 구성된 60바이트 크기의 구조를 사용

> 통신 목적과 전송하는 데이터 유형에 따라 각 필드 값을 다르게 설정

> 데이터를 구조에 맞게 구성한 후 바이너리 내 하드코딩된 4바이트 Key를 사용해 XOR 및 Base64 인코딩

> 인코딩 결과는 "a=[Encoded_Data]" 형식으로 C2 서버에 전송

※ 데이터 탈취 => 파일 암호화(RC4+RSA) => 통신 구조체 인코딩(XOR+Base64) => a 파라미터로 전달

[사진 4] 통신 구조 및 필드 값

⑧ 자가 삭제

- 악성행위 수행 후 자가삭제를 위해 .tmp 디렉토리에 PS1 파일 생성

> PS1 파일은 악성 DLL 및 스스로를 삭제

 

※ 분석 보고서에서 침해지표 제공 [1]

 

3. 참고

[1] https://medium.com/s2wblog/kimsuky-disguised-as-a-korean-company-signed-with-a-valid-certificate-to-distribute-troll-stealer-35b3cd961f91
[2] https://www.gpki.go.kr/jsp/certInfo/certIntro/eSignature/searchEsignature.jsp
[3] https://www.boannews.com/media/view.asp?idx=126703&page=1&kind=1

+ Recent posts