bash를 사용하여 무차별 대입 keepassxc

bash를 사용하여 무차별 대입 keepassxc

Keepassxc 데이터베이스(키 파일이 있는 .kdbx)의 비밀번호 일부를 잊어버렸습니다. 비밀번호는 20개의 기호로 구성되며 그 중 17개가 알려져 있습니다. 비밀번호의 알 수 없는 부분에 사용된 것으로 생각되는 문자(charlist.txt에 입력됨)와 다음과 같은 작은 줄을 사용하여 가능한 모든 조합 목록을 생성했습니다.

for i in $(cat charlist.txt); do
  for j in $(cat charlist.txt); do
    for k in $(cat charlist); do
      echo $a$i$j$k
    done
  done
done > output.txt

Keepassxc를 사용하면 stdin에서 비밀번호를 읽을 수 있습니다( keepassxc --pw-stdin또는 를 사용하여 keepassxc-cli첫 번째는 stdin 입력으로 GUI를 열고, 두 번째는 "비밀번호 입력"의 일반적인 형식으로 입력해야 함). 그러나 반복 방식을 이해할 수 없습니다. Output.txt에는 5832줄이 있어 수동 무차별 대입 공격이 불가능합니다.

Output.txt의 내용이나 한 줄의 출력을 keepassxc에 전달하는 방법은 무엇입니까?

답변1

어쩌면 다음과 같은 것일 수도 있습니다.

while read p; do
         echo "$p" | keepassxc --pw-stdin; 
done <output.txt

keepassxc가 잘못된 입력을 받았을 때 어떻게 동작하는지 모르겠습니다. 5831 오류 창이 열릴 수 있도록 준비하세요.

관련 정보