Fix su bruteforce false positives on BusyBox systems (bbsuid)
#537
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi team,

I encountered a false positive issue with the su bruteforce function (su_try_pwd) while testing on a machine running Alpine Linux with BusyBox's su implementation (bbsuid).
The Issue:
The current logic checks if [ "$trysu" ]; then. Since trysu captures stdout, and BusyBox's su outputs prompts (e.g., "Password:") and error messages to stdout instead of stderr when running non-interactively, the variable is never empty. This causes LinPEAS to report every password as valid.
Reproduction:
I verified this behavior on the target machine:
The Fix:
I verified on the target system that despite the stdout behavior, BusyBox correctly returns a non-zero exit code on failure and 0 on success.
I have updated linPEAS/builder/linpeas_parts/functions/su_try_pwd.sh to rely on the exit code ($?) instead of the stdout content:
I have tested this change locally on the affected machine, and it successfully eliminated the false positives while correctly identifying the valid password.
Thanks for the great tool!