Files
Desiree Beck bd31003a22 Staging (#151)
* Fixing links

* Code samples (#149)

* Update obfuscated-files-or-information.md

Added code sample with some proposed formatting incl. annotations explaining broad behavior patterns

* Update obfuscated-files-or-information.md

Added brief clarification to note

* Update obfuscated-files-or-information.md

Made requested changes to format

* Update system-information-discovery.md

Added code snippet from PoisonIvy RAT

* Update debugger-detection.md

Added code with example of PEB access

* Update system-information-discovery.md

Added new method based on code snippet

* Update registry.md

Added snippet for registry key query

* Update generate-pseudorandom-sequence.md

Added example of Mersenne Twister algorithm

* Update keylogging.md

Add Dark Comet keylogging code sample

* Update dns-communication.md

Added code sample from darkcomet

* Update socket-communication.md

Added DarkComet code snippet

* Update delete-file.md

Provided DarkComet sample

* Update file-and-directory-discovery.md

Added DarkComet snippet

* Update allocate-memory.md

Added DarkComet sample

* Update modulo.md

Added Hupigon snippet

* Update get-file-attributes.md

Added Hupigon sample

* Update application-window-discovery.md

Added Hupigon snippet

* Update create-process.md

Added Hupigon snippet.

* Update conditional-execution.md

Added Hupigon snippet

* Update create-thread.md

Added Hupigon snippet

* Update resume-thread.md

Added Hupigon snippet

* Update command-and-scripting-interpreter.md

Added SmokeLoader sample

* Update change-memory-protection.md

Added SmokeLoader snippet

* Update console.md

Added snippet from SmokeLoader

* Update dynamic-analysis-evasion.md

Added Industroyer sample

* Update interprocess-communication.md

Added CobaltStrike sample

* Update read-file.md

Added Cobalt Strike snippet

* Update writes-file.md

Added cobalt strike snippet

* Update noncryptographic-hash.md

Added emotet snippet

* Update clipboard-modification.md

Added emotet snippet

* Update check-mutex.md

Added emotet sampler

* Update check-mutex.md

Fixed typo

* Update create-mutex.md

Added Emotet snippet

* Update allocate-thread-local-storage.md

Added emotet snippet

* Update registry-run-keys-startup-folder.md

Added emotet snippet

* Update wininet.md

Added EnvyScout snippet

* Update http-communication.md

Added EnvyScout snippet

* Update enumerate-threads.md

Added Envyscout snippet

* Update set-thread-local-storage-value.md

Added Envyscout sample

* Update create-directory.md

Added explosive snippet

* Update delete-directory.md

Added explosive code snippet (note: the malware is called "explosive")

* Update set-file-attributes.md

Added explosive sample

* Update terminate-process.md

Added explosive snippet

* Update terminate-thread.md

Added explosive sample

* Update move-file.md

Added Finfisher snippet

* Update screen-capture.md

Added ECCENTRICBANDWAGON snippet

* Fix links (#150)

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* update mod date

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* Update code-discovery.md

* Update taskbar-discovery.md

* Update conditional-execution.md

* Update memory-dump-evasion.md

* Update execution-dependency.md

* Update compromise-data-integrity.md

* Update dns-communication.md

* Update http-communication.md

* Update interprocess-communication.md

* Update socket-communication.md

* Update wininet.md

* Update generate-pseudorandom-sequence.md

* Update modulo.md

* Update noncryptographic-hash.md

* Update create-directory.md

* Update delete-directory.md

* Update delete-file.md

* Update get-file-attributes.md

* Update move-file.md

* Update read-file.md

* Update terminate-thread.md

* Update set-file-attributes.md

* Update writes-file.md

* Update allocate-memory.md

* Update change-memory-protection.md

* Update console.md

* Update registry.md

* Update allocate-thread-local-storage.md

* Update check-mutex.md

* Update terminate-process.md

* Update create-mutex.md

* Update create-process.md

* Update set-thread-local-storage-value.md

* Update resume-thread.md

* Update enumerate-threads.md

* Update create-thread.md

* update for 3.1 release

* update for 3.1 release

* update for 3.1 release

---------

Co-authored-by: ryan <ryanxu@wustl.edu>
Co-authored-by: brightmt <50853930+brightmt@users.noreply.github.com>
2024-05-01 16:09:33 -04:00

5.2 KiB

ID E1510
Objective(s) Impact
Related ATT&CK Techniques Clipboard Data (T1115), Data Manipulation: Transmitted Data Manipulation (T1641.001)
Impact Type Integrity
Version 3.2
Created 4 December 2020
Last Modified 30 April 2024

Clipboard Modification

ATT&CK defines Clipboard Modification as a Mobile technique (Android platform). MBC extends it to the Windows platform.

After E1510 was defined, T1510 was replaced by T1641.001, and Clipboard Data (T1115) was updated to include content modification.

Use in Malware

Name Date Method Description
Clipminer 2011 -- Clipminer monitors the clipboard for cryptocurrency addresses and replaces them with ones controlled by the adversary. [1]
Dark Comet 2008 -- The malware writes clipboard data. [2]
Emotet 2018 -- Emotet writes clipboard data. [2]
Hupigon 2013 -- Hupigon replaces clipboard data. [2]
Rombertik 2015 -- The malware replaces clipboard data. [2]

Detection

Tool: capa Mapping APIs
write clipboard data Clipboard Modification (E1510) user32.EmptyClipboard, System.Windows.Forms.Clipboard::Clear, user32.SetClipboardData, System.Windows.Forms.Clipboard::SetAudio, System.Windows.Forms.Clipboard::SetData, System.Windows.Forms.Clipboard::SetDataObject, System.Windows.Forms.Clipboard::SetFileDropList, System.Windows.Forms.Clipboard::SetImage, System.Windows.Forms.Clipboard::SetText
Tool: CAPE Mapping APIs
set_clipboard_data Clipboard Modification (E1510) SetClipboardData

E1510 Snippet

Impact::Clipboard Modification SHA256: 0b8e662e7e595ef56396a298c367b74721d66591d856e8a8241fcdd60d08373c Location: 0x402C0F
push    0x0     ; associate clipboard with current task
call    dword ptr [->USER32.DLL::OpenClipboard] ; call function to open clipboard
test    eax, eax        ; test if the clipboard open returned 0
jz      LAB_00402c70    ; if the clipboard open operation returned 0 (failed), jump to another instruction and execute from that point
call    dword ptr [->USER32.DLL::EmptyClipboard]        ; call function to empty the clipboard
lea     eax, [esi * 0x2 + 0x2]
push    eax     ; Number of bytes of heap memory to allocate
push    0x2042  ; Memory allocation attributes.  Notably, 0x2000 is deprecated and only intended for use with 16-bit Windows and will be ignored, so the actual argument is 0x0042, which allocates moveable memory and initializes the contents to zero
call    dword ptr [->KERNEL32.DLL::GlobalAlloc] ; Allocates heap memory
mov     esi, eax        ; store pointer to allocated memory in esi
test    esi, esi        ; test to see if NULL (0) returned, indicating an error with allocation
jz      LAB_00402c6a    ; if error occurred, jump to memory address and begin execution there
push    esi     ; pass newly-allocated memory to lock function
call    dword ptr [->KERNEL32.DLL::GlobalLock]  ; lock the allocated heap memory
test    eax, eax        ; test to see if lock returned NULL (0), indicating an error occurred
jz      LAB_00402c6a    ; if an error occurred, jump to memory address and begin execution there
push    dword ptr [esp + local_26c]     ; number of characters that can be stored in the provided buffer
push    eax     ; buffer that will hold converted string
push    -0x1    ; size of the string to process.  -1 indicates that the input ends with a null-terminating character, so to process up through that point
push    edi     ; pointer to string to convert
push    0x0     ; conversion type flags (must be 0 for UTF-8)
push    0xfde9  ; code to use for conversion.  In this case, 65001 indicates UTF-8
call    dword ptr [->KERNEL32.DLL::MultiByteToWideChar] ; call function to map string from UTF-8 to UTF-16
push    esi     ; pointer to heap memory to unlock
call    dword ptr [->KERNEL32.DLL::GlobalUnlock]        ; call function to unlock heap memory
push    esi     ; handle to heap memory that will be written to clipboard
push    0xd     ; type of data to write (0xd indicates unicode)
call    dword ptr [->USER32.DLL::SetClipboardData]      ; call function to write data to clipboard
call    dword ptr [->USER32.DLL::CloseClipboard]        ; close the clipboard

References

[1] https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/clipminer-bitcoin-mining-hijacking

[2] capa v4.0, analyzed at MITRE on 10/12/2022