New Linux Rootkit PUMAKIT Uses Advanced Stealth Techniques to Evade Detection
PUMAKIT, a sophisticated rootkit that uses advanced stealth mechanisms
- 개요
- PUMAKIT은 LKM(Loadable Kernel Module) 기반 리눅스 루트킷으로 Elastic Security Lab이 발견
- 권한 상승, 파일·디렉터리 은닉, 안티디버깅, C2와의 은밀한 통신 등 고급 기법 탑재
- 주요 구성요소
- 드로퍼: "cron"
- 메모리 상주 실행 파일: "/memfd:tgt", "/memfd:wpn"
- 루트킷 모듈: "puma.ko" (ftrace 훅 이용)
- 사용자 레벨 공유 라이브러리: "Kitsune"("lib64/libs.so")
- 공격 체인 및 특징
- 다단계 구조
- 드로퍼("cron") → 메모리에 로드되는 실행 파일("/memfd:wpn") → 조건 충족 시 루트킷("puma.ko") 배포
- 루트킷 내부에 Kitsune SO 내장, 사용자 공간과 상호작용
- ftrace() 훅
- 최소 18개 syscalls 및 "prepare_creds", "commit_creds" 등 핵심 커널 함수 후킹
- 파일/디렉터리 숨김, 프로세스 은닉, 루트킷 자기 보호
- rmdir() 시스템콜 악용
- "zarya.[명령]" 형식으로 명령 전달
- 명령 구조 예
- zarya.c.0 → 설정(config) 가져오기
- zarya.k. → 지정 PID 은닉
- zarya.v.0 → 루트킷 버전 조회
- 조건부 활성화
- Secure Boot 활성 여부, 커널 심볼(kallsyms_lookup_name 등) 접근 가능 여부 확인
- 모든 파일은 ELF 바이너리 형태로 드로퍼에 내장, 특정 조건 충족 시 로딩
- 다단계 구조
- 주요 기능
- 권한 상승: prepare_creds/commit_creds 훅킹, rmdir() 콜 훅 등으로 권한 조작
- 은닉 기법
- 파일/디렉터리/프로세스 숨김
- 루트킷 자체 숨김 및 안티 디버깅
- 메모리 상주로 디스크 흔적 최소화
- C2 통신
- 명령&제어 서버와 통신하여 추가 페이로드 전달, 시스템 제어
- ftrace로 syscall 흐름 변경 등 은밀한 방식
- 기술적 특이점
- kallsyms_lookup_name() 사용
- 커널 5.7 이전 버전에서 익스포트되어 있어, 비정상 모듈도 심볼 접근 가능
- MODULE_LICENSE("GPL") 위장으로 라이선스 검사 우회
- 다중 아키텍처 지원
- x86뿐 아니라 다른 아키텍처도 고려
- “puma.ko”가 kprobes 대신 ftrace 사용 → 구버전 커널 대응
- kallsyms_lookup_name() 사용
- 보안 권고
- 최신 커널 업데이트로 kallsyms_lookup_name 등 비익스포트 함수 악용 방지
- Secure Boot 활성, 커널 모듈 서명 검증 필수
- Syscall 모니터링:
- Sysmon(리눅스) 혹은 BPF 기반 추적으로 rmdir 훅 등 이상 동작 감지
- 안티루트킷 툴(chkrootkit, rkhunter 등) 활용, 정기 검사
- 리눅스 서버 관리자: 미승인 커널 모듈 적재 차단, LKM 로딩 시도 이벤트 모니터링
'Kant's IT > Issue on IT&Security' 카테고리의 다른 글
러시아 위협 그룹 Secret Blizzard, 우크라이나 대상 공격에서 다른 그룹의 툴 재활용 (0) | 2025.01.03 |
---|---|
해커, MSC 파일 악용해 파키스탄 대상 백도어 배포 공격 (0) | 2025.01.03 |
UAC-0125, Cloudflare Workers를 악용하여 Army+ 앱으로 위장한 악성코드 배포 (0) | 2025.01.03 |
안드로이드 생태계에서 발견된 새 멀웨어, 배후에 중국 공안 (0) | 2025.01.02 |
Webview2 악용으로 CoinLurker 악성코드 배포: 가짜 업데이트 유도 주의 (0) | 2025.01.02 |