보안 위협 분석

온라인 문의

Bitter(APT-Q-37) 그룹 분석

악성코드 분석        2026-01-05

1) 개요

  APT-C-08 그룹은 Bitter라는 명칭으로 널리 알려진 남아시아 기반의 APT 조직으로, 국가의 전략적 이익과 연계된 정보를 수집하는 사이버 첩보 활동에 주력하고 있다. 이들은 최근 수년간 중국과 파키스탄을 중심으로 정부 기관, 전력·군수 산업, 주요 연구기관을 대상으로 지속적인 공격을 수행해 왔으며, 이러한 활동은 해당 지역의 외교 정책이나 국방 관련 기밀 정보를 확보하기 위한 목적에서 이루어진 것으로 추정된다. 

Bitter 그룹은 주로 스피어피싱을 초기 침투 수단으로 활용하며, 정부나 외교 기관을 사칭한 계정에서 악성 첨부파일이나 링크가 포함된 이메일을 발송하는 방식으로 공격을 시작한다. 이와 함께 공개된 지 얼마 지나지 않은 소프트웨어의 취약점을 빠르게 악용하는 등 전술적 민첩성을 보이는 점도 특징적이다. 활동 범위는 초기에는 남아시아 지역에 집중되어 있었으나, 최근에는 사우디아라비아와 일부 유럽 지역으로까지 확대되며 지속적으로 진화하는 위협 그룹으로 평가되고 있다.   

<그림 1> Bitter 그룹 백도어 캠페인 도식도

 

2) Bitter 그룹 백도어 캠페인

최근 발견된 Bitter 그룹의 샘플은 C#을 사용하는 백도어로, 원격 서버에서 임의의 실행 파일을 전송할 수 있다. 

첫 번째 배포방식 

악성 XLAM 파일에 포함된 VBA 매크로가 실행되면 내부에 숨겨진 C# 코드 파일을 추출한 뒤 피해자 시스템에 있는 csc.exe와 InstallUtil.exe을 사용해 해당 코드를 컴파일하고 설치한다.  

내용을 입력해주세요

두 번째 배포방식 

WinRAR 경로 탐색 취약점을 악용해 피해자의 템플릿 폴더에 있는 Normal.dotm 파일을 악성 파일로 교체한다. 이후 피해자가 DOCX 문서를 열면 자동으로 악성 매크로가 실행되며 원격 서버에서 백도어를 다운로드 해 실행한다.  

 

[방식 1]

첫 번째 방식은 XLAM 파일의 매크로를 이용한 것으로 Nominated Officals ffor the Conference.xlam 파일을 열면 <그림 2> 처럼 에러 메시지가 나온다. 

<그림 2> 문서 실행 시 출력되는 메시지 창

 

<그림 3>은 내장된 매크로 코드로 실행 시 의도적으로 에러 메시지 창을 띄우는 것을 알 수 있다. 

<그림 3> 문서 오픈 시 에러 메시지 박스 출력

 

실행 시 base64로 인코딩 된 데이터를 “C:\\Programdata\\USOShared\\vlcplayer.dll” 파일로 컴파일한다. 
공격자는 InstallUtil.exe에 /U 옵션(Uninstall)과 함께 컴파일 된 악성 DLL을 인자로 전달함으로써 DLL 내부에 정의된 Uninstall( ) 메서드를 호출하도록 유도하였다.  Uninstall( ) 메서드가 호출되면 악성로직이 실행된다.  

<그림 4> 디코딩 된 코드 중 일부

 

그 다음 자동실행을 위한 배치파일을 생성한다. 
배치파일은 %APPDATA%\Microsoft\Windwos\Start Menu\Programs\Startup\kefe.bat 경로에 저장되고 OneDrive 업데이트처럼 위장하여 26분마다 다음 C&C서버에 접속해 원격 명령 및 추가 페이로드를 받아 실행하도록 한다. 

<그림 5> 자동 실행을 위한 배치파일 생성

 

<그림 6> 디코딩 된 배치파일 데이터

 

[C# 백도어(cayote.log) 분석]

 cayote.log에 저장되는 C# 백도어는 실행 시 사용자의 정보를 탈취하고 추가적인 명령어를 받아 수행한다. 

<그림 7>처럼 InstallUtil.exe에 /U 옵션(Uninstall)과 함께 실행시켜 Uninstall 함수가 실행되면 MainWindow( ) 함수를 실행시킨다. MainWindow( )에선 내부적으로 복호화 한 값들을 통해 WMI 쿼리를 실행 시켜 사용자의 정보를 탈취한다.  

<그림 7> WMI 쿼리 실행을 통한 사용자 정보 탈취 

 

<그림 8> WMI 쿼리 실행 

 

이후 감염 PC를 식별하기 위한 고정 ID(midi)를 생성·저장·재사용 한다.

<그림 9> 감염PC 식별을 위한 midi 값 설정 및 재사용 

 

다음 C&C 서버로 수집한 시스템 정보를 전송한 뒤 응답 값을 받아 실행을 위해 taskprogressAsync 함수로 전달한다.  

<그림 10> 사용자 정보 전송

 

<그림 11> 전달받은 명령어 실행

 

명령어 데이터는 “#’ 로 구분되며 첫 부분은 다운로드할 파일의 이름, 세 번째 부분은 파일을 저장할 위치를 지정한다. 

<그림 12> 명령어 구분 후 실행

 

추가적인 데이터를 EXE 파일로 복구한 뒤 실행하고, 결과값은 다음 서버로 전송한다.  

<그림 13> 추가적인 데이터를 받아온 뒤 EXE 파일 복구한 뒤 실행 

 

<그림 14> 수신된 코드를 실행파일(EXE)로 수정 

 

[방식 2]

 두 번째 방식은 WinRAR의 경로 탐색 취약점을 악용한 것으로, WinRAR 7.11 이전 버전부터 유효하다. 악성 RAR 파일에는 Document.docx와 Normal.dotm 두 개의 파일이 포함되어 있다. 

Normal.dotm의 위치는 “.\..\..\AppData\Roaming\Microsoft\Templates\Normal.dotm” 으로 피해자가 C:\\Users\\[사용자 이름]\\Downloads 혹은 C:\\Users\\[사용자 이름]\\Desktop 와 같은 디렉터리에서 압축 해제 하였을 경우 기존 Templates\Normal.dotm 파일을 악성 파일로 덮어씌운다.  

<그림 15> 압축파일 내 Normal.dotm 위치 

 

Document.docx 파일은 5byte의 미끼파일로 악성 Normal.dotm 파일의 실행을 유도하는데 사용된다. %APPDATA%\Romaing\Microsoft\Templates 경로에 들어간 악성 Normal.dotm 파일은 기본 템플릿 파일로 위장해 word가 시작할 때마다 열린다.  

<그림 21>은 Normal.dotm에 내장된 매크로로, 실행 시 공유폴더에 접근해 winnsc.exe 악성코드를 숨김 모드로 실행한다. 실행되는 winnsc.exe 파일은 앞 단에서 분석한 C# 악성코드와 동일하다.   

- 공유폴더 : \\koliwooclients.com\templates\winnsc.exe 

<그림 16> Normal.dotm 내부 매크로 코드 

 

3) 결론

Bitter(APT-C-08) 그룹은 스피어피싱을 중심으로 한 정교한 초기 침투와 합법적인 시스템 구성 요소를 악용하는 전술을 결합해 지속적인 사이버 첩보 활동을 수행하는 위협 그룹이다. 이번 분석에서 확인된 두 가지 배포 방식은 서로 다른 진입 경로를 사용하지만, 모두 사용자의 정상적인 문서 열람 행위를 트리거로 삼아 백도어를 은밀하게 설치 ·실행한다는 공통점을 가진다. 
XLAM 파일에 포함된 VBA 매크로를 통해 C# 코드를 컴파일 ·설치하는 방식은 개발 도구를 악용해 보안 탐지를 회피하려는 의도를 보여준다. 반면 WinRAR 취약점을 이용해 Normal.dotm을 교체하는 방식은 문서 템플릿이라는 신뢰 영역을 악용해 지속성과 재실행 가능성을 확보하는 공격 기법이다. 이러한 전술은 단발성 침해가 아닌 지속적인 내부 접근을 유지하며 정보를 수집하려는 Bitter 그룹의 첩보 중심적 공격 성향을 보여준다.
따라서 조직은 이러한 반복적 ·경량화된 침투 전술에 대비하기 위해 Office 매크로 실행 행위와 문서 템플릿 변경 시도에 대한 모니터링을 강화하고, csc.exe·InstallUtil.exe 등 개발·설치 도구의 비정상적 사용을 탐지할 수 있는 규칙을 적용해야 한다. 아울러 메모리 내 로더 실행 여부와 원격 서버와의 비정상적인 프로세스-네트워크 행위를 지속적으로 점검하고, Outlook/INetCache 경로 내 파일 생성 및 실행 여부를 중심으로 한 피싱 기반 초기 침해 탐지를 우선적으로 구축하는 것이 필요하다. 

 

 

출처 

 

 

 

  • 송어진
    • 위협분석센터
    • ej.song@piolink.com

     

     

    • 목록
    문의