trustfactory trust but verify falling domino’s r.k. mcpeake w. aukema

55
TRUST FACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

Upload: lambert-ross-bruce

Post on 12-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

Falling Domino’s

R.K. McPeakeW. Aukema

Page 2: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 2

BlackHat

Contents

• General Intro• Intro Lotus Notes• Known Issues• Our Research• Conclusions• Recommendations• Q&A

Page 3: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 3

BlackHat

General Introduction

• Trust, but Verify

• DEFCON-8, July 31, Las Vegas

• Crucial Facts

• Our Future

Page 4: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 4

BlackHat

Intro Lotus Notes

Page 5: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 5

BlackHat

What is Lotus Notes?

• Secure Groupware Platform» Email, Application, Web & Database

connectivity services

• Application Development Platform» @Formula language, LotusScript,

Javascript, Java, C/C++ API

Page 6: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 6

BlackHat

How big is Lotus Notes?

• Over 60 million corporate users» Major Releases: 4.5-, 4.6-, 5.0-

Page 7: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 7

BlackHat

Who Uses Notes?

• Government» Legislature

» Military

» Intelligence Agencies

• Multinationals» Manufacturing» Pharmaceuticals» Petrochemical» Defense

Contractors

• Utilities» Power

Companies» Telcos

• Finance» Accounting

» Banks

» Insurance

• Others» Lawfirms

Page 8: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 8

BlackHat

Why people use Notes

• Security Features • Public Key Infrastructure

» Authentication» Encryption

• Access control levels» Server, Database» Document, Field

• Reputation• Extremely few vulnerabilities

Page 9: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 11

BlackHat

Known Issues

Page 10: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 12

BlackHat

Known Issues

• Misconfigurations» 1 - Access Control Lists» 2 - Server ID-file passwords» 3 - Execution Control Lists

• Product Features» 1 - HTTP Server» 2 - Names & Address Book» 3 - Stored Forms

Page 11: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 13

BlackHat

Common Misconfigurations 1

• Access Control Lists = ACL

• Purpose» To restrict access to Notes databases

• Issue» Default settings are insecure and allow

people to read (& sometimes modify) databases

Page 12: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 14

BlackHat

ACL Issues

Blueprint Notes Infrastructure

Lists all Notes Databases

Setup / Config of Webserver

Monitoring Server/User/Agent Activity

• Browse Setup & User Accounts

• Browse ACL’s & File-locations

• Create Virtual Servers/Re-directs

• Browse User & Server Activity

• names.nsf

• catalog.nsf

• domcfg.nsf

• log.nsf

• and more...

Page 13: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 15

BlackHat

Common Misconfigurations 2

• SERVER.ID File

• Purpose» Server Identity

• Issue» To allow auto-restart of Notes servers,

absence of password is recommended.

Page 14: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 16

BlackHat

Server-ID Issues

• With stolen ID-file, one can:

• Open all databases on that server

• Access other servers

Page 15: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 17

BlackHat

Common Misconfigurations 3

• Execution Control Lists = ECL• Purpose

» To restrict execution of untrusted code at Notes client

• Issue» R4 till R5.01: Default settings allows

execution of untrusted & unsigned code

Page 16: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 18

BlackHat

ECL Issues

• Execution of Malicious Code

• Melissa• LoveBug

Page 17: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 19

BlackHat

Product Features 1

• Using URL Syntax

• Http://www.example.com/ +

» ?open - Allows full database browsing

» database.nsf/$DefaultNav?OpenNavigator -

bypassing database navigator settings

• Using HTML Syntax

• Saving & modifying html-source allow upload of

unwanted content

Page 18: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 20

BlackHat

Product Features 2

• Names and Address Book

• User ID’s stored with person document

• HTTP-Username + Password viewable by all internal users

• HTTP password = ID-file password

Page 19: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 21

BlackHat

Product Features 3

• Stored Forms

• Explained in Detail ->

Page 20: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 22

BlackHat

Stored Forms

• Notes Database Structure

• Data» Structured data» RichText (attachments, actions, etc.)

» HTML (Java / JavaScript)

• Forms» Rendering data» Programmable Events

• Stored Forms» Database Object with Form

Page 21: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 23

BlackHat

Stored Forms

• Background

• Reported back in 1996» Oliver Buerger, Germany» Der Spiegel (11-03-1996, page 220-222)

» Lotus responds with the ECL in R4.5

• 4 Years later, in 2000» Very few have the ECL setup correctly» Almost everyone allows Stored Forms

Page 22: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 24

BlackHat

Stored Forms

• Purpose» Workflow Applications» Client Administration

• Issues» Enabled by default in every database» In QueryOpen event, no user interaction» Transmitted over SMTP

Page 23: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 25

BlackHat

Stored Forms

Demonstration

Page 24: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 26

BlackHat

Our Research

Page 25: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 27

BlackHat

Our Research

• Background

• Published at DEFCON-8, Las Vegas• Ethical Disclosure• Much Exposure, but• Missing Crucial Details

Page 26: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 28

BlackHat

Our Research

• What we will discuss

• Design Elements• Bypassing the ECL• Unclear User Preferences• Password hash• Validating ID-files

Page 27: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 29

BlackHat

Notes Design Elements

• Design Elements» Stored in obscure locations within db» Can be Modified with Editor access» Accessible as regular Notes Documents

• Example» Stored Form enabled via ‘f’ in $Flags item of

an Icon document in mail db» For the mail file in a R5.03 client, the note-id

for

Icon doc = 2A2DbScript = 1C6

Page 28: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 30

BlackHat

Execution Control Lists

• Introduced with Release 4.5, to combat the problem with stored forms

• Controls what “foreign” code can be executed depending on Notes “Signatures”

» Trusted Signature: Which functions to allow

» Default: for Signatures not specified in ECL

» No Signature: for unsigned code

Page 29: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 31

BlackHat

Execution Control Lists

• Common ECL Problems

» Very Few Administrators and Users understand ECL concepts

» ECL settings are stored in obscure location

» Until release 5.0.2- default settings allow “WORLD” access

Page 30: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 32

BlackHat

Execution Control Lists

• We discovered two ways to reset the ECL of a Notes client

• @RefreshECL (“” : “” ; “”)

• Remove ECLSetup = 3 from notes.ini

Page 31: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 33

BlackHat

Execution Control Lists

• We discovered that

• Notes API calls are not Intercepted by the ECL

• OLE/COM uses Notes API

Page 32: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 34

BlackHat

Execution Control Lists

Demonstration

Page 33: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 35

BlackHat

Unclear User Preferences

• F5 doesn’t do what you think…

• What about sharing that User ID …

Page 34: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 36

BlackHat

Unclear User Preferences

Demonstration

Page 35: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 37

BlackHat

Unclear User Preferences

• Observations• Once API program has acquired access, password

remains cached• User ID sharing is a flag in Notes Memory Process

• Vulnerability• Flag can be changed from external program• F5 limited to Notes client only

Note: API program can only access what Notes Client has accessed before.

Page 36: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 38

BlackHat

HTTP Password Hash

• Based on modified RC4 implementation

• HTTP passwords not salted» 355E98E7C7B59BD810ED845AD0FD2FC4 = “password”» 06E0A50B579AD2CD5FFDC48564627EE7 = “secret”» CD2D90E8E00D8A2A63A81F531EA8A9A3 = “lotus”

• Brute force/dictionary-attacks are possible

Page 37: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 39

BlackHat

HTTP Password Hash

Demonstration

Page 38: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 40

BlackHat

Notes User ID file

• Delivers:

• Authentication» Access Control

• Non Repudiation & Integrity» Digital Signature

• Confidentiality» Encryption

Page 39: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 41

BlackHat

Notes User ID file

• Contains:» Encrypted Private and Public Key» User Information» Expiration Date» Integrity Control

• Used by:» Notes Client» Domino Server» API based programs

Page 40: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 42

BlackHat

Notes User ID file

• Notes Client Features:» Blocks brute-force attacks» Digest checked in server NAB» Auto logoff & F5-based lockout» User ID sharing (API-programs)

Page 41: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 43

BlackHat

Notes User ID file

• Identity Theft

• Inside your Network• Outside your Organization

Page 42: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 44

BlackHat

Notes User ID file

Demonstration

Page 43: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 45

BlackHat

Conclusions

Page 44: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 46

BlackHat

Conclusions

• Multiple Vulnerabilities exist

• At All Levels in the Notes / Domino Environment

• Causing Serious Threats» Vandalism» Theft» Fraud» Warfare

Page 45: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 47

BlackHat

Conclusions

• Domino Server Security

• URL syntax» Viewing unintended content» Uploading content

• Server ID file» No password recommended

Page 46: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 48

BlackHat

Conclusions

• Workstation Security

• Execution of Malicious Code» Stored Forms» Two ways to reset ECL» Bypass ECL with OLE/API calls

• Continuing a Locked Session» With API programs (NotesPeek)» Resetting Sharing Flag

Page 47: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 49

BlackHat

Conclusions

• Database Security

• Design Elements» Accessible as Notes Documents» Editor Access to Modify/Corrupt

• Names & Address Book» ECL settings in obscure locations» http-hashes and other sensative data

viewable by all internal users» ID files downloadable

Page 48: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 50

BlackHat

Conclusions

• ID File Security

• ID ’s can be obtained» Download from Names&Address Book» With malicious code / email» From workstation local/network drive

• ID ’s can be validated» With http-password hash» During active/cleared session

Page 49: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 51

BlackHat

Recommendations

Page 50: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 52

BlackHat

Recommendations

• Response of Lotus• Lacks Crucial Details• No Solutions Delivered• Requires more Pressure

• Take Action• Assess your Situation• Check for Yourself• Follow our Recommendations

Page 51: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 53

BlackHat

Recommendations

• Restrict access from the Web

• Don’t store User IDs in NAB

• Choose Different Passwords for ID and HTTP account

• Store User ID file on removable media

• Use strong password hash (Lotus)

» Manually upgrade to the stronger hash (Lotus)

• Exit Notes completely when leaving your desk

• Never click on ANY email attachments

Page 52: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 54

BlackHat

Recommendations

• Enforce ACLs on ALL databases

• Restrict anonymous browsing on all default databases

• Disable stored forms on mail databases

• Enforce strong ECLs on all unsigned and untrusted

documents

• Ensure strong host-level security on all Notes servers

Page 53: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 55

BlackHat

For More Information

• Web• http://www.trust-factory.com• http://www.sdi-group.com• http://www.lotus.com

• Whitepaper• under construction• mailto: [email protected]

Page 54: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 56

BlackHat

Q&A

Page 55: TRUSTFACTORY Trust but Verify Falling Domino’s R.K. McPeake W. Aukema

TRUST FACTORY

Trust

but

Verify

October 2000

Slide 57

BlackHat

Contact Details

Trust Factory B.V.Bazarstraat 44-a2518 AK The HagueThe Netherlands

+31 70 362 [email protected]