@obilodeau
@hugospns
Cybersecurity Researcher at GoSecure
Previously
Malware Researcher at ESET
Infosec lecturer at ETS University in Montreal
Infosec developer, network admin, linux system admin
Co-founder Montrehack (hands-on security workshops)
VP Training and Hacker Jeopardy at NorthSec
Computer engineering student @ PolyMTL
Director @ PolyHack
Co-chapter leader (Audio, Recording and Streaming) @ OWASP Montreal
Member of Jose Fernandez’s SecSI lab @ PolyMTL
Vulnerability Research Intern @ Wurldtech
Former Intern @ ESET
Why?
What?
Where?
Say whaat!?
@obilodeau
@hugospns
Vanilla XP VMs (or more recent versions)
No trace of a previous user
Manual customization
Can lead to cross-infected VMs
Can’t build or reuse templates
Also time consuming
Not accessible to newcomers
Easy to mess things up
Team work is hard (tools don’t encourage it)
Building a credible environment is time consuming
Malware is doing analysis detection
Anti-VMs like red pill, sldt instruction
Not reliable on multicore systems or when acceleration is deactivated.
Anti-debugging
Debugger plugins
System fingerprinting
What is really available ?
One chance to get noticed as interesting or else its too late
Your IP could be banned
Has to be credible
Why would the devops people have all the fun?
Core principle: Infrastructure as code
Reproducible
Throw-away
Efficient
Reusing existing devops tools
packer: machine image builder
vagrant: configure reproducible operating environments
WinRM: Windows Remote Management
2 years ago this wasn’t possible
Borrowed some configs from Mark Andrew Dwyer’s packer-malware
Chocolatey
Hashicorp tools and community
Tools automatically installed based on profiles
all sysinternal tools
windbg
putty
fiddler
wireshark
Malware behaves differently in different contexts
You know the target of the APT you are tracking and you want to fool them
In as little time as possible
Manual recon
Lists:
Last opened files
Directories
What’s on the Desktop
Systeminfo
Useful for: User, install date, hardware info
UNC / Shared drives fingerprinting
Active Directory fingerprinting
Left as an exercise to the reader
git clone https://github.com/GoSecure/malboxes.git
You use malboxes.py to build a profile
Then it builds a vagrant box
for you
And you spin a Vagrantfile
for each of your analysis
Registry - Modifies the Windows Registry (add, modify, delete)
Document - Add or delete a file
Directory - Add or delete a directory
Package - Adds a Chocolatey package to install
Build - Build the virtualbox image
Spin - Create a Vagrantfile
for your analysis case
Reduce art, augment science
Get new people into malware analysis
Improve workflow of seasoned analyst/teams
Implement anti VM-detection tricks
Higher level constructs to build interesting targets
Active Directory integration
Generate random honeydocs based on a theme
Document a proper team workflow
It’s all in TODO.adoc
Join the fun!
Joan Calvet for tips and help
Marc-Etienne M. Leveille for suggestions and link to Olivier
Jurriaan Bremer for help with VMCloak
Jose Fernandez and the lab team for tips and sponsorship
Jessy Campos for pushing me
My family, friends and girlfriend for support
@obilodeau
@hugospns