SlideShare a Scribd company logo
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease
The
Disease
Your
Researchers
Today
Jurriaan Bremer
Cuckoo Sandbox, Freelancer
Marion Marschalek
Cyphort Inc.
Back
in
time
...
Visual Basic 6.0
Microsoft, 1998
Object-based / event-driven
Rapid Application Development
Replaced by VB .NET in 2002
End of support in 2008
Google
agrees.
2000: Pikachu Worm
• pikachupokemon.exe – „Pikachu is your friend!“
• Modifies AUTOEXEC.BAT
to remove C:WINDOWS and
C:WINDOBadWSsystem32
• Bad coding...
2005: Kelvir Worm
• Spreads through MSN Messenger by
„lol! see it! u'll like it” message
• Message points to omg.pif on
home.earthlink.net
• Spreads further & downloads
and executes other malware
2009: Changeup Worm
• Polymorphic
• Spreads through removable media and shared
folders by 'LNK/PIF' Files
Automatic File Execution
Vulnerability
• Downloads other malware
So.. why
are we here?
VB6
IS
NOT
DEAD
VB6 101
1991: Visual Basic born
1998: Visual Basic 5.0/6.0 p-code and native code
2002: VB.NET and MSIL byte code
NATIVE
CODE
PSEUDO
CODE
P-Code
Translation
P-code mnemonics
interpreted
by msvbvm60.dll
handler13:
ExitProcHresult
...
handler14:
ExitProc
...
handler15:
ExitProcI2
...
... FC C8 13 76 ...
ProcCallEngine Jumptables
Instruction Handler
pushes integer onto the stack
Instruction Handler
pushes integer onto the stack
Instruction Handler
pushes integer onto the stack
Hello World!
Hello World!
Hello World!
Ou lá lá...
HELLOU WORLD ^^
Classical
Analysis
Approaches
DONT WORK.
Existing VB Stuff
•VB Decompiler
•Tequila Debugger
•IDA Scripts
•Peter Ferrie, Masaki Suenaga
Most Advanced
Sophisticated Private
Cloud-based Big Data
Intelligence Cyber
Solution! (tm)
MASPCbBDICS
FAIL COMPILATION
Everything that didnt work...
DYNAMIC
ANALYSIS
DECOMPILATION
ADVANCED
STATIC
ANALYSIS
DEBUGGING
DEBUGGING
DEBUGGING
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease
V00D00 MAGIX
Most Advanced Sophisticated Private
Cloud-based Big Data Intelligence
Cyber Solution
See which instructions are executed.
Monitor interesting events as they happen.
Inspect referenced strings, memory, and x86 code.
VB6 Instrumentation
Patch the 6 jumptables!
Generic
Instrument everything
Capture everything
Create Statistics
Specific
Implementing specific
instruction handlers
“OpenFile” - filename
Patching A Function Handler
Patch original address with our custom assembly stub
1. Store current register / stack state
2. Call custom instruction handler
3. Pass registers as parameters
4. Do STUFF
5. Restore original state
Jump to original
function handler.
Life goes on.
Tailored Reporting For VB6
Custom printf()
• BSTR unicode string with its size prepended
• VARIANT generic wrapper around int, str, etc.
Custom hexdump() to aid debugging
Slightly modified
Cuckoo Sandbox
Execute the sample
with our custom DLL
Cuckoofy
It
VB6 ANALYSIS
Obfuscation and garbage
Anti-X features
Three ways to call
external functions
The Somewhat Peculiar
Results aka. Disease
Import Address Table (IAT)
Only legitimate VB6 VM methods
Dynamically Resolved Functions
VB6 feature: DllFunctionCall
Runtime decryption of API names
WesumeThread,
ZwWriteQirtualMemory,
TetExitCodeThread
Execute native x86
Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease
x86 to call
CreateThread()
other x86 code in
a new thread
The Yet To Be
Identified
Infamous Anti-Cuckoo
Feature (c)
Thank You!
Project @ https://github.com/jbremer/vb6tracer

More Related Content

PDF
IzPack at Devoxx 2010
PPTX
Microsoft & Open Source - a 'brave new world' - ProgSCon 2017
PDF
Containers what are they, and why are they important v2.1
PDF
Git Money
PDF
Introduction to Docker
PPTX
Telehack: May the Command Line Live Forever
PDF
Aide 2014 - Fundamentals of Linux Privilege Escalation
PDF
Device inspection to remote root
IzPack at Devoxx 2010
Microsoft & Open Source - a 'brave new world' - ProgSCon 2017
Containers what are they, and why are they important v2.1
Git Money
Introduction to Docker
Telehack: May the Command Line Live Forever
Aide 2014 - Fundamentals of Linux Privilege Escalation
Device inspection to remote root

What's hot (14)

PDF
ifwt remote (sydney ruxmon edition)
PDF
Practically DROWNing
PPTX
My virtual firewall
PPTX
Kali net hunter
PPTX
Kwort Linux 4.3 the new stable version is released
PPTX
Find the Hacker
PDF
Streamlining HPC Workloads with Containers
PPTX
BSides Algiers - Metasploit framework - Oussama Elhamer
PPTX
Metasploit for Web Workshop
PPTX
20160929 android taipei Sonatype nexus on amazon ec2
PPTX
So Easy, A Ten Year Old Can Do It by Zeph Gardler
PPTX
The internet of $h1t
PPTX
Enemy at the gates: vulnerability research in embedded appliances
PDF
Exploiting Llinux Environment
ifwt remote (sydney ruxmon edition)
Practically DROWNing
My virtual firewall
Kali net hunter
Kwort Linux 4.3 the new stable version is released
Find the Hacker
Streamlining HPC Workloads with Containers
BSides Algiers - Metasploit framework - Oussama Elhamer
Metasploit for Web Workshop
20160929 android taipei Sonatype nexus on amazon ec2
So Easy, A Ten Year Old Can Do It by Zeph Gardler
The internet of $h1t
Enemy at the gates: vulnerability research in embedded appliances
Exploiting Llinux Environment
Ad

Similar to Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease (20)

PDF
EMBA Firmware analysis - TROOPERS22
PPT
Puppet at DemonWare - Ruaidhri Power - Puppetcamp Dublin '12
PDF
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
PDF
ITB 2023 Creating and managing a QA focused production-replicating environmen...
PDF
IDA Vulnerabilities and Bug Bounty  by Masaaki Chida
PDF
Larson Macaulay apt_malware_past_present_future_out_of_band_techniques
PDF
Practical Malware Analysis: Ch 10: Kernel Debugging with WinDbg
PDF
EMBA - Firmware analysis DEFCON30 demolabs USA 2022
PDF
Project Basecamp: News From Camp 4
PPTX
BSides LV 2016 - Beyond the tip of the iceberg - fuzzing binary protocols for...
PDF
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
PDF
PHP Backends for Real-Time User Interaction using Apache Storm.
PPTX
Reverse Engineering the TomTom Runner pt. 1
PDF
Iot Bootcamp - abridged - part 1
PDF
DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...
DOCX
Project Malware AnalysisCS 6262 Project 3Agenda.docx
PDF
Beefing Up AIR - FITC AMS 2012
PDF
IzPack - PoitouJUG
PDF
Automating Security Response with Serverless
PDF
Breaking Smart Speakers: We are Listening to You.
EMBA Firmware analysis - TROOPERS22
Puppet at DemonWare - Ruaidhri Power - Puppetcamp Dublin '12
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
ITB 2023 Creating and managing a QA focused production-replicating environmen...
IDA Vulnerabilities and Bug Bounty  by Masaaki Chida
Larson Macaulay apt_malware_past_present_future_out_of_band_techniques
Practical Malware Analysis: Ch 10: Kernel Debugging with WinDbg
EMBA - Firmware analysis DEFCON30 demolabs USA 2022
Project Basecamp: News From Camp 4
BSides LV 2016 - Beyond the tip of the iceberg - fuzzing binary protocols for...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
PHP Backends for Real-Time User Interaction using Apache Storm.
Reverse Engineering the TomTom Runner pt. 1
Iot Bootcamp - abridged - part 1
DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...
Project Malware AnalysisCS 6262 Project 3Agenda.docx
Beefing Up AIR - FITC AMS 2012
IzPack - PoitouJUG
Automating Security Response with Serverless
Breaking Smart Speakers: We are Listening to You.
Ad

More from Area41 (11)

PDF
Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...
PDF
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...
PDF
Rob "Mubix" Fuller: Attacker Ghost Stories
PPTX
Halvar Flake: Why Johnny can’t tell if he is compromised
PDF
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
PDF
hashdays 2011: Mikko Hypponen - Keynote
PDF
hashdays 2011: Felix 'FX' Lindner - Targeted Industrial Control System Attack...
PDF
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...
PDF
hashdays 2011: Christian Bockermann - Protecting Databases with Trees
PDF
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...
PDF
hashdays 2011: Jean-Philippe Aumasson - Cryptanalysis vs. Reality
Ange Albertini and Gynvael Coldwind: Schizophrenic Files – A file that thinks...
Marc Ruef: Adventures in a Decade of Tracking and Consolidating Security Vuln...
Rob "Mubix" Fuller: Attacker Ghost Stories
Halvar Flake: Why Johnny can’t tell if he is compromised
hashdays 2011: Tobias Ospelt - Reversing Android Apps - Hacking and cracking ...
hashdays 2011: Mikko Hypponen - Keynote
hashdays 2011: Felix 'FX' Lindner - Targeted Industrial Control System Attack...
hashdays 2011: Sniping Slowloris - Taking out DDoS attackers with minimal har...
hashdays 2011: Christian Bockermann - Protecting Databases with Trees
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...
hashdays 2011: Jean-Philippe Aumasson - Cryptanalysis vs. Reality

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Encapsulation theory and applications.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
Teaching material agriculture food technology
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Empathic Computing: Creating Shared Understanding
PDF
Network Security Unit 5.pdf for BCA BBA.
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
20250228 LYD VKU AI Blended-Learning.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Mobile App Security Testing_ A Comprehensive Guide.pdf
MYSQL Presentation for SQL database connectivity
Dropbox Q2 2025 Financial Results & Investor Presentation
Encapsulation theory and applications.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Teaching material agriculture food technology
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Empathic Computing: Creating Shared Understanding
Network Security Unit 5.pdf for BCA BBA.
The AUB Centre for AI in Media Proposal.docx
Understanding_Digital_Forensics_Presentation.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Digital-Transformation-Roadmap-for-Companies.pptx

Juriaan Bremer und Marion Marschalek: Curing A 15 Year Old Disease