Wietze

Wietze

@wietzebeukema.nl

Threat Detection & Response. Interested in cyber security, tech and politics. Views are my own, unless retweeted.

189 followers60 following44 posts

Pinned

Can LNK files ever be trusted? ⚡ My latest blog post demonstrates several new LNK abuse methods, allowing you to fully spoof the target shown in Explorer. It also introduces a tool to create your own LNKs, and a tool to detected spoofed ones yourself. 🐬 www.wietzebeukema.nl/blog/trust-m...

🔥 Recent additions to lolbas-project.github.io: • applaunch.exe for applocker bypass • mscopilot/setupupc/dotnet-trace.exe for proxy execution • scp/ssh.exe for loading arbitrary DLLs • msoxmled.exe for downloading • fsutil.exe for preventing Windows Defender updates

🆕 Recent additions to LOLBAS-Project.github.io: • sigverif/odbcad32.exe for UAC bypass via GUI • IntelliTrace/dxcap/logger.exe for proxy execution • cmstp.exe for loading arbitrary DLLs • cipher.exe for impairing defences ⭐ Nearly 8,500 GitHub stars - thank you all!

🔥 macOS cmd-obfuscation with ArgFuscator New: over 60 os-native macOS binaries' command lines can now be obfuscated using #ArgFuscator, bypassing command-line based detections, such as this EDR trying to prevent credential dumping. 👉 Check it out: argfuscator.net

Yet another LNK spoofing flaw: executes any DLL, including remote via WebDAV. Even worse, without Feb 2026 updates, MotW will be ignored. Next to updating, your best defence is to look for RunDLL32+Shell32+Control_RunDLL with non-standard targets. See how this works on github.com/wietze/lnk-i...

#HuntingTipOfTheDay: you know how to spot/decode Base64 or XOR in PowerShell… but what about SecureString? This AES-based encryption is native to PowerShell; attackers have been seen to use this for PowerShell obfuscation. 🔍 Hunt for known SecureString decoding commands

#HuntingTipOfTheDay: Stuck in vi/vim? Open a reverse shell to exit remotely 🙃 Not just a joke - you can make vi/vim run arbitrary commands, not all methods to do so are well detected. 🔍 Hunt for child processes of vi(m), especially those that are rare in your environment.

#HuntingTipOfTheDay: there are numerous open-source projects listing cyber threats. Some of these have directly ingestible indicators, which can be very helpful when threat hunting. How about: 🔵 lots-project.com + LOLBINs 🟠 hijacklibs.net + DLL write events 🟢 lolrmm.io + DNS requests

#HuntingTipOfTheDay: AppleScript via osascript is still a popular way for infostealers to get credentials/escalate access. Although some (poorly coded) updaters use this ""legitimately"", hunting for osascript referencing password dialogs might surface behaviour of interest.

#HuntingTipOfTheDay: USB worms are still a thing - often the initial infection happens when a user clicks a malicious shortcut on a USB device. See if you can correlate executions with .LNK files on remote drives to find possible badness.

#HuntingTipOfTheDay: Florian is right. 🌩️ Cloud creds often linger in Environment Variables, especially on servers/dev machines 🟠 One compromised endpoint could thus lead to a full cloud breach 🔍 Hunt for exposed tokens - if you can see it, so could an attacker (well, kinda)

#HuntingTipOfTheDay: TCC on macOS can be bypassed by triggering Electron apps' Node.js interface to run arbitrary commands ⚡ By using a Launch Daemon, you can leverage all the app's TCC permissions 🔍 Hunt for processes with ELECTRON_RUN_AS_NODE env var and unusual command lines

#HuntingTipOfTheDay: folders with trailing spaces can be created on Windows, and they cause trouble: 🔴 Hard to delete/rename 🟠 Can hide (malicious) content when the same folder without trailing space exists 🟡 May enable UAC bypass (see next msg) 🔍 Hunt for paths with trailing spaces - highly sus

UAC bypass can be achieved by eg moving the legit perfmon.exe and a malicious atl.dll to "c:\windows \system32". Windows is tricked into thinking this is a safe/trusted directory, meaning perfmon will launch with high integrity and your DLL will be loaded. Several other executables are vulnerable!

#HuntingTipOfTheDay: you’ll know that in Linux, files with a leading dot are hidden by default. Attackers may use this to hide payloads or frustrate forensics. Although sometimes used legitimately, you may find unexpected entries when looking for EXECUTIONS of hidden files.

#HuntingTipOfTheDay: a personal favourite, command-line obfuscation. Substituting or inserting special Unicode characters might allow attackers to bypass string-based detections. Look for command lines with unusual Unicode characters. Checkout ArgFuscator.net for more fun!

#HuntingTipOfTheDay: macOS has a built-in SSH mechanism that is disabled by default. Would you detect it if someone enables it and logs in remotely? Look for remote login events, and investigate the associated session.

#HuntingTipOfTheDay: Services can provide persistence. Looking for changes to their commands is common, but the lesser known Environment setting is often overlooked. It could result in stealthy DLL hijacking. Inspect any paths referenced for suspicious files.

#HuntingTipOfTheDay: explorer.exe /root,"c:/your/executable.exe" will spawn your exe from the main explorer.exe, not a new one. This breaks normal process chains. Hunt for explorer.exe with "/root", as well as explorer spawning unusual children (e.g. rundll32, mshta, powershell).

#HuntingTipOfTheDay: a common way to execute malicious code on Linux is to download a script via curl/wget and pipe the result into a shell process like bash. Hunt for curl/wget executions followed by an interactive shell within seconds, both having the same parent process.

#HuntingTipOfTheDay: You have probably heard of .bash_profile and .zshrc, but are you familiar with PowerShell's version of it? Attackers might use this for persistence; monitor modifications of profiles by unexpected processes, and analyse existing files for anomalies.

#ThreatHuntingTipOfTheDay: Malicious DMGs/PKGs are currently the most popular way for macOS infostealers to get foothold. Use macOS’s kMDItemWhereFroms extended attribute to see origins of downloaded DMG/PKGs; investigate ones that are rare across your IT estate.

A brand new month, time to bring back #HuntingTipOfTheDay as originally started by John Lambert! I’ll be posting threat hunting ideas every weekday this month - covering Windows, Linux and macOS. Find the first one below 👇

#ThreatHuntingTipOftheDay: WMI Event Consumers trigger payloads on certain OS events. Besides running commands, they can run (fileless) VBScript/Jscript within WmiPrvSE.exe. Look for activity by/spawned off this process, and query WMI for __EventConsumers (or use EDR telemetry).

Wietze reposted

HijackLibs.net details hundreds of publicly disclosed DLL Hijacking opportunities. With over 700 stars on GitHub and a growing list, @wietzebeukema.nl does an amazing job maintaining it. Despite this contributing can be time consuming. That's why I've created HijackLibs Helper!👇

MITRE ATT&CK v17 is out! It contains an update I have campaigned for since 2022: DLL Hijacking is now a single sub-technique, merging Search Order Hijacking & Sideloading, plus supporting related techniques. Huge thanks & congrats to the @attack.mitre.org team on this release 🎉

🚀 Today I'm launching ArgFuscator: an open-source platform documenting command-line obfuscation tricks AND letting you generate your own 🔥 68 commonly used executables supported out of the box - use right away, make tweaks, or create your own config 👉 Now available at argfuscator.net

🛡️ Detection opportunities: • Creation of folders with trailing spaces (esp. C:\Windows \) or named "System32" • (Renamed) printui.exe outside C:\Windows\System32 • (Unsigned) printui.dll outside same folder More on UAC bypass via DLL Hijacking: www.wietzebeukema.nl/blog/hijacki...

wietzebeukema.nlHijacking DLLs in WindowsDLL Hijacking is a popular technique for executing malicious payloads. This post lists nearly 300 executables vulnerable to relative path DLL Hijacking on Windows 10 (1909), and shows how with a few l...

You are up to date.