57
What Happens In Windows 7 Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014

What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

What Happens In Windows 7Stays In Windows 7Moti Joseph & Marion MarschalekTroopers Conference 2014

Page 2: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

About UsJoseph MotiSecurity Researcher

Marion MarschalekMalware Analyst

8731-7364-1932-9646-3040

Page 3: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Agenda• Vulnerabilities• Automated Vulnerability Search• An Approach• A Solution as Proof of Concept• Demo ;)• Whats next?

TROOPERS 2014

Page 4: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Intro

Page 5: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Got a bug in your

software?

Can I haz it??

Page 6: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Chuck Norris On Security.Vulnerabilities are software mistakes inspecification and design, but mostly mistakes inprogramming. Any large software package willhave thousands of mistakes. Once discovered,they can be used to attack systems. This is thepoint of security patching: eliminating knownvulnerabilities. But many systems don't getpatched, so the Internet is filled with known,exploitable vulnerabilities.

TROOPERS 2014

Page 7: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek
Page 8: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

How to find vulnerabilities?• Application Penetration Testing• Fuzzing• Reverse Engineering• Source Code Review• Or.. Being more advanced:

– Tracking software bugs, introducing bugs intosoftware, reversing security patches

TROOPERS 2014

Page 9: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Who is interested in finding them?

HackersSoftware Companies

CriminalsGovernments

Media

Page 10: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

How much does a 0-day vulnerability cost?

TROOPERS 2014

Page 11: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

“White Market”When or why to sell to white market?

TROOPERS 2014

Page 12: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

“BlackMarket”

Broker?Money?Trust?

TROOPERS 2014

Page 13: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

What happens when you sell to the black market?

TROOPERS 2014

Page 14: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek
Page 15: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

And why automate it?It‘s faster!!

– The hacker – can break more– The software company – can fix faster– Criminals – can make more money– Governments – can ... [SECRET]– Media – has more to write about

TROOPERS 2014

Page 16: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

TheApproach

Page 17: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

What happens in Windows7 stays in Windows7...

Win7

Win8

quartz.dll quartz.dlllea ecx, [ebp+cb]push ecx push 4 push eax mov [esi], eaxcall ?ULongMult@@YGJKKPAK@Ztest eax, eax...push [ebp+cb] ; cbcall ds:__imp__CoTaskMemAlloc@4

xor eax, eaxinc eaxshl eax, cl...shl eax, 2push eax ; cbcall ds:__imp__CoTaskMemAlloc@4

Patch it!

TROOPERS 2014

Page 18: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Counting Function Calls

Win7quartz.lib

Win8quartz.lib

Page 19: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Spot The PatchWin7quartz.lib

Win8quartz.lib

TROOPERS 2014

Page 20: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Intsafe.h & Strsafe.h• Searching for security patches:

– Type Conversion– Safe Math Functions– Buffer Boundary Checks on Strings

• Set of 130 Signatures of ‚Safe Functions‘

TROOPERS 2014

Page 21: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

‚Safe Functions‘UInt8AddUShortAddUIntAddULongAddSizeTAddULongLongAddUInt8SubUShortSubUIntSubULongSubSizeTSubULongLongSub

UInt8ToInt8UInt8ToCharByteToInt8ByteToCharShortToInt8ShortToUCharShortToCharUShortToUInt8UShortToShortIntToInt8IntToUCharIntToChar

StringCbGetsStringCbGetsExStringCbLengthStringCbPrintfStringCbPrintfExStringCbVPrintfStringCbVPrintfExStringCchCatStringCchCatExStringCchCatNStringCchCatNExStringCchCopy

... and many many more ....

TROOPERS 2014

Page 22: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

The Approach Flexible.

Extendible.Awesome.

Windows Library

Parsing to DB

Checking forVulnerability

Decompilationor Disassembly

Diffing Librarywith New Version

TROOPERS 2014

Page 23: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

TheSolution

Page 24: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Pretty, eh??

Page 25: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Getting the .CLibrary Conversion using IDA Pro means: .dll -> .idb -> .c

TROOPERS 2014

Page 26: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Library Parsing• DiffRay on https://github.com/pinkflawd/DiffRay

• Parses a library / directory of libraries

• Manages libraries , functions and signature hits

• Diff libraries functionwise– Based on library ID

or library name pattern

TROOPERS 2014

Page 27: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

The DatabaseMSSql or SQLite

TROOPERS 2014

Page 28: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Diff it!• Compare libraries on a function basis• Extract hits per function per signature

TROOPERS 2014

1611-1610-9232-2136-5206

Page 29: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

DiffRay HowTo: Configuration

• signatures.conf – whatever symbols you‘researching for

• sig_mappings.conf – mappings for signatures

• logger.conf – logging output and formatting,details to be found athttp://docs.python.org/2/howto/logging.html

• mssql.conf – MSSql access credentials

TROOPERS 2014

Page 30: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

DiffRay HowTo: CMD ParsingMaintenance:

python [dir]\src\Main.py --create-scheme --update-sigs

python [dir]\src\Main.py --parse [library_path] --os [Win7|Win8] --type [C|LST]

python [dir]\src\Main.py --dirparse [directory_path] --os [Win7|Win8] --type [C|LST]

python [dir]\src\Main.py --flushall

Switches:--backend [mssql|sqlite]

--no-flush

TROOPERS 2014

Page 31: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

DiffRay HowTo: CMD DiffingInfo Output & Diffing:

python [dir]\src\Main.py –-search_libs [libname_pattern]

python [dir]\src\Main.py –-lib_all_info [lib_id]

python [dir]\src\Main.py –-diff --lib_1 [win7lib] --lib_2 [win8lib]

python [dir]\src\Main.py –-diff_byname [libname_pattern]

TROOPERS 2014

Page 32: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

WELCOME to ze

FUTURE

Page 33: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

DEMO TIME

Page 34: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Findings

Page 35: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 7 (ULongAdd)bcrypt.dll!ConvertRsaPrivateBlobToFullRsa

Page 36: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 8 bcrypt.dll!ConvertRsaPrivateBlobToFullRsa

Page 37: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 8 (ULongAdd)netlogon.dll! NlpAddResourceGroupsToSamInfo

7248-8111-6932-1904-2648

Page 38: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 7netlogon.dll! NlpAddResourceGroupsToSamInfo

Page 39: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 8 /ULongLongToUinttwext.dll! EscapeField

Page 40: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 7 Integer overflowtwext.dll! EscapeField

Page 41: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Drrrivers...

Page 42: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 8 cng.dll!

ConvertRsaPrivateBlogToFullRsa

Page 43: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 7cng.dll!

ConvertRsaPrivateBlogToFullRsa

Page 44: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 8 ksecdd.dll! SspiCopyAuthIdentity

Page 45: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 7ksecdd.dll! SspiCopyAuthIdentity

Page 46: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 8 srvnet.dll!

SrvNetAllocatePoolWithTagPriority

Page 47: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 7 srvnet.dll!

SrvNetAllocatePoolWithTagPriority

Page 48: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Triggerable?Or not

triggerable?

Page 49: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 7 cryptdlg!DecodeAttrSequence

Page 50: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Windows 8 cryptdlg!DecodeAttrSequence

Page 51: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

What’s CryptDll.dll??

TROOPERS 2014

Page 52: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

StringCchLength

TROOPERS 2014

Page 53: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

CryptDecodeObject API

TROOPERS 2014

Page 54: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Certificate DialogBox

TROOPERS 2014

Page 55: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

What‘sNext

Page 56: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Whats Next• Possible Extensions

– Win8, we‘re coming!!– Extended signatures– Symbolic Execution FTW

• Improvements– Transparent DB library

• Known issues– Duplicate hits, false positives, slooow,

output is not handy

TROOPERS 2014

Page 57: What Happens In Windows 7 Stays In Windows 7...Stays In Windows 7 Moti Joseph & Marion Marschalek Troopers Conference 2014 About Us Joseph Moti Security Researcher 1 Marion Marschalek

Happy Diffing.