Movatterモバイル変換


[0]ホーム

URL:


  1. Home
  2. Techniques
  3. Enterprise
  4. Process Injection
  5. ListPlanting

Process Injection: ListPlanting

Adversaries may abuse list-view controls to inject malicious code into hijacked processes in order to evade process-based defenses as well as possibly elevate privileges. ListPlanting is a method of executing arbitrary code in the address space of a separate live process.[1] Code executed via ListPlanting may also evade detection from security products since the execution is masked under a legitimate process.

List-view controls are user interface windows used to display collections of items.[2] Information about an application's list-view settings are stored within the process' memory in aSysListView32 control.

ListPlanting (a form of message-passing "shatter attack") may be performed by copying code into the virtual address space of a process that uses a list-view control then using that code as a custom callback for sorting the listed items.[3] Adversaries must first copy code into the target process’ memory space, which can be performed various ways including by directly obtaining a handle to theSysListView32 child of the victim process window (via Windows API calls such asFindWindow and/orEnumWindows) or otherProcess Injection methods.

Some variations of ListPlanting may allocate memory in the target process but then use window messages to copy the payload, to avoid the use of the highly monitoredWriteProcessMemory function. For example, an adversary can use thePostMessage and/orSendMessage API functions to sendLVM_SETITEMPOSITION andLVM_GETITEMPOSITION messages, effectively copying a payload 2 bytes at a time to the allocated memory.[4]

Finally, the payload is triggered by sending theLVM_SORTITEMS message to theSysListView32 child of the process window, with the payload within the newly allocated buffer passed and executed as theListView_SortItems callback.

ID: T1055.015
Sub-technique of: T1055
Platforms: Windows
Contributors: ESET
Version: 1.2
Created: 22 November 2021
Last Modified: 24 October 2025

Procedure Examples

IDNameDescription
S0260 InvisiMole

InvisiMole has used ListPlanting to inject code into a trusted process.[4]

Mitigations

IDMitigationDescription
M1040 Behavior Prevention on Endpoint

Some endpoint security solutions can be configured to block some types of process injection based on common sequences of behavior that occur during the injection process.

Detection Strategy

IDNameAnalytic IDAnalytic Description
DET0331Detection Strategy for ListPlanting Injection on WindowsAN0941

Detects the use of message-based injection by monitoring for sequences involving FindWindow (EnumWindows or EnumChildWindows), VirtualAllocEx or related API calls, combined with suspicious PostMessage/SendMessage (e.g., LVM_SETITEMPOSITION) use to SysListView32 controls, followed by LVM_SORTITEMS invocation instead of WriteProcessMemory.

References

×

[8]ページ先頭

©2009-2026 Movatter.jp