Kerberos 티켓을 사용하면 컴퓨터와 서버가 각 인스턴스에서 상호 인증 없이 정보를 전송할 수 있어 컴퓨터 네트워크의 보안을 강화하는 데 도움이 됩니다. 그럼에도 불구하고 이러한 티켓은 일시적이지만 신뢰할 수 있는 검증자로서의 기능으로 인해 암호 해독에 성공할 수 있는 악의적인 행위자의 매력적인 표적이 될 수 있습니다.
케르베로스 티켓이란 무엇인가요?
“케르베로스”라는 용어는 그리스 신화에서 지하 세계의 문을 지키는 신화 속 여러 개의 머리를 가진 개, 흔히 “케르베로스”라고 불리는 개와 이름이 비슷하기 때문에 친숙하게 들릴 수 있습니다. 이 생명체는 죽은 자의 영역을 탈출하려는 자들을 효과적으로 억제하는 역할을 하지만, 인증 메커니즘과 유사하여 권한이 없는 주체가 도메인에 액세스하거나 도메인을 벗어나지 못하도록 방지하는 역할도 합니다.
Kerberos는 컴퓨터 네트워크를 통해 클라이언트 장치와 서버 시스템 간의 보안 통신을 설정하기 위해 암호화 키를 사용하는 인증 프로토콜입니다. 매사추세츠 공과대학에서 데이터 요청 시 클라이언트가 서버에 자신의 신원을 확인하는 수단으로 개발한 이 프로토콜은 서버가 전송된 정보의 진위와 무결성을 확인하여 예상 발신자가 보낸 것인지, 변경되지 않은 상태인지 확인할 수 있게 해줍니다.
Kerberos 티켓은 네트워크 리소스에 액세스하려는 클라이언트의 신원을 확인하는 키 배포 센터(KDC)로 알려진 지정된 중개자가 발급하는 인증서의 역할을 합니다. 클라이언트가 이 인증서를 고유 세션 키와 함께 제시하면 서버에 대한 인증이 확인되므로 각 개별 요청 또는 명령에 대한 광범위한 유효성 검사가 필요하지 않습니다.
Kerberos 티켓은 어떻게 작동하나요?
Kerberos 티켓은 특정 서비스에 대한 액세스를 요청할 때 사용자의 신원을 확인하는 데 사용됩니다. 또한 동일한 서비스를 이용하는 여러 개인 간에 액세스 권한을 분할하는 데 도움이 됩니다. 이를 통해 서로 다른 클라이언트의 요구가 서로 간섭하지 않도록 하고 권한이 없는 사용자가 높은 권한을 가진 지정된 사용자만 접근할 수 있는 기밀 정보에 접근할 수 없도록 보장합니다.
예를 들어, Microsoft는 사용자가 Windows 서버 또는 PC 운영 체제에 액세스할 때 Kerberos 인증 프로토콜을 사용합니다. 따라서 부팅 후 컴퓨터에 로그인하면 OS는 Kerberos 티켓을 사용하여 지문 또는 암호를 인증합니다.
컴퓨터 내의 LSASS 프로세스는 현재 세션 동안 티켓을 일시적으로 보관합니다.그 후 운영 체제는 저장된 티켓을 싱글 사인온 인증 목적으로 사용하므로 더 높은 권한이 필요할 때마다 생체 정보나 비밀번호를 제공해야 할 필요가 없습니다.
Kerberos 티켓은 특히 인터넷과 같은 대규모 네트워크에서 안전한 통신을 보장하는 데 필수적인 메커니즘으로 사용됩니다. 이 티켓은 로그인 시 HTTPS 암호화 및 사용자 인증을 포함한 암호화 프로토콜을 지원하여 CSRF(Cross-Site Request Forgery) 및 중간자(Man-in-the-Middle) 공격과 같은 잠재적 위협이 네트워크 보안을 손상시키는 것을 방지합니다.
케르베로스팅이란 정확히 무엇인가요?
케르베로스팅 과정에는 사회 공학, 자격 증명 도용, 무차별 암호 대입 공격이 결합되어 있으며, 공격자가 클라이언트를 가장하여 일반 텍스트 암호 해시를 얻기 위해 서버에 Kerberos 티켓을 요청하는 방식이 사용됩니다. 이 기법은 유효성 검사를 위해 Kerberos 시스템에 의존하는 특정 인증 프로토콜의 약점을 활용합니다.
티켓이 암호화되었지만 잠재적인 해커가 해당 티켓을 획득하는 것은 여전히 상당한 장애물입니다. 서버에서 얻은 Kerberos 티켓을 획득한 후 해독하는 것은 그 가치가 매우 높기 때문에 이들에게는 여전히 중요한 목표입니다. 이러한 티켓을 가진 사람들이 암호화를 뚫기 위해 광범위한 방법을 사용하는 것은 드문 일이 아닙니다.
케르베로스팅 공격은 어떻게 작동하나요?
Kerberoasting 기법은 액티브 디렉터리에서 흔히 발견되는 두 가지 오류, 즉 짧고 취약한 암호 사용과 불충분한 암호화로 파일을 보호하는 것을 이용합니다. 이 작업은 권한이 없는 개인이 사용자 계정을 사용하여 키 배포 센터(KDC)에서 Kerberos 토큰을 찾으려고 할 때 시작됩니다.
케르베로스 암호 해독 및 재구성(KDC)은 일반적으로 클라이언트와 서버 간의 통신을 보호하는 데 사용되는 암호화된 티켓을 생성합니다. 그러나 악의적인 공격자는 이 토큰을 인증 목적으로 사용하는 대신 네트워크 컨텍스트에서 토큰을 제거하여 무차별 암호 대입 공격을 시도할 수 있으며, 이를 위해 mimikatz, 해시캣, 존더리퍼 등 다양한 무료 오픈 소스 소프트웨어 프로그램을 사용할 수 있습니다. 이러한 공격은 인보크-커베로스트 및 루베우스 같은 툴을 통한 자동화를 통해 더욱 증폭될 수 있으며, 사이버 범죄자는 비교적 쉽게 대규모 캠페인을 실행할 수 있습니다.
스피어피싱 공격에 성공하면 케르베로스 위임을 악용하여 클리어텍스트 자격 증명을 획득할 수 있습니다.공격자는 이렇게 획득한 정보를 사용하여 합법적인 사용자를 사칭하고 탈취한 ID의 권한 범위 내에서 변조된 호스트에 대한 인증 요청을 생성할 수 있습니다. 이러한 상황은 공격자가 불법적인 데이터 추출, Active Directory 계층 구조 내의 측면 이동, 관리 권한이 부여된 허위 계정 설정에 불법적인 액세스를 오용할 수 있는 능력으로 인해 더욱 악화됩니다.
케르베로스팅에 대해 걱정해야 할까요?
Kerberoasting 행위는 특히 도메인 관리자와 블루팀 운영자에게 Active 디렉터리에 심각한 위협이 됩니다. 이 공격을 탐지할 수 있는 기본 도메인 구성이 없기 때문에 더욱 우려됩니다. 게다가 이러한 공격의 대부분은 오프라인에서 발생하기 때문에 사후에야 침해 사실을 파악하기가 어렵습니다. 요약하자면, 케르베로스팅 공격의 표적이 될 경우 발생할 수 있는 잠재적 파급 효과는 사이버 보안의 모든 책임자가 주의를 기울여야 하는 문제입니다.
취약성을 최소화하려면 문자, 숫자, 기호의 복잡한 조합을 사용하는 등 네트워크의 모든 구성원 간에 강력한 비밀번호 프로토콜을 구현하는 것이 필수적입니다. 또한, 최신 암호화 알고리즘을 사용하고 비정상적인 도메인 사용자 활동에 대한 알림 시스템을 구성하는 것은 케르베로이팅 공격으로 인한 잠재적인 보안 위협에 대응하기 위한 필수 조치입니다. 또한, 무단 접속 시도를 차단하기 위해 사람의 실수를 악용하도록 설계된 사회 공학적인 계획에 대한 경계를 늦추지 않는 것이 중요합니다.