Malware Analysis
Malware Analysis
Dynamic Analysis
• Running malware deliberately, while
monitoring the results
• Requires a safe environment
• Must prevent malware from spreading to
production machines
• Real machines can be airgapped –no network
connection to the Internet or to other
machines
Real Machines
• Disadvantages
– No Internet connection, so parts of the malware
may not work
– Can be difficult to remove malware, so re-imaging
the machine will be necessary
• Advantage
– Some malware detects virtual machines and won't
run properly in one
Virtual Machines
• The most common method
• We'll do it that way
• This protects the host machine from the
malware
– Except for a few very rare cases of malware that
escape the virtual machine and infect the host
VMware Player
• Free but limited
• Cannot take snapshots
• VMware Workstation or Fusion is a better
choice, but they cost money
• You could also use VirtualBox, Hyper-V,
Parallels, or Xen.
Windows XP
• The malware we are analyzing targets
Windows XP, as most malware does
• The DVD handed out in class contains a Win
XP SP3 virtual machine for you to use
Configuring VMware
• You can disable networking by disconnecting
the virtual network adapter
• Host-only networking allows network traffic to
the host but not the Internet
Connecting Malware to the Internet
• NAT mode lets VMs see each other and the
Internet, but puts a virtual router between the
VM and the LAN
• Bridged networking connects the VM directly
to the LAN
• Can allow malware to do some harm or spread
– controversial
• You could send spam or participate in a DDoS
attack
Snapshots
Risks of Using VMware for Malware
Analysis
• Malware may detect that it is in a VM and run
differently
• VMware has bugs: malware may crash or
exploit it
• Malware may spread or affect the host – don't
use a sensitive host machine
• All the textbook samples are harmless
Practical Malware Analysis
Default Filters
Start/Stop Erase Filter Registry, File system, Network, Processes
Capture
Filtering with Exclude
• One technique: hide normal activity before
launching malware
• Right-click each Process Name and click
Exclude
• Doesn't seem to work well with these samples
Filtering with Include
• Most useful filters: Process Name, Operation,
and Detail
Viewing Processes with
Process Explorer
Coloring
• Services are pink
• Processes are blue
• New processes are green briefly
• Terminated processes are red
DLL Mode
Properties
• Shows DEP and
ASLR status
• Verify button
checks the disk
file's Windows
signature
– But not the RAM
image, so it won't
detect process
replacement
Strings
• Compare Image to
Memory strings, if
they are very
different, it can
indicate process
replacement
Detecting Malicious Documents
• Open the document (e.g. PDF) on a system
with a vulnerable application
• Watch Process Explorer to see if it launches a
process
• The Image tab of that process's Properties
sheet will show where the malware is
Comparing Registry Snapshots
with Regshot
Faking a Network
Using ApateDNS to Redirect DNS
Resolutions
ApateDNS Does Not Work
• I couldn't get it to redirect any traffic in Win XP
or 7
• nslookup works, but you don't see anything in
a browser or with ping
• I decided to ignore it and use INetSim instead
Monitoring with Ncat
(included with Nmap)
Packet Sniffing with Wireshark
Follow TCP Stream
• Can safe
files from
streams
here too
Using INetSim
inetsim
INetSim Fools a Browser
INetSim
Fools
Nmap
Basic Dynamic Tools in Practice
Using the Tools
• Procmon
– Filter on the malware executable name and clear
all events just before running it
• Process Explorer
• Regshot
• Virtual Network with INetSim
• Wireshark