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 오류 창이 열릴 수 있도록 준비하세요.