SlideShare une entreprise Scribd logo
1  sur  56
Télécharger pour lire hors ligne
Takahiro Haruyama (@cci_forensics)
Internet Initiative Japan Inc.
1
 Background
 Volatile IOCs
 Discussion
 Wrap-up
2
3
 Malware makes advance for persistence
 Evading AV detection
 e.g., SpyEye web panel provides AV tester for
generated bots
 Reliable installation
 e.g., ZeroAccess suspends (and disables if possible) OS
security functions before its installation
 We can’t avoid malware infection
 If infected once, forensic investigation and
malware analysis are needed
4
Several Hours Several Days
5
6
Important for fast triage
Several Hours Several Days
7
Experts
Identify the kind of malware
-> figure out malware
behavior early
Intermediate analysts
Find suspicious
process/driver/connection
-> useful, but not sure
Experience/knowledge
required
Technical
characteristics
•file system
•registry hive
•network, etc...
IOC
XML formatted
information describing
known threats
8
 Technical characteristics of known
threats from an expert point of view
 OpenIOC [1]
 An extensible XML schema for defining IOC
 It enables to share expert knowledge easily
 Malware identification on memory
forensics phase is effective for fast triage
 OpenIOC fills the gap between experts and
ordinary analysts
 Problems of existing IOCs
 Most IOCs depend on non-volatile evidence
 Difficult to reuse for identifying variants
 e.g., filename, hash value, IP, URL
9
10
11
Extract indicators
from analysis
result
Define IOC using
IOC Editor [2]
Analyze RAM
using Redline [3]
Check the IOC
report
Find the cause of
false
positive/negative
 What kind of indicators can be defined?
 ProcessItem
 DriverItem
 HookItem
 ModuleItem (not sure)
 Useful indicators
 sign of code injection
 imported/exported functions
 strings
 header signature of data structure
 function/protocol related string
 de-obfuscated string
 process arguments
 etc...
12
 Generated volatile IOCs for famous
malware
 ZeuS
 SpyEye
 PoisonIvy
 ZeroAccess
 Used several samples per single-species
malware for the IOC generation
 Memory images were acquired on Windows
XP / 7
13
 ZeuS is a crimeware kit that was first
discovered around 2007
 It steals IDs like online banking accounts
by using web injection
 2.0.8.9 source code was leaked in
2011
 Several variants are discovered
 In more detail, see our report [4]
14
 ZeuS generates install information called PESETTINGS
 PESETTINGS is encrypted and saved with header as
“overlay”
 The header signature “DAVE” used
Signature
“DAVE”
15
 ZeuS injects itself into other processes
 Code-injected memory region has two differences in memory
management information (VAD: Virtual Address Descriptor)
Usual exe/dll
includes a pointer to
File Object
(memory mapped file)
VAD has
“protection flag”
about
read/write/execute
16
 File Object information = null
 protection flag =
EXECUTE_READ_WRITE
17
File Object
information
protection flag
Injected
True or False
 Imported functions indicate functions
of the malware
 Collecting information of infected
machines (e.g., GetLengthSid)
 Anti-Forensics (e.g., SetFileTime)
 code injection (e.g.,
CreateToolhelp32Snapshot)
 web injection (e.g., HttpSendRequest*)
18
 ZeuS obfuscates important strings
 The strings are decoded on the execution
 De-obfuscated strings are good indicators
19
 “imodule” variant [5]
 Many obfuscated strings are added
 e.g., New command downloads DLLs and execute their functions
 Citadel variant
 Not infect Russian/Ukrainian PCs (GetKeyboardLayoutList)
 Detect sandboxes for anti analysis
20
code injection sign
imported functions
de-obfuscated strings
indicators for
“imodule” variant
21
“overlay” signature
indicators for
Citadel variant
 3 variants used
 2.0.8 (source-code leaked version)
 “imodule” variant
 Citadel
All variants “imodule” specific
“citadel” specific
22
 Another Crimeware Kit after ZeuS
 1.3.45 builder cracked in 2011
 IIJ analyzed and reported its behavior [6]
 No update since 1.3.48?
 But the botnet is still active
23
 “C*” includes data
 C1: install configuration
 C2: config.bin
 C3: password for decrypting config.bin
 “SC*” includes code
 SC1: code for injection
 SC2: code for collecting C1 data
24
 SC2 uses C1 signature “!EYE”
25
 SpyEye uses 4-byte hash value for calling APIs
 Imported functions are not useful for IOC
26
 SpyEye includes plugin DLLs in config.bin
 The exported functions are unique
27
Most SpyEye variants
include this function
exported by the plugin
 De-obfuscated strings on execution
are good indicators
28
 Fixed format with characteristic strings
29
C1 signature
exported functions
of plugin DLL
code injection sign
characteristic strings
included in stolen data
de-obfuscated strings
30
 3 versions used
 1.3.10
 1.3.45 (compiled using builder)
 1.3.48
1.3.10 / 1.3.48 1.3.45
31
 RAT (Remote Access Tool) used for
targeted attack
 Everyone can download it at the web site
 The distributed version is 2.3.2
 It cannot run on Windows 7
 Some hackers patched to work well
 Some custom-built versions also exists
32
 PoisonIvy doesn’t inject its entire image [7]
 Redline cannot detect the injection
 Specify the description of protection flag
directly
 Caution: Redline 1.9.1 cannot display the
memory regions of fragmented code injection 
33
 Most PoisonIvy specimens injects twice
 explorer.exe
 create iexplore.exe process and inject code to it
 iexplore.exe (with “-nohome” argument)
 connect to Poison Ivy GUI client
 Rare specimens are stand-alone
34
 PIC (Position-Independent Code)
 Imported functions cannot be used
 Codes for most functions are sent from client
 There are few strings related to functions in the installed binary
 For identifying rare stand-alone specimens, use some strings
in RAM based on heuristics
 Not logical, but useful to some degree
35
36
the 2nd injection
the 1st injection
heuristic strings
 10 specimens used (1 stand-alone specimen)
 2.3.2 (distributed version)
 3 specimens used for targeted attacks
 6 samples collected from Malware.lu
code injection 1st code injection 2nd
stand alone variant
37
 Shift of ZeroAccess
 Communication
 from server-type botnet to P2P botnet
 Implementation
 from kernel-mode to user-mode
 Instructed to carry out click fraud and
Bitcoin mining, but not limited
38
 Dropper behavior
 extract main DLL from inline CAB and install
it
 inject code twice to explorer.exe
 old user-mode version patches services.exe
 bypass UAC misusing DLL load order in
Windows
 execute itself again as DLL with privilege
 Many indicators, but not useful
 The installed DLL is different binary
 After reboot, the dropper IOC vanishes
39
 P2P communication
 UDP
 send/receive bot commands
 All commands are encoded by rotation XOR
 TCP
 upload/download plugin files
 The callback functions differentiate socket status
by checking dword tags
40
 Low level APIs
 Zw* (e.g., ZwQueryEaFile)
 Ldr* (e.g., LdrGetProcedureAddress)
 Rtl* (e.g., RtlImageNtHeader)
 Crypt APIs
 e.g., CryptVerifySignatureW
41
 Imported functions in kernel driver
 e.g., KeInsertQueueApc
 Hidden volume accessed from user
process
 “ACPI#PNP0303#2&da1a3ff&0”
 The name seems to be unchanged
 Later user-mode ZeroAccess still checks it in
installation
42
43
hidden volume name
user-mode: XOR initial key
user-mode: socket status tags
user-mode: UDP bot commands
user-mode: imported functions
44
kernel-mode: imported
functions in driver
 4 specimens used
 2 samples of latest user-mode version
 old user-mode version (services.exe patched)
 kernel-mode version
latest/old user-mode kernel-mode
45
46
 ZeuS > SpyEye > ZeroAccess > PoisonIvy
 The more functions malware has, the more
indicators can be defined
 Detection of an entire image injection is a significant
indicator (ZeuS/SpyEye)
 Calling APIs based on hash values reduces indicators
(SpyEye/PoisonIvy)
 Variants identification
 Small change can be identified (ZeuS/SpyEye)
 Drastic change needs to be defined separately
(ZeroAccess)
47
 Not useful for detecting
droppers/downloaders (e.g., Pony)
 OpenIOC tools are great, but..
 cannot define binary patterns like YARA
 e.g., PIC in PoisonIvy
 cannot define “AND” combination of each
item
 .e.g., ProcessItem and DriverItem in ZeroAccess
 cannot define regular expression
 cannot automate examinations [8]
 closed-source 
48
49
 Volatile IOCs are effective for fast malware triage
 Function-related indicators in memory can identify most
variants
 Volatile IOC definitions require knowledge about
malware
 But everyone can use defined IOCs thanks to OpenIOC
 There are some limitations in OpenIOC tools
 I expect Mandiant to improve them or disclose the sources
 Future work
 Automation for scheduled tasks
 Open-source (Volatility + YARA + pyioc [9] + ?)
 Other specifications (CybOX [10] or IODEF [11] )
50
[1] The OpenIOC Framework (http://www.openioc.org/)
[2] IOC Editor
(http://www.mandiant.com/resources/download/ioc-editor/)
[3] Redline (http://www.mandiant.com/resources/download/redline)
[4] Internet Infrastructure Review (IIR) Vol.16, 1.4.3 ZeuS and its Variants
(http://www.iij.ad.jp/en/company/development/iir/pdf/iir_vol16_infra_EN.
pdf)
[5] Polite Variant of ZeuS
(http://www.f-secure.com/weblog/archives/00002292.html)
[6] Internet Infrastructure Review (IIR) Vol.13, 1.4.2 SpyEye
(http://www.iij.ad.jp/en/company/development/iir/pdf/iir_vol13_infra_EN.
pdf)
[7] Reverse Engineering Poison Ivy's Injected Code Fragments
(http://volatility-labs.blogspot.jp/2012/10/reverse-engineering-poison-
ivys.html)
[8] Can Redline be automated? Can the tool be scripted?
(https://forums.mandiant.com/topic/can-redline-be-automated-can-the-
tool-be-scripted)
[9] pyioc (https://github.com/jeffbryner/pyioc)
[10] Cyber Observable eXpression (http://cybox.mitre.org/)
[11] The Incident Object Description Exchange Format
(http://www.ietf.org/rfc/rfc5070.txt)
51
Volatile IOCs for Fast Incident Response
Volatile IOCs for Fast Incident Response
Volatile IOCs for Fast Incident Response
Volatile IOCs for Fast Incident Response
Volatile IOCs for Fast Incident Response

Contenu connexe

Tendances

REMnux tutorial-2: Extraction and decoding of Artifacts
REMnux tutorial-2: Extraction and decoding of ArtifactsREMnux tutorial-2: Extraction and decoding of Artifacts
REMnux tutorial-2: Extraction and decoding of ArtifactsRhydham Joshi
 
Windows Memory Forensic Analysis using EnCase
Windows Memory Forensic Analysis using EnCaseWindows Memory Forensic Analysis using EnCase
Windows Memory Forensic Analysis using EnCaseTakahiro Haruyama
 
Anomalies Detection: Windows OS - Part 1
Anomalies Detection: Windows OS - Part 1Anomalies Detection: Windows OS - Part 1
Anomalies Detection: Windows OS - Part 1Rhydham Joshi
 
Malware analysis using volatility
Malware analysis using volatilityMalware analysis using volatility
Malware analysis using volatilityYashashree Gund
 
REMnux Tutorial-3: Investigation of Malicious PDF & Doc documents
REMnux Tutorial-3: Investigation of Malicious PDF & Doc documentsREMnux Tutorial-3: Investigation of Malicious PDF & Doc documents
REMnux Tutorial-3: Investigation of Malicious PDF & Doc documentsRhydham Joshi
 
Two-For-One Talk: Malware Analysis for Everyone
Two-For-One Talk: Malware Analysis for EveryoneTwo-For-One Talk: Malware Analysis for Everyone
Two-For-One Talk: Malware Analysis for EveryonePaul Melson
 
Captain Hook: Pirating AVs to Bypass Exploit Mitigations
Captain Hook: Pirating AVs to Bypass Exploit MitigationsCaptain Hook: Pirating AVs to Bypass Exploit Mitigations
Captain Hook: Pirating AVs to Bypass Exploit MitigationsenSilo
 
Investigating Hackers' Tools
Investigating Hackers' ToolsInvestigating Hackers' Tools
Investigating Hackers' ToolsIsrael Umana
 
CNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbgCNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbgSam Bowne
 
Fuzzing the Media Framework in Android
Fuzzing the Media Framework in AndroidFuzzing the Media Framework in Android
Fuzzing the Media Framework in AndroidE Hacking
 
Metasploit & Windows Kernel Exploitation
Metasploit & Windows Kernel ExploitationMetasploit & Windows Kernel Exploitation
Metasploit & Windows Kernel ExploitationzeroSteiner
 
Revealing the Attack Operations Targeting Japan by Shusei Tomonaga & Yuu Nak...
Revealing the Attack Operations Targeting Japan by  Shusei Tomonaga & Yuu Nak...Revealing the Attack Operations Targeting Japan by  Shusei Tomonaga & Yuu Nak...
Revealing the Attack Operations Targeting Japan by Shusei Tomonaga & Yuu Nak...CODE BLUE
 
CNIT 126 Ch 0: Malware Analysis Primer & 1: Basic Static Techniques
CNIT 126 Ch 0: Malware Analysis Primer & 1: Basic Static TechniquesCNIT 126 Ch 0: Malware Analysis Primer & 1: Basic Static Techniques
CNIT 126 Ch 0: Malware Analysis Primer & 1: Basic Static TechniquesSam Bowne
 
Practical Malware Analysis Ch12
Practical Malware Analysis Ch12Practical Malware Analysis Ch12
Practical Malware Analysis Ch12Sam Bowne
 
Practical Malware Analysis: Ch 0: Malware Analysis Primer & 1: Basic Static T...
Practical Malware Analysis: Ch 0: Malware Analysis Primer & 1: Basic Static T...Practical Malware Analysis: Ch 0: Malware Analysis Primer & 1: Basic Static T...
Practical Malware Analysis: Ch 0: Malware Analysis Primer & 1: Basic Static T...Sam Bowne
 
Injection on Steroids: Codeless code injection and 0-day techniques
Injection on Steroids: Codeless code injection and 0-day techniquesInjection on Steroids: Codeless code injection and 0-day techniques
Injection on Steroids: Codeless code injection and 0-day techniquesenSilo
 
IDA Vulnerabilities and Bug Bounty  by Masaaki Chida
IDA Vulnerabilities and Bug Bounty  by Masaaki ChidaIDA Vulnerabilities and Bug Bounty  by Masaaki Chida
IDA Vulnerabilities and Bug Bounty  by Masaaki ChidaCODE BLUE
 
Would you Rather Have Telemetry into 2 Attacks or 20? An Insight Into Highly ...
Would you Rather Have Telemetry into 2 Attacks or 20? An Insight Into Highly ...Would you Rather Have Telemetry into 2 Attacks or 20? An Insight Into Highly ...
Would you Rather Have Telemetry into 2 Attacks or 20? An Insight Into Highly ...MITRE ATT&CK
 

Tendances (20)

REMnux tutorial-2: Extraction and decoding of Artifacts
REMnux tutorial-2: Extraction and decoding of ArtifactsREMnux tutorial-2: Extraction and decoding of Artifacts
REMnux tutorial-2: Extraction and decoding of Artifacts
 
Windows Memory Forensic Analysis using EnCase
Windows Memory Forensic Analysis using EnCaseWindows Memory Forensic Analysis using EnCase
Windows Memory Forensic Analysis using EnCase
 
Anomalies Detection: Windows OS - Part 1
Anomalies Detection: Windows OS - Part 1Anomalies Detection: Windows OS - Part 1
Anomalies Detection: Windows OS - Part 1
 
Malware analysis using volatility
Malware analysis using volatilityMalware analysis using volatility
Malware analysis using volatility
 
REMnux Tutorial-3: Investigation of Malicious PDF & Doc documents
REMnux Tutorial-3: Investigation of Malicious PDF & Doc documentsREMnux Tutorial-3: Investigation of Malicious PDF & Doc documents
REMnux Tutorial-3: Investigation of Malicious PDF & Doc documents
 
Two-For-One Talk: Malware Analysis for Everyone
Two-For-One Talk: Malware Analysis for EveryoneTwo-For-One Talk: Malware Analysis for Everyone
Two-For-One Talk: Malware Analysis for Everyone
 
Captain Hook: Pirating AVs to Bypass Exploit Mitigations
Captain Hook: Pirating AVs to Bypass Exploit MitigationsCaptain Hook: Pirating AVs to Bypass Exploit Mitigations
Captain Hook: Pirating AVs to Bypass Exploit Mitigations
 
Code Injection in Windows
Code Injection in WindowsCode Injection in Windows
Code Injection in Windows
 
Investigating Hackers' Tools
Investigating Hackers' ToolsInvestigating Hackers' Tools
Investigating Hackers' Tools
 
CNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbgCNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbg
 
Fuzzing the Media Framework in Android
Fuzzing the Media Framework in AndroidFuzzing the Media Framework in Android
Fuzzing the Media Framework in Android
 
Metasploit & Windows Kernel Exploitation
Metasploit & Windows Kernel ExploitationMetasploit & Windows Kernel Exploitation
Metasploit & Windows Kernel Exploitation
 
Revealing the Attack Operations Targeting Japan by Shusei Tomonaga & Yuu Nak...
Revealing the Attack Operations Targeting Japan by  Shusei Tomonaga & Yuu Nak...Revealing the Attack Operations Targeting Japan by  Shusei Tomonaga & Yuu Nak...
Revealing the Attack Operations Targeting Japan by Shusei Tomonaga & Yuu Nak...
 
CNIT 126 Ch 0: Malware Analysis Primer & 1: Basic Static Techniques
CNIT 126 Ch 0: Malware Analysis Primer & 1: Basic Static TechniquesCNIT 126 Ch 0: Malware Analysis Primer & 1: Basic Static Techniques
CNIT 126 Ch 0: Malware Analysis Primer & 1: Basic Static Techniques
 
Practical Malware Analysis Ch12
Practical Malware Analysis Ch12Practical Malware Analysis Ch12
Practical Malware Analysis Ch12
 
Practical Malware Analysis: Ch 0: Malware Analysis Primer & 1: Basic Static T...
Practical Malware Analysis: Ch 0: Malware Analysis Primer & 1: Basic Static T...Practical Malware Analysis: Ch 0: Malware Analysis Primer & 1: Basic Static T...
Practical Malware Analysis: Ch 0: Malware Analysis Primer & 1: Basic Static T...
 
Injection on Steroids: Codeless code injection and 0-day techniques
Injection on Steroids: Codeless code injection and 0-day techniquesInjection on Steroids: Codeless code injection and 0-day techniques
Injection on Steroids: Codeless code injection and 0-day techniques
 
IDA Vulnerabilities and Bug Bounty  by Masaaki Chida
IDA Vulnerabilities and Bug Bounty  by Masaaki ChidaIDA Vulnerabilities and Bug Bounty  by Masaaki Chida
IDA Vulnerabilities and Bug Bounty  by Masaaki Chida
 
Dll injection
Dll injectionDll injection
Dll injection
 
Would you Rather Have Telemetry into 2 Attacks or 20? An Insight Into Highly ...
Would you Rather Have Telemetry into 2 Attacks or 20? An Insight Into Highly ...Would you Rather Have Telemetry into 2 Attacks or 20? An Insight Into Highly ...
Would you Rather Have Telemetry into 2 Attacks or 20? An Insight Into Highly ...
 

En vedette

REMnux tutorial 4.1 - Datagrams, Fragmentation & Anomalies
REMnux tutorial 4.1 - Datagrams, Fragmentation & AnomaliesREMnux tutorial 4.1 - Datagrams, Fragmentation & Anomalies
REMnux tutorial 4.1 - Datagrams, Fragmentation & AnomaliesRhydham Joshi
 
Robots are Team Members, Too!
Robots are Team Members, Too!Robots are Team Members, Too!
Robots are Team Members, Too!Atlassian
 
Memory forensics
Memory forensicsMemory forensics
Memory forensicsSunil Kumar
 
Final Project Report Nadar
Final Project Report NadarFinal Project Report Nadar
Final Project Report NadarMaher Nadar
 
Anomalies Detection: Windows OS - Part 1
Anomalies Detection: Windows OS - Part 1Anomalies Detection: Windows OS - Part 1
Anomalies Detection: Windows OS - Part 1Rhydham Joshi
 

En vedette (8)

REMnux tutorial 4.1 - Datagrams, Fragmentation & Anomalies
REMnux tutorial 4.1 - Datagrams, Fragmentation & AnomaliesREMnux tutorial 4.1 - Datagrams, Fragmentation & Anomalies
REMnux tutorial 4.1 - Datagrams, Fragmentation & Anomalies
 
Robots are Team Members, Too!
Robots are Team Members, Too!Robots are Team Members, Too!
Robots are Team Members, Too!
 
Memory forensics
Memory forensicsMemory forensics
Memory forensics
 
Malware protection system
Malware protection systemMalware protection system
Malware protection system
 
Final Project Report Nadar
Final Project Report NadarFinal Project Report Nadar
Final Project Report Nadar
 
Anomalies Detection: Windows OS - Part 1
Anomalies Detection: Windows OS - Part 1Anomalies Detection: Windows OS - Part 1
Anomalies Detection: Windows OS - Part 1
 
Memory Forensics
Memory ForensicsMemory Forensics
Memory Forensics
 
List of Malwares
List of MalwaresList of Malwares
List of Malwares
 

Similaire à Volatile IOCs for Fast Incident Response

Formbook - In-depth malware analysis (Botconf 2018)
Formbook - In-depth malware analysis (Botconf 2018)Formbook - In-depth malware analysis (Botconf 2018)
Formbook - In-depth malware analysis (Botconf 2018)Rémi Jullian
 
Malware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdf
Malware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdfMalware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdf
Malware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdfAbhijit Mohanta
 
Oleksyk applied-anti-forensics
Oleksyk   applied-anti-forensicsOleksyk   applied-anti-forensics
Oleksyk applied-anti-forensicsDefconRussia
 
Malware freak show
Malware freak showMalware freak show
Malware freak showsr1nu
 
Op Sy 03 Ch 61
Op Sy 03 Ch 61Op Sy 03 Ch 61
Op Sy 03 Ch 61 Google
 
Chapter 09
Chapter 09Chapter 09
Chapter 09 Google
 
Reverse Engineering 101
Reverse Engineering 101Reverse Engineering 101
Reverse Engineering 101ysurer
 
Crisis. advanced malware
Crisis. advanced malwareCrisis. advanced malware
Crisis. advanced malwareYury Chemerkin
 
Application Security Guide for Beginners
Application Security Guide for Beginners Application Security Guide for Beginners
Application Security Guide for Beginners Checkmarx
 
Module 5 (system hacking)
Module 5 (system hacking)Module 5 (system hacking)
Module 5 (system hacking)Wail Hassan
 
Building Custom Android Malware BruCON 2013
Building Custom Android Malware BruCON 2013Building Custom Android Malware BruCON 2013
Building Custom Android Malware BruCON 2013Stephan Chenette
 
Piratng Avs to bypass exploit mitigation
Piratng Avs to bypass exploit mitigationPiratng Avs to bypass exploit mitigation
Piratng Avs to bypass exploit mitigationPriyanka Aash
 
The Hacking Games - Operation System Vulnerabilities Meetup 29112022
The Hacking Games - Operation System Vulnerabilities Meetup 29112022The Hacking Games - Operation System Vulnerabilities Meetup 29112022
The Hacking Games - Operation System Vulnerabilities Meetup 29112022lior mazor
 
Finfisher- Nguyễn Chấn Việt
Finfisher- Nguyễn Chấn ViệtFinfisher- Nguyễn Chấn Việt
Finfisher- Nguyễn Chấn ViệtSecurity Bootcamp
 
Reversing & Malware Analysis Training Part 9 - Advanced Malware Analysis
Reversing & Malware Analysis Training Part 9 -  Advanced Malware AnalysisReversing & Malware Analysis Training Part 9 -  Advanced Malware Analysis
Reversing & Malware Analysis Training Part 9 - Advanced Malware Analysissecurityxploded
 
.NET MALWARE THREAT: INTERNALS AND REVERSING DEF CON USA 2019
.NET MALWARE THREAT: INTERNALS AND REVERSING DEF CON USA 2019.NET MALWARE THREAT: INTERNALS AND REVERSING DEF CON USA 2019
.NET MALWARE THREAT: INTERNALS AND REVERSING DEF CON USA 2019Alexandre Borges
 

Similaire à Volatile IOCs for Fast Incident Response (20)

Formbook - In-depth malware analysis (Botconf 2018)
Formbook - In-depth malware analysis (Botconf 2018)Formbook - In-depth malware analysis (Botconf 2018)
Formbook - In-depth malware analysis (Botconf 2018)
 
Malware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdf
Malware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdfMalware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdf
Malware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdf
 
Oleksyk applied-anti-forensics
Oleksyk   applied-anti-forensicsOleksyk   applied-anti-forensics
Oleksyk applied-anti-forensics
 
Malware Freak Show
Malware Freak ShowMalware Freak Show
Malware Freak Show
 
Malware freak show
Malware freak showMalware freak show
Malware freak show
 
Op Sy 03 Ch 61
Op Sy 03 Ch 61Op Sy 03 Ch 61
Op Sy 03 Ch 61
 
Chapter 09
Chapter 09Chapter 09
Chapter 09
 
Reverse Engineering 101
Reverse Engineering 101Reverse Engineering 101
Reverse Engineering 101
 
Crisis. advanced malware
Crisis. advanced malwareCrisis. advanced malware
Crisis. advanced malware
 
Application Security Guide for Beginners
Application Security Guide for Beginners Application Security Guide for Beginners
Application Security Guide for Beginners
 
Module 5 (system hacking)
Module 5 (system hacking)Module 5 (system hacking)
Module 5 (system hacking)
 
Building Custom Android Malware BruCON 2013
Building Custom Android Malware BruCON 2013Building Custom Android Malware BruCON 2013
Building Custom Android Malware BruCON 2013
 
1780 1783
1780 17831780 1783
1780 1783
 
1780 1783
1780 17831780 1783
1780 1783
 
Rootkit case
Rootkit caseRootkit case
Rootkit case
 
Piratng Avs to bypass exploit mitigation
Piratng Avs to bypass exploit mitigationPiratng Avs to bypass exploit mitigation
Piratng Avs to bypass exploit mitigation
 
The Hacking Games - Operation System Vulnerabilities Meetup 29112022
The Hacking Games - Operation System Vulnerabilities Meetup 29112022The Hacking Games - Operation System Vulnerabilities Meetup 29112022
The Hacking Games - Operation System Vulnerabilities Meetup 29112022
 
Finfisher- Nguyễn Chấn Việt
Finfisher- Nguyễn Chấn ViệtFinfisher- Nguyễn Chấn Việt
Finfisher- Nguyễn Chấn Việt
 
Reversing & Malware Analysis Training Part 9 - Advanced Malware Analysis
Reversing & Malware Analysis Training Part 9 -  Advanced Malware AnalysisReversing & Malware Analysis Training Part 9 -  Advanced Malware Analysis
Reversing & Malware Analysis Training Part 9 - Advanced Malware Analysis
 
.NET MALWARE THREAT: INTERNALS AND REVERSING DEF CON USA 2019
.NET MALWARE THREAT: INTERNALS AND REVERSING DEF CON USA 2019.NET MALWARE THREAT: INTERNALS AND REVERSING DEF CON USA 2019
.NET MALWARE THREAT: INTERNALS AND REVERSING DEF CON USA 2019
 

Dernier

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Dernier (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

Volatile IOCs for Fast Incident Response

  • 2.  Background  Volatile IOCs  Discussion  Wrap-up 2
  • 3. 3
  • 4.  Malware makes advance for persistence  Evading AV detection  e.g., SpyEye web panel provides AV tester for generated bots  Reliable installation  e.g., ZeroAccess suspends (and disables if possible) OS security functions before its installation  We can’t avoid malware infection  If infected once, forensic investigation and malware analysis are needed 4
  • 6. 6 Important for fast triage Several Hours Several Days
  • 7. 7 Experts Identify the kind of malware -> figure out malware behavior early Intermediate analysts Find suspicious process/driver/connection -> useful, but not sure Experience/knowledge required
  • 8. Technical characteristics •file system •registry hive •network, etc... IOC XML formatted information describing known threats 8  Technical characteristics of known threats from an expert point of view  OpenIOC [1]  An extensible XML schema for defining IOC  It enables to share expert knowledge easily
  • 9.  Malware identification on memory forensics phase is effective for fast triage  OpenIOC fills the gap between experts and ordinary analysts  Problems of existing IOCs  Most IOCs depend on non-volatile evidence  Difficult to reuse for identifying variants  e.g., filename, hash value, IP, URL 9
  • 10. 10
  • 11. 11 Extract indicators from analysis result Define IOC using IOC Editor [2] Analyze RAM using Redline [3] Check the IOC report Find the cause of false positive/negative
  • 12.  What kind of indicators can be defined?  ProcessItem  DriverItem  HookItem  ModuleItem (not sure)  Useful indicators  sign of code injection  imported/exported functions  strings  header signature of data structure  function/protocol related string  de-obfuscated string  process arguments  etc... 12
  • 13.  Generated volatile IOCs for famous malware  ZeuS  SpyEye  PoisonIvy  ZeroAccess  Used several samples per single-species malware for the IOC generation  Memory images were acquired on Windows XP / 7 13
  • 14.  ZeuS is a crimeware kit that was first discovered around 2007  It steals IDs like online banking accounts by using web injection  2.0.8.9 source code was leaked in 2011  Several variants are discovered  In more detail, see our report [4] 14
  • 15.  ZeuS generates install information called PESETTINGS  PESETTINGS is encrypted and saved with header as “overlay”  The header signature “DAVE” used Signature “DAVE” 15
  • 16.  ZeuS injects itself into other processes  Code-injected memory region has two differences in memory management information (VAD: Virtual Address Descriptor) Usual exe/dll includes a pointer to File Object (memory mapped file) VAD has “protection flag” about read/write/execute 16
  • 17.  File Object information = null  protection flag = EXECUTE_READ_WRITE 17 File Object information protection flag Injected True or False
  • 18.  Imported functions indicate functions of the malware  Collecting information of infected machines (e.g., GetLengthSid)  Anti-Forensics (e.g., SetFileTime)  code injection (e.g., CreateToolhelp32Snapshot)  web injection (e.g., HttpSendRequest*) 18
  • 19.  ZeuS obfuscates important strings  The strings are decoded on the execution  De-obfuscated strings are good indicators 19
  • 20.  “imodule” variant [5]  Many obfuscated strings are added  e.g., New command downloads DLLs and execute their functions  Citadel variant  Not infect Russian/Ukrainian PCs (GetKeyboardLayoutList)  Detect sandboxes for anti analysis 20
  • 21. code injection sign imported functions de-obfuscated strings indicators for “imodule” variant 21 “overlay” signature indicators for Citadel variant
  • 22.  3 variants used  2.0.8 (source-code leaked version)  “imodule” variant  Citadel All variants “imodule” specific “citadel” specific 22
  • 23.  Another Crimeware Kit after ZeuS  1.3.45 builder cracked in 2011  IIJ analyzed and reported its behavior [6]  No update since 1.3.48?  But the botnet is still active 23
  • 24.  “C*” includes data  C1: install configuration  C2: config.bin  C3: password for decrypting config.bin  “SC*” includes code  SC1: code for injection  SC2: code for collecting C1 data 24
  • 25.  SC2 uses C1 signature “!EYE” 25
  • 26.  SpyEye uses 4-byte hash value for calling APIs  Imported functions are not useful for IOC 26
  • 27.  SpyEye includes plugin DLLs in config.bin  The exported functions are unique 27 Most SpyEye variants include this function exported by the plugin
  • 28.  De-obfuscated strings on execution are good indicators 28
  • 29.  Fixed format with characteristic strings 29
  • 30. C1 signature exported functions of plugin DLL code injection sign characteristic strings included in stolen data de-obfuscated strings 30
  • 31.  3 versions used  1.3.10  1.3.45 (compiled using builder)  1.3.48 1.3.10 / 1.3.48 1.3.45 31
  • 32.  RAT (Remote Access Tool) used for targeted attack  Everyone can download it at the web site  The distributed version is 2.3.2  It cannot run on Windows 7  Some hackers patched to work well  Some custom-built versions also exists 32
  • 33.  PoisonIvy doesn’t inject its entire image [7]  Redline cannot detect the injection  Specify the description of protection flag directly  Caution: Redline 1.9.1 cannot display the memory regions of fragmented code injection  33
  • 34.  Most PoisonIvy specimens injects twice  explorer.exe  create iexplore.exe process and inject code to it  iexplore.exe (with “-nohome” argument)  connect to Poison Ivy GUI client  Rare specimens are stand-alone 34
  • 35.  PIC (Position-Independent Code)  Imported functions cannot be used  Codes for most functions are sent from client  There are few strings related to functions in the installed binary  For identifying rare stand-alone specimens, use some strings in RAM based on heuristics  Not logical, but useful to some degree 35
  • 36. 36 the 2nd injection the 1st injection heuristic strings
  • 37.  10 specimens used (1 stand-alone specimen)  2.3.2 (distributed version)  3 specimens used for targeted attacks  6 samples collected from Malware.lu code injection 1st code injection 2nd stand alone variant 37
  • 38.  Shift of ZeroAccess  Communication  from server-type botnet to P2P botnet  Implementation  from kernel-mode to user-mode  Instructed to carry out click fraud and Bitcoin mining, but not limited 38
  • 39.  Dropper behavior  extract main DLL from inline CAB and install it  inject code twice to explorer.exe  old user-mode version patches services.exe  bypass UAC misusing DLL load order in Windows  execute itself again as DLL with privilege  Many indicators, but not useful  The installed DLL is different binary  After reboot, the dropper IOC vanishes 39
  • 40.  P2P communication  UDP  send/receive bot commands  All commands are encoded by rotation XOR  TCP  upload/download plugin files  The callback functions differentiate socket status by checking dword tags 40
  • 41.  Low level APIs  Zw* (e.g., ZwQueryEaFile)  Ldr* (e.g., LdrGetProcedureAddress)  Rtl* (e.g., RtlImageNtHeader)  Crypt APIs  e.g., CryptVerifySignatureW 41
  • 42.  Imported functions in kernel driver  e.g., KeInsertQueueApc  Hidden volume accessed from user process  “ACPI#PNP0303#2&da1a3ff&0”  The name seems to be unchanged  Later user-mode ZeroAccess still checks it in installation 42
  • 43. 43 hidden volume name user-mode: XOR initial key user-mode: socket status tags user-mode: UDP bot commands user-mode: imported functions
  • 45.  4 specimens used  2 samples of latest user-mode version  old user-mode version (services.exe patched)  kernel-mode version latest/old user-mode kernel-mode 45
  • 46. 46
  • 47.  ZeuS > SpyEye > ZeroAccess > PoisonIvy  The more functions malware has, the more indicators can be defined  Detection of an entire image injection is a significant indicator (ZeuS/SpyEye)  Calling APIs based on hash values reduces indicators (SpyEye/PoisonIvy)  Variants identification  Small change can be identified (ZeuS/SpyEye)  Drastic change needs to be defined separately (ZeroAccess) 47
  • 48.  Not useful for detecting droppers/downloaders (e.g., Pony)  OpenIOC tools are great, but..  cannot define binary patterns like YARA  e.g., PIC in PoisonIvy  cannot define “AND” combination of each item  .e.g., ProcessItem and DriverItem in ZeroAccess  cannot define regular expression  cannot automate examinations [8]  closed-source  48
  • 49. 49
  • 50.  Volatile IOCs are effective for fast malware triage  Function-related indicators in memory can identify most variants  Volatile IOC definitions require knowledge about malware  But everyone can use defined IOCs thanks to OpenIOC  There are some limitations in OpenIOC tools  I expect Mandiant to improve them or disclose the sources  Future work  Automation for scheduled tasks  Open-source (Volatility + YARA + pyioc [9] + ?)  Other specifications (CybOX [10] or IODEF [11] ) 50
  • 51. [1] The OpenIOC Framework (http://www.openioc.org/) [2] IOC Editor (http://www.mandiant.com/resources/download/ioc-editor/) [3] Redline (http://www.mandiant.com/resources/download/redline) [4] Internet Infrastructure Review (IIR) Vol.16, 1.4.3 ZeuS and its Variants (http://www.iij.ad.jp/en/company/development/iir/pdf/iir_vol16_infra_EN. pdf) [5] Polite Variant of ZeuS (http://www.f-secure.com/weblog/archives/00002292.html) [6] Internet Infrastructure Review (IIR) Vol.13, 1.4.2 SpyEye (http://www.iij.ad.jp/en/company/development/iir/pdf/iir_vol13_infra_EN. pdf) [7] Reverse Engineering Poison Ivy's Injected Code Fragments (http://volatility-labs.blogspot.jp/2012/10/reverse-engineering-poison- ivys.html) [8] Can Redline be automated? Can the tool be scripted? (https://forums.mandiant.com/topic/can-redline-be-automated-can-the- tool-be-scripted) [9] pyioc (https://github.com/jeffbryner/pyioc) [10] Cyber Observable eXpression (http://cybox.mitre.org/) [11] The Incident Object Description Exchange Format (http://www.ietf.org/rfc/rfc5070.txt) 51