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

{
    "id": 170,
    "key": "process-herpaderping",
    "unprotect_id": "U1231",
    "name": "Process Herpaderping",
    "description": "Process Herpaderping is a method of obscuring the intentions of a process by modifying the content on a disk after the image has been mapped. This results in curious behavior by security products and the OS itself.\r\n\r\nTo abuse this convention, we first write a binary to a target file on a disk. Then, we map an image of the target file and provide it to the OS to use for process creation. The OS kindly maps the original binary for us. Using the existing file handle, and before creating the initial thread, we modify the target file content to obscure or fake the file backing the image. Sometime later, we create the initial thread to begin the execution of the original binary. Finally, we will close the target file handle. Let's walk through this step-by-step:\r\n\r\n1. Write target binary to disk, keeping the handle open. This is what will execute in memory.\r\n2. Map the file as an image section `NtCreateSection, SEC_IMAGE`.\r\n3. Create the process object using the section handle `NtCreateProcessEx`.\r\n4. Using the same target file handle, obscure the file on disk.\r\n5. Create the initial thread in the process `NtCreateThreadEx`.\r\n    * At this point, the process creation callback in the kernel will fire. The contents on the disk do not match what was mapped. Inspection of the file at this point will result in incorrect attribution.\r\n6. Close the handle. `IRP_MJ_CLEANUP` will occur here.\r\n    * Since we've hidden the contents of what is executing, inspection at this point will result in incorrect attribution.",
    "resources": "https://github.com/jxy-s/herpaderping",
    "creation_date": "2021-06-16T11:45:24Z",
    "tags": "",
    "modification_date": "2023-10-04T10:42:52.190000Z",
    "category": [
        4
    ],
    "rules": [],
    "attachments": [],
    "featured_api": [
        2,
        13,
        357,
        381,
        445,
        449,
        459
    ],
    "contributors": []
}