litellm 패키지, 악성코드에 감염되어 클라우드 자격 증명 탈취!

by DD
2개월 전
조회수 6

유명 Python 패키지인 litellm 1.82.8 버전이 악성코드에 감염되어, 시스템 시작 시 자동으로 실행되는 .pth 파일을 통해 자격 증명 탈취 시도

클라우드 자격 증명, SSH 키, Kubernetes 시크릿, 암호화폐 지갑 등 민감 정보 탈취 및 공격자 서버로 전송

Trivy 공급망 공격을 통해 PyPI 계정 탈취 후 악성 litellm 패키지 배포

지속적인 C2 통신을 위한 백도어 설치 및 Kubernetes 클러스터 내 권한 상승 시도

악성코드 실행 메커니즘 분석

litellm 1.82.8 버전은 .pth 파일(Path Configuration File)을 악용하여 악성 코드를 실행한다. 이 파일은 Python 인터프리터 시작 시 자동으로 실행되며, import 구문 없이도 악성 코드를 실행할 수 있게 한다. 특히, .pth 파일 내 base64로 인코딩된 코드를 실행하여, 자격 증명 탈취(Credential Theft) 및 추가 악성 행위를 수행한다.

자격 증명 탈취 및 데이터 유출

악성 litellm 패키지는 다양한 자격 증명을 탈취한다. 구체적으로, 환경 변수(Environment Variables), SSH 키(SSH Keys), 클라우드 제공업체 자격 증명(Cloud Provider Credentials), Kubernetes 시크릿(Kubernetes Secrets), 그리고 암호화폐 지갑(Cryptocurrency Wallets) 파일 등을 수집한다. 수집된 데이터는 하드코딩된 RSA 공개 키로 암호화되어 공격자 서버로 전송된다.

Kubernetes 환경 공격

악성코드는 Kubernetes 클러스터 내에서 권한을 상승시키고 지속성을 확보하기 위해 노력한다. 특히, 모든 노드에 privileged pod를 생성하여 호스트 파일 시스템에 접근하고, 시스템d 서비스를 설치한다. 이러한 행위는 공격자가 클러스터 내에서 수평적 이동(Lateral Movement)을 가능하게 하며, 지속적인 C2 통신을 위한 백도어를 구축하는 데 사용된다.

공급망 공격(Supply Chain Attack)의 배후

이번 공격은 Trivy라는 보안 도구의 공급망 공격을 통해 시작되었다. 악성 Trivy 바이너리가 CI/CD 파이프라인에서 실행되면서 PyPI 게시 자격 증명이 탈취되었고, 이를 통해 공격자는 악성 litellm 패키지를 PyPI에 게시할 수 있었다. 이는 무방비한 의존성 관리(Dependency Management)의 위험성을 보여주는 사례이다.

대응 방안 및 예방 조치

해당 litellm 버전을 사용하고 있다면, 시스템 내 모든 자격 증명을 즉시 변경해야 한다. 또한, 의존성 검사 도구(Dependency Scanning Tool)를 사용하여 패키지 무결성을 지속적으로 확인하고, Trivy와 같은 보안 도구의 버전 고정을 통해 공급망 공격의 위험을 줄여야 한다. 마지막으로, 데이터 미저장 정책(Zero-Retention Policy)을 통해 민감 정보 노출 범위를 최소화해야 한다.

Malicious litellm 1.82.8: Credential Theft and Persistent Backdoor