SlideShare a Scribd company logo
Discovering Vulnerabilities
For Fun and Profit
Who Am I
• Founder, 3S Labs – Information Security Services Startup
• Security Tools
• Wireplay – TCP Session Replay for Network Protocol Fuzzing
• RbWinDBG – Ruby interface to Windows Debugger API
• HiDump – Injected Code Extraction Tool (Windows only)
• […]
• Security Research (CVE)
• Microsoft Office
• IBM Tivoli Endpoint Manager
• HP Siteprotect
• […]
@abh1sek abhisek
Linus Law
“Given enough eyeballs,
all bugs are shallow”
Fuzzing
Mutation
Generation
The “Practical” Shallow Bugs
ActiveX1.bin – Rich Control Embedded in Word Document
MSCOMCTL!DLLGetDocumentation+XXX:
6f5164d2 f3a5 rep movs dword ptr es:[edi],dword ptr [esi]
The Magic Technique
Now .. The Magic Tool
http://lcamtuf.coredump.cx/afl/
An approach towards Finding Vulnerabilities
Features
Attack
Surfaces
Architecture &
Components
Protocol
Analysis
Targeted
Fuzzing
Static Analysis
Attack Surface Analysis – Microsoft OOXML
• The Past
• Multiple vulnerabilities while processing binary records
• Multiple vulnerabilities in processing embedded objects (image / flash)
• […]
• What’s new?
• Microsoft OOXML File Format
• (Almost) all features of Office Binary File Format represented through XML
• ZIP File Format based container (instead of OLE Structured Storage)
Attack Surface Analysis – Microsoft OOXML
https://msdn.microsoft.com/en-us/library/aa338205(v=office.12).aspx
Fuzzing Microsoft Office - OOXML
• What will probably not work?
• Binary fuzzing (bit flip) on input file.
• They are just ZIP files !
• XML tag mutation
• It will just hit the XML parser which should be matured.
• What will probably work ?
• XML mutation
• Hit the application states and NOT the XML parser
• XML attributes
• Not very different from blind binary fuzzing (bit flip)
• These are used to prepare and render objects
OOXML – XML Mutation
CVE 
OOXML – XML Attribute Fuzzing
CVE 
OOXML – XML Attribute Fuzzing
CVE 
Architecture Analysis – IBM Tivoli EM
• Enterprise endpoint management
• Single agent for endpoint self-assessment and policy enforcement
• Near real-time visibility and control from single dashboard
• Target specific actions to an exact type of endpoint configuration or user type
• Primary Components
• Root Server
• Reports Server
• Agent
Architecture Analysis – IBM Tivoli EM
Root Server AgentAgentAgentAgentTCP: 5231
S/MIME Signed HTTP
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli+Endpoint+Manager/page/REST+API
• All HTTP transactions are S/MIME signed.
• Any HTTP request with signature mismatch will be ignored.
• Now?
Fuzzing – IBM Tivoli EM
Root Server
TCP: 5231
S/MIME Signing Proxy
HTTP Request Fuzzer
( Burp / SPIKE / !! )
• Intercept communication between Agent and Root Server
• Replay and fuzz intercepted HTTP requests
• S/MIME sign HTTP requests through proxy
Burp plugin to sign HTTP request for Tivoli EM:
https://gist.github.com/abhisek/f69f0ead1d9292cfc68260423819780d
Static Analysis – Dameware Mini Remote Control
• Why?
• Custom binary protocol
• Encrypted packets
• No documentation on protocol
• Not too much prior work on DMRC reverse engineering
• Objective
• Identify “crypto container”
• Fuzz DMRC by replaying interception communication
• Decrypt > Mutate > Encrypt > Send to Server
Static Analysis – DMRC Protocol
DMRC Client to Agent Communication – Whats This?
Static Analysis – DMRC Client
DMRC Case
• 1 day to setup and analyze network infrastructure
• 1 day to survey protocol documentation without luck
• ~3 days to reverse engineer the handshake protocol encryption
• 2 days of fuzzing effort
• Results?
• 2 crashes – None exploitable
• No CVE !! 
Was it worth the effort ?
Static Analysis – Other Approaches
• Taint Analysis
• IDA Plugin to manually mark sinks & compute path from any point in code to
sinks.
• Binary Analysis Platform
• A useful framework to implement various algorithms to “infer” possible
vulnerabilities.
https://github.com/BinaryAnalysisPlatform/bap
There will ALWAYS be another vulnerability..
• Security Researcher
• How to find maximum exploitable vulnerabilities in minimum or at least
practically feasible time window.
• Developer
• Maximize cost of finding exploitable vulnerabilities through
securing coding practices and platform hardening.
Thanks for listening 
Questions?
@abh1sek abhisek

More Related Content

PDF
CNIT 127 Ch 16: Fault Injection and 17: The Art of Fuzzing
PPTX
My internwork
 
PDF
CNIT 126: Ch 2 & 3
PDF
Software cracking and patching
PPTX
Code review and security audit in private cloud - Arief Karfianto
PPTX
Game On! Exploring Microservices with a Text-Based Adventure Game
PDF
BlueHat v18 || Linear time shellcode detection using state machines and opera...
PDF
Robot Framework with actual robot
CNIT 127 Ch 16: Fault Injection and 17: The Art of Fuzzing
My internwork
 
CNIT 126: Ch 2 & 3
Software cracking and patching
Code review and security audit in private cloud - Arief Karfianto
Game On! Exploring Microservices with a Text-Based Adventure Game
BlueHat v18 || Linear time shellcode detection using state machines and opera...
Robot Framework with actual robot

What's hot (20)

PPT
PDF
CNIT 124 Ch 13: Post Exploitation (Part 1)
PPTX
Practical Malware Analysis: Ch 2 Malware Analysis in Virtual Machines & 3: Ba...
PDF
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis
PPTX
Chain of Responsibility Pattern
ODP
CouchDB @ PoliMi
PDF
Hyperledger Cello Feb 20, 2018
PDF
CNIT 126 Ch 9: OllyDbg
PPTX
OWASP Ireland June Chapter Meeting - Paul Mooney on ARMOR & CSRF
PPTX
Net Scheme English Version
PDF
Go, Swarm and DevOps vs The Mighty Monolith
PPTX
ROS - an open-source Robot Operating System
PDF
We don't need consensus: All agreed?
PDF
RubyConf Taiwan 2016 - Large scale Rails applications
PPTX
Build software like a bag of marbles, not a castle of LEGO®
PDF
Practical Malware Analysis: Ch 10: Kernel Debugging with WinDbg
PDF
RubyConf China 2015 - Rails off assets pipeline
PPTX
Not my problem - Delegating responsibility to infrastructure
PPTX
Transforming monolith systems to microservices
PPTX
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
CNIT 124 Ch 13: Post Exploitation (Part 1)
Practical Malware Analysis: Ch 2 Malware Analysis in Virtual Machines & 3: Ba...
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis
Chain of Responsibility Pattern
CouchDB @ PoliMi
Hyperledger Cello Feb 20, 2018
CNIT 126 Ch 9: OllyDbg
OWASP Ireland June Chapter Meeting - Paul Mooney on ARMOR & CSRF
Net Scheme English Version
Go, Swarm and DevOps vs The Mighty Monolith
ROS - an open-source Robot Operating System
We don't need consensus: All agreed?
RubyConf Taiwan 2016 - Large scale Rails applications
Build software like a bag of marbles, not a castle of LEGO®
Practical Malware Analysis: Ch 10: Kernel Debugging with WinDbg
RubyConf China 2015 - Rails off assets pipeline
Not my problem - Delegating responsibility to infrastructure
Transforming monolith systems to microservices
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
Ad

Viewers also liked (20)

PDF
Масштабируемый и эффективный фаззинг Google Chrome
PDF
Rainbow Over the Windows: More Colors Than You Could Expect
PDF
Moony li pacsec-1.8
PDF
Fuzzing: The New Unit Testing
PDF
CSW2017 Qinghao tang+Xinlei ying vmware_escape_final
PDF
D1T3-Anto-Joseph-Droid-FF
PDF
The Python bites your apple
PPTX
BSides LV 2016 - Beyond the tip of the iceberg - fuzzing binary protocols for...
PPTX
What the fuzz
PDF
50 Shades of Fuzzing by Peter Hlavaty & Marco Grassi
PDF
[CB16] About the cyber grand challenge: the world’s first all-machine hacking...
PDF
Henrique Dantas - API fuzzing using Swagger
PDF
SmartphoneHacking_Android_Exploitation
PPTX
American Fuzzy Lop
PDF
Bug Hunting with Media Formats
ODP
The Nightmare Fuzzing Suite and Blind Code Coverage Fuzzer
PDF
Making a Scalable Automated Hacking System by Artem Dinaburg
PDF
Если нашлась одна ошибка — есть и другие. Один способ выявить «наследуемые» у...
PPTX
You didnt see it’s coming? "Dawn of hardened Windows Kernel"
PDF
High Definition Fuzzing; Exploring HDMI vulnerabilities
Масштабируемый и эффективный фаззинг Google Chrome
Rainbow Over the Windows: More Colors Than You Could Expect
Moony li pacsec-1.8
Fuzzing: The New Unit Testing
CSW2017 Qinghao tang+Xinlei ying vmware_escape_final
D1T3-Anto-Joseph-Droid-FF
The Python bites your apple
BSides LV 2016 - Beyond the tip of the iceberg - fuzzing binary protocols for...
What the fuzz
50 Shades of Fuzzing by Peter Hlavaty & Marco Grassi
[CB16] About the cyber grand challenge: the world’s first all-machine hacking...
Henrique Dantas - API fuzzing using Swagger
SmartphoneHacking_Android_Exploitation
American Fuzzy Lop
Bug Hunting with Media Formats
The Nightmare Fuzzing Suite and Blind Code Coverage Fuzzer
Making a Scalable Automated Hacking System by Artem Dinaburg
Если нашлась одна ошибка — есть и другие. Один способ выявить «наследуемые» у...
You didnt see it’s coming? "Dawn of hardened Windows Kernel"
High Definition Fuzzing; Exploring HDMI vulnerabilities
Ad

Similar to Discovering Vulnerabilities For Fun and Profit (20)

PPT
Web Services Security
PDF
Lares from LOW to PWNED
PDF
SOHOpelessly Broken
PDF
Reversing Engineer: Dissecting a "Client Side" Vulnerability in the APT era
PPTX
How to get along with HATEOAS without letting the bad guys steal your lunch?
PPTX
Hacker Halted 2014 - RDP Fuzzing And Why the Microsoft Open Protocol Specific...
PDF
DEF CON 27 - DANIEL ROMERO and MARIO RIVAS - why you should fear your mundane...
PPTX
The Hacking Games - Operation System Vulnerabilities Meetup 29112022
PPT
shostack-blackhat-991.ppt YUGUUYGYGUUYUHJ
PPTX
Vulnerability, exploit to metasploit
PDF
Thick Application Penetration Testing: Crash Course
PDF
Inception: A reverse-engineer horror History
PPTX
The Hacking Game - Think Like a Hacker Meetup 12072023.pptx
PPTX
binary analysis for botnet reverse engineering.pptx
PDF
RIoT (Raiding Internet of Things) by Jacob Holcomb
PDF
Malware Analysis -an overview by PP Singh
PDF
'Malware Analysis' by PP Singh
PDF
A client-side vulnerability under the microscope!
PDF
apidays LIVE Australia 2021 - Levelling up database security by thinking in A...
PDF
Awesome_fuzzing_for _pentester_red-pill_2017
Web Services Security
Lares from LOW to PWNED
SOHOpelessly Broken
Reversing Engineer: Dissecting a "Client Side" Vulnerability in the APT era
How to get along with HATEOAS without letting the bad guys steal your lunch?
Hacker Halted 2014 - RDP Fuzzing And Why the Microsoft Open Protocol Specific...
DEF CON 27 - DANIEL ROMERO and MARIO RIVAS - why you should fear your mundane...
The Hacking Games - Operation System Vulnerabilities Meetup 29112022
shostack-blackhat-991.ppt YUGUUYGYGUUYUHJ
Vulnerability, exploit to metasploit
Thick Application Penetration Testing: Crash Course
Inception: A reverse-engineer horror History
The Hacking Game - Think Like a Hacker Meetup 12072023.pptx
binary analysis for botnet reverse engineering.pptx
RIoT (Raiding Internet of Things) by Jacob Holcomb
Malware Analysis -an overview by PP Singh
'Malware Analysis' by PP Singh
A client-side vulnerability under the microscope!
apidays LIVE Australia 2021 - Levelling up database security by thinking in A...
Awesome_fuzzing_for _pentester_red-pill_2017

Recently uploaded (20)

PDF
Hybrid model detection and classification of lung cancer
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Getting Started with Data Integration: FME Form 101
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
A Presentation on Touch Screen Technology
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Mushroom cultivation and it's methods.pdf
PPTX
1. Introduction to Computer Programming.pptx
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
Chapter 5: Probability Theory and Statistics
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Hybrid model detection and classification of lung cancer
DP Operators-handbook-extract for the Mautical Institute
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Getting Started with Data Integration: FME Form 101
Digital-Transformation-Roadmap-for-Companies.pptx
A novel scalable deep ensemble learning framework for big data classification...
A Presentation on Touch Screen Technology
cloud_computing_Infrastucture_as_cloud_p
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Heart disease approach using modified random forest and particle swarm optimi...
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Mushroom cultivation and it's methods.pdf
1. Introduction to Computer Programming.pptx
Zenith AI: Advanced Artificial Intelligence
Enhancing emotion recognition model for a student engagement use case through...
Chapter 5: Probability Theory and Statistics
MIND Revenue Release Quarter 2 2025 Press Release
Encapsulation_ Review paper, used for researhc scholars
Profit Center Accounting in SAP S/4HANA, S4F28 Col11

Discovering Vulnerabilities For Fun and Profit

  • 2. Who Am I • Founder, 3S Labs – Information Security Services Startup • Security Tools • Wireplay – TCP Session Replay for Network Protocol Fuzzing • RbWinDBG – Ruby interface to Windows Debugger API • HiDump – Injected Code Extraction Tool (Windows only) • […] • Security Research (CVE) • Microsoft Office • IBM Tivoli Endpoint Manager • HP Siteprotect • […] @abh1sek abhisek
  • 3. Linus Law “Given enough eyeballs, all bugs are shallow”
  • 5. The “Practical” Shallow Bugs ActiveX1.bin – Rich Control Embedded in Word Document MSCOMCTL!DLLGetDocumentation+XXX: 6f5164d2 f3a5 rep movs dword ptr es:[edi],dword ptr [esi]
  • 7. Now .. The Magic Tool http://lcamtuf.coredump.cx/afl/
  • 8. An approach towards Finding Vulnerabilities Features Attack Surfaces Architecture & Components Protocol Analysis Targeted Fuzzing Static Analysis
  • 9. Attack Surface Analysis – Microsoft OOXML • The Past • Multiple vulnerabilities while processing binary records • Multiple vulnerabilities in processing embedded objects (image / flash) • […] • What’s new? • Microsoft OOXML File Format • (Almost) all features of Office Binary File Format represented through XML • ZIP File Format based container (instead of OLE Structured Storage)
  • 10. Attack Surface Analysis – Microsoft OOXML https://msdn.microsoft.com/en-us/library/aa338205(v=office.12).aspx
  • 11. Fuzzing Microsoft Office - OOXML • What will probably not work? • Binary fuzzing (bit flip) on input file. • They are just ZIP files ! • XML tag mutation • It will just hit the XML parser which should be matured. • What will probably work ? • XML mutation • Hit the application states and NOT the XML parser • XML attributes • Not very different from blind binary fuzzing (bit flip) • These are used to prepare and render objects
  • 12. OOXML – XML Mutation CVE 
  • 13. OOXML – XML Attribute Fuzzing CVE 
  • 14. OOXML – XML Attribute Fuzzing CVE 
  • 15. Architecture Analysis – IBM Tivoli EM • Enterprise endpoint management • Single agent for endpoint self-assessment and policy enforcement • Near real-time visibility and control from single dashboard • Target specific actions to an exact type of endpoint configuration or user type • Primary Components • Root Server • Reports Server • Agent
  • 16. Architecture Analysis – IBM Tivoli EM Root Server AgentAgentAgentAgentTCP: 5231 S/MIME Signed HTTP https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli+Endpoint+Manager/page/REST+API • All HTTP transactions are S/MIME signed. • Any HTTP request with signature mismatch will be ignored. • Now?
  • 17. Fuzzing – IBM Tivoli EM Root Server TCP: 5231 S/MIME Signing Proxy HTTP Request Fuzzer ( Burp / SPIKE / !! ) • Intercept communication between Agent and Root Server • Replay and fuzz intercepted HTTP requests • S/MIME sign HTTP requests through proxy Burp plugin to sign HTTP request for Tivoli EM: https://gist.github.com/abhisek/f69f0ead1d9292cfc68260423819780d
  • 18. Static Analysis – Dameware Mini Remote Control • Why? • Custom binary protocol • Encrypted packets • No documentation on protocol • Not too much prior work on DMRC reverse engineering • Objective • Identify “crypto container” • Fuzz DMRC by replaying interception communication • Decrypt > Mutate > Encrypt > Send to Server
  • 19. Static Analysis – DMRC Protocol DMRC Client to Agent Communication – Whats This?
  • 20. Static Analysis – DMRC Client
  • 21. DMRC Case • 1 day to setup and analyze network infrastructure • 1 day to survey protocol documentation without luck • ~3 days to reverse engineer the handshake protocol encryption • 2 days of fuzzing effort • Results? • 2 crashes – None exploitable • No CVE !!  Was it worth the effort ?
  • 22. Static Analysis – Other Approaches • Taint Analysis • IDA Plugin to manually mark sinks & compute path from any point in code to sinks. • Binary Analysis Platform • A useful framework to implement various algorithms to “infer” possible vulnerabilities. https://github.com/BinaryAnalysisPlatform/bap
  • 23. There will ALWAYS be another vulnerability.. • Security Researcher • How to find maximum exploitable vulnerabilities in minimum or at least practically feasible time window. • Developer • Maximize cost of finding exploitable vulnerabilities through securing coding practices and platform hardening.
  • 24. Thanks for listening  Questions? @abh1sek abhisek

Editor's Notes

  • #14: This resulted in a UaF
  • #15: OOB Memory Access