편집이 금지된 Microsoft Office(특히 Word) 문서에서 32비트 암호 키를 생성하는 데 사용되는 알고리즘은 무엇입니까?

편집이 금지된 Microsoft Office(특히 Word) 문서에서 32비트 암호 키를 생성하는 데 사용되는 알고리즘은 무엇입니까?

편집 보호 기능이 있는 레거시(.doc era) 워드 문서를 저장하면 파일 내에 저장된 비밀번호 키를 찾을 수 있습니다.

쉽게 찾을 수 있도록 .xml 또는 .html 파일로 저장하고 텍스트 소스를 검사하여 찾을 수 있습니다(그러나 16진수 편집기를 사용하여 원본 .doc에서 가져올 수도 있습니다). 예를 들어, 비밀번호가 "password"인 경우 소스에서 다음을 찾을 수 있습니다.

<w:documentProtection w:edit="forms" w:enforcement="on" w:unprotectPassword="147A83AF"/>

32비트 16진수로 보이는 이 키를 생성하는 데 어떤 알고리즘이 사용됩니까?

답변1

현재 Office 설치로 해당 출력을 재현할 수 없습니다. 최소한 해당 값은 다음에 따라 "비밀번호"를 나타내야 합니다.이것.

다음 소스를 고려합니다.

이전 버전에서는 해싱과 암호화를 함께 사용하는 것 같습니다. 실제로 어떤 종류의 조합을 사용하고 있는지 파악하려면 파일에 대해 좀 더 확인해야 할 것 같습니다.

InfoSecSee는 이에 관해 다소 좋은 그림을 가지고 있습니다. InfoSecOffice 암호 알고리즘 문서 참조

이는 PenTestCorner의 목록과 일치하는 것 같습니다.

  • Office 97-03(MD5+RC4,oldoffice$0,oldoffice$1): 플래그 -m 9700
  • Office 97-03(MD5+RC4,collider-mode#1): 플래그 -m 9710
  • Office 97-03(MD5+RC4,collider-mode#2): 플래그 -m 9720
  • Office 97-03(SHA1+RC4,oldoffice$3,oldoffice$4): 플래그 -m 9800
  • Office 97-03(SHA1+RC4,collider-mode#1): 플래그 -m 9810
  • Office 97-03(SHA1+RC4,collider-mode#2): 플래그 -m 9820
  • Office 2007: 플래그 -m 9400
  • Office 2010: 플래그 -m 9500
  • Office 2013: 플래그 -m 9600

어떤 알고리즘이 사용되는지 결정하는 방법을 더 자세히 알아 보려면 "Office2John" 또는 hashcat이 구현되는 방법에 대한 세부 사항을 확인해야 합니다.

관련 정보