From 7ef84e481520133a2cf394ecd4a3fb70ddb140bc Mon Sep 17 00:00:00 2001 From: Michael Haag <“mike@redcanary.com git config --global user.name “Michael Haag> Date: Tue, 24 Apr 2018 10:17:42 -0400 Subject: [PATCH] Credential_Access/Hooking --- Windows/Credential_Access/Hooking.md | 12 ++++++++++++ Windows/Payloads/AtomicSSLHook.dll | Bin 0 -> 87552 bytes Windows/README.md | 8 ++++---- 3 files changed, 16 insertions(+), 4 deletions(-) create mode 100755 Windows/Credential_Access/Hooking.md create mode 100755 Windows/Payloads/AtomicSSLHook.dll diff --git a/Windows/Credential_Access/Hooking.md b/Windows/Credential_Access/Hooking.md new file mode 100755 index 00000000..10dccc23 --- /dev/null +++ b/Windows/Credential_Access/Hooking.md @@ -0,0 +1,12 @@ +## Hooking + +MITRE ATT&CK Technique: [T1179](https://attack.mitre.org/wiki/Technique/T1179) + +### Sample Windows DLL Injection into PowerShell + + mavinject $pid /INJECTRUNNING C:\Atomic\AtomicSSLHook.dll + +## Test Script + +[AtomicSSLHook.dll](https://github.com/redcanaryco/atomic-red-team/blob/master/Windows/Payloads/AtomicSSLHook.dll) + diff --git a/Windows/Payloads/AtomicSSLHook.dll b/Windows/Payloads/AtomicSSLHook.dll new file mode 100755 index 0000000000000000000000000000000000000000..3f721182d7ee69bb96db7586c27085abd06a0e9a GIT binary patch literal 87552 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 dHL}ztPeo&{U6Q1zX7JgLOlQg literal 0 HcmV?d00001 diff --git a/Windows/README.md b/Windows/README.md index 6bea794c..ed961f20 100644 --- a/Windows/README.md +++ b/Windows/README.md @@ -9,23 +9,23 @@ | Spearphishing Attachment | Execution through API | [Authentication Package](Persistence/Authentication_Package.md) | Application Shimming | CMSTP | Credentials in Registry | Network Service Scanning | [Pass the Hash](Lateral_Movement/Pass_the_Hash.md) | Data from Information Repositories | Exfiltration Over Alternative Protocol | Custom Cryptographic Protocol | | Spearphishing Link | Execution through Module Load | [BITS Jobs](Execution/Bitsadmin.md) | [Bypass User Account Control](Privilege_Escalation/Bypass_User_Account_Control.md) | Code Signing | Exploitation for Credential Access | Network Share Discovery | Pass the Ticket | Data from Local System | Exfiltration Over Command and Control Channel |Data Encoding | | | Spearphishing via Service | Exploitation for Client Execution | Bootkit |DLL Search Order Hijacking | Component Firmware | Forced Authentication | Password Policy Discovery | [Remote Desktop Protocol](Lateral_Movement/Remote_Desktop_Protocol.md) | Data from Network Shared Drive | Exfiltration Over Other Network Medium | Data Obfuscation | -| Supply Chain Compromise | Graphical User Interface | [Browser Extensions](Persistence/Browser_Extensions.md) | Exploitation for Privilege Escalation | [Component Object Model Hijacking](Persistence/Component_Object_Model_Hijacking.md) | Hooking | Peripheral Device Discovery | Remote File Copy | Data from Removable Media | Exfiltration Over Physical Medium | Domain Fronting | +| Supply Chain Compromise | Graphical User Interface | [Browser Extensions](Persistence/Browser_Extensions.md) | Exploitation for Privilege Escalation | [Component Object Model Hijacking](Persistence/Component_Object_Model_Hijacking.md) | [Hooking](Credential_Access/Hooking.md) | Peripheral Device Discovery | Remote File Copy | Data from Removable Media | Exfiltration Over Physical Medium | Domain Fronting | |Trusted Relationship | [InstallUtil](Execution/InstallUtil.md) | [Change Default File Association](Persistence/Change_Default_File_Association.md) | Extra Window Memory Injection | Control Panel Items | [Input Capture](Collection/Input_Capture.md) | Permission Groups Discovery | Remote Services | Email Collection | Scheduled Transfer | Fallback Channels | | Valid Accounts | LSASS Driver | Component Firmware | File System Permissions Weakness | DCShadow | Kerberoasting | Process Discovery | Replication Through Removable Media | [Input Capture](Collection/Input_Capture.md) | | Multi-Stage Channels | -| | [Mshta](Execution/Mshta.md) | [Component Object Model Hijacking](Persistence/Component_Object_Model_Hijacking.md) | Hooking | DLL Search Order Hijacking | LLMNR/NBT-NS Poisoning | [Query Registry](Discovery/Query_Registry.md) | Shared Webroot | Man in the Browser | | Multi-hop Proxy | +| | [Mshta](Execution/Mshta.md) | [Component Object Model Hijacking](Persistence/Component_Object_Model_Hijacking.md) | [Hooking](Credential_Access/Hooking.md) | DLL Search Order Hijacking | LLMNR/NBT-NS Poisoning | [Query Registry](Discovery/Query_Registry.md) | Shared Webroot | Man in the Browser | | Multi-hop Proxy | | |[PowerShell](Execution/PowerShell.md) | [Create Account](Credential_Access/Create_Account.md) | Image File Execution Options Injection | DLL Side-Loading | Network Sniffing | [Remote System Discovery](Discovery/Remote_System_Discovery.md) | Taint Shared Content | Screen Capture | | Multiband Communication | | |[Regsvcs/Regasm](Execution/RegsvcsRegasm.md) | DLL Search Order Hijacking | [New Service](Persistence/New_Service.md) | [Deobfuscate/Decode Files or Information](Defense_Evasion/Deobfuscate_Decode_Files_Or_Information.md) | Password Filter DLL | [Security Software Discovery](Discovery/Security_Software_Discovery.md) | Third-party Software | Video Capture | | Multilayer Encryption | | |[Regsvr32](Execution/Regsvr32.md) | External Remote Services | Path Interception | [Disabling Security Tools](Defense_Evasion/Disabling_Security_Tools.md) | [Private Keys](Credential_Access/Private_Keys.md) | [System Information Discovery](Discovery/System_Information_Discovery.md) | [Windows Admin Shares](Lateral_Movement/Windows_Admin_Shares.md) | | | Remote Access Tools | | |[Rundll32](Execution/rundll32.md) | File System Permissions Weakness | Port Monitors | Exploitation for Defense Evasion | Replication Through Removable Media | [System Network Configuration Discovery](Discovery/System_Network_Configuration_Discovery.md) | [Windows Remote Management](Lateral_Movement/Windows_Remote_Management.md) | | | Remote File Copy | | | |[Scheduled Task](Persistence/Scheduled_Task.md) | [Hidden Files and Directories](Defense_Evasion/Hidden_Files_and_Directories.md) | [Process Injection](Privilege_Escalation/Process_Injection.md) | Extra Window Memory Injection | Two-Factor Authentication Interception | System Network Connections Discovery | | | | Standard Application Layer Protocol | -| | Scripting | Hooking | SID-History Injection | [File Deletion](Defense_Evasion/File_Deletion.md) | | [System Owner/User Discovery](Discovery/System_Owner-User_Discovery.md) | | | | Standard Cryptographic Protocol| +| | Scripting | [Hooking](Credential_Access/Hooking.md) | SID-History Injection | [File Deletion](Defense_Evasion/File_Deletion.md) | | [System Owner/User Discovery](Discovery/System_Owner-User_Discovery.md) | | | | Standard Cryptographic Protocol| | |Service Execution | Hypervisor | [Scheduled Task](Persistence/Scheduled_Task.md) | File System Logical Offsets | | [System Service Discovery](Discovery/System_Service_Discovery.md) | | | | Standard Non-Application Layer Protocol| | |Signed Binary Proxy Execution | Image File Execution Options Injection | Service Registry Permissions Weakness | [Hidden Files and Directories](Defense_Evasion/Hidden_Files_and_Directories.md) | | [System Time Discovery](Discovery/System_Time_Discovery.md) | | | | Uncommonly Used Port| | | Signed Script Proxy Execution | LSASS Driver | Valid Accounts | Image File Execution Options Injection | | | | | | Web Service | | | Third-party Software | [Logon Scripts](Persistence/Logon_Scripts.md) | Web Shell | Indicator Blocking | | | | | | | | | [Trusted Developer Utilities](Execution/Trusted_Developer_Utilities.md) | Modify Existing Service | | Indicator Removal from Tools | | | | | | | | | User Execution | [Netsh Helper DLL](Persistence/Netsh_Helper_DLL.md) | | [Indicator Removal on Host](Defense_Evasion/Indicator_Removal_on_Host.md) | | | | | | | -| | [Windows Management Instrumentation](Execution/Windows_Management_Instrumentation.md) | [New Service](Persistence/New_Service.md) | |Indirect Command Execution | | | | | | | +| | [Windows Management Instrumentation](Execution/Windows_Management_Instrumentation.md) | [New Service](Persistence/New_Service.md) | |Indirect Command Execution | | | | | | | | | [Windows Remote Management](Lateral_Movement/Windows_Remote_Management.md) | [Office Application Startup](Persistence/Office_Application_Startup.md) | |Install Root Certificate | | | | | | | | | | Path Interception | |[InstallUtil](Execution/InstallUtil.md) | | | | | | | | | | Port Monitors | |Masquerading | | | | | | |