{"id":"IL-0069","org":"Unnamed cryptocurrency exchange","date":"2026-04-06","docs":[],"title":{"en":"Attackers stole a high-privilege service account token from a production Kubernetes cluster and used it to reach a cryptocurrency exchange's financial systems","ko":"공격자가 탈취한 서비스 어카운트 토큰으로 운영 쿠버네티스 클러스터에서 클라우드 백엔드와 금융 인프라까지 옮겨 가 암호화폐 거래소의 자금을 훔쳤다."},"domain":["kubernetes","security"],"impact":{"scope":"production Kubernetes cluster, the exchange's cloud-hosted backend systems and its financial infrastructure; millions in cryptocurrency stolen","users":"unknown","region":"unknown"},"review":{"written_by":"session","reviewed_at":null,"reviewed_by":null},"lessons":{"en":"Unit 42 concludes that a single over-privileged identity turned one malicious pod into cluster-wide and then cloud-wide access. Its recommendations are least-privilege RBAC with the Restricted Pod Security Standard, short-lived projected service account tokens bound to the pod's lifetime, runtime monitoring of what containers actually do, and Kubernetes audit logging so that identity-driven changes can be seen and reconstructed.","ko":"RBAC 가 잘못됐거나 너무 넓으면 쿠버네티스 신원 하나가 클라우드 전체로 옮겨 가는 발판이 된다. Unit 42 는 RBAC 역할을 좁게 잡고 Restricted Pod Security 프로필을 쓰라고 권한다. 서비스 어카운트 토큰은 파드 수명에 묶이고 유효 기간이 짧은 projected 토큰으로 바꿔서, 빼앗기더라도 금방 쓸 수 없게 해야 한다. 쿠버네티스 감사 로그와 런타임 모니터링으로 ClusterRoleBinding 수정 시도, 낯선 IP 에서 쓰인 서비스 어카운트 토큰, 민감한 네임스페이스에 나타난 파드를 지켜봐야 한다."},"related":[],"sources":[{"url":"https://unit42.paloaltonetworks.com/modern-kubernetes-threats/","kind":"blog","license":"unknown","archived":null}],"summary":{"en":"Unit 42, the threat research team of Palo Alto Networks, published a survey of current attacks on Kubernetes with two case studies. This case covers the first and most concrete one: an intrusion at a cryptocurrency exchange in mid-2025, which Unit 42 connects to a campaign by the North Korean state-sponsored group Slow Pisces, also known as Lazarus and TraderTraitor. The second case study, about attacks using the React2Shell vulnerability (CVE-2025-55182), describes activity across many environments rather than one incident.\n\nThe attacker spearphished a developer and gained persistence on the developer's workstation. Using the developer's live, privileged cloud session, the attacker deployed a pod to the production cluster that exposed the service account token mounted into it. That token belonged to a highly privileged management service account with broad RBAC permissions, used by a common CI/CD automation and cluster orchestration system.\n\nWith the token, the attacker authenticated directly to the Kubernetes API server, listed secrets, worked with workloads across namespaces and put a backdoor into a production pod to keep access. The same privileges let the attacker move out of Kubernetes into the wider cloud platform, reach the exchange's cloud-hosted backend systems, collect sensitive credentials and finally reach its financial infrastructure. Millions in cryptocurrency were stolen. Unit 42 found no sign of a specific offensive toolkit, but the steps match techniques described in Kubernetes security research and modelled by penetration testing tools such as Peirates.","ko":"Unit 42 는 2025년 중반 한 암호화폐 거래소에서 일어난 침입을 관찰했다. Unit 42 는 이 침입을 북한 국가 지원 위협 그룹 Slow Pisces 의 최근 암호화폐 탈취 캠페인과 연결했다. 이 그룹은 Lazarus, TraderTraitor 로도 불린다.\n\n공격자는 스피어피싱으로 개발자 워크스테이션에 계속 머물 수 있는 발판을 마련했다. 그 개발자의 열려 있는 특권 클라우드 세션으로 운영 쿠버네티스 클러스터에 악성 파드를 배포했다. 이 파드는 마운트된 서비스 어카운트 토큰을 빼내도록 만들어져 있었다.\n\n빼낸 토큰은 널리 쓰이는 CI/CD 자동화와 클러스터 오케스트레이션 시스템이 쓰는 관리용 서비스 어카운트의 것이었고, RBAC 권한이 넓었다. 공격자는 이 토큰으로 쿠버네티스 API 서버에 직접 인증했다. 시크릿을 나열하고, 여러 네임스페이스의 워크로드를 건드리고, 운영 파드에 백도어를 심어 클러스터 안에 계속 머물렀다.\n\n공격자는 같은 토큰의 권한으로 쿠버네티스에서 클라우드 플랫폼 전체로 옮겨 갔다. 거래소의 클라우드 백엔드 시스템에 들어가 민감한 자격 증명을 가져갔고, 마지막에 금융 인프라에 닿았다. 거래소는 수백만 규모의 암호화폐 자금을 도난당했다. Unit 42 는 공격자가 특정 공격 도구를 썼다는 증거는 없지만, 관찰된 행동이 Peirates 같은 침투 테스트 프레임워크가 보여 주는 기법과 맞아떨어진다고 적었다."},"trigger":{"en":"A spearphishing attack gave the attacker a foothold on a developer's workstation. The attacker used the developer's active, privileged cloud session to deploy a malicious pod to the production cluster.","ko":"공격자는 스피어피싱으로 거래소 개발자의 워크스테이션에 발판을 마련했다. 그 개발자의 권한 높은 클라우드 세션이 열려 있는 것을 이용해 운영 쿠버네티스 클러스터에 악성 파드를 배포했다."},"severity":"unknown","symptoms":["unauthorized-access"],"timeline":{"detected_after":null,"resolved_after":null},"date_kind":"published","detection":null,"components":["rbac-service-account","kube-apiserver"],"root_cause":"credential-exposure","remediation":[],"action_items":[],"contributing":["blast-radius-too-wide"],"recurrence_of":null,"symptoms_text":{"en":"Inside the cluster the attacker left these traces: a new pod appeared in the production Kubernetes cluster that was built to expose its mounted service account token; requests authenticated as a broad management service account listed secrets and touched workloads in many namespaces; and a backdoor was placed in a running production pod.\n\nUnit 42 lists the traces that this kind of attack leaves in general, not specifically at this exchange. In Kubernetes audit logs: attempts to change ClusterRoleBindings, service account tokens used from unusual IP addresses, and pods appearing in sensitive namespaces. At runtime: unexpected shells or utilities in a workload, sustained high CPU from cryptomining, outbound connections to unfamiliar destinations, and curl or wget reading /var/run/secrets/kubernetes.io/serviceaccount/token.","ko":"운영 쿠버네티스 클러스터에 공격자가 배포한 악성 파드가 올라왔다. 이 파드는 마운트된 서비스 어카운트 토큰을 밖으로 빼내도록 만들어져 있었다.\n\n빼앗긴 토큰은 CI/CD 자동화와 클러스터 오케스트레이션에 쓰는 관리용 서비스 어카운트의 것이었다. 공격자는 이 토큰으로 쿠버네티스 API 서버에 직접 인증해 시크릿을 나열하고, 여러 네임스페이스의 워크로드를 건드리고, 운영 파드에 백도어를 심었다.\n\n공격자는 이어서 거래소의 클라우드 백엔드 시스템에 들어가 민감한 자격 증명을 가져갔다. 마지막에는 금융 인프라에 닿아 수백만 규모의 암호화폐 자금을 훔쳤다."},"updated_at":"2026-11-08T19:10:31.977658Z","url":"https://benchlet.com/incidentlib/app/cases/IL-0069","org_slug":"unnamed-cryptocurrency-exchange"}