FL-001 Falco RCE Log
React2Shell RCE 이후 shell 실행과 reverse shell 연결을 확인하는 Falco 런타임 로그.
NodeFall은 퍼블릭 인터넷에 노출된 AWS K8s 클러스터 내부의 React 19 / Next.js 15 애플리케이션을 최초 타겟으로 삼는 공급망 및 클라우드 인프라 침해 캠페인이다. 공격자는 RSC(React Server Components) 역직렬화 취약점(CVE-2025-55182)을 악용하여 컨테이너 내부에 초기 거점을 확보한 뒤, 클러스터에 기본 마운트된 ServiceAccount 토큰을 수집하여 K8s API 서버를 정찰했다. 이후 논리적인 권한 통제(RBAC)를 물리적으로 우회하기 위해 워커 노드의 공유 리눅스 커널 취약점(CVE-2026-31431, Copy Fail)을 직접 타격하는 방식을 취했다. 이를 통해 파드 내부에서 커널 레벨의 제어권을 획득한 공격자는 특권(Privileged) 데몬셋을 강제 생성하여 컨테이너 격리 환경을 완전히 탈출(Escape)하는 데 성공했다. 최종적으로 장악된 워커 노드(EC2)에 부여된 AWS 인스턴스 프로파일(IAM Role)을 탈취하고, 클라우드 내부망으로 피벗(Pivot)하여 프라이빗 서브넷에 위치한 RDS 데이터베이스의 고객 정보(PII)를 대량으로 유출했다.
| ID | Name | Description |
|---|---|---|
| G-SB-004 | KubeSyndicate | K8s 환경에 초기 침투한 뒤, 워커 노드의 공유 커널 취약점(Copy Fail)을 타격하여 컨테이너를 탈출하고 클라우드 인프라(AWS IAM, RDS) 자원을 전문적으로 탈취하는 지능형 지속 위협(APT) 그룹 |
| Domain | ID | Name | Use | Primary Logs |
|---|---|---|---|---|
| Enterprise | T1190 | 웹 서비스 취약점을 통한 최초 침입 | Application 캠페인 당시 공격 그룹은 K8s 환경에서 ALB 443 포트로 노출된 React 19 / Next.js 15 프론트엔드 파드의 RSC 역직렬화 취약점(CVE-2025-55182)을 악용해 단일 HTTP 요청으로 초기 침투(RCE)를 수행했다. | FL-001 |
| Enterprise | T1552.007 | 쿠버네티스 인증정보 확인 | 캠페인 당시 공격 그룹은 장악한 파드 내부에 automountServiceAccountToken: true 설정으로 인해 기본 마운트되어 있던 ServiceAccount 토큰 및 인증서를 수집했다. | FL-RECON |
| Enterprise | T1613 | 쿠버네티스 권한 확인 | 캠페인 당시 공격 그룹은 획득한 SA 토큰을 사용하여 K8s API 서버와 통신하며, 클러스터 내부망의 서비스 구조와 자신에게 부여된 RBAC 권한을 정찰했다. | FL-002 |
| Enterprise | T1068 | 권한 상승 공격 | 캠페인 당시 공격 그룹은 제한된 파드 권한의 한계를 극복하기 위해, K8s 워커 노드의 공유 Linux 커널 취약점(CVE-2026-31431, Copy Fail)을 타격하여 파드 내부의 루트(Root) 권한을 확보했다. | FL-003 |
| Enterprise | T1552.001 | 쿠버네티스 인증정보 확인 | 캠페인 당시 공격 그룹은 권한 상승 이후 파드 내부의 /root/.kube/config 파일을 정찰하여 관리자용 Kubernetes 토큰이 포함되어 있음을 확인했다. 이후 해당 토큰을 사용해 kube-system 네임스페이스 내 파드 생성 권한을 확인했다. | FL-RECON |
| Enterprise | T1611 | 컨테이너 경계 탈출 | 캠페인 당시 공격 그룹은 과도하게 부여된 kube-system 내 파드 생성 권한을 악용하여, 특권(Privileged) 파드를 강제 생성함으로써 컨테이너 경계를 탈출하고 노드(Node)의 제어권을 탈취했다. | KL-001,FL-004 |
| Enterprise | T1552.005 | AWS 임시 접근키 탈취 | 캠페인 당시 공격 그룹은 탈출한 노드에서 IMDS를 통해 Instance Profile 임시 자격 증명을 획득하고, STS로 AWS API 사용 가능성을 검증했다. | AL-001,FL-005 |
| Enterprise | T1213.006 | 고객 데이터 조회 | 캠페인 당시 공격 그룹은 획득한 AWS 임시 자격 증명으로 Secrets Manager를 조회해 nodefall-rds-credential을 식별하고, SecretString에서 RDS 접속 정보를 확보했다. 이후 RDS 메타데이터 조회 결과와 대조해 해당 접속 정보가 실제 사용 가능한 내부 RDS 자산임을 확인하고, MySQL 조회를 통해 내부 RDS 데이터 자산을 확보했다. | AL-002,FL-006 |
| Enterprise | T1567.002 | 고객 데이터 외부 전송 | 캠페인 당시 공격 그룹은 내부 RDS 고객 데이터를 HTTPS POST 요청으로 외부 웹 수신지에 유출했다. | FL-007 |
T1190 웹 서비스 취약점을 통한 최초 침입Application 캠페인 당시 공격 그룹은 K8s 환경에서 ALB 443 포트로 노출된 React 19 / Next.js 15 프론트엔드 파드의 RSC 역직렬화 취약점(CVE-2025-55182)을 악용해 단일 HTTP 요청으로 초기 침투(RCE)를 수행했다.T1552.001 쿠버네티스 인증정보 확인캠페인 당시 공격 그룹은 권한 상승 이후 파드 내부의 `/root/.kube/config` 파일을 정찰하여 관리자용 Kubernetes 토큰이 포함되어 있음을 확인했다. 이후 해당 토큰을 사용해 kube-system 네임스페이스 내 파드 생성 권한을 확인했다.T1552.007 쿠버네티스 인증정보 확인캠페인 당시 공격 그룹은 장악한 파드 내부에 `automountServiceAccountToken: true` 설정으로 인해 기본 마운트되어 있던 ServiceAccount 토큰 및 인증서를 수집했다.T1613 쿠버네티스 권한 확인캠페인 당시 공격 그룹은 획득한 SA 토큰을 사용하여 K8s API 서버와 통신하며, 클러스터 내부망의 서비스 구조와 자신에게 부여된 RBAC 권한을 정찰했다.T1068 권한 상승 공격캠페인 당시 공격 그룹은 제한된 파드 권한의 한계를 극복하기 위해, K8s 워커 노드의 공유 Linux 커널 취약점(CVE-2026-31431, Copy Fail)을 타격하여 파드 내부의 루트(Root) 권한을 확보했다.T1611 컨테이너 경계 탈출캠페인 당시 공격 그룹은 과도하게 부여된 kube-system 내 파드 생성 권한을 악용하여, 특권(Privileged) 파드를 강제 생성함으로써 컨테이너 경계를 탈출하고 노드(Node)의 제어권을 탈취했다.T1552.005 AWS 임시 접근키 탈취캠페인 당시 공격 그룹은 탈출한 노드에서 IMDS를 통해 Instance Profile 임시 자격 증명을 획득하고, STS로 AWS API 사용 가능성을 검증했다.T1213.006 고객 데이터 조회캠페인 당시 공격 그룹은 획득한 AWS 임시 자격 증명으로 Secrets Manager를 조회해 nodefall-rds-credential을 식별하고, SecretString에서 RDS 접속 정보를 확보했다. 이후 RDS 메타데이터 조회 결과와 대조해 해당 접속 정보가 실제 사용 가능한 내부 RDS 자산임을 확인하고, MySQL 조회를 통해 내부 RDS 데이터 자산을 확보했다.T1567.002 고객 데이터 외부 전송캠페인 당시 공격 그룹은 내부 RDS 고객 데이터를 HTTPS POST 요청으로 외부 웹 수신지에 유출했다.이 캠페인에서 현재 검증하거나 작성 중인 로그 상세 페이지를 한눈에 확인한다.
React2Shell RCE 이후 shell 실행과 reverse shell 연결을 확인하는 Falco 런타임 로그.
ServiceAccount 토큰 경로 접근과 kubeconfig 내 Kubernetes 자격 증명 확인 행위를 설명하는 Falco 런타임 로그
SelfSubjectAccessReview 매니페스트 생성과 RBAC 권한 확인 요청을 확인하는 Falco 런타임 로그
Copy Fail PoC 다운로드, /tmp 실행 파일 생성, python3 실행 및 컨테이너 내부 root 권한 상승을 확인하는 Falco 런타임 로그
Kubernetes API 요청과 Pod 리소스 스펙을 검사하여 호스트 접근이 가능한 위험 Pod 생성 요청을 설명하는 Kyverno 정책 위반 로그
Linux syscall 기반으로 컨테이너 내부 프로세스가 호스트 네임스페이스에 진입하는 런타임 행위를 설명하는 Falco 탐지 로그
CloudTrail에서 STS GetCallerIdentity 이벤트를 확인하여 EC2 Instance Profile 임시 자격증명이 AWS API 호출에 사용되었음을 설명하는 AWS 로그
Falco에서 IMDS 접근을 확인하여 EC2 Instance Profile 임시 자격증명 획득 시도를 설명하는 런타임 탐지 로그
CloudTrail에서 Secrets Manager와 RDS 조회 이벤트를 확인하여 AWS 임시 자격증명으로 내부 DB 접속정보와 RDS 자산을 식별한 행위를 설명하는 AWS 로그
Falco에서 MySQL 클라이언트 실행을 확인하여 내부 RDS 데이터베이스 접근 행위를 설명하는 런타임 탐지 로그
Falco에서 curl을 이용한 외부 HTTPS POST 전송을 확인하여 내부 RDS 고객 데이터 유출 행위를 설명하는 런타임 탐지 로그
| ID | Name | Description |
|---|---|---|
| S-SB-004 | BurpSuite | 프로토타입 오염을 통한 리버스 쉘 확보에 활용 |
https://github.com/hidden-investigations/react2shell-vulnlab.git
https://download.ahnlab.com/kr/site/brochure/React2Shell_Analysis_Report_kr.pdf
https://copy.fail/#exploit
https://webhook.site/