Harvesting tickets from Linux

리눅스에서의 자격 증명 저장

리눅스 시스템은 자격 증명을 세 가지 유형의 캐시에 저장합니다: 파일 (/tmp 디렉토리 내), 커널 키링 (리눅스 커널의 특별한 세그먼트), 및 프로세스 메모리 (단일 프로세스 사용). /etc/krb5.confdefault_ccache_name 변수는 사용 중인 저장 유형을 나타내며, 지정되지 않은 경우 기본적으로 FILE:/tmp/krb5cc_%{uid}로 설정됩니다.

자격 증명 추출

2017년 논문 Kerberos Credential Thievery (GNU/Linux)에서는 키링과 프로세스에서 자격 증명을 추출하는 방법을 설명하며, 키를 관리하고 저장하기 위한 리눅스 커널의 키링 메커니즘을 강조합니다.

키링 추출 개요

keyctl 시스템 호출은 커널 버전 2.6.10에서 도입되어 사용자 공간 애플리케이션이 커널 키링과 상호작용할 수 있게 합니다. 키링에 저장된 자격 증명은 구성 요소(기본 주체 및 자격 증명)로 저장되며, 파일 ccaches는 헤더도 포함합니다. 논문의 hercules.sh 스크립트는 이러한 구성 요소를 추출하고 재구성하여 자격 증명 도용을 위한 사용 가능한 파일 ccache로 만드는 방법을 보여줍니다.

티켓 추출 도구: Tickey

hercules.sh 스크립트의 원칙을 바탕으로, tickey 도구는 키링에서 티켓을 추출하기 위해 특별히 설계되었으며, /tmp/tickey -i를 통해 실행됩니다.

참고 문헌

Last updated