Spacebar Campaigns

OZZY PMS Chain

OZZY PMS Chain은 AWS 기반 AD 실습 환경에서 JBoss/PMS 업데이트 경로를 신뢰 체인으로 악용하는 침해 캠페인이다. HanguelPMSChain은 bastion을 통해 내부망으로 진입한 뒤 hanguel-ops-pms의 JBoss AS 6 취약 표면을 확인하고, PMS update manifest와 patch.ps1을 변조한다. 이후 hanguel-win01의 Hanguel PMS Agent가 변조된 패치를 nt authority\system 권한으로 실행하면서 AD/DC discovery와 dc_cred.xml 발견까지 수행했다. SYSTEM 컨텍스트의 Import-Clixml은 실패했으므로, 별도 AWS control-plane credential과 EC2 private key를 이용해 win01 EC2 local Administrator password를 획득하고, 그 local Administrator 컨텍스트에서 dc_cred.xml을 복호화해 DC C$/WinRM 접근으로 이어지는 활동을 수행했다. 피해 환경은 AWS VPC, bastion, JBoss/PMS 서버, Windows 클라이언트, Active Directory Domain Controller, Hanguel AD Agent, ELK Stack으로 구성된 기업형 AD 운영 환경으로 모델링된다.

ID:
SB-07
Name:
OZZY PMS Chain
Source Profile ID:
HGC-2026-AD-001
First Seen:
May 2026
Last Seen:
May 2026
Version:
0.4
Created:
22 May 2026
Last Modified:
31 May 2026
Target:
AWS-hosted AD / JBoss PMS update chain
Objective:
Supply-chain execution, lateral movement, DC credential access
AWS AD Lab JBoss AS 6 PMS Update Chain Hanguel AD Agent Manual PE Loader ATT&CK Enterprise

Overview

이 캠페인은 외부 접근 경로, Linux 기반 JBoss/PMS 서버, Windows PMS Agent, Active Directory 도메인 컨트롤러가 연결된 기업형 운영망 침해 흐름으로 모델링된다. 핵심 전개는 hanguel-ops-pms의 업데이트 경로를 변조해 hanguel-win01에서 SYSTEM 실행을 만들고, SYSTEM 컨텍스트에서 dc_cred.xml을 발견하되 복호화 실패를 확인한 뒤, AWS control-plane의 GetPasswordData 경로로 win01 local Administrator 컨텍스트를 확보해 HANGUEL\Administrator credential object를 복호화하는 것이다. 이후 공격자는 DC의 관리 공유 및 WinRM 실행 경로를 이용해 로더와 암호화된 payload를 배치하고, 로더 실행 산출물, Windows Event Log, Amcache, ShimCache, TaskCache, USN Journal을 조합해 loader chain을 재구성할 수 있는 흔적을 남긴다.

Initial Access bastion 경유 내부망 진입과 JBoss 취약 표면 확인
Supply Chain PMS update manifest와 patch.ps1 변조
Lateral Movement AWS GetPasswordData -> win01 local Administrator -> DC C$ 및 WinRM 접근
Detection Goal patch 실행, credential artifact, DC 접근, loader artifact를 묶어 탐지
FootholdT1133
T1046
PMS AccessT1190
T1059.004
Supply ChainT1195.002
T1036.005
win01 SYSTEMT1053.005
T1552
AWS BridgeT1078.004
T1078.003
T1021.001
DC AccessT1021.002
T1021.006
LSASST1027
T1620
T1003.001

Groups

ID Name Description
G-SB-007 HanguelPMSChain OZZY PMS Chain 활동과 연결된 가상 공격 그룹이다. PMS 업데이트 신뢰 구조와 Windows 관리 채널을 결합해 AD 환경 credential access를 수행하는 형태로 모델링된다.

Techniques Used

Domain ID Name Use Primary Logs
Enterprise T1133 External Remote Services OZZY PMS Chain 당시 HanguelPMSChain은 제공된 SSH 접근 경로로 hanguel-bastion에 접속하고, 이를 내부망 10.60.0.0/16 진입 거점으로 사용했다. HAB-001
Enterprise T1046 Network Service Discovery HanguelPMSChain은 bastion에서 내부망을 스캔하여 hanguel-ops-pms:8080, hanguel-dc01:{445,3389,5985}, hanguel-win01:{3389,5985} 등 주요 서비스를 식별했다. HAB-001, HAP-001
Enterprise T1190 Exploit Public-Facing Application HanguelPMSChain은 hanguel-ops-pms의 JBoss AS 6 취약 표면을 이용해 PMS 서버 컨테이너 내부 명령 실행 권한을 확보했다. HAP-001, HAC-001
Enterprise T1059.004 Command and Scripting Interpreter: Unix Shell HanguelPMSChain은 JBoss 컨테이너 shell에서 id, hostname, pwd, 배포 디렉터리 확인으로 실행 위치와 권한을 파악했다. HAP-001
Enterprise T1505.003 Server Software Component: Web Shell HanguelPMSChain은 JBoss 배포 경로에 JSP webshell 또는 marker를 배치하여 PMS 서버에서 지속적인 명령 실행 채널을 유지할 수 있는 구조를 만들었다. HAP-001
Enterprise T1083 File and Directory Discovery HanguelPMSChain은 PMS 서버 내부에서 JBoss 배포 경로와 Windows PMS Agent가 신뢰하는 /updates/manifest.json, /updates/patch.ps1 업데이트 구조를 확인했다. HAP-001, HAP-002
Enterprise T1195.002 Supply Chain Compromise: Compromise Software Supply Chain HanguelPMSChain은 PMS 업데이트 경로의 patch.ps1과 manifest를 변조하여 내부 Windows 클라이언트가 신뢰하는 정상 패치 배포 흐름에 공격 코드를 삽입했다. HAP-002, HAW-001, HAC-001
Enterprise T1036.005 Masquerading: Match Legitimate Name or Location HanguelPMSChain은 변조 패치를 기존 파일명과 경로인 /updates/patch.ps1로 유지하고 manifest 버전/해시만 갱신하여 정상 업데이트처럼 보이게 만들었다. HAP-002
Enterprise T1053.005 Scheduled Task / Job: Scheduled Task hanguel-win01의 Hanguel PMS Agent Scheduled Task가 PMS 서버에서 변조 패치를 다운로드하고 nt authority\system 권한으로 실행했다. HAW-001, HAW-003
Enterprise T1082 System Information Discovery HanguelPMSChain은 win01 SYSTEM 컨텍스트에서 사용자, 호스트명, IP 구성, DNS 서버, 실행 권한을 확인하여 감염된 클라이언트의 내부 위치와 권한 수준을 파악했다. HAW-001, HTE-002
Enterprise T1482 Domain Trust Discovery HanguelPMSChain은 win01에서 hanguel.local 도메인과 도메인 컨트롤러 hanguel-dc01.hanguel.local / 10.60.20.10 존재를 확인했다. HAW-001, HTE-002
Enterprise T1018 Remote System Discovery HanguelPMSChain은 hanguel-dc01의 SMB, WinRM, LDAP, Kerberos, DNS 서비스 접근 가능성을 확인하고 후속 장악 대상으로 지정했다. HAW-001, HTE-002
Enterprise T1552 Unsecured Credentials HanguelPMSChain은 win01 SYSTEM 컨텍스트에서 C:\ProgramData\HanguelPMS\dc_cred.xml credential artifact를 발견했다. SYSTEM Import-Clixml은 실패했고, 이후 win01 local Administrator 컨텍스트에서 같은 파일의 HANGUEL\Administrator credential object 복호화가 성공했다. HAW-001, HAW-002, HTE-002, HAC-002
Enterprise T1078.004 Valid Accounts: Cloud Accounts HanguelPMSChain은 별도 AWS control-plane credential과 EC2 private key를 사용해 ec2:GetPasswordDatahanguel-win01 EC2 local Administrator password를 획득했다. 보고/검증 출력에는 평문 password를 남기지 않는다. HAC-002
Enterprise T1078.003 Valid Accounts: Local Accounts HanguelPMSChain은 AWS control-plane에서 확보한 win01 local Administrator 계정으로 RDP/WinRM 관리 세션을 열고, 해당 사용자 DPAPI 컨텍스트에서 dc_cred.xmlImport-Clixml로 복호화했다. HAW-002, HAC-002
Enterprise T1021.001 Remote Services: Remote Desktop Protocol 분석/공격 흐름에서는 bastion 터널을 통해 127.0.0.1:13390 -> 10.60.30.10:3389로 win01 RDP 접근이 가능했고, local Administrator 컨텍스트 확보 검증에 사용됐다. HAC-002
Enterprise T1021.002 Remote Services: SMB / Windows Admin Shares HanguelPMSChain은 HANGUEL\Administrator 자격 증명으로 win01에서 DC의 \\10.60.20.10\C$ 관리 공유에 접근하고 loader chain 파일을 C:\Windows\Temp에 배치했다. HAW-002, HAW-004, HTE-002
Enterprise T1021.006 Remote Services: Windows Remote Management HanguelPMSChain은 HANGUEL\Administrator 자격 증명으로 win01에서 DC에 WinRM 명령을 실행하고, DC 내부에서 SYSTEM 권한 Scheduled Task를 등록했다. HAW-002, HAW-003, HTE-002
Enterprise T1027 Obfuscated Files or Information HanguelPMSChain은 LSASS dump payload DLL을 XOR 암호화된 hgl_payload.enc 형태로 전달하여 정적 파일 탐지 가능성을 줄였다. HAD-002, HAD-004, HAD-009
Enterprise T1620 Reflective Code Loading HanguelPMSChain은 hgl_loader.exe를 이용해 암호화된 PE/DLL payload를 메모리에서 복호화하고, PE header/section mapping, relocation, import resolving을 직접 수행하는 loader 기반 실행 흐름을 사용했다. HAD-003, HAD-004, HAD-005, HAD-006, HAD-007, HAD-008, HAC-001
Enterprise T1003.001 OS Credential Dumping: LSASS Memory HanguelPMSChain은 DC의 SYSTEM Scheduled Task에서 loader 기반 dump 흐름을 실행해 LSASS dump artifact를 생성하고, 이를 win01에서 offline 분석하는 흐름을 구성했다. HAD-002, HAD-003, HAD-004, HAD-005, HAC-001
Enterprise T1550.002 Use Alternate Authentication Material: Pass the Hash HanguelPMSChain은 LSASS dump에서 확보한 HANGUEL\Administrator NTLM hash를 이용해 평문 비밀번호 없이 DC 및 다른 Windows 시스템 접근을 시도할 수 있는 후속 경로를 확보했다. HTE-002, HAC-001

Software

ID Name Description Observed Role
S-SB-007-01 JBoss AS 6 PMS 서버의 애플리케이션 런타임으로, 업데이트 파일 배포 경로와 명령 실행 취약 표면이 결합된 대상으로 모델링된다. PMS application server
S-SB-007-02 Hanguel PMS Agent Windows 클라이언트에서 PMS 업데이트 manifest와 patch를 주기적으로 확인하고 실행하는 에이전트다. Trusted update executor
S-SB-007-03 Windows Scheduled Task win01 PMS Agent 실행과 DC SYSTEM 컨텍스트 작업 등록에 사용된 Windows 작업 스케줄러 기능이다. Execution mechanism
S-SB-007-04 WinRM Windows Remote Management 경로로, win01에서 DC에 원격 명령을 실행하는 관리 채널이다. Remote execution channel
S-SB-007-05 SMB Admin Shares C$, ADMIN$ 등 Windows 관리 공유로, DC 파일 배치와 회수 경로로 사용된다. Remote file access
S-SB-007-06 Hanguel AD Agent Windows/AD 로그와 포렌식 아티팩트를 ECS 유사 JSON으로 정규화하고 normal, suspicious, attack 태그를 부여하는 실습용 수집 에이전트다. Endpoint telemetry and enrichment
S-SB-007-07 Manual PE Loader 암호화된 PE/DLL payload를 메모리에서 복호화하고 직접 mapping하여 실행하는 C++ loader다. Defense evasion and payload execution
S-SB-007-08 ELK Stack Elasticsearch, Logstash, Kibana 기반의 수집, 검색, 시각화, 상관분석 환경이다. SIEM and investigation platform
S-SB-007-09 Microsoft Defender raw LSASS dump 시도와 알려진 credential dumping 도구를 탐지하거나 차단하는 Windows 보안 구성 요소다. Endpoint protection and detection

Detection Plan

1. PMS Patch Chain

patch.ps1 변경, win01 patch 다운로드, PMS Agent SYSTEM 실행, AD/DC discovery가 짧은 시간 안에 이어지는지 확인한다. 정상 baseline은 HTE-001로 분리한다.

2. Credential to DC Access

dc_cred.xml 발견, SYSTEM Import-Clixml 실패, AWS GetPasswordData 기반 win01 local Administrator 컨텍스트 확보, 이후 DC WinRM whoami 또는 \\10.60.20.10\C$ 접근 이벤트가 이어지는지 확인한다.

3. Loader Artifact Correlation

DC의 Task XML, Application Error, Amcache, ShimCache, USN Journal, loader run log를 묶어 loader 기반 실행 정황을 재구성한다.

PMS Patchmanifest and patch update
win01 SYSTEMPMS Agent executes patch
Credentialdc_cred.xml discovered, SYSTEM decrypt fails
AWS BridgeGetPasswordData to local Administrator
Import-Clixmllocal Administrator decrypts object
DC AccessWinRM and C$ reachable
Loader ArtifactTask, WER, Amcache, USN
AlertELK correlation document

Detection Query Draft

campaign.id: "SB-07"
and event.action: ("pms_patch_executed" or "domain_controller_discovery" or "dc_cred_xml_discovered" or "aws_get_password_data_win01_local_admin_verified" or "win01_local_admin_context")
sequence by host.name with maxspan=30m
  [any where event.action == "pms_patch_executed"]
  [any where event.action == "domain_controller_discovery"]
  [any where event.action == "dc_cred_xml_discovered"]
  [any where event.action == "aws_get_password_data_win01_local_admin_verified"]
  [any where event.action == "win01_local_admin_context"]
  [any where event.action == "dc_cred_xml_imported"]
  [any where event.action in ("dc_winrm_whoami", "dc_c_admin_share_access")]

Observed Infrastructure

관찰된 환경은 AWS bastion, JBoss/PMS update relay, Windows client, Active Directory Domain Controller, SOC/ELK 서버로 구성된다. 공격자는 bastion을 통해 내부망을 관찰하고, PMS 업데이트 경로를 변조한 뒤 Windows 신뢰 실행 흐름을 이용해 win01 SYSTEM 컨텍스트와 DC 관리 채널로 확장할 수 있다.

Internet / Analyst
  -> hanguel-bastion
  -> hanguel-ops-pms
  -> hanguel-win01 PMS Agent
  -> hanguel-dc01
  -> hanguel-soc01 ELK
# Analyst KQL
campaign.id: "SB-07"
log.id: ("HAW-001" or "HAD-005" or "HAC-001")
hanguel.classification: ("suspicious" or "attack")

References

  1. MITRE ATT&CK Campaigns. https://attack.mitre.org/campaigns/
  2. MITRE ATT&CK T1133, External Remote Services. https://attack.mitre.org/techniques/T1133/
  3. MITRE ATT&CK T1046, Network Service Discovery. https://attack.mitre.org/techniques/T1046/
  4. MITRE ATT&CK T1190, Exploit Public-Facing Application. https://attack.mitre.org/techniques/T1190/
  5. MITRE ATT&CK T1195.002, Compromise Software Supply Chain. https://attack.mitre.org/techniques/T1195/002/
  6. MITRE ATT&CK T1053.005, Scheduled Task. https://attack.mitre.org/techniques/T1053/005/
  7. MITRE ATT&CK T1552, Unsecured Credentials. https://attack.mitre.org/techniques/T1552/
  8. MITRE ATT&CK T1078.003, Valid Accounts: Local Accounts. https://attack.mitre.org/techniques/T1078/003/
  9. MITRE ATT&CK T1078.004, Valid Accounts: Cloud Accounts. https://attack.mitre.org/techniques/T1078/004/
  10. MITRE ATT&CK T1021.001, Remote Desktop Protocol. https://attack.mitre.org/techniques/T1021/001/
  11. MITRE ATT&CK T1021.002, SMB/Windows Admin Shares. https://attack.mitre.org/techniques/T1021/002/
  12. MITRE ATT&CK T1021.006, Windows Remote Management. https://attack.mitre.org/techniques/T1021/006/
  13. MITRE ATT&CK T1620, Reflective Code Loading. https://attack.mitre.org/techniques/T1620/
  14. MITRE ATT&CK T1003.001, LSASS Memory. https://attack.mitre.org/techniques/T1003/001/
  15. Spacebar Project local file, OZZY PMS Chain campaign profile, 2026-05-22.