캐시 된 Windows 자격 증명은 로컬 컴퓨터에 어떻게 저장됩니까?


26

캐시 된 Active Directory 도메인 자격 증명은 Windows 클라이언트에 어떻게 저장됩니까? 로컬 SAM 데이터베이스에 저장되어 로컬 사용자 계정에 영향을받는 것과 동일한 레인보우 테이블 공격에 취약 해 지거나 다르게 저장됩니까? 나는 그들이 일반 텍스트로 저장되지 않도록 소금에 절이고 해시된다는 것을 알고 있지만 로컬 계정과 같은 방식으로 해시되어 같은 위치에 저장되어 있습니까?

나는 최소한 그들이 무차별 대입 공격에 취약하다는 것을 알고 있지만, 도난당한 기계의 경우 레인보우 테이블에 취약한 것보다 훨씬 나은 상황입니다.

답변:


17

"캐시 된 자격 증명"

AD 도메인의 캐시 된 자격 증명은 실제로 암호의 이중 해시로 구성되며 HKLM \ Security 하이브에 저장됩니다. 하이브의 파일 위치는 다음과 같습니다. %systemroot%\System32\config\SECURITY

"시스템"사용자 만 레지스트리 키에 액세스 할 수 있습니다.
HKLM\Security\Cache\NL$n여기서 n캐시 된 신임 정보의 최대 수에 대한 색인 1입니다.

공격에 대한 감수성

WinNT에서 WinXP 는 최신 하드웨어에서 쉽게 손상되는 로컬 계정에 "Lan Manager"해시를 사용했습니다. 크래킹은 보통 "일반적인"데스크톱 컴퓨터로 몇 분 (최근 00:08:06에 3 개의 암호를 사용함)이 소요됩니다. Lan Manager 해시는 소금에 절이지 않으므로 공개적으로 사용 가능한 무지개 테이블도 있습니다.

Vista 이상에서는 로컬 계정에 NT 해시를 사용 합니다. Windows 2000 이상에서는 도메인 계정에도 NT 해시를 사용 합니다. NT 해시는 소금에 절인 이중 MD4 해시입니다. 항목 별 소금은 레인보우 테이블을 사용하지 못하도록하지만 MD4는 최신 하드웨어에서 매우 빠르게 실행될 수 있습니다. 60 비트 암호의 경우 약 6 년 계산. 행운과 6 GPU 클러스터로 크래커는 ~ 6 개월 안에 이러한 종류의 암호를 깰 수 있습니다. 가용성에 따라 Amazon EC2 GPU에서 약 35 만 달러를 클라우드로 가져 가려면 몇 시간이 걸릴 수 있습니다.


내 질문의 더 큰 부분은 이러한 저장된 자격 증명이 다른 방법으로 해시되는 경우 로컬 계정과 동일한 레인보우 테이블 기반 공격에 취약한 지 여부입니다.
MDMarra

업데이트 됨 ... Vista + 모두 동일합니다. 이전 버전은 다릅니다.
Chris S

"비밀번호의 MD4 해시 알고리즘을 사용하여 암호의 NT 해시를 계산합니다."
-TechNet

해당 페이지가 잘못되었습니다. NT 해시는 소금에 절입니다. KB에 대한 링크는 아래 Joe의 답변을 참조하십시오.
Chris S

4

자격 증명은 실제로 로컬 컴퓨터에 캐시되지 않습니다. MS에서 발췌 한 내용을 참조하십시오.

캐시 된 도메인 자격 증명의 보안

캐시 된 자격 증명이라는 용어는 Windows가 도메인 로그온에 대한 로그온 정보를 캐시하는 방법을 정확하게 설명하지 않습니다. Windows 2000 및 이후 버전의 Windows에서는 사용자 이름과 비밀번호가 캐시되지 않습니다. 대신, 시스템은 비밀번호의 암호화 된 검증기를 저장합니다. 이 검증기는 소금에 절인 MD4 해시로 두 번 계산됩니다. 이중 계산은 효과적으로 검증자를 사용자 비밀번호 해시의 해시로 만듭니다. 이 동작은 Microsoft Windows NT 4.0 및 이전 버전의 Windows NT와는 다릅니다.

http://support.microsoft.com/kb/913485


본인은 자격 증명 자체가 실제로 캐시되지는 않지만 내 질문은 "해시 결과 해시가 로컬 계정과 같은 방식으로 로컬 SAM 데이터베이스에 저장되므로 동일한 공격에 취약한 것으로 나타났습니다. " 조금 더 명확하게 수정하겠습니다.
MDMarra

1
meh .. 나에게 이것은 다 언어 단어입니다. "해싱"의 특성은 기본적으로 암호화 된 보안 알고리즘을 사용하여 난독 화 된 암호 값을 생성하는 단방향 프로세스입니다. 문제는 MD4가 10-15 년 전에 암호로 안전하게 보호되었을 수 있지만 더 이상 가깝지는 않다는 것입니다 (암호화 자의 관점에서 볼 때 MD5 나 SHA1은 아닙니다). 따라서 알고리즘의 키 공간을 빠르게
무력화

자격 증명이 오프라인 모드에서 확인할 수 있도록 어떤 방식이나 형식으로 저장되는 경우 해당 캐시의 데이터 모양에 관계없이 모든 의도와 목적을 위해 캐시됩니다.
NiKiZe

4

Credential Manager API가있는 Credential Manager에 의해 처리됩니다. 솔트 해시는 디스크에 다소 안전한 방식으로 저장되고 HKLM \ Security를 ​​통해 액세스됩니다. (기본적으로 LocalSystem 만 액세스 할 수 있지만 psexec -i -s regedit.exe와 같이 무시하기 쉽습니다.)

그러나 실행중인 Windows 시스템에서는 최근에 사용 된 자격 증명을 가져 와서 DLL을 Lsass에 연결하여 일반 텍스트로 쉽게 되돌릴 수 있으므로 상황이 더 심각합니다. (미미 카츠 참조)

예, 클라이언트의 HKLM \ Security \ Cache에서 일종의 해시 (또는 해시의 해시 또는 '검증기'또는 호출하려는 항목)를 찾을 수 있습니다. 그러나 디스크의 해시를 공격 할 수있는 방법이 없다고 생각합니다. 공격 가능한 오래된 NTLM 해시와는 다릅니다.


SAM의 오프라인 암호 크래킹은 Mimikatz 및 WCE와 마찬가지로 LSASS를 메모리에 연결하는 것과 완전히 다릅니다. 그리고 암호 복잡성에 따라 SAM의 균열 오프라인 암호 (samdump2 참조) 아주 쉽게 할 수
thepip3r
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.