본문 바로가기

Programming/Python Program

Zip 파일 비밀번호 알아내기 by brute force on python | Unlock Password Protected Zip file using python


간단한 brute force python code 를 만들어 보려고 한다. 압축파일로 흔히 쓰이는 Zip file 형태가 비밀번호로 보호가 되고 있는데 비번을 잊어버렸을 경우 어떻게 할까? 머리를 쥐어 짜서 비번이 생각나기를 학수고대 할 수밖에 없을까? 이럴때 유용하게 심플한 코드를 만들어 해결을 할 수 있다. 

아래는 단순한 파이썬 코드이다. 개략적으로 설명을 하자면, 딕셔너리(일반적으로 수 많은 단어들이 들어 있는 파일)파일을 가지고 있다면 그것을 이용하여 zip파일을 컴퓨터가 하나씩 열쇠구멍에 넣어 돌려보게 하는 것이다.

흔히 크래커들은 일반적으로 많이 사용되는 혹은 빈도수가 높고 비밀번호로 유용한 단어들의 리스트를 가지고 프로그램을 돌려 빠른 시간내에 해당 시스템의 비밀번호를 알아낼 수 있다. 여기에서는 아주 단순한 비밀번호 조합의 리스트 파일을 만들어 보았다.


위와 같이 몇 개 안되는 단어들만을 가지고 패스워드를 찾아내는지 알아보는 수준이다. 즉, aaa 로 zip file 을 열어보고 아니면 다음의 bbb, ccc 로 시도하는 형태이다. 자물쇠가 열릴 때까지 말이다. 만약 끝끝내 안열린다면? 자물쇠에 맞는 키가 없는 경우이므로 더욱 방대한 키 리스트(여기서는 testpass.txt)를 가지고 시도해야 할 것이다.


위 코드는 단순한 형태의 brute force python code 이다. 가장 아래 라인을 보니 b'1357' 이라고 알려주고 있다. 그렇다. 테스트를 위해서 이 파일을 '1357' 이라는 password 로 압축한 파일이었던 것이다.