캐시 된 Windows 자격 증명은 로컬 컴퓨터에 어떻게 저장됩니까? 테이블 공격에 취약 해 지거나 다르게

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

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



답변

“캐시 된 자격 증명”

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 만 달러를 클라우드로 가져 가려면 몇 시간이 걸릴 수 있습니다.


답변

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

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

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

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


답변

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

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

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


답변