엑셀 비밀번호 분실
Excel 파일 암호 분실 시에 비밀번호 해제 방법에 대해서 설명드립니다. 엑셀 파일로부터 암호화된 해쉬 값을 추출한 뒤에, GPU 서버에서 hashcat이라는 엑셀 비밀번호 해제 프로그램 을 이용하여 패스워드를 찾는 방법에 대해서 설명드리도록 하겠습니다.
엑셀 비밀번호 설정과 해제
엑셀 비밀번호 설정은 엑셀 파일을 저장 할 때에 설정 할 수 있습니다. 먼저 파일 내요을 작성하고, 저장 할때의 팝업에서 하단에 [도구] 메뉴를 클릭하여 [일반 옵션] 메뉴를 선택합니다.
Excel 암호 설정
일반 옵션메뉴에서 아래와 같이 열기 암호 또는 쓰기암호를 입력하고 [확인]버튼을 클릭합니다.
그리고 다시 한 번 확인 패스워드를 입력 후 엑셀 파일을 저장하게 되면, 비밀번호로 엑셀 파일이 보호되게 됩니다.
패스워드가 설정 된 엑셀 파일을 열게 되면 다음과 같이 비밀번호를 묻는 대화상자가 나타납니다.
엑셀 암호 제거
비밀번호를 해제 하기 위해서는 먼저 비밀번호를 알아야 합니다. 비밀번호를 입력 후 엑셀 파일을 엽니다.
그리고 다른 이름으로 저장하기 메뉴를 선택하고, 저장 일반옵션에서 아래와 같이 암호를 제거하여 저장을 하게 되면 엑셀 암호가 제거되게 됩니다.
엑셀 비밀번호 풀기
위의 비밀번호 제거 방법은 암호를 알아야 합니다. 하지만 비밀번호가 기억나지 않는 경우는, 위의 방법을 사용할 수 없고 엑셀 패스워드 복구 프로그램을 이용하여 암호를 찾아 내야 합니다.
이 글에서는 hashcat 이라는 패스워드 복구 프로그램을 이용하여 엑셀 패스워드 찾기 방법에 대해서 설명드리도록 하겠습니다.
환경
엑셀 패스워드를 찾기 위해서는 수많은 패스워드를 조합하여, 확인하는 방법을 사용합니다. 패스워드의 길이가 길어지고 숫자, 문자, 특수기호 등 경우의 수가 많아지만 연산 횟수가 늘어나서 패스워드 찾는데 시간이 오래걸립니다.
따라서 일반 CPU 으로 패스워드 찾는데는 오래걸리고, GPU 서버를 이용하면 보다 빠르게 패스워드를 찾을 수 있습니다. 엑셀 패스워드 찾기 프로그램은 Tesla K80 GPU 6대를 사용하는 환경에서 테스트 되었습니다.
엑셀 암호 해제 프로그램을 사용할 때에 GPU 서버가 필요하시면, 아래의 신청서를 작성해 주시면 서버를 제공해 드리도록 하겠습니다.
먼저 패스워드가 설정 된 엑셀 파일에서 hash 값을 추출해야 합니다. 예제로 사용된 엑셀의 해쉬 값은 아래와 같습니다.
$office$20131000002561657894497b36b093409c8ffdda2f9a36e3f89f32445f070efb866ec3df96cc035*8368dafb7f6f65c010c7b3d4eae1a815aa0f386f5496b4fc15aec40be205831e
엑셀 패스워드 찾기
소문자로만 구성된 6자리로 패스워드의 경우 비밀번호를 찾는데 약 8시간 정도 걸립니다. 그리고 만약 소문자+대문자+숫자로 구성된 5자리의 패스워드는 하루정도 걸리게 됩니다.
해쉬값을 hash.lst 파일에 저장하고 검색할 패스워드 조건을 입력하여 아래와 같이 실행합니다.
실행 결과를 확인하시면 1초 당 약 1만개의 패스워드를 확인 하는 것을 알 수 있습니다.
$ hashcat -a 3 -w 3 -m 9600 hash.lst -1 ?l?d?u ?1?1?1?1?1
( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)