Pools Flashcards

1
Q

Kernel Pool

A

A range of memory that can be divided up into smaller blocks for storing any type of data that a kernel-mode component (the NT module, third-party device driver, etc.) requests. Similar to the heap, each allocated block has a header (_POOL_HEADER) that contains accounting and debugging information. You can use this extra data to attribute memory blocks back to the driver that owns them–and to an extent make inferences about the type of structures or objects contained within the allocation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

PoolType

A

Specifies the type of system memory to use for the allocation. NonPagedPool(0) and PagedPool(1) are the enumeration values for nonpageable and pageable memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

ObCreateObject

A

A function in the kernel that is the central point from which all executive objects are created.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Tag (Pool Tag argument)

A

specifies a four-byte value, typically composed of ASCII characters that should uniquely identify the code path taken to produce the allocation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

ExAllocatePoolWithTag

A

Argument is called with the appropriate size, memory type, and tag.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Pool Tag Scanning

A

Refers to finding allocations based on the four-byte tag. When you perform a scan, the tag is just your starting point.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Custom Constraints on Pool Tag Scanning

A

Volatility allows you to add custom constraints per object type. For example, if a process’ creation timestamp should never be zero, you can configure the scanner based on that knowledge.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

CM25 & CM31 tag

A

The CM in these tag names stands for configuration manager, which is the kernel component that maintains the Windows Registry.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

PoolTrackTable

A

Member of _KDDEBUGGER_DATA64 data block that points to an array of _POOL_TRACKER_TABLE structures–one for each unique pool tag in use.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly