GET /api/techniques/118/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 118,
    "key": "pe-injection",
    "unprotect_id": "U1216, E1055.002",
    "name": "PE Injection",
    "description": "Instead of passing the address of the LoadLibrary, malware can copy its malicious code into an existing open process and force it to execute (either via a small shellcode, or by calling `CreateRemoteThread`).\r\n\r\nOne advantage of PE injection over the `LoadLibrary` technique is that the malware does not have to drop a malicious DLL on the disk. The malware allocates memory in a host process (e.g. `VirtualAllocEx`), and instead of writing a “DLL path” it writes its malicious code by calling `WriteProcessMemory`. However, the obstacle with this approach is the change of the base address of the copied image.\r\n\r\nWhen a malware injects its PE into another process it will have a new base address which is unpredictable, requiring it to dynamically recompute the fixed addresses of its PE. To overcome this, the malware needs to find its relocation table address in the host process and resolve the absolute addresses of the copied image by looping through its relocation descriptors.",
    "resources": "http://blog.sevagas.com/?PE-injection-explained",
    "creation_date": "2019-03-23T17:30:20Z",
    "tags": "",
    "modification_date": "2023-10-04T10:42:59.673000Z",
    "category": [
        4
    ],
    "rules": [],
    "attachments": [],
    "featured_api": [
        1,
        3,
        4,
        6,
        23,
        24
    ],
    "contributors": []
}