TortoiseSVN 저장된 비밀번호 추출


답변:


226

간단한 대답 : TortoiseSVN Password Decrypter 를 사용 하여 암호를 포함하여 캐시 된 자격 증명을 쉽게 표시 할 수 있습니다.

긴 답변 : 도구가 작동하는 방식은 다음과 같습니다.

자격 증명은의 하위 디렉터리에 저장됩니다 %APPDATA%\Subversion\auth\. 이 이전 답변 에서 나열한 내용은 다음 과 같습니다.

  • svn.simple 기본 인증을위한 자격 증명 (사용자 이름 / 암호) 포함
  • svn.ssl.server SSL 서버 인증서 포함
  • svn.username 사용자 이름 전용 인증을위한 자격 증명 포함 (암호 필요 없음)

첫 번째 디렉토리는 관심있는 디렉토리입니다. GUID처럼 보이는 이름의 파일이 포함 된 것 같습니다. 자격 증명을 저장 한 각 저장소에 대해 하나씩.

이러한 파일의 암호는 Windows Data Protection API에 의해 암호화됩니다 . 위의 도구는 Obviex의 샘플 코드를 사용 하여이 API와 인터페이스하고 복호화를 수행합니다.

작동하려면 "인증 저장"확인란을 선택했을 때 실행 중이던 동일한 Windows 사용자 계정에 대한 액세스 권한이 있어야합니다. 이는 Windows Data Protection API가 Windows 계정에 연결된 암호화 키를 사용하기 때문입니다. 이 계정을 분실 한 경우 (또는 관리자가 암호를 재설정 한 경우) 더 이상 암호를 해독 할 수 없습니다 ( 아마도 무차별 대입 / 제 3 자 도구 를 사용하는 경우 제외 ). 동일한 사용자 이름 / 암호 (또는 아마도 SID)를 가진 새 Windows 계정을 갖는 것만으로는 충분하지 않습니다.


8

아래 정보에 따르면 어떤 방식 으로든 로컬에서 해독 할 수있는 것 같습니다.

업데이트 : TortiseSVN 커뮤니티의 확실한 답변

암호화 된 유선을 통해 전송 될 때 연결시 핸드 셰이크 및 / 또는 동의 한 키를 사용하여 암호화됩니다.

로컬로 저장 / 읽을 때 Windows 계정에 연결된 키를 사용하는 Windows Crypto API를 통해 암호화 / 복호화됩니다.

로컬로 암호화 된 복사본은 키가 계정에 로컬이기 때문에 서버에서 해독 할 수 없습니다.

따라서 연결할 때 (HTTPS를 통해) 클라이언트는 적절한 Windows API를 통해 해독 된 자격 증명을 얻은 다음 HTTPS 전송에 포함합니다. HTTPS 는 자격 증명뿐만 아니라 SSL 인증서를 사용하여 클라이언트와 서버 간의 전체 통신을 암호화합니다 .


클라이언트 측에서 암호가 해독되지 않았습니까?
Jus12 2010 년

꽤 확실합니다 ... TortiseSVN 사람들에게 명시적인 질문을 게시하지 않고 제가 찾은 내용은 다음과 같습니다 ... tortoisesvn.net/docs/release/TortoiseSVN_en/… 또한 클라이언트 측에서 해독 된 경우 일반 텍스트로 푸시되었습니다. 서버가 목적을 무너 뜨릴 것입니다. SSH를 통해 보낼 수 있다고 생각합니다.
Aaron McIver

그러나 효과적으로 누구나 서버에 암호문을 보낼 수 있으며 tortoiseSVN은 암호화를 통한 추가 보안을 제공하지 않습니다.
Jus12 2010 년

그렇기 때문에 종료시 또는 적어도 주기적으로 문제가되는 경우 PC에서 인증 데이터를 삭제하는 것으로 알려져 있습니다. 인증 데이터를 보유한 시스템이 손상 되었다면 이는 실제로 TotoriseSVN 문제가 아닙니다.
Aaron McIver

일 해주셔서 감사합니다. 나는 이미 그것을위한 도구가 있기를 바라고 있었다.
Jus12
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.