e816172fe4d4ab5c0e0b22c3c6dc7b022a7987c87f47a0cc27843c1f93527179unclassified-dotnet: e816172f — TimeToRun C# snippet compiler, benign developer tool
Executive Summary
PE32 .NET Framework 4.0 GUI executable "TimeToRun" v1.3.1.0 by TTR. A C# snippet compiler/executor using CSharpCodeProvider + AppDomain.CreateInstanceAndUnwrap. No packing, no obfuscation, no network APIs, no persistence. Capa T1027.004/T1620 flags are false positives from legitimate compile-and-run behavior. Likely benign developer tool uploaded to MalwareBazaar in error. Static-only.
What It Is
- SHA-256:
e816172fe4d4ab5c0e0b22c3c6dc7b022a7987c87f47a0cc27843c1f93527179 - Type: PE32 .NET Framework 4.0 GUI, 3 sections, 570 KB ^[file.txt]
- Compiled: 2024-07-22 02:22:33 UTC ^[rabin2-info.txt]
- Version: 1.3.1.0, Company "TTR", InternalName "KTubL.exe" ^[exiftool.json]
- Imports:
mscoree.dll!_CorExeMainonly ^[r2]
How It Works
User enters C# into InputTextBox. CompileButton_Click -> TTRCompiler.Compile() -> CSharpCodeProvider.CompileAssemblyFromSource() builds a temp assembly ^[strings.txt:60] ^[r2:sym.TTR.Code.TTRCompiler.Compile]. RunButton_Click -> AssemblyLoader.LoadAssembly() -> AppDomain.CreateInstanceAndUnwrap() executes in-memory ^[strings.txt:284] ^[r2:method.TTR.Loader.AssemblyLoader.LoadAssembly]. Results to OutputTextBox ^[strings.txt:434]. Bundles JCDCustomStyle skinning library ^[strings.txt:85].
C2 Infrastructure
None. No System.Net APIs. Strictly offline.
Interesting Tidbits
- Resource
ddrVv— likely embedded PNG icon ^[r2:TTR.Properties.Resources.get_ddrVv] ^[binwalk.txt] BinaryFormatterreferenced — probably serializes snippet state ^[strings.txt:314]floss.txtabsent due to invocation error ^[floss.txt]
Deployable Signatures
YARA
rule timetorun_benign_compiler {
meta:
description = "TimeToRun .NET C# snippet compiler"
hash = "e816172fe4d4ab5c0e0b22c3c6dc7b022a7987c87f47a0cc27843c1f93527179"
strings:
$a = "TimeToRun" ascii wide
$b = "KTubL.exe" ascii wide
$c = "CompileAssemblyFromSource" ascii wide
$d = "TTR.Loader.AssemblyLoader" ascii wide
condition:
uint16(0) == 0x5A4D and pe.imports("mscoree.dll", "_CorExeMain") and 3 of them
}
Sigma
title: .NET Runtime Assembly Compilation
logsource: {category: process_creation, product: windows}
detection:
selection:
CommandLine|contains: 'CompileAssemblyFromSource'
ParentImage|endswith: '\KTubL.exe'
condition: selection
falsepositives: [Legitimate snippet runners]
level: medium
IOC: SHA-256 e816172f..., filename KTubL.exe, product TimeToRun, company TTR, GUID {62bb30f5-a1cc-45e5-a625-e9a7e1bd3605}.
Detection Signatures
- T1027.004 (Compile After Delivery) — false positive ^[capa.txt]
- T1620 (Reflective Code Loading) — false positive ^[capa.txt]
- T1083 (File and Directory Discovery) — via .NET file APIs ^[capa.txt]
References
MalwareBazaar 46150647.exe. Entity: unclassified-dotnet
Provenance
file, exiftool 12.76, pefile, radare2, capa v7, binwalk, strings. floss.txt invocation failed. Ghidra import queued.