[LINPEAS] Add privilege escalation check: Metasploit Wrap-Up 11/28/2025 #524
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.
🔧 Automated Privilege Escalation Check Addition
🤔 Privilege Escalation Reasoning
The blog describes a local privilege escalation path on IGEL OS (a Linux-based thin client platform) that abuses misconfigured SUID-root binaries (
setupanddate) to gain root via systemd/NetworkManager service manipulation.Key aspects that make this suitable for linpeas:
setup/datewith SUID and exposes network/system config editing capabilities through them.ExecStart(or hooks) points to an attacker-controlled executable, then trigger a service restart using the same SUID binary, leading to code execution as root. This is a recognizable, generalizable privesc pattern (SUID-assisted service config tampering → service restart → root code exec).Other items in the blog (FortiWeb RCE, Flowise RCE, SMB→MSSQL relay, Notepad++ DLL persistence, RISC-V chmod payloads) are remote exploitation or persistence/lateral-movement techniques rather than local privesc enumeration targets for linpeas/winpeas, so they are out of scope for this decision. The IGEL persistence (registry startup) and dump modules are post-exploitation behaviors that are highly IGEL-specific and less useful as generic linpeas checks, but the underlying SUID-misuse privesc pattern is directly relevant.
🤖 Implementation Details
PEASS linpeas agent completed successfully with 110 items. Agent Comment: Summary of updates
linPEAS/builder/linpeas_parts/8_interesting_perms_files/16_IGEL_OS_SUID.sh): Adds detection for the Metasploit-documented IGEL OS privilege escalation chain that abuses the SUIDsetup/datebinaries to rewrite NetworkManager or systemd configs and restart services as root. It first fingerprints IGEL OS via/etc/os-release,/etc/issue, and IGEL-specific directories, then lists any SUID-rootsetup/datebinaries on standard appliance paths. When triggered (and outside SUPERFAST mode) it highlights writable NetworkManager profiles and systemd unit files (bounded depth/line counts) so operators can immediately see if the service-hijack prerequisite is satisfied. The output includes exploitation guidance referencing thelinux/local/igel_network_priv_escmodule.linPEAS/README.md): Added a short note in the “Basic Information” section mentioning that linPEAS now covers IGEL OS SUIDsetup/datemisconfigurations, keeping the public documentation aligned with the new detection.Tests
bash -n linPEAS/builder/linpeas_parts/8_interesting_perms_files/16_IGEL_OS_SUID.shThese changes ensure linPEAS alerts operators whenever an IGEL appliance exposes the newly publicized SUID/service-restart abuse path and makes the enhancement discoverable through the README.
🏗️ Builder Agent Response
LinPEAS build agent completed successfully with 59 items. Agent Comment: ✅ LinPEAS build fixed and verified
/tmp/hacktricks_update_kandqghs/repo/linPEASand ran the official build commandpython3 -m builder.linpeas_builder --all --output /tmp/linpeas_fat.sh.builder/linpeas_parts/8_interesting_perms_files/16_IGEL_OS_SUID.sh:# ID:didn’t match the filename once the numeric prefix was stripped.# Generated Global Variablesmetadata, which the builder now enforces.IP_IGEL_OS_SUID, and documented every module-scoped variable (igel_markers,writable_nm, etc.) inside# Generated Global Variables, keeping the functions/global-variable bookkeeping consistent with linPEAS conventions./tmp/linpeas_fat.shwith no remaining errors.You’re all set—the LinPEAS build pipeline is green again.
This PR was automatically created by the HackTricks Feed Bot. Please review the implementation carefully and test thoroughly before merging.