알려진 부분 비밀번호가 있는 zip 파일 크래킹

알려진 부분 비밀번호가 있는 zip 파일 크래킹

나는압축비밀번호를 잊어버려서 열 수 없는 파일입니다. 이 비밀번호의 일부 내용은 꽤 확신하지만, 비밀번호에 추가된 변형이 기억나지 않습니다. 나는 노력했다균열 압축 패키지그런데 비밀번호의 일부를 알고 있다는 것을 어떻게 보여줘야 할지 모르겠습니다. 결론적으로:

  • 나는 '와 같은 비밀번호의 일부를 알고 있습니다.안녕하세요","세계" 그리고"나쁜 패스".
  • 부품은 순서에 관계없이 배열될 수 있지만 전부 사용할 수는 없습니다.
  • 소문자 3~5자 등 약간의 자잘한 부분이 추가로 있을 수 있습니다.

이 작업을 수행할 수 있는 소프트웨어를 알고 계십니까?

답변1

방법 요약:

  1. 이와 같은 유틸리티를 사용하십시오crunch사용자 정의 사전 파일을 만듭니다.

  2. fcrackzip이 사용자 정의 사전을 사용하여 실행하십시오.

질문:

  • 최대 3개의 문자열과 3~5개의 소문자를 혼합하면 1조 개가 넘는 비밀번호를 만들 수 있습니다. 사전을 생성하는 데 시간이 걸립니다.

  • crunch문자 기반 와일드카드가 허용되지만 사용자 정의 문자열을 처리하는 데 유연성이 떨어집니다. 이 문제를 해결하려면 , grep, sedsort필요한 것 같습니다. 어느 하나라도 필요한 시간이 추가됩니다(예: 몇 시간, 어쩌면 며칠...).

다음과 같이 작동할 수 있습니다.

crunch 3 9 abcdefghijklmnopqrstuvwxyz123 | \
  grep '[123]' | # at least one number per dict entry
  egrep -v '([123]).*\1' | # remove repeated numbers
  sed 's/1/hello/;s/2/world/;s/3/shittypass/' | # replace numbers with strings
  sort -u | \
  fcrackzip -D -p /dev/stdin foo.zip 

더 작은 문제 세트가 포함된 테스트 사례(순서에 관계없이 하나 또는 두 개의 문자열, 최대 두 개의 소문자):

echo foo > bar.txt  # file to archive
zip -P xhellobworld baz bar.txt   # archive with password
time crunch 2 4 abcdefghijklmnopqrstuvwxyz12 | \
     grep '[12]' | egrep -v '([12]).*\1' | \
     sed 's/1/hello/;s/2/world/' | \
     sort -n | fcrackzip -u -D -p /dev/stdin baz.zip 

산출:

Crunch will now generate the following amount of data: 3163440 bytes
3 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 637392 


PASSWORD FOUND!!!!: pw == xhellobworld

real    0m5.942s
user    0m2.240s
sys 0m1.040s

관련 정보