Docker release_agent cgroups escape
WhiteIntel은 다크 웹을 활용한 검색 엔진으로, 회사나 그 고객이 스틸러 악성 코드에 의해 침해당했는지 무료로 확인할 수 있는 기능을 제공합니다.
WhiteIntel의 주요 목표는 정보를 도난하는 악성 코드로 인한 계정 탈취 및 랜섬웨어 공격을 막는 것입니다.
그들의 웹사이트를 방문하여 엔진을 무료로 시험해 볼 수 있습니다:
자세한 내용은 원본 블로그 게시물 를 참조하세요. 이것은 요약입니다:
원본 PoC:
다음은 cgroups를 악용하는 방법을 시연하는 증명-of-concept (PoC)입니다. release_agent
파일을 생성하고 해당 파일을 트리거하여 컨테이너 호스트에서 임의의 명령을 실행하는 방법을 보여줍니다. 다음은 수행되는 단계를 설명합니다:
환경 설정:
/tmp/cgrp
디렉토리를 생성하여 cgroup의 마운트 지점으로 사용합니다.RDMA cgroup 컨트롤러를 이 디렉토리에 마운트합니다. RDMA 컨트롤러가 없는 경우
memory
cgroup 컨트롤러를 대안으로 사용하는 것이 제안됩니다.
자식 Cgroup 설정:
마운트된 cgroup 디렉토리 내에 "x"라는 이름의 자식 cgroup이 생성됩니다.
"x" cgroup에 대한 알림은 notify_on_release 파일에 1을 쓰는 것으로 활성화됩니다.
릴리스 에이전트 구성:
호스트에서 컨테이너의 경로는 /etc/mtab 파일에서 얻습니다.
그런 다음 cgroup의 release_agent 파일을 구성하여 획득한 호스트 경로에 위치한 /cmd 스크립트를 실행합니다.
/cmd 스크립트 생성 및 구성:
/cmd 스크립트는 컨테이너 내부에 생성되고 ps aux를 실행하도록 구성되며, 출력을 컨테이너 내의 /output이라는 파일로 리다이렉트합니다. 호스트에서 /output의 전체 경로가 지정됩니다.
공격 트리거:
"x" 자식 cgroup 내에서 프로세스가 시작되고 즉시 종료됩니다.
이로 인해
release_agent
(/cmd 스크립트)가 트리거되어 호스트에서 ps aux를 실행하고 결과를 컨테이너 내의 /output에 작성합니다.
WhiteIntel은 다크 웹을 활용한 검색 엔진으로, 회사나 그 고객이 스틸러 악성 소프트웨어에 의해 침해당했는지 확인하는 무료 기능을 제공합니다.
WhiteIntel의 주요 목표는 정보를 도난하는 악성 소프트웨어로 인한 계정 탈취와 랜섬웨어 공격을 막는 것입니다.
그들의 웹사이트를 방문하여 엔진을 무료로 사용해 볼 수 있습니다:
Last updated