mirror of
https://github.com/hashcat/hashcat
synced 2024-11-28 05:21:38 +01:00
Merge pull request #3130 from matrix/updated_testUnit_luks
Fixed Unit Test early exit on luks test file download/extract failure
This commit is contained in:
commit
a0088facf5
@ -27,6 +27,7 @@
|
||||
- Fixed wordlist handling in -m 3000 when candidate passwords use the $HEX[...] syntax
|
||||
- Fixed false negative on Unit Test with hash-type 25400
|
||||
- Fixed false negative on Unit Test in case of out-of-memory with grep in single mode
|
||||
- Fixed Unit Test early exit on luks test file download/extract failure
|
||||
|
||||
##
|
||||
## Technical
|
||||
|
@ -183,6 +183,11 @@ function init()
|
||||
fi
|
||||
|
||||
if [ "${hash_type}" -eq ${LUKS_MODE} ]; then
|
||||
which 7z &>/dev/null
|
||||
if [ $? -eq 1 ]; then
|
||||
echo "ATTENTION: 7z is missing. Skipping download and extract luks test files."
|
||||
return 0
|
||||
fi
|
||||
|
||||
luks_tests_folder="${TDIR}/luks_tests/"
|
||||
|
||||
@ -219,12 +224,12 @@ function init()
|
||||
if [ $? -ne 0 ] || [ ! -f "${luks_tests}" ]; then
|
||||
cd - >/dev/null
|
||||
echo "ERROR: Could not fetch the luks test files from this url: ${luks_tests_url}"
|
||||
exit 1
|
||||
return 0
|
||||
fi
|
||||
|
||||
# extract:
|
||||
|
||||
${EXTRACT_CMD} "${luks_tests}" >/dev/null 2>/dev/null
|
||||
${EXTRACT_CMD} "${luks_tests}" &>/dev/null
|
||||
|
||||
# cleanup:
|
||||
|
||||
@ -235,7 +240,7 @@ function init()
|
||||
|
||||
if [ ! -f "${luks_first_test_file}" ]; then
|
||||
echo "ERROR: downloading and extracting ${luks_tests} into ${luks_tests_folder} did not complete successfully"
|
||||
exit 1
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -469,6 +474,12 @@ function status()
|
||||
e_nm=$((e_nm + 1))
|
||||
;;
|
||||
|
||||
30)
|
||||
echo "luks test files are missing, cmdline : ${CMD}" >> "${OUTD}/logfull.txt" 2>> "${OUTD}/logfull.txt"
|
||||
|
||||
e_rs=$((e_rs + 1))
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "! unhandled return code ${RET}, cmdline : ${CMD}" >> "${OUTD}/logfull.txt" 2>> "${OUTD}/logfull.txt"
|
||||
echo "! unhandled return code, see ${OUTD}/logfull.txt or ${OUTD}/test_report.log for details."
|
||||
@ -561,7 +572,7 @@ function attack_0()
|
||||
search="${hash}:${pass}"
|
||||
fi
|
||||
|
||||
echo "${output}" | grep -F "${search}" >/dev/null 2>/dev/null
|
||||
echo "${output}" | grep -F "${search}" &>/dev/null
|
||||
|
||||
newRet=$?
|
||||
|
||||
@ -670,7 +681,7 @@ function attack_0()
|
||||
search="${hash}:${pass}"
|
||||
fi
|
||||
|
||||
echo "${output}" | grep -F "${search}" >/dev/null 2>/dev/null
|
||||
echo "${output}" | grep -F "${search}" &>/dev/null
|
||||
|
||||
newRet=$?
|
||||
|
||||
@ -844,7 +855,7 @@ function attack_1()
|
||||
search="${hash}:${line_dict1}${line_dict2}"
|
||||
fi
|
||||
|
||||
echo "${output}" | grep -F "${search}" >/dev/null 2>/dev/null
|
||||
echo "${output}" | grep -F "${search}" &>/dev/null
|
||||
|
||||
newRet=$?
|
||||
|
||||
@ -986,7 +997,7 @@ function attack_1()
|
||||
search="${hash}:${line_dict1}${line_dict2}"
|
||||
fi
|
||||
|
||||
echo "${output}" | grep -F "${search}" >/dev/null 2>/dev/null
|
||||
echo "${output}" | grep -F "${search}" &>/dev/null
|
||||
|
||||
newRet=$?
|
||||
|
||||
@ -1150,7 +1161,7 @@ function attack_3()
|
||||
search="${hash}:${line_dict}"
|
||||
fi
|
||||
|
||||
echo "${output}" | grep -F "${search}" >/dev/null 2>/dev/null
|
||||
echo "${output}" | grep -F "${search}" &>/dev/null
|
||||
|
||||
newRet=$?
|
||||
|
||||
@ -1590,7 +1601,7 @@ function attack_3()
|
||||
search="${hash}:${pass}"
|
||||
fi
|
||||
|
||||
echo "${output}" | grep -F "${search}" >/dev/null 2>/dev/null
|
||||
echo "${output}" | grep -F "${search}" &>/dev/null
|
||||
|
||||
newRet=$?
|
||||
|
||||
@ -1813,7 +1824,7 @@ function attack_6()
|
||||
search="${hash}:${line_dict1}${line_dict2}"
|
||||
fi
|
||||
|
||||
echo "${output}" | grep -F "${search}" >/dev/null 2>/dev/null
|
||||
echo "${output}" | grep -F "${search}" &>/dev/null
|
||||
|
||||
newRet=$?
|
||||
|
||||
@ -1968,7 +1979,7 @@ function attack_6()
|
||||
search="${hash}:${line_dict1}${line_dict2}"
|
||||
fi
|
||||
|
||||
echo "${output}" | grep -F "${search}" >/dev/null 2>/dev/null
|
||||
echo "${output}" | grep -F "${search}" &>/dev/null
|
||||
|
||||
newRet=$?
|
||||
|
||||
@ -2243,7 +2254,7 @@ function attack_7()
|
||||
search="${hash}:${line_dict1}${line_dict2}"
|
||||
fi
|
||||
|
||||
echo "${output}" | grep -F "${search}" >/dev/null 2>/dev/null
|
||||
echo "${output}" | grep -F "${search}" &>/dev/null
|
||||
|
||||
newRet=$?
|
||||
|
||||
@ -2435,7 +2446,7 @@ function attack_7()
|
||||
search="${hash}:${line_dict1}${line_dict2}"
|
||||
fi
|
||||
|
||||
echo "${output}" | grep -F "${search}" >/dev/null 2>/dev/null
|
||||
echo "${output}" | grep -F "${search}" &>/dev/null
|
||||
|
||||
newRet=$?
|
||||
|
||||
@ -2959,7 +2970,7 @@ function luks_test()
|
||||
LUKS_MODES="cbc-essiv cbc-plain64 xts-plain64"
|
||||
LUKS_KEYSIZES="128 256 512"
|
||||
|
||||
LUKS_PASSWORD=$(cat "${TDIR}/luks_tests/pw")
|
||||
LUKS_PASSWORD=$(cat "${TDIR}/luks_tests/pw" 2>/dev/null)
|
||||
|
||||
for luks_h in ${LUKS_HASHES}; do
|
||||
for luks_c in ${LUKS_CIPHERS}; do
|
||||
@ -3017,15 +3028,15 @@ function luks_test()
|
||||
luks_pass_part1_len=$((${#LUKS_PASSWORD} / 2))
|
||||
luks_pass_part2_start=$((luks_pass_part1_len + 1))
|
||||
|
||||
echo "${LUKS_PASSWORD}" | cut -c-${luks_pass_part1_len} > "${luks_pass_part_file1}"
|
||||
echo "${LUKS_PASSWORD}" | cut -c${luks_pass_part2_start}- > "${luks_pass_part_file2}"
|
||||
echo "${LUKS_PASSWORD}" | cut -c-${luks_pass_part1_len} > "${luks_pass_part_file1}" 2>/dev/null
|
||||
echo "${LUKS_PASSWORD}" | cut -c${luks_pass_part2_start}- > "${luks_pass_part_file2}" 2>/dev/null
|
||||
|
||||
CMD="./${BIN} ${OPTS} -a 6 -m ${hashType} ${luks_file} ${luks_pass_part_file1} ${luks_pass_part_file2}"
|
||||
;;
|
||||
3)
|
||||
luks_mask_fixed_len=$((${#LUKS_PASSWORD} - 1))
|
||||
|
||||
luks_mask="$(echo "${LUKS_PASSWORD}" | cut -c-${luks_mask_fixed_len})"
|
||||
luks_mask="$(echo "${LUKS_PASSWORD}" | cut -c-${luks_mask_fixed_len} 2>/dev/null)"
|
||||
luks_mask="${luks_mask}${luks_main_mask}"
|
||||
|
||||
CMD="./${BIN} ${OPTS} -a 3 -m ${hashType} ${luks_file} ${luks_mask}"
|
||||
@ -3033,12 +3044,12 @@ function luks_test()
|
||||
6)
|
||||
luks_pass_part1_len=$((${#LUKS_PASSWORD} - 1))
|
||||
|
||||
echo "${LUKS_PASSWORD}" | cut -c-${luks_pass_part1_len} > "${luks_pass_part_file1}"
|
||||
echo "${LUKS_PASSWORD}" | cut -c-${luks_pass_part1_len} > "${luks_pass_part_file1}" 2>/dev/null
|
||||
|
||||
CMD="./${BIN} ${OPTS} -a 6 -m ${hashType} ${luks_file} ${luks_pass_part_file1} ${luks_mask}"
|
||||
;;
|
||||
7)
|
||||
echo "${LUKS_PASSWORD}" | cut -c2- > "${luks_pass_part_file1}"
|
||||
echo "${LUKS_PASSWORD}" | cut -c2- > "${luks_pass_part_file1}" 2>/dev/null
|
||||
|
||||
CMD="./${BIN} ${OPTS} -a 7 -m ${hashType} ${luks_file} ${luks_mask} ${luks_pass_part_file1}"
|
||||
;;
|
||||
@ -3047,10 +3058,14 @@ function luks_test()
|
||||
if [ -n "${CMD}" ]; then
|
||||
echo "> Testing hash type ${hashType} with attack mode ${attackType}, markov ${MARKOV}, single hash, Device-Type ${DEVICE_TYPE}, Kernel-Type ${KERNEL_TYPE}, Vector-Width ${VECTOR}, luksMode ${luks_mode}" >> "${OUTD}/logfull.txt" 2>> "${OUTD}/logfull.txt"
|
||||
|
||||
output=$(${CMD} 2>&1)
|
||||
ret=${?}
|
||||
if [ -f "${luks_first_test_file}" ]; then
|
||||
output=$(${CMD} 2>&1)
|
||||
ret=${?}
|
||||
|
||||
echo "${output}" >> "${OUTD}/logfull.txt"
|
||||
echo "${output}" >> "${OUTD}/logfull.txt"
|
||||
else
|
||||
ret=30
|
||||
fi
|
||||
|
||||
e_ce=0
|
||||
e_rs=0
|
||||
@ -3701,7 +3716,7 @@ if [ "${PACKAGE}" -eq 1 ]; then
|
||||
|
||||
MODE=2
|
||||
|
||||
ls "${PACKAGE_FOLDER}"/*multi* >/dev/null 2>/dev/null
|
||||
ls "${PACKAGE_FOLDER}"/*multi* &>/dev/null
|
||||
|
||||
if [ "${?}" -ne 0 ]; then
|
||||
MODE=0
|
||||
@ -3752,5 +3767,5 @@ if [ "${PACKAGE}" -eq 1 ]; then
|
||||
-e "s/^\(ATTACK\)=0/\1=${ATTACK}/" \
|
||||
"${OUTD}/test.sh"
|
||||
|
||||
${PACKAGE_CMD} "${OUTD}/${OUTD}.7z" "${OUTD}/" >/dev/null 2>/dev/null
|
||||
${PACKAGE_CMD} "${OUTD}/${OUTD}.7z" "${OUTD}/" &>/dev/null
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user