Skip to content

Malware Forensics: Static, Dynamic, Sandbox and Memory Analysis

PE headers, ImpHash, YARA, Cuckoo and Any.Run, Volatility 3 and MemProcFS, IoCs and persistence, walked through the AIIMS Delhi ransomware incident and CERT-In's malware advisory workflow.

Last updated:

Share

Malware forensics combines four complementary disciplines: static analysis (examining the binary without executing it), dynamic analysis (observing behaviour under instrumentation), sandbox analysis (automated detonation in an isolated VM), and memory analysis (reconstructing the state of an infected host from a RAM image). Each discipline surfaces artefacts the others can miss: static analysis reveals packed sections and import patterns, dynamic analysis captures registry writes and network beacons, and memory analysis is the only method that recovers fileless payloads that never land on disk. The standard toolchain in Indian labs includes PEStudio and Detect It Easy for static work, Cuckoo/CAPE or Any.Run for sandbox detonation, and Volatility 3 or MemProcFS for memory examination. IoCs extracted from each phase are packaged in STIX format and reported to CERT-In under the 28 April 2022 direction.

The AIIMS Delhi ransomware incident of November 2022 took five of the hospital's main servers offline for nearly two weeks, disrupted patient registration and laboratory reporting for a flagship public hospital, and pulled in CERT-In, NIA, Delhi Police and the Indian Cyber Crime Coordination Centre at once. The publicly attributed family was a BlackCat/ALPHV variant, and a recurring observation in the after-action notes was that the affected systems had not been imaged in a way that preserved volatile state, so the malware-forensic team rebuilt the timeline from disk artefacts and backup metadata rather than from a clean memory image of the running infection. That gap is the operational lesson: memory acquisition tools must be pre-positioned on live hosts before an incident, because the choice at incident time is normally between a clean memory image and no memory image at all.

Key takeaways

  • The AIIMS Delhi ransomware incident of November 2022 showed that failing to capture volatile memory state forces the forensic team to rebuild the timeline from disk artefacts alone, losing the cleaner picture a RAM image would have provided.
  • Static analysis reads the binary without executing it, covering PE headers, imports, strings, hashes, and YARA matches, and is the first step before any execution-based technique.
  • Sandbox analysis in tools such as Cuckoo, Any.Run, Joe Sandbox, and Triage runs the sample in an isolated VM with telemetry baked in, capturing process tree, registry writes, network beacons, and dropped files.
  • Memory analysis with Volatility 3 or MemProcFS can recover injected code, hollowed processes, and fileless payloads that both disk imaging and sandbox analysis miss.
  • A modern malware sample is rarely a single category: a banking trojan is commonly also a dropper, a downloader, and a credential stealer, so correct family attribution at the start halves the remaining analysis work.

Malware forensics is four disciplines stitched together. Static analysis reads the binary without running it: PE headers, imports, strings, hashes, YARA matches. Dynamic analysis runs the binary in an instrumented host and watches behaviour: process tree, registry writes, network beacons, dropped files. Sandbox analysis runs the same exercise inside an isolated VM with telemetry baked in (Cuckoo, Any.Run, Joe Sandbox, Triage). Memory analysis reconstructs the state of an already-infected machine from a RAM image with Volatility 3 or MemProcFS, often catching what disk and sandbox both miss (injected code, hollowed processes, fileless payloads). This topic walks each discipline with Indian context, the tool versions in current use at CFSL Hyderabad and NFSU, and the CERT-In advisory and reporting workflow that the analysis feeds into.

By the end of this topic you will be able to:

  • Describe the four disciplines of malware forensics (static, dynamic, sandbox, memory) and identify which artefact types each technique recovers.
  • Perform a PE header walkthrough using PEStudio or CFF Explorer, interpreting compilation timestamps, section entropy, import tables, and packer signatures.
  • Configure a Cuckoo/CAPE sandbox with appropriate connectivity tier (air-gap, INetSim, or live internet) and justify the choice for a given sample type.
  • Run Volatility 3 against a Windows memory image using pslist, pstree, malfind, netscan, and cmdline plugins to identify process injection and C2 beaconing.
  • Extract and package IoCs (file hashes, network indicators, host persistence artefacts, YARA rules) in STIX format and apply the CERT-In CCMP reporting timeline.
Key terms
PE (Portable Executable) header
The Windows executable file format. Starts with an MZ DOS stub, points to a PE signature, then a COFF file header, an optional header (despite the name, mandatory in practice), and section headers (.text, .data, .rdata, .rsrc). Imports/exports tables and the resource directory are the analyst's primary entry points.
ImpHash
Mandiant's hash of the ordered list of imported functions in a PE file's import table. Survives recompilation that does not change imports; clusters malware families across builds. Implemented in pefile (Python) and Mandiant's original tool.
Entropy (Shannon)
Per-byte information density of a file or section. Plain code sits around 5.5; packed or encrypted sections exceed 7.0. A PE with a high-entropy section that is not a known packer signature is almost always packed; the entropy line is the first static signal of obfuscation.
YARA
Pattern-matching language for malware classification. Rules combine string and byte-pattern conditions with metadata. Used by VirusTotal, every major sandbox, and most threat-intel platforms. Rule sets like YARA-Forge, Florian Roth's signature-base and the YARA hub at YARA-Rules are common starting points.
Volatility 3
Open-source memory forensics framework, Python 3 rewrite of Volatility 2. Symbol-based (PDB symbols on Windows) instead of profile-based, supports modern Windows 10/11 and Linux kernels, plugin ecosystem includes pslist, pstree, psxview, malfind, hollowfind, netscan, dlllist.
IoC (Indicator of Compromise)
Observable artefact linked to malicious activity. File hashes (MD5, SHA-256, ImpHash, ssdeep, TLSH), IPs, domains, URLs, registry keys, mutex names, named pipes, scheduled task names, service names. Shared between organisations using STIX (data model) over TAXII (transport).

Malware taxonomy and the question of family

A malware sample is rarely a single category. A modern banker is also a dropper, a downloader, a credential-stealer and often a coin-miner in a fallback branch. The taxonomy below is still useful because it pins the primary behaviour the analyst should look for first.

FamilyPrimary behaviourPersistence tendencyIndian-case examples
VirusInfects host files; spreads by file copy.Patches existing binaries.Largely historical; some classic Indian college-network outbreaks (2000s).
WormSelf-propagating across networks.Service or scheduled task on each new host.WannaCry impact on Indian state agencies in 2017; Conficker in the late 2000s.
TrojanPretends to be benign; delivers payload.Run key or service after first execution.Bundle of cracked software from Indian forums; banking-app lookalikes on third-party Android stores.
RansomwareEncrypts files, demands payment.Service or scheduled task; sometimes none (single-shot detonators).AIIMS Delhi (Nov 2022); Oil India (2022); Tata Power (2022).
Spyware / Info-stealerExfiltrates credentials, browser data, crypto wallets.Run key, scheduled task, or fileless (PowerShell in registry).RedLine, Vidar, Raccoon distributed via Indian-language phishing kits.
RAT (Remote Access Trojan)Interactive remote control.Service, scheduled task, WMI subscription.AsyncRAT, njRAT, Remcos used in Indian SOHO targeting; Cobalt Strike beacons in APT cases.
Rootkit / BootkitHides at OS or boot level.Boot record (bootkit), kernel driver (rootkit), UEFI firmware.Less common in Indian incidents but documented in advanced APT cases targeting defence sector.
Crypto-minerMines cryptocurrency on the victim's CPU/GPU.Service or scheduled task; sometimes injected into long-running process.WMI-based XMRig deployments on Indian college servers (2019-2022).
Fileless malwarePayload lives only in memory or in registry blobs; no executable on disk.PowerShell in Run key, WMI event consumer, scheduled task with -EncodedCommand.Astaroth-style PowerShell loaders seen in Indian banking-malware reports.
BankerTargets banking sessions; web injects, overlays.Service or scheduled task.Drinik (Android, Indian tax-themed) is a notable Indian-targeted banker.

The taxonomy guides the first triage. A ransomware sample is run in a network-isolated sandbox with a writable file tree to observe the encryption routine and look for the configuration data that drives the ransom note. An info-stealer is run with realistic browser profiles and credential stores so the data-exfil path lights up. A RAT is run with an outbound C2 that the analyst controls (INetSim or a real handler in a controlled environment). The mismatch between expected family and observed behaviour is the first hint that an automated AV label is wrong.

Static analysis: PE header, strings, hashes, entropy, YARA

Static-to-dynamic-to-memory analysis decision tree. Input is a suspicious binary. Each branch produces a different output typ
Static-to-dynamic-to-memory analysis decision tree. Input is a suspicious binary. Each branch produces a different output type; the three branches are complementary, not sequential, start where the evidence is.

Static analysis carries no execution risk. Obfuscated, packed, or encrypted samples reveal less than clean binaries, but the analyst still recovers enough to plan dynamic analysis and begin family clustering.

The PE header is the first stop on Windows samples. PEview, PEStudio, CFF Explorer and Detect It Easy (DIE) all parse it. The analyst reads:

  • Compilation timestamp in the COFF file header. Often spoofed by malware authors, but a precisely-aligned timestamp at midnight UTC in a year that does not match the campaign is itself a tell.
  • Section headers. Standard sections are .text (code), .data, .rdata, .bss, .rsrc. Non-standard names (.UPX0, .UPX1, .nsp1, .vmp0) are packer signatures. A section marked executable that has a virtual size much larger than its raw size on disk is a packer-unpack stub.
  • Imports table. The functions the binary asks the loader to resolve. CreateRemoteThread, VirtualAllocEx and WriteProcessMemory together suggest process injection. WinHttpOpen and InternetReadFile suggest HTTP C2. CryptEncrypt, BCryptEncrypt, CryptGenKey together suggest ransomware crypto.
  • Exports table. DLLs and some EXEs export functions. An EXE with one named export "ServiceMain" is a Windows service; an EXE with exports "Run" or "Start" matching loader conventions is a stager.
  • Resources directory. Icons, manifests, version info, and embedded payloads. Malware regularly hides a second-stage payload in the .rsrc section, sometimes encrypted with a key in .text.

Strings extraction is the second stop. The default strings utility prints printable ASCII; strings -e l prints UTF-16LE which Windows malware uses for most user-visible strings. The FLARE team's FLOSS (FireEye Labs Obfuscated String Solver), developed by Willi Ballenthin and Moritz Raabe at FireEye/Mandiant, goes further, deobfuscating stack strings and simple XOR-encoded strings through symbolic execution. A high-value strings hit is a C2 domain, a ransom-note template, a debug PDB path that contains an attacker username, or an unusual user-agent.

Hashes are next, in three flavours.

  • MD5 and SHA-256 are the canonical file hashes. Identical bytes give identical hashes; a one-bit change defeats them. Useful for direct cross-reference against VirusTotal and CERT-In advisories.
  • ImpHash hashes the ordered import table. Survives many recompilations because changing imports requires changing code. Clusters builds of the same family.
  • Fuzzy hashes (ssdeep, TLSH) compute a hash that matches similar files. Useful when a malware author re-spins the binary with minor changes. TLSH is more robust to large files; ssdeep is the older standard.

Entropy is the fourth stop. Shannon entropy per section of the PE measures information density. A code section sits around 5.5 bits per byte; packed or encrypted sections sit above 7.0. DIE plots entropy by section; a single high-entropy section in an otherwise normal PE is a packer signature. The standard packers (UPX, MPRESS, Themida, VMProtect, ASPack) leave additional fingerprints in the entry point and the section names that DIE matches.

YARA is the fifth stop and the one the analyst writes themselves. A YARA rule is a small declarative file: meta block, strings block (literal, hex with wildcards, or regex), and a condition. A small example rule for a Cobalt Strike default beacon configuration reads:

rule CobaltStrike_DefaultBeacon_Config {
    meta:
        author = "ForensicSpot"
        family = "Cobalt Strike"
        reference = "Sentinel One default profile"
    strings:
        $sleep = { 69 68 69 68 69 68 69 68 }
        $sig1 = "%s as %s\\%s: %d" wide
        $sig2 = "ReflectiveLoader" ascii
    condition:
        uint16(0) == 0x5A4D and 2 of them
}

VirusTotal Retrohunt, Hybrid Analysis and any local malware archive (CFSL Hyderabad maintains one, and most state cyber-forensic labs collect samples through CERT-In feeds) run YARA at scale and surface clusters. The professional rule is: never tender a YARA hit alone as conclusive identification; tender it as one corroborating signal among several.

Dynamic analysis and sandbox tiers

Dynamic analysis observes behaviour as the sample executes. The standard instrumentation stack on a Windows analyst workstation includes:

  • Process Monitor (Procmon, Sysinternals) logs every file, registry, process and thread operation by every process. Filtered to the suspect process tree, it surfaces every dropped file, every registry write (Run keys, services, scheduled tasks), every spawned child process. Procmon traces are the loudest single signal in dynamic analysis.
  • Process Hacker is the modern Task Manager replacement. Lists processes with parent-child relationships, command lines, loaded modules, handles, threads, and (with the kernel driver) hidden processes. Right-click on a suspect process reveals strings in memory, which often exposes plaintext C2 URLs that the on-disk binary kept encrypted.
  • Wireshark captures network activity (see our Live Packet Capture topic for the capture-side detail).
  • INetSim is a Linux service that fakes the internet for the sandbox VM. Responds to DNS, HTTP, HTTPS, SMTP, FTP and IRC with plausible defaults, lets the malware proceed past its connectivity check, and logs every request as the C2 indicator set.
  • API Monitor / API hooks instruments user-mode API calls. Useful for tracking process-injection sequences (OpenProcess → VirtualAllocEx → WriteProcessMemory → CreateRemoteThread).
  • Sysmon with a sensible config (Olaf Hartong's modular config or SwiftOnSecurity's classic config) writes detailed process, network and file events to the Windows event log, which gives a parallel timeline that the sandbox can export.

The sandbox operates above the analyst workstation tier: a fully isolated VM with snapshot revert, full telemetry, and a controlled network. The current open-source standard is Cuckoo Sandbox (maintained as CAPE Sandbox in modern deployments), which orchestrates VM snapshots, detonates the sample for a configured period, collects Procmon-equivalent telemetry, captures a memory image at completion, and writes a single JSON report covering file, registry, network, and process events.

SandboxHostedStrengthsIndian-lab use
Cuckoo / CAPESelf-hosted, open sourceFree, customisable, integrates with INetSim, supports Windows/Linux/macOS/Android VMs.Standard at NFSU, IIIT Hyderabad, several state cyber-forensic units.
Any.RunCloud, interactiveReal-time UI, analyst clicks through prompts as the malware runs; excellent for documents with macros.Used by NPCI's FRM and several Indian private SOCs for fast triage.
Hybrid Analysis (Falcon Sandbox)Cloud, CrowdStrikeStrong YARA + ML scoring, large historical corpus.Cross-referenced by CERT-In advisories; not a primary detonation lab.
Joe SandboxCloud or on-premises commercialDetailed behavioural graphs, strong anti-evasion.Procured by some Indian central agencies.
Triage (Recorded Future / Hatching)CloudMassive throughput, family detection, IoC extraction.Used by Indian financial-sector CSIRT-Fin for batch detonation.
MalwareBazaar / VirusTotal SandboxCloudFree, broad family coverage; less depth.Public, used for first-look triage.

Sandbox setup has three connectivity tiers. The strictest is no internet: the VM is completely air-gapped, and only the sample's behaviour against the local filesystem and process tree is observed. The next tier is simulated internet via INetSim: the malware sees a "working" internet that records every request without forwarding it; this exposes the C2 domains and URLs the sample tries without giving the attacker any feedback. The loosest tier is live internet through an anonymising VPN: the malware reaches the real C2 server, which is necessary when the sample's later stages will not download unless the C2 sees a real callback. Live-internet detonation is the right call only when the operational gain outweighs the risk of revealing the analyst's interest to the attacker, and is normally done from infrastructure that cannot be attributed back to the analyst's organisation.

Anti-sandbox detection is the cat-and-mouse layer. Modern malware checks for VirtualBox or VMware MAC OUI prefixes, the absence of mouse movement, an unreasonably high CPU clock, a recently-booted machine with no installed applications, debugger-present flags (IsDebuggerPresent, CheckRemoteDebuggerPresent), and timing-side-channel anomalies (RDTSC delta over a sleep). Anti-sandbox bypass is the corresponding sandbox-engineering response: realistic MAC randomisation, simulated user activity, aged VM snapshots with documents and browsing history, debugger hiding.

Reverse engineering and unpacking

Static and dynamic analysis answer the surface questions. Deeper questions, the ransomware encryption algorithm, the C2 protocol format, the configuration block decoded by a second stage, require disassembly and debugging.

The disassembler choices in Indian labs:

  • IDA Pro is the long-standing commercial standard. Fast disassembly, scriptable in Python (IDAPython), decompiler (Hex-Rays) at extra cost. NFSU and several CFSL labs hold IDA Pro licences.
  • Ghidra is the NSA's open-source release. Free, with a built-in decompiler that is competitive with Hex-Rays for many architectures. The de facto default in academic and resource-constrained labs.
  • Radare2 / rizin / Cutter are the open-source CLI-and-GUI stack. Powerful, scriptable, smaller user base.
  • Binary Ninja is the modern commercial alternative; cheaper than IDA Pro, with a clean MLIL/HLIL pipeline.

The debugger choices:

  • x64dbg is the open-source Windows debugger of choice. Plugin ecosystem (Scylla for IAT reconstruction, SwissArmyKnife, ScyllaHide for anti-anti-debug).
  • WinDbg ships with the Windows SDK and is the only viable debugger for kernel-mode work and minidump analysis.
  • OllyDbg is older; still useful for 32-bit Windows malware that targets a Windows 7 era.
  • gdb is the canonical Linux debugger; with pwndbg, peda or gef plugins it is competitive with x64dbg for ELF samples.

Unpacking is the most common reverse-engineering subtask. The simple case is UPX, which has a public unpacker (upx -d). The harder case is custom packers, where the analyst sets a breakpoint at the original entry point of the unpacked code (the standard trick is to break on VirtualAlloc with EXECUTE_READWRITE protection and watch the unpacker write into the allocated region), then dumps the unpacked image and reconstructs the import address table with Scylla. Commercial packers like Themida and VMProtect virtualise the original code into a custom bytecode and present the analyst with a much harder problem; these are normally handled by family-specific scripts and by tracing rather than by unpacking.

  1. Identify the packer with DIE
    Detect It Easy fingerprints common packers from entry-point bytes, section names and entropy. UPX, MPRESS, ASPack, Themida, VMProtect, Enigma all have signatures.
  2. Try the public unpacker if one exists
    UPX: upx -d. The result is a clean PE that loads in Ghidra without further work. Other packers rarely have a public unpacker.
  3. Set a breakpoint on the unpack stub's tail
    In x64dbg, break on VirtualAlloc returning a buffer with PAGE_EXECUTE_READWRITE, then trace into the loop that writes the unpacked code into it. The jump out of that loop is the tail.
  4. Dump the unpacked image
    x64dbg's Scylla plugin reads the in-memory PE at the unpacked entry point, rebuilds the IAT (Imports), and writes a clean PE to disk.
  5. Re-run static analysis on the unpacked PE
    Strings, imports, YARA all become useful again. Most family identification happens here, not on the packed sample.
  6. Document the unpacking steps in the report
    The trial court will not run x64dbg. The report should reproduce the unpacking decisions in plain prose so a non-analyst can follow.

Memory analysis with Volatility 3 and MemProcFS

Memory analysis is the only discipline that recovers code that never lands on disk. Fileless malware writes its payload directly into another process's address space; a disk forensic image shows nothing, while a RAM image of the running infection captures the injected code, hollowed processes, and in-memory configuration blocks.

Acquisition first. Windows tools: winpmem (Rekall), DumpIt (Comae), Magnet RAM Capture. Each produces a raw memory dump (.raw or .mem) or a Microsoft crash dump (.dmp). The acquisition should be performed from a verified clean tool on removable media; the output should be written to that same removable media to avoid touching the suspect disk. Linux: AVML (Microsoft, AppArmor-aware); LiME (LKM-based, traditional). macOS: OSXPmem (legacy), with modern macOS being harder due to SIP and lacking maintained tools for the latest releases.

Volatility 3 is the current analysis framework. The Python 3 rewrite of the original Volatility, symbol-driven rather than profile-driven. The relevant plugin set:

PluginQuestion answeredNotable on Indian incidents
windows.infoWhich Windows build, kernel base, DTB.Confirms the symbol package matches the dump; mismatched symbols silently produce wrong results.
windows.pslistLive processes from EPROCESS active links.Standard process list; missing the hidden ones by design.
windows.pstreeProcess tree with parent-child relationships.Powershell.exe launched by winword.exe is the macro-loader signature.
windows.psxviewMultiple process-listing sources cross-referenced.Discrepancies between pslist, psscan and thrdproc reveal DKOM rootkits hiding processes.
windows.malfindPages with PAGE_EXECUTE_READWRITE and no backing file.Catches injected shellcode and unpacker stubs.
windows.hollowfind (community plugin)Process hollowing detection.RegSvr32 with anomalous memory layout is the classic process-hollowing target.
windows.netscanOpen and recently-closed network connections.C2 endpoints not visible in firewall logs because the connection was already torn down.
windows.dlllistLoaded DLLs per process.Side-by-side compare with reference image catches DLL search-order hijack.
windows.cmdline / windows.cmdscanCommand-line arguments of processes / console history.Catches -EncodedCommand PowerShell payloads from fileless malware.
windows.registry.hivelist / printkeyRegistry hives in memory.Persistence under Run keys, RunOnce, scheduled-task ATs, WMI event subscriptions.
windows.filescan / dumpfilesFiles referenced from memory; dump them.Recover the on-disk malware sample even if the malware deleted itself.

MemProcFS is the modern alternative, presenting the memory image as a virtual filesystem. The analyst mounts the dump as a drive letter and walks /proc/, /sys/, /forensic/ paths to read process address spaces, kernel structures, file contents and YARA hits as files. The mental model is friendlier for analysts coming from a system-administration background, and many of the heavy plugins (PE reconstruction, browser-history parsing from process memory) are built in.

Malware-forensic workflow from sample receipt to court-ready report. Static and dynamic feed each other; sandbox is one form
Malware-forensic workflow from sample receipt to court-ready report. Static and dynamic feed each other; sandbox is one form of dynamic; memory analysis is the recovery path when prior steps missed an in-memory-only artefact.

IoCs, persistence, network behaviour and the report to CERT-In

Indicators of Compromise are the analysis deliverables that travel beyond the originating investigation. The accepted IoC types and their canonical formats:

  • File hashes: MD5, SHA-1, SHA-256, ImpHash, ssdeep, TLSH. Always SHA-256 as the primary; the others corroborate.
  • Network indicators: IPv4/IPv6, FQDNs, URLs, URI patterns, JA3/JA3S fingerprints (cross-link to our Live Packet Capture topic).
  • Host indicators: registry keys with values, mutex names, named-pipe names, scheduled-task names, service names, file paths.
  • Email indicators: sender addresses, subject patterns, attachment hashes.
  • YARA rules as a transferable detection artefact.

STIX (Structured Threat Information eXpression) is the data model that wraps these into objects (Indicator, Malware, ThreatActor, AttackPattern, Relationship). TAXII (Trusted Automated eXchange of Intelligence Information) is the transport that carries STIX between organisations. CERT-In publishes advisories that include STIX bundles for the larger campaigns; an Indian SOC consumes these and contributes back when the lab produces new IoCs.

Persistence mechanisms are the host-indicator subset that an investigation almost always documents.

MechanismWhere it livesDetection artefact
Run / RunOnce keysHKCU\Software\Microsoft\Windows\CurrentVersion\Run (per user); HKLM\Software\Microsoft\Windows\CurrentVersion\Run (machine).Registry hive parse (RegRipper, Volatility printkey); often the first place malware drops.
Windows servicesHKLM\SYSTEM\CurrentControlSet\Services; service binary path under ImagePath.Service binary path pointing to an unusual location (%TEMP%, %APPDATA%) is a red flag.
Scheduled tasksC:\Windows\System32\Tasks (XML); registry mirror under HKLM\Software\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks.Task XML with -EncodedCommand PowerShell is the classic fileless signature.
WMI permanent event subscriptionROOT\subscription namespace; EventFilter, EventConsumer, FilterToConsumerBinding classes.Tools: KANSA, wmi-persistence detection; advanced operators use these for stealth.
COM hijackingHKCU\Software\Classes\CLSID; per-user CLSID overrides the per-machine entry.User-writable CLSID pointing to a malicious DLL; loads inside legitimate Microsoft processes.
AppInit_DLLsHKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs.Old technique; blocked by default on Windows 8+ with secure boot, but still seen on older Indian government endpoints.
Browser extensionsChromium: User Data\Default\Extensions; Firefox: extensions.json; Edge: same as Chromium.Extension manifest with broad permissions (web request rewrite) is a credential-stealer pattern.

For deeper coverage of registry-side artefacts see our Windows Forensic Artifacts topic.

Network behaviour analysis closes the IoC loop. Modern malware C2 channels characteristically include a Domain Generation Algorithm (DGA) producing daily fallback domains, beacon timing with small jitter, a JA3/JA3S fingerprint, and a recognisable URI shape. DGA analysis compares resolved domains from the host against the family's known generation seed to confirm or rule out attribution. Beacon timing analysis, identifying a periodic inter-flow gap with low variance, is the strongest behavioural signal when payload inspection is impossible. JA3/JA3S fingerprints survive C2 infrastructure rotation, providing a network signature for the family even after per-incident IPs and domains have been changed.

The report that ships to CERT-In has a defined shape: organisation, point of contact, incident type, time first noticed, time of compromise (where determinable), affected systems, malware family if identified, IoCs (hashes, IPs, domains, mutexes), mitigations applied, and supporting artefacts (PCAP, memory image hashes, YARA rules). CFSL Hyderabad maintains a sandbox lab that produces these reports; the cross-link to Cloud Forensics becomes relevant when the infected systems were cloud-hosted and jurisdictional questions on log retrieval enter the picture.

Evidence preservation rules for malware samples specifically: handle the sample only on an analysis VM with no path back to the corporate network or to the analyst's primary workstation; transfer via password-protected ZIP with the password "infected"; never plug a malware-bearing USB into a production machine; never run a sample on a host that has access to the lab's authentication infrastructure; never enable live internet unless the operational case is documented and approved. Anti-forensic techniques that malware uses (timestomping, log clearing, anti-debug, packed payloads) are previewed here and developed in our Anti-Forensic Techniques topic.

Practice
Question 1 of 5· 0 answered

Which static-analysis signal most reliably indicates a packed or encrypted PE section?

Frequently asked questions

How do Indian forensic labs handle malware samples to avoid accidental infection of the lab network?
The convention is a strictly air-gapped malware-handling VLAN, an analyst workstation that double-boots into an analysis OS with no domain join, and physical USB-only transfer of samples in password-protected ZIPs (password 'infected'). The sandbox VMs run on a hypervisor with snapshot revert; the only outbound connectivity is to a controlled INetSim host. CFSL Hyderabad and NFSU labs additionally maintain a sample archive with read-only mounts and per-sample SHA-256 verification on every access.
Volatility 3 or Volatility 2 in 2026, and why?
Volatility 3 for any modern incident. Volatility 2 was profile-based and lagged behind Windows 10 and Windows 11 builds; Volatility 3 uses symbol files (PDB metadata or generated ISF files) and supports current builds. The plugin set has caught up for the common questions (pslist, pstree, psxview, malfind, netscan, dlllist, filescan). Some long-tail Volatility 2 plugins do not yet have Volatility 3 equivalents, in which case run both.
What is the difference between an ImpHash and a fuzzy hash like ssdeep when clustering malware?
ImpHash hashes the ordered list of imported API functions. It survives recompilation that does not change imports and is excellent for clustering builds of the same family that share a code base. ssdeep and TLSH are content-based fuzzy hashes that produce similar outputs for similar files; they survive byte-level changes (NOP padding, recompilation, light obfuscation) up to a point. Use ImpHash first because it is faster and more specific; fall back to ssdeep/TLSH when imports have been hidden or dynamically resolved.
Should an Indian analyst always upload an unknown sample to VirusTotal?
Be cautious. VirusTotal is public; once a sample is uploaded, any subscriber can see it and the corresponding hash becomes discoverable. For an Indian incident with operational sensitivity (a state agency, an active intrusion, a campaign-specific lure) public upload tips off the attacker. Use a private intelligence platform (Hybrid Analysis private upload, Joe Sandbox private, in-house Cuckoo) for initial analysis; share IoCs through CERT-In once the operational case is closed.
How does the CERT-In CCMP reporting workflow apply to a malware incident specifically?
The CERT-In direction of 28 April 2022 requires reporting of certain incidents including ransomware, IT system breach and unauthorised access within six hours of noticing them. For a malware incident, 'noticing' is the moment the SOC sees the symptom (encryption activity, beacon traffic, AV alert correlated with anomalous behaviour). The report includes incident type, affected systems, time of compromise, IoCs available at that moment, and mitigation status. The malware-forensic report follows the initial notification as a supplementary submission once family attribution and IoC extraction are complete.
What is the safest way to analyse Android malware in an Indian lab?
An emulator (Android Studio AVD or Genymotion) with a clean snapshot, a proxy with TLS interception (Burp or mitmproxy with a CA installed on the emulator), and frida for runtime hooking. Static-side: apktool for resource extraction, jadx for Dalvik decompilation, MobSF for an integrated workflow. The Indian-targeted banker Drinik is the canonical case study; it abuses Accessibility Services and SMS permissions, which a static permission inspection surfaces immediately.
Where does this topic connect back into the rest of the Network Forensics module and beyond?
The network-side of malware (capture, JA3 fingerprints, C2 traffic patterns) is in our [Live Packet Capture topic](/topics/digital-forensics/live-packet-capture-traffic-analysis-deep-packet-inspection). The disk-side persistence artefacts (registry, scheduled tasks, services) are developed in the [Windows Forensic Artifacts topic](/topics/digital-forensics/windows-forensic-artifacts-registry-event-logs-prefetch). The anti-analysis tradecraft is in the [Anti-Forensic Techniques topic](/topics/digital-forensics/anti-forensic-techniques-and-counter-methods). Cloud-hosted malware incidents and the jurisdictional puzzle of cross-region log retrieval are covered in the [Cloud Forensics topic](/topics/digital-forensics/cloud-forensics-multi-tenant-api-jurisdictional-challenges).

Test yourself on Digital Forensics with free, timed mocks.

Practice Digital Forensics questions

Found this useful? Pass it along.

Share

Spotted an error in this page? Report a correction or read our editorial standards.

Your journey to becoming a forensic professional starts here.

Practice with mock tests, learn from structured notes, and get your questions answered by a global forensic community, all in one place.