Lab 12 — Malware Analysis Fundamentals
Mission Information
Section titled “Mission Information”| Item | Details |
|---|---|
| Lab | 12 |
| Lab Name | Malware Analysis Fundamentals |
| Track | CompTIA CySA+ |
| Difficulty | Intermediate |
| Estimated Time | 120–150 minutes |
| Primary Role | Cybersecurity Analyst / SOC Analyst |
| Environment | Isolated Malware Analysis Lab |
| Primary System | CYSA-ANALYST |
| Primary Tools | file, SHA-256, strings, ExifTool, FLOSS, PEStudio/PE analysis tools, CyberChef, Threat Intelligence |
| Skills | Malware Triage, Static Analysis, File Identification, Hashing, Strings Analysis, PE Analysis, IOC Extraction, Threat Intelligence |
Mission Scenario
Section titled “Mission Scenario”You are working as a Cybersecurity Analyst at GHC Enterprise.
During the phishing investigation from Lab 11, the SOC identified a suspicious attachment.
The message attempted to convince the recipient to open a file presented as a legitimate business document.
The attachment has now been isolated and submitted to you for analysis.
Your SOC needs answers:
What is the file?
Is the extension trustworthy?
What is its cryptographic hash?
Does threat intelligence recognize it?
Does it contain suspicious strings?
Does it reference suspicious domains or IP addresses?
Does it appear capable of network communication?
What Windows APIs does it reference?
What indicators should the SOC search for?
Should the sample be escalated for deeper analysis?You will perform static malware triage.
You will not execute the suspicious sample during this mission.
Mission Objective: Safely examine a suspicious file using static-analysis techniques and determine whether available evidence supports a benign, suspicious, potentially unwanted, or malicious classification.
Mission Safety Rules
Section titled “Mission Safety Rules”This mission involves suspicious-file analysis.
Follow these rules throughout the lab:
-
use only instructor-provided or intentionally safe training samples
-
perform analysis inside an isolated lab environment
-
do not use production systems
-
do not double-click suspicious executables
-
do not execute unknown files
-
do not enable macros
-
do not upload confidential organizational samples to public services
-
take snapshots before advanced malware-analysis exercises
-
keep suspicious files separate from normal personal files
-
do not connect a malware-analysis VM to production networks
For this mission:
STATIC ANALYSIS ONLYMission Objectives
Section titled “Mission Objectives”By completing this lab, you will be able to:
-
explain malware-analysis objectives
-
distinguish static and dynamic analysis
-
prepare a safe analysis workspace
-
preserve suspicious-file evidence
-
calculate cryptographic hashes
-
verify file types
-
identify extension mismatches
-
inspect basic metadata
-
extract readable strings
-
identify suspicious strings
-
understand executable-file fundamentals
-
inspect PE headers
-
inspect imported libraries
-
identify suspicious Windows API references
-
recognize packing indicators
-
extract domains, URLs, IP addresses, and filenames
-
enrich hashes and indicators using threat intelligence
-
build an IOC inventory
-
develop a malware hypothesis
-
document analyst findings
1. What Is Malware Analysis?
Section titled “1. What Is Malware Analysis?”Malware analysis is the process of examining suspicious software to understand:
What it isWhat it may doHow it may operateWhich indicators it createsHow defenders can detect itHow responders should handle itMalware analysis supports:
SOC InvestigationIncident ResponseThreat HuntingDetection EngineeringDigital ForensicsThreat Intelligence2. Malware Analysis Levels
Section titled “2. Malware Analysis Levels”Malware investigation commonly includes several approaches.
Static Analysis
Section titled “Static Analysis”Examine a file without executing it.
Examples:
File TypeHashesMetadataStringsPE HeadersImportsEmbedded ResourcesIndicatorsDynamic Analysis
Section titled “Dynamic Analysis”Execute the sample inside a controlled environment and observe:
ProcessesFilesRegistryNetwork ConnectionsDNSServicesPersistenceMemoryCode Analysis
Section titled “Code Analysis”Examine program logic through:
DisassemblyDecompilationDebuggingThis lab focuses primarily on:
Static Analysis3. Why Begin with Static Analysis?
Section titled “3. Why Begin with Static Analysis?”Static analysis provides useful information without intentionally executing the suspicious program.
A typical workflow is:
Suspicious File ↓Preserve Evidence ↓Calculate Hash ↓Identify File Type ↓Inspect Metadata ↓Extract Strings ↓Inspect PE Structure ↓Inspect Imports ↓Extract IOCs ↓Threat Intelligence ↓Assessment4. Prepare the Analysis Environment
Section titled “4. Prepare the Analysis Environment”Use your isolated:
CYSA-ANALYSTVM.
Before analysis:
Take VM SnapshotDisable Shared Folders if unnecessaryDisable Clipboard Sharing if unnecessaryConfirm Analysis DirectoryVerify Network ConfigurationFor suspicious samples requiring deeper analysis, a dedicated malware-analysis VM is preferable.
5. Create the Investigation Workspace
Section titled “5. Create the Investigation Workspace”Create:
mkdir -p ~/CySA-Lab/Investigations/LAB12/{Samples,Hashes,Strings,Metadata,IOCs,Screenshots,Findings}Create investigation notes:
touch ~/CySA-Lab/Investigations/LAB12/investigation-notes.mdUse:
Investigation ID:LAB12-MALWARE-0016. Preserve the Original Sample
Section titled “6. Preserve the Original Sample”Place the instructor-provided sample inside:
~/CySA-Lab/Investigations/LAB12/Samples/Example:
suspicious-sample.binDo not rename the original unless required by your lab instructions.
Create a working copy:
cp suspicious-sample.bin suspicious-sample-working.binThe workflow should remain:
Original Sample ↓Preserved ↓Working Copy ↓Analysis7. Record Initial Evidence
Section titled “7. Record Initial Evidence”Record:
Original FilenameFile SizeSourceDate ReceivedAnalystInvestigation IDCheck file size:
ls -lh suspicious-sample.binExample evidence table:
| Field | Value |
|---|---|
| Investigation | LAB12-MALWARE-001 |
| Filename | suspicious-sample.bin |
| Size | <record> |
| Source | Phishing Investigation |
| Status | Quarantined |
| Execution | Not Performed |
8. Calculate SHA-256
Section titled “8. Calculate SHA-256”Run:
sha256sum suspicious-sample.binStore the result:
sha256sum suspicious-sample.bin > ../Hashes/sha256.txtRecord:
SHA-256:<hash>SHA-256 becomes one of your primary file indicators.
9. Calculate Additional Hashes
Section titled “9. Calculate Additional Hashes”For comparison with threat-intelligence sources, you may also calculate:
md5sum suspicious-sample.binand:
sha1sum suspicious-sample.binRecord:
MD5SHA-1SHA-256Prefer SHA-256 for modern IOC tracking.
10. Why Hashes Matter
Section titled “10. Why Hashes Matter”A cryptographic hash acts like a file fingerprint.
Conceptually:
File ↓Hash Algorithm ↓Unique-Looking DigestAnalysts use hashes to:
Identify SamplesCompare FilesSearch Threat IntelligenceTrack MalwareCreate Detection IndicatorsVerify Evidence IntegrityA hash alone does not explain malware behavior.
11. Verify the File Type
Section titled “11. Verify the File Type”Never trust the filename extension.
Run:
file suspicious-sample.binPossible output might indicate:
PE32 executablePDF documentZIP archiveMicrosoft Office documentELF executableASCII textCompare:
Filename Extension vsActual File Type12. Investigate Extension Mismatch
Section titled “12. Investigate Extension Mismatch”Suppose the attachment is named:
Invoice.pdfbut file reports:
PE32 executableThis is a major warning sign.
Attackers may use misleading filenames such as:
Invoice.pdf.exeReport.docx.scrPayment.jpg.exeResume.pdf.lnk13. Understand File Signatures
Section titled “13. Understand File Signatures”Operating systems and analysis tools can identify files using characteristic byte sequences.
These are often called:
Magic BytesExamples include signatures associated with:
PE ExecutablesPDFZIPPNGJPEGThis is generally more reliable than trusting the filename extension.
14. Inspect the Beginning of the File
Section titled “14. Inspect the Beginning of the File”Use:
xxd -l 64 suspicious-sample.binFor a Windows PE executable, you may observe:
4d 5awhich corresponds to:
MZThis is a common DOS-header signature found in Windows PE files.
15. Inspect Metadata
Section titled “15. Inspect Metadata”If ExifTool is installed:
exiftool suspicious-sample.binReview available metadata such as:
File TypeFile SizeTimestampsArchitectureCompiler InformationVersion InformationProduct NameCompany NameTreat metadata as evidence that can potentially be manipulated.
16. Save Metadata
Section titled “16. Save Metadata”Run:
exiftool suspicious-sample.bin > ../Metadata/exiftool.txtThis preserves the output for your report.
17. Look for Suspicious Metadata
Section titled “17. Look for Suspicious Metadata”Potentially interesting findings include:
Missing company informationUnexpected product nameUnusual timestampsInternal filenamesDebug pathsSuspicious version stringsMismatch between claimed application and metadataNo single metadata anomaly proves malicious intent.
18. Extract ASCII Strings
Section titled “18. Extract ASCII Strings”Run:
strings suspicious-sample.bin > ../Strings/ascii-strings.txtReview:
less ../Strings/ascii-strings.txtSearch for meaningful text.
19. What Can Strings Reveal?
Section titled “19. What Can Strings Reveal?”Strings may expose:
URLsDomainsIP AddressesFilenamesRegistry PathsCommandsUser-Agent StringsError MessagesAPI NamesMutex NamesDebug PathsPowerShell CommandsExecutable NamesExample:
https://example.invalid/updatecmd.exepowershell.exeSoftware\Microsoft\Windows\CurrentVersion\RunThese would justify additional investigation.
20. Search for URLs
Section titled “20. Search for URLs”Run:
grep -Ei 'https?://' ../Strings/ascii-strings.txtRecord suspicious results in:
../IOCs/urls.txtFor example:
grep -Eio 'https?://[^ "]+' ../Strings/ascii-strings.txt > ../IOCs/urls.txtReview the output manually.
21. Search for Domain-Like Strings
Section titled “21. Search for Domain-Like Strings”You may search strings for domain patterns.
For example:
grep -Eio '[A-Za-z0-9.-]+\.[A-Za-z]{2,}' ../Strings/ascii-strings.txtExpect false positives.
Manual validation is required.
22. Search for IP Addresses
Section titled “22. Search for IP Addresses”Use:
grep -Eo '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b' ../Strings/ascii-strings.txtAgain, validate the results.
Not every IP-like string is necessarily a real network indicator.
23. Search for Windows Paths
Section titled “23. Search for Windows Paths”Search:
grep -Ei 'C:\\|Windows\\|AppData|ProgramData|Temp' ../Strings/ascii-strings.txtPotential paths may indicate:
Dropped FilesConfiguration LocationsPersistence LocationsTemporary Storage24. Search for Registry References
Section titled “24. Search for Registry References”Search:
grep -Ei 'HKEY_|HKCU|HKLM|CurrentVersion|Run\\|RunOnce' ../Strings/ascii-strings.txtInteresting references may indicate possible registry interaction.
Static strings alone do not prove the program actually modifies those keys.
25. Search for Command Interpreters
Section titled “25. Search for Command Interpreters”Search:
grep -Ei 'cmd\.exe|powershell|wscript|cscript|rundll32|regsvr32' ../Strings/ascii-strings.txtThese executables have legitimate uses.
Their presence becomes more interesting when combined with additional evidence.
26. Search for Networking Indicators
Section titled “26. Search for Networking Indicators”Search:
grep -Ei 'http|https|User-Agent|socket|connect|InternetOpen|WinHttp|WinInet' ../Strings/ascii-strings.txtThese may suggest network-related capabilities.
Again:
Capability ≠ Confirmed Behavior27. Extract Unicode Strings
Section titled “27. Extract Unicode Strings”Windows executables often contain UTF-16LE strings.
If supported by your strings implementation:
strings -el suspicious-sample.bin > ../Strings/unicode-strings.txtReview:
less ../Strings/unicode-strings.txtYou may find indicators absent from normal ASCII output.
28. Use FLOSS for Enhanced String Extraction
Section titled “28. Use FLOSS for Enhanced String Extraction”If FLOSS is available:
floss suspicious-sample.binFLOSS can help recover:
Static StringsStack StringsDecoded StringsTight StringsThis is useful when malware attempts to hide useful text.
Save output:
floss suspicious-sample.bin > ../Strings/floss-output.txt29. Understand String Obfuscation
Section titled “29. Understand String Obfuscation”Malware authors may hide indicators through:
EncodingEncryptionStack StringsString ConstructionPackingCharacter SubstitutionTherefore:
No suspicious stringsdoes not necessarily mean:
File is benign30. Determine Whether the File Is a PE
Section titled “30. Determine Whether the File Is a PE”If file identifies:
PE32or:
PE32+the sample uses the Windows Portable Executable format.
PE files include:
DOS HeaderPE HeaderOptional HeaderSection TableSectionsImport TableExport TableResources31. Understand Basic PE Structure
Section titled “31. Understand Basic PE Structure”Conceptually:
+---------------------+| DOS Header |+---------------------+| PE Header |+---------------------+| Optional Header |+---------------------+| Section Table |+---------------------+| .text |+---------------------+| .data |+---------------------+| .rdata |+---------------------+| .rsrc |+---------------------+Section names vary between programs.
32. Inspect the PE with a Static Analysis Tool
Section titled “32. Inspect the PE with a Static Analysis Tool”If using a Windows analysis VM, open the sample in a tool such as PEStudio.
Do not execute it.
Review:
ArchitectureCompilation TimestampEntry PointSectionsImportsLibrariesStringsIndicatorsResourcesEntropyCapture the findings.
33. Investigate PE Sections
Section titled “33. Investigate PE Sections”Common section names include:
.text.data.rdata.rsrc.relocSuspicious samples may contain:
Unusual section namesVery high entropyUnexpected permissionsLarge packed sectionsFew recognizable sectionsThese are indicators requiring further investigation.
34. Understand Entropy
Section titled “34. Understand Entropy”Entropy can help identify data that appears highly compressed or encrypted.
Conceptually:
Normal Structured Data ↓Lower / Moderate Entropyversus:
Compressed / Encrypted Data ↓Higher EntropyHigh entropy does not automatically mean malware.
Legitimate software can also contain compressed or encrypted data.
35. Investigate Imported Libraries
Section titled “35. Investigate Imported Libraries”Windows executables commonly import libraries such as:
kernel32.dlluser32.dlladvapi32.dllws2_32.dllwininet.dllwinhttp.dllshell32.dllThe imported libraries can provide clues about program capabilities.
36. Investigate API Imports
Section titled “36. Investigate API Imports”Potentially interesting API categories include:
Process Operations
Section titled “Process Operations”CreateProcessOpenProcessTerminateProcessFile Operations
Section titled “File Operations”CreateFileWriteFileDeleteFileRegistry Operations
Section titled “Registry Operations”RegOpenKeyRegSetValueRegCreateKeyNetworking
Section titled “Networking”connectsocketInternetOpenInternetConnectWinHttpOpenMemory Operations
Section titled “Memory Operations”VirtualAllocVirtualProtectThese APIs also appear in legitimate software.
Interpret them in combination.
37. Understand Capability Analysis
Section titled “37. Understand Capability Analysis”Suppose a sample imports:
InternetOpenInternetConnectCreateFileWriteFileRegSetValueA reasonable hypothesis could be:
Potential Network Communication +Potential File Creation +Potential Registry ModificationDo not state:
The malware definitely performs all these actions.Static analysis reveals potential capability—not necessarily executed behavior.
38. Identify Suspicious API Combinations
Section titled “38. Identify Suspicious API Combinations”Certain combinations may justify deeper investigation.
For example:
OpenProcessVirtualAllocExWriteProcessMemoryCreateRemoteThreadmay be associated with process-injection techniques.
But the analyst must still validate behavior through additional evidence.
39. Investigate Embedded Resources
Section titled “39. Investigate Embedded Resources”PE resources may contain:
IconsDialogsConfigurationEmbedded ExecutablesCompressed DataImagesVersion InformationSuspicious files may embed secondary payloads.
Do not extract and execute embedded content.
40. Look for Packing Indicators
Section titled “40. Look for Packing Indicators”Possible packing indicators include:
High EntropyVery Few ImportsUnusual Section NamesSmall Import TableKnown Packer SignaturesLarge Compressed SectionPacking is not automatically malicious.
Legitimate software may also use packers.
41. Search for Known Packer Names
Section titled “41. Search for Known Packer Names”Depending on the sample, strings or static tools may identify:
UPXor another packer.
If identified, record:
Possible Packing:Yes / No / UnknownDo not attempt unpacking unless the exercise specifically requires it.
42. Extract Potential IOCs
Section titled “42. Extract Potential IOCs”Create IOC categories:
File HashesDomainsURLsIP AddressesFilenamesRegistry PathsMutexesUser-Agent StringsEmail IndicatorsStore findings under:
~/CySA-Lab/Investigations/LAB12/IOCs/43. Build the IOC Inventory
Section titled “43. Build the IOC Inventory”Create:
| Type | Indicator | Source | Confidence |
|---|---|---|---|
| SHA-256 | <hash> |
Sample | High |
| Domain | example[.]invalid |
Strings | Medium |
| URL | hxxps://example[.]invalid/a |
Strings | Medium |
| IP | 192[.]0[.]2[.]50 |
Strings | Medium |
| Registry | HKCU\...\Run |
Strings | Low/Medium |
| Filename | update.exe |
Strings | Medium |
Confidence represents how strongly the indicator is associated with the sample.
44. Defang Network Indicators
Section titled “44. Defang Network Indicators”For documentation, convert:
https://example.invalidto:
hxxps://example[.]invalidAnd:
192.0.2.50to:
192[.]0[.]2[.]50This helps prevent accidental interaction with malicious infrastructure.
45. Perform Hash Reputation Analysis
Section titled “45. Perform Hash Reputation Analysis”Search the sample’s:
SHA-256using an approved threat-intelligence or malware-reputation service.
Possible outcomes:
Known MaliciousKnown BenignPreviously ObservedUnknownRecord:
Detection CountClassificationMalware Family if availableFirst SeenLast SeenRelevant Tags46. Do Not Upload Sensitive Samples
Section titled “46. Do Not Upload Sensitive Samples”Prefer:
Hash Lookupbefore:
File UploadFor organizational investigations, uploading an unknown internal file to a public service may disclose sensitive information.
Follow organizational policy.
47. Investigate Domain Reputation
Section titled “47. Investigate Domain Reputation”For extracted domains, investigate:
ReputationHistorical ObservationsMalware AssociationsPhishing AssociationsDNS ContextRecord relevant findings.
48. Investigate IP Reputation
Section titled “48. Investigate IP Reputation”For suspicious IP addresses, review:
ReputationHosting ContextPrevious Malicious ActivityAssociated DomainsObserved MalwareDo not classify an IP solely because it belongs to cloud or hosting infrastructure.
49. Correlate Indicators
Section titled “49. Correlate Indicators”Suppose static analysis identifies:
SHA-256 ↓Known Malware Familyand strings identify:
Domain AIP Band threat intelligence shows:
Domain A → maliciousIP B → associated with same campaignConfidence increases because independent evidence agrees.
50. Search the SIEM for Extracted IOCs
Section titled “50. Search the SIEM for Extracted IOCs”Return to your SIEM.
Search for:
SHA-256DomainIP AddressFilenameURLdepending on available telemetry.
Potential data sources include:
ZeekSuricataDNSEndpoint LogsProxy LogsEDR51. Search for the Suspicious Domain
Section titled “51. Search for the Suspicious Domain”If the sample contains:
example[.]invalidsearch your SIEM for the non-defanged form within the controlled environment.
Determine:
Which endpoint queried it?When?How often?Did a network connection follow?52. Search for the Suspicious IP
Section titled “52. Search for the Suspicious IP”Search:
<IOC IP>Review:
Source HostDestinationPortTimestampProtocolThis can connect static malware findings to enterprise telemetry.
53. Search for the File Hash
Section titled “53. Search for the File Hash”If endpoint security telemetry includes hashes, search:
SHA-256Determine:
Which hosts contain or executed the file?In this lab, execution should not occur.
In a real incident, this search helps determine scope.
54. Correlate with the Phishing Investigation
Section titled “54. Correlate with the Phishing Investigation”The investigation may now evolve:
Phishing Email ↓Suspicious Attachment ↓SHA-256 ↓Static Analysis ↓Embedded Domain ↓Threat Intelligence ↓SIEM SearchThis demonstrates how separate SOC investigations connect.
55. Build the Evidence Chain
Section titled “55. Build the Evidence Chain”Example:
08:45Phishing Email Delivered
08:46Attachment Received
08:50Attachment Submitted to SOC
09:00SHA-256 Calculated
09:05Static Analysis Identifies Domain
09:10Threat Intelligence Identifies Suspicious Reputation
09:15SIEM Search Identifies Related Endpoint ActivityYour actual timeline will depend on your lab evidence.
56. Develop an Initial Malware Hypothesis
Section titled “56. Develop an Initial Malware Hypothesis”Based on static evidence, create a hypothesis.
Example:
The sample is a Windows PE executable disguised as a document.
Static analysis identified networking-related APIs and an embedded external domain.
Threat-intelligence enrichment indicates the file hash or related infrastructure has suspicious associations.
The sample should therefore be treated as potentially malicious pending deeper behavioral analysis.Notice the wording:
PotentiallyAppearsSuggestsConsistent WithAvoid claiming unobserved behavior as fact.
57. Distinguish Evidence from Inference
Section titled “57. Distinguish Evidence from Inference”Example:
Evidence
Section titled “Evidence”File is PE32.SHA-256 is X.String contains domain Y.WinInet APIs are imported.Inference
Section titled “Inference”The sample may communicate over the network.Not Yet Confirmed
Section titled “Not Yet Confirmed”The sample connects to domain Y when executed.This distinction is essential in professional malware reporting.
58. Determine Whether Dynamic Analysis Is Required
Section titled “58. Determine Whether Dynamic Analysis Is Required”Ask:
Are important strings hidden?
Is the file packed?
Is behavior unclear?
Does static analysis reveal suspicious capabilities?
Do we need to observe network behavior?
Do we need to determine persistence?
Do we need to observe child processes?If yes:
Escalate to Controlled Dynamic AnalysisDo not execute the sample casually.
59. Assign Malware Triage Classification
Section titled “59. Assign Malware Triage Classification”Possible classifications:
BenignPotentially UnwantedSuspiciousLikely MaliciousKnown MaliciousInconclusiveYour classification should reflect available evidence.
60. Assign Confidence
Section titled “60. Assign Confidence”Use:
Low ConfidenceMedium ConfidenceHigh ConfidenceExample:
Classification:Likely Malicious
Confidence:Medium
Reason:Static indicators are suspicious, but behavioral execution has not yet been observed.61. Map Potential Behavior to MITRE ATT&CK
Section titled “61. Map Potential Behavior to MITRE ATT&CK”Only map behaviors supported by evidence.
Potential examples may include:
Command and Scripting InterpreterIngress Tool TransferApplication Layer ProtocolModify RegistryProcess InjectionDo not map techniques merely because they are common malware behaviors.
62. Build a Malware Triage Table
Section titled “62. Build a Malware Triage Table”| Category | Finding | Assessment |
|---|---|---|
| File Type | PE32 | Executable |
| Extension | .pdf claimed |
Mismatch |
| SHA-256 | <hash> |
IOC |
| Strings | External domain | Suspicious |
| Imports | Networking APIs | Network capability |
| Registry References | Run key | Persistence hypothesis |
| Packing | Possible | Requires review |
| Reputation | Suspicious | Supporting evidence |
| Execution | Not performed | Static analysis only |
63. Mission Challenge — Suspicious Attachment Triage
Section titled “63. Mission Challenge — Suspicious Attachment Triage”Your SOC provides a suspicious attachment recovered from the phishing investigation.
Using only static-analysis techniques, determine:
-
What is the original filename?
-
What is the actual file type?
-
Does the extension match the file?
-
What is the SHA-256?
-
What are the MD5 and SHA-1 values?
-
What metadata is available?
-
Are suspicious strings present?
-
Are URLs embedded?
-
Are domains embedded?
-
Are IP addresses embedded?
-
Are suspicious filenames present?
-
Are registry references present?
-
Are command interpreters referenced?
-
Is the sample a PE file?
-
What architecture does it use?
-
What sections are present?
-
Are any sections unusual?
-
Is entropy suspicious?
-
Which libraries are imported?
-
Which APIs are noteworthy?
-
Does the sample appear packed?
-
What potential capabilities are visible?
-
What does hash reputation indicate?
-
What does infrastructure reputation indicate?
-
Are extracted indicators present in the SIEM?
-
What is your classification?
-
What is your confidence?
-
Is deeper dynamic analysis required?
64. Document Your Findings
Section titled “64. Document Your Findings”Update:
~/CySA-Lab/Investigations/LAB12/investigation-notes.mdUse:
# LAB12 Malware Analysis
## Investigation ID
LAB12-MALWARE-001
## Sample Information
- Original Filename:- File Size:- Source:- Actual File Type:
## Hashes
- MD5:- SHA-1:- SHA-256:
## Metadata
Document relevant metadata.
## Strings Analysis
Document:- URLs- domains- IP addresses- filenames- commands- registry references- unusual strings
## PE Analysis
Document:- architecture- entry point- sections- entropy- imported libraries- noteworthy APIs- resources- packing indicators
## Potential Capabilities
Document only capabilities supported by static evidence.
## Indicators of Compromise
Document:- hashes- domains- IP addresses- URLs- filenames- registry indicators
## Threat Intelligence
Document reputation findings.
## SIEM Correlation
Document whether extracted indicators appear elsewhere in the environment.
## Classification
Benign / Potentially Unwanted / Suspicious / Likely Malicious / Known Malicious / Inconclusive
## Confidence
Low / Medium / High
## Dynamic Analysis Required?
Yes / No
Explain why.
## Analyst Assessment
Summarize findings.
## Recommended Actions
Document next steps.65. Example Analyst Findings
Section titled “65. Example Analyst Findings”A simulated assessment might resemble:
Investigation:LAB12-MALWARE-001
Original Filename:Invoice.pdf
Actual File Type:Windows PE Executable
Extension:Misleading
Static Analysis:Suspicious strings and networking-related imports identified.
Network Indicators:External domain identified within the sample.
Registry Indicators:Potential persistence-related registry reference identified.
Threat Intelligence:Sample hash or associated infrastructure exhibited suspicious reputation.
Execution:Not performed.
Assessment:Static evidence is consistent with a potentially malicious Windows executable delivered using a misleading filename.
Classification:Likely Malicious
Confidence:Medium
Recommendation:Quarantine the sample, search enterprise telemetry for extracted indicators, block confirmed malicious indicators according to policy, and escalate the sample for controlled dynamic analysis.66. Recommended Response Actions
Section titled “66. Recommended Response Actions”For a suspicious or malicious sample, possible defensive actions include:
Preserve SampleMaintain QuarantineSearch Hash Across EndpointsSearch Domains Across DNS LogsSearch IPs Across Network TelemetrySearch URLs Across Proxy LogsIdentify Additional RecipientsBlock Confirmed Malicious IndicatorsInvestigate Potential ExecutionReview Parent / Child ProcessesInvestigate PersistenceIsolate Affected Endpoint if RequiredEscalate for Dynamic AnalysisUpdate Detection RulesDocument FindingsActions should follow organizational policy.
67. Evidence to Capture
Section titled “67. Evidence to Capture”Capture:
01-sample-inventory.png02-sha256.png03-file-type.png04-magic-bytes.png05-metadata.png06-ascii-strings.png07-unicode-strings.png08-url-extraction.png09-domain-extraction.png10-ip-extraction.png11-registry-strings.png12-command-strings.png13-pe-overview.png14-pe-sections.png15-pe-imports.png16-suspicious-apis.png17-entropy.png18-packing-indicators.png19-threat-intelligence.png20-ioc-inventory.png21-siem-ioc-search.png22-malware-triage-table.png23-analyst-assessment.png68. Validation Checklist
Section titled “68. Validation Checklist”-
Malware-analysis safety rules were reviewed
-
Isolated analysis environment was used
-
Original sample was preserved
-
Working copy was created
-
File size was documented
-
MD5 was calculated
-
SHA-1 was calculated
-
SHA-256 was calculated
-
Actual file type was identified
-
Filename extension was compared with file type
-
Magic bytes were inspected
-
Metadata was collected
-
ASCII strings were extracted
-
Unicode strings were reviewed
-
URLs were searched
-
Domains were searched
-
IP addresses were searched
-
File paths were reviewed
-
Registry references were reviewed
-
Command-interpreter references were reviewed
-
Networking indicators were reviewed
-
PE structure was understood
-
PE sections were reviewed
-
Imported libraries were reviewed
-
Noteworthy APIs were identified
-
Entropy was considered
-
Packing indicators were reviewed
-
IOC inventory was created
-
Network indicators were defanged for reporting
-
Hash reputation was investigated
-
Domain/IP reputation was investigated
-
SIEM was searched for extracted IOCs
-
Evidence was distinguished from inference
-
Malware hypothesis was documented
-
Classification was assigned
-
Confidence was assigned
-
Need for dynamic analysis was determined
-
Evidence screenshots were captured
69. Mission Review
Section titled “69. Mission Review”In this mission, you moved from investigating the delivery mechanism to investigating the suspicious file itself.
The investigation evolved from:
Phishing Email ↓Suspicious Attachmentinto:
Suspicious File ↓Preserve Evidence ↓Hashing ↓File Identification ↓Metadata ↓Strings ↓PE Analysis ↓Imports ↓IOC Extraction ↓Threat Intelligence ↓SIEM Correlation ↓Malware AssessmentThe critical lesson is:
Static analysis helps analysts understand what a suspicious file may be capable of without intentionally executing it.
But you must also remember:
Static Evidence ≠Observed Runtime BehaviorA strong malware analyst separates:
What We Observed ↓What We Can Infer ↓What Still Requires ValidationSkills Developed
Section titled “Skills Developed”After completing this mission, you should be able to:
-
safely triage suspicious files
-
preserve malware evidence
-
calculate and use cryptographic hashes
-
identify actual file types
-
detect misleading extensions
-
inspect file metadata
-
extract ASCII and Unicode strings
-
identify network indicators
-
identify registry indicators
-
understand PE structure
-
analyze PE sections
-
inspect imported libraries
-
recognize noteworthy Windows APIs
-
identify potential packing indicators
-
extract and organize IOCs
-
enrich indicators with threat intelligence
-
correlate malware IOCs with SIEM telemetry
-
distinguish capability from observed behavior
-
classify suspicious samples
-
determine when deeper analysis is required
-
produce structured malware-analysis findings
What’s Next?
Section titled “What’s Next?”Lab 13 — Endpoint Malware Investigation
Section titled “Lab 13 — Endpoint Malware Investigation”You have now statically analyzed a suspicious file.
The next question is:
Did it execute on an endpoint, and what happened afterward?In the next mission, you will shift from sample-focused analysis to endpoint-focused investigation.
You will investigate:
-
suspicious process execution
-
parent-child process relationships
-
process command lines
-
file creation
-
suspicious directories
-
persistence indicators
-
registry activity
-
scheduled tasks
-
services
-
PowerShell activity
-
network connections
-
DNS activity
-
file hashes
-
IOC pivoting
-
process timelines
-
evidence correlation
-
containment decisions
The investigation progresses from:
Suspicious Sample ↓Static Analysis ↓Potential Capabilitiesto:
Endpoint Telemetry ↓Process Execution ↓System Changes ↓Network Activity ↓Persistence ↓Incident Scope➡️ Next: Lab 13 — Endpoint Malware Investigation