Threat Actor group targeting Russian nuclear power plants
1. 개요
2020년 10월 러시아 원자력 발전소를 대상으로 한 해킹 활동이 발견되었다. 공격자는 스피어 피싱 이메일(Spear phishing Email)에 첨부된 MS엑셀(Excel) 파일의 Auto_Open 함수를 사용하여 악성코드를 시스템에 감염 시키도록 설계되었다.
러시아를 포함한 유럽을 주요 대상으로 활동하는 것으로 판단되는 해당 해킹 그룹은 2018년에도 원자력 발전소를 포함한 러시아의 여러 부문을 대상으로 한 공격 활동이 발견된 적이 있다. 본 보고서에서는 이번 해킹 활동 뿐 아니라, 2018년 발견된 해킹 활동을 포함하여 해당 해킹 그룹의 특징과 악성코드 동작 방식에 대해 다룬다.
2. 러시아의 원자력 발전소 대상의 해킹 활동
해당 해킹 그룹은 러시아의 원자력 발전소 임직원들을 대상으로 2020년 10월 23일에 MS엑셀(Excel)가 첨부된 스피어 피싱 이메일을 발송하였다. 공격 대상이 된 쿠르스크 원자력 발전소는 러시아에 있는 원자력 발전소 11개 중 한곳으로, 쿠르스크 시에서 서쪽으로 40km 떨어진 세임(Seym) 강변에 위치하고 있다. 현재 1000MW급 RBMK-1000 원자로 4개를 사용하여 러시아 서부 쿠르스크에 위치한 쿠르스크 외 기타 19개 지역에 전력망을 공급하고 있다.
[그림 1: 해당 해킹 그룹이 해킹 활동에 사용한 스피어 피싱 이메일 일부]
러시아어로 작성된 해당 스피어 피싱 이메일은 대부업체 기업에서 발송한 것으로 위장했으며, 대출에 대한 의무 지불금을 내지 않아 법원에 출석해야 해야 한다는 내용과 함께 대출 계약서와 청구서를 첨부한다는 내용을 포함하여 해킹 대상이 첨부파일을 열어보도록 하는 사회공학 기법(Social Engineering)을 사용했다. 해당 해킹 그룹은 과거 2018년에도 러시아의 교육기관, 금융기관 및 원자력 시설 등을 포함한 여러 산업 군을 대상으로 자바스크립트(JavaScript) 파일을 첨부한 스피어 피싱 메일을 사용한 해킹 활동이 발견된 적이 있다.
3. 스피어 피싱 이메일 발신지
해당 해킹 그룹은 2020년 10월 23일 금요일 새벽 임직원들을 대상으로 스피어 피싱 메일을 발송하였다. 해당 해킹 그룹은 GLOBAL63RU-AS LLC Global Telecom Co, RU 기관의 망식별번호(AS) AS39042에 해당되는 네트워크 대역에서 지메일(Gmail)을 통해 메일을 발송하였다.
[그림 2: 망식별번호(AS) AS39042에 해당되는 러시아 사마라 인근 지역]
4. 해킹 활동 특징
해당 해킹 그룹은 스피어 피싱 메일의 첨부파일을 통해 외부로부터 SFX(Self-extracting archive) 파일을 다운로드 및 실행하며 원격제어에 필요한 로그인 정보를 전달받은 후 원격제어 프로그램을 이용해 시스템의 제어 권한을 탈취하도록 설계되었다.
[그림 3: 해당 해킹 그룹의 해킹 방식 도식화]
해당 해킹 그룹은 원격제어 프로그램인 리모트 유틸리티(Remote Utilities) 및 팀뷰어(TeamViewer)를 사용하며, DLL Search Order Hijacking 기법으로 악성 모듈을 로드 한다. 악성 모듈은 원격제어 프로그램의 GUI(Graphic User Interface)를 숨겨 해킹 대상이 악성코드 감염 및 해킹 시도가 있음을 인식하지 못하게 막으면서, 원격제어에 필요한 로그인 정보를 공격자에게 전달하여 공격자가 감염된 시스템을 합법적인 원격제어 프로그램을 통해 원격제어가 가능하도록 한다. 또한 해당 해킹 그룹은 디지털 서명 정보가 포함된 원격제어 프로그램을 사용하여, 보안 소프트웨어의 탐지 및 차단을 회피하기 위한 것으로 판단된다.
[그림 4: 디지털 서명된 원격제어 프로그램을 사용한 해킹 그룹]
해당 해킹 그룹은 과거 해킹 활동에서 RMS(Remote Management System)을 사용하여 원격제어에 필요한 로그인 정보를 전송하는 방법을 사용한 경우가 있었으며, 최근 해킹 활동에서도 RMS(Remote Management System)을 사용하여 원격제어에 필요한 로그인 정보를 GET request로 전송하는 방법을 사용하였다.
[그림 5: GET request로 로그인 정보 전송]
5. 악성코드 동작 방식
다음은 해당 해킹 그룹이 스피어 피싱 이메일의 첨부 파일로 사용한 2가지 형태의 악성코드 동작 방식에 대한 설명이다.
Type 1 – 동작 방식
[그림 6: Type 1 동작 방식 도식화]
해당 해킹 그룹은 스피어 피싱 이메일에 첨부된 RAR 파일 형태의 압축파일에 압축 해제 암호를 설정해 놓았다. 해당 압축 해제 암호는 이메일 본문에 표기하여, 해당 이메일을 수신한 임직원은 확인이 가능하지만, 압축파일 자체의 암호설정은 보안 장비에서 악성코드의 탐지를 어렵게 만들었다.
첨부된 압축파일에는 난독화 된 자바스크립트(JavaScript) 파일이 존재하며, 파워쉘(PowerShell)을 사용하여 악성파일(SFX)과 사용자에게 보여줄 정상 PDF파일을 다운로드 및 실행한다.
[그림 7: 난독화된 JS파일 일부와 PowerShell Command-line]
해당 악성코드는 해킹 대상이 악성코드가 실행되었다는 사실을 인지하지 못하도록 은행 정보와 납부일 및 금액이 적힌 정상 청구서 PDF파일을 실행시킨다. 그리고, 이와 동시에 백그라운드로 SFX 파일 형태의 악성코드를 실행하여, 원격제어 프로그램(TeamViewer)과 DLL 형태의 악성코드인 tv.dll 파일을 사용자 시스템에 압축 해제 및 실행한다.
[그림 8: 해킹 대상에게 보여주는 정상PDF 파일 일부]
[그림 9: 해킹 대상 시스템에 압축 해제된 원격제어 프로그램(TeamViewer)과 악성코드 tv.dll 파일]
팀뷰어(TeamViewer) 프로세스가 실행되면, DLL Search Order Hijacking기법으로 DLL 파일 형태의 악성코드인 tv.dll 파일을 로드하여 프로세스 액세스 토큰(Process Access Token)을 검사하여 해당 프로세스가 관리자 계정으로 실행 중인지 확인한다. 만약 관리자 그룹에 포함된 관리자 계정일 경우 팀뷰어의 서비스 관련 파일인 TeamViewer_Service.exe를 실행하여 서비스 등록을 하며, 아닐 경우 레지스트리 RunOnce에 키를 생성한다.
- 서비스 등록: “\TeamViewer_Service.exe” – install
- 서비스 실행: “\TeamViewer_Service.exe” – service
Registry Key:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\CCFTray
Value: rundll32.exe shell32.dll,ShellExec_RunDLL “%temp%\TeamViewer.exe”
[그림 10: 현재 프로세스가 관리자 계정으로 실행 중인지 확인]
[그림 11: 서비스 등록을 하는 TeamViewer_Service.exe]
DLL 파일 형태의 악성코드인 tv.dll 파일은 내부에 인코딩 되어 있는 문자열을 XOR 키인 0x88과 0xC8로 디코딩하여 해킹 대상 시스템의 원격제어에 필요한 로그인 정보를 전송하게 된다.
[그림 12: XOR 디코딩 루틴]
원격제어에 필요한 로그인 정보는 종단 간 암호화 방식을 사용하는 스위스의 오픈소스 기반 보안 이메일 서비스인 프로톤 메일(protonmail.com)을 사용하는 공격자의 이메일 주소로 전송하게 된다. 해당 프로톤 메일 서비스가 사용하는 암호화 방식으로 인해 과거에도 금융 산업군을 대상으로 해킹 하는 사이버 범죄(CYBER CRIME) 해킹 그룹과 다수의 정부 지원 해킹 그룹의 해킹 활동에서도 확인된 사례가 다수 있다.
[그림 13: RMS로 전송하는 패킷 일부]
Type 2 – 동작 방식
[그림 14: Type 2 동작 방식 도식화]
공격자는 이메일에 Auto_Open 기능을 사용한 MS엑셀(Excel) 파일을 첨부하여 사용자가 직접 실행하도록 유도하였다. 해당 엑셀파일은 흩어져 있는 RUN(), CONCATENATE()등의 엑셀 수식들을 순차적으로 실행하며, 최종적으로 URLDownloadToFile함수를 사용하여 SFX 형태의 악성코드 파일을 다운로드 및 실행한다.
[그림 15: 이메일에 첨부된 MS엑셀(Excel) 파일 실행화면 일부]
[그림 16: 복호화한 엑셀 수식 일부]
SFX 형태의 악성코드가 실행되면 윈도우 인쇄 관련 정상 시스템 파일인 WinPrint.exe가 압축 해제 및 실행되며 리모트 유틸리티(Remote Utilities)와 드라이버 형태의 악성코드인 winspool.drv 파일 또한 사용자 시스템에 압축 해제된다. WinPrint.exe는 DLL Search Order Hijacking기법으로 드라이버 파일 형태의 악성코드를 로드 하며 로드 된 winspool.drv는 실행 프로세스의 OptionlHeader.Checksum을 확인한다. WinPrint.exe의 OptionlHeader.Checksum일 경우 리모트 유틸리티(Remote Utilities)인 UniPrint.exe를 실행시키고 자신을 종료한다. 실행 된 UniPrint.exe은 드라이버 파일 형태의 악성코드를 로드하며 악성행위를 지속한다.
[그림 17: SFX 형태의 악성코드 동작 방식 도식화]
UniPrint.exe에 의해서 로드 된 드라이버 형태의 악성코드는 지속성 유지를 위해 레지스트리 RunOnce에 키를 생성하며, 원격제어에 필요한 로그인 정보를 GET request로 악성코드 경유지에 전송한다.
Registry Key:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Virtual Printer Driver
Value: C:\Users\korea\AppData\Roaming\Macromedia\Plugin\WinPrint.exe\”
[그림 18: RunOnce 레지스트리에 등록]
[그림 19: 원격제어에 필요한 로그인 정보를 전송에 사용되는 GET request 일부]
6. 해킹 그룹 특성
이번 2020년 10월에 진행되었던 러시아 원자력 발전소 임직원들을 대상으로 한 해킹 활동은, 과거 2018년도 러시아의 교육기관, 금융기관 및 원자력 시설 등을 포함한 여러 산업군들을 대상으로 한 해킹 활동과 그 특성이 유사하다. 해당 해킹 그룹이 스피어 피싱 메일을 GLOBAL63RU-AS LLC Global Telecom Co, RU 기관의 망식별번호(AS) AS39042에 해당되는 러시아 사마라 인근 지역의 네트워크 대역에서 발송되었다는 점으로 미루어, 해당 해킹 그룹은 러시아 사회 또는 문화와 밀접한 관련이 있는 것으로 판단된다.
[그림 20: 망식별번호(AS) AS39042에 해당되는 러시아 사마라 인근 지역]
하지만, 공격 대상 시스템을 감염시키기 위해 실행되는 SFX(Self-extracting archive) 형태의 파일이 가지고 있는 언어 코드가 우크라이나어와 폴란드어가 사용되었다 점에서는, 해킹 그룹에 소속된 인물들은 러시아 인근 국가들에 문화적 기반을 둔 것으로 판단된다.
[그림 21: 러시아 인근 국가에서 사용하는 언어가 사용된 리소스 영역의 dialog]
이번 해킹 활동에서 사용된 DLL 파일 형태의 악성코드를 DLL Search Order Hijacking 기법으로 로드 할 수 있도록 한 특성과 일반적으로 널리 알려진 유명 원격제어 프로그램을 해킹 활동에 사용한 특징 등은 과거 다른 사이버 범죄 해킹 그룹이 주로 사용하였던 Malware-as-a-Service provider(MaaS)인 Golden Chickens(GC)에서 공급하고 있는 테라티비(TerraTV) 와 유사 한 형태를 가지고 있다.
[그림 22 Malware-as-a-Service provider(MaaS) Golden Chickens]
7. 마무리
원자력 발전소 시스템은 국가 기반 시설로 분류되는 주요 시설인 만큼 원자력 발전소 내부 시스템에 대한 접속 정보가 외부에 노출될 경우, 국가적인 심각한 사고가 발생할 수 있다. 이러한 사회 중요 기반 시스템과 인프라에 대해서는 정기적인 보안 점검 및 관리가 이루어져야 하며, 독립 폐쇄 망 운영과 함께 외부 망에 연결되어 있는 네트워크 대역 관리 등과 같은 필수적인 보안 관리 대책 수립이 필요하다.
또한 사회공학적 기법을 사용하는 스피어 피싱 메일 공격은 해킹 그룹이 가장 쉽게 공격 대상 시스템에 접근할 수 있는 방법 중 하나인 만큼 스피어 피싱 메일에 대한 임직원들의 보안 인식 교육과 냉철한 경계가 필요하다.
그리고, 주기적으로 다크웹(DarkWeb) 등에서 자사의 내부 시스템으로 접속이 가능한 로그인 정보와 내부 관련 정보 등이 판매되고 있는지 조사가 필요하다
해당 해킹 그룹의 해킹 활동과 관련된 IOC(Indicator of Compromised)는 아래 ThreatRecon Team 깃허브(GitHub)에서 확인할 수 있다.
Threat Actor group targeting Russian nuclear power plants
https://github.com/nshc-threatrecon/IoC-List
8. 참고
GOLDEN CHICKENS: Evolution of the MaaS
https://quointelligence.eu/2020/07/golden-chickens-evolution-of-the-maas/
The Chicken Keeps Laying New Eggs: Uncovering New GC MaaS Tools Used by Top-tier Threat Actors
https://quointelligence.eu/2020/01/the-chicken-keeps-laying-new-eggs-uncovering-new-gc-maas-tools-used-by-top-tier-threat-actors/
9. MITRE ATT&CK TECHNIQUES
A. Initial access
Spearphishing Attachment – T1193
B. Execution
Command-Line Interface – T1059
Execution through API – T1106
Execution through Module Load – T1129
Rundll32 – T1085
Scripting – T1064
User Execution – T1204
C. Persistence
Account Manipulation – T1098
DLL Search Order Hijacking – T1038
Hidden Files and Directories – T1158
Hooking – T1179
Registry Run Keys / Startup Folder – T1060
D. Privilege escalation
Access Token Manipulation – T1134
DLL Search Order Hijacking – T1038
Hooking – T1179
E. Defense evasion
Access Token Manipulation – T1134
DLL Search Order Hijacking – T1038
Hidden Files and Directories – T1158
Masquerading – T1036
Obfuscated Files or Information – T1027
Rundll32 – T1085
Scripting – T1064
Software Packing – T1045
F. Credential access
Account Manipulation – T1098
Credential Dumping – T1003
Credentials in Files – T1081
Hooking – T1179
Input Capture – T1056
G. Discovery
Account Discovery – T1087
File and Directory Discovery – T1083
Process Discovery – T1057
Remote System Discovery – T1018
Security Software Discovery – T1063
System Information Discovery – T1082
H. Lateral movement
Pass the Hash – T1075
Pass the Ticket – T1097
Remote Desktop Protocol – T1076
Remote File Copy – T1105
Remote Services – T1021
I. Collection
Data from Local System – T1005
Email Collection – T1114
Input Capture – T1056
Screen Capture – T1113
J. Command and control
Commonly Used Port – T1043
Remote Access Tools – T1219
Remote File Copy – T1105
Standard Application Layer Protocol – T1071
Uncommonly Used Port – T1065
K. Exfiltration
Automated Exfiltration – T1020
Exfiltration Over Command and Control Channel – T1041
L. Impact
Stored Data Manipulation – T1492
The full report detailing each event together with IoCs (Indicators of Compromise) and recommendations is available to existing NSHC ThreatRecon customers. For more information, please contact service@nshc.net.