SlideShare a Scribd company logo
Lotus Domino Security White and black box testing Ari Elias-Bachrach Casey Pike
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Why is This Necessary? In January 2009, More Than Half of Fortune Global 100 Now Using Lotus Notes/Domino* http://www-03.ibm.com/press/us/en/pressrelease/26480.wss
Why is This Necessary? Domino is….. Unique Web App DB
Why is This Necessary? Automated scanners seem to have a hard time with Domino apps Many “normal” attacks don’t work (SQL injection) There are many other attacks which will work Not a lot of good information out there
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Introduction to Domino Domino stores data in custom database files with the .nsf extension http://server/database.nsf/DominoObj?Action   View Frameset Form Navigator Agent Document Page
Introduction to Domino Special Identifiers begin with $ and can return any domino object http://server/database.nsf/$SpecialIdentifier http://server/database.nsf/$help?openhelp
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Domino Commands View Openview – opens the view ReadViewEntries – access the view data in XML format $first – returns the first document in the view $searchform?opensearchform – opens a search form from which the view can be searched http://server/database.nsf/myview?Openview
Domino Commands http://server/database.nsf/myform?OpenForm   Form OpenForm – opens the form ReadForm – displays the form without its editable fields. CreateDocument – sent using an HTTP post. Domino will create a document with the contents of the HTTP post packet.
Domino Commands http://server/db.nsf/myView/doc1?EditDocument   Document EditDcoument SaveDocument – sent as an HTTP post. Domino will update the document with the contents of the post. DeleteDocument OpenDocument $file/name – returns doc’s attachment with the name “name”
Domino Commands http://server/db.nsf/myAgent?OpenAgent   Navigator OpenNavigator Agent OpenAgent Page OpenPage Frameset Openframeset
Domino Commands Special Items ?Redirect – allows redirection to another database based on it’s ID. ?openDatabse /$about?OpenAbout – opens the “about this database” document /$help?openhelp – opens the help document /$icon?openicon – opens the icon for the database /$defaultview – returns the default view (if there is one). /$defaultform – returns the default form (if there is one). /$defaultnav – returns the default navigator ?openpreferences – opens the preferences setting.  http://server/database.nsf/$about?OpenAbout
Domino Commands Chaining http://host/db.nsf/$defaultview/$first?editdocument
Pause for Questions
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Blackbox Navigate the app - use the commands just discussed Check all defaults/special identifiers Try to edit docs (permissions checking) Find (and use) search forms Enumerate views (more on this later)
Blackbox Views, Forms, and Agents all have a notesID. Assignment begins with 0x11A and increments by 4 each time http://host/database.nsf/11A   http://host/database.nsf/11E http://host/database.nsf/122   http://host/database.nsf/126   http://host/database.nsf/12A
Blackbox Enumerate views Occurrences of view names in help files: 135 - By Category 36 - View A 31 - All 26 - Main 23 - Categorized 22 - Main View 13 - All Documents 6 - Topics
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Whitebox Levels of Access in Domino Server Database Elements Documents Fields
Whitebox Server access – Ask your administrator Server Doc Internet Site Doc Configuration Doc Person Docs – Internet passwords are secure
Whitebox
Whitebox Database access – ACLs for Web Access Editor – Create and edit docs Author – Create and edit own docs Reader – Read docs Depositor – Create docs No access – Be careful public documents
Whitebox ACL Mistakes Even though Anonymous is set to No Access, it is possible to overlook Read Public documents which will give access. Common App – Mail File* Do not overlook any setting
Whitebox ACL Mistakes -Default- is any user who has authenticated.  If allowed access, make sure to audit the Domino Directory for test accounts or LDAP if directory assistance is used.
Whitebox
Whitebox Elements access – Check them ALL Forms, Views, Navigators, etc.  - If they are not used, hide them from the web. Security Tab – Set who can access the element based on ACL Allow public access
Whitebox
Whitebox Restrict more in-depth audits for elements that are exposed to the web Views, Forms, Pages… Ask to see config or profile documents (make sure they are protected) Review All Agents – Can be called from the web to run code.  Can write to DB2, SQL, FTP, basically do anything.
Whitebox Check permissions on all design elements Check actions within design elements
Whitebox Field Access Depending on how the application is written, fields on public forms can be hidden.
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Default Files Names.nsf – The most important database Log.nsf – Shows events on server WebAdmin.nsf – A web version of admin client Help Files – Should never be left on the server When upgrade a server, it could re-add databases you thought you deleted!!!
Where to Start? Talk to the Administrator – Learn about the different documents (server, config, internet site) of the NAB Learn the default ACL and how it is audited. Talk to the Developers – Its impossible to go through every element and to look at field security.  Establish security practices
Where to Start? Get a good tool Team Studio – Build Manager to write checks before a application is refreshed into production.  Preventive Security! DominoScan II – NGS Software AppDetectivePro – Application Security Inc. PowerTools and ScanEz – Admin Tools
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Architecture End users directly enter DB commands  Cannot run arbitrary DB commands Who sets up ACLs in your org?
Questions? Comments? Insults? [email_address] Twitter: @bachrach44 www.angelsofsecurity.com [email_address]   http://www.angelsofsecurity.com/domino.html
Ad

More Related Content

What's hot (20)

Bri forum advanced web interface customizations
Bri forum   advanced web interface customizationsBri forum   advanced web interface customizations
Bri forum advanced web interface customizations
CCOSTAN
 
Application Security
Application SecurityApplication Security
Application Security
nirola
 
Advanced Web Interface Customizations - BriForum 2010
Advanced Web Interface Customizations - BriForum 2010Advanced Web Interface Customizations - BriForum 2010
Advanced Web Interface Customizations - BriForum 2010
shoesing
 
HTML5 Local Storage
HTML5 Local StorageHTML5 Local Storage
HTML5 Local Storage
Lior Zamir
 
ASP
ASPASP
ASP
Ramasubbu .P
 
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Richard Esplin
 
HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09
mihaiionescu
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
Joram Salinas
 
Ethical hacking Chapter 10 - Exploiting Web Servers - Eric Vanderburg
Ethical hacking   Chapter 10 - Exploiting Web Servers - Eric VanderburgEthical hacking   Chapter 10 - Exploiting Web Servers - Eric Vanderburg
Ethical hacking Chapter 10 - Exploiting Web Servers - Eric Vanderburg
Eric Vanderburg
 
WebApp / SPA @ AllFacebook Developer Conference
WebApp / SPA @ AllFacebook Developer ConferenceWebApp / SPA @ AllFacebook Developer Conference
WebApp / SPA @ AllFacebook Developer Conference
AllFacebook.de
 
ASP.NET Lecture 1
ASP.NET Lecture 1ASP.NET Lecture 1
ASP.NET Lecture 1
Julie Iskander
 
WebApp #3 : API
WebApp #3 : APIWebApp #3 : API
WebApp #3 : API
Jean Michel
 
IBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the BoxIBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the Box
Karl-Henry Martinsson
 
Local storage
Local storageLocal storage
Local storage
Adam Crabtree
 
Concepts of Asp.Net
Concepts of Asp.NetConcepts of Asp.Net
Concepts of Asp.Net
vidyamittal
 
5. HTML5
5. HTML55. HTML5
5. HTML5
Jalpesh Vasa
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browser
Sabin Buraga
 
Spring In Alfresco Ecm
Spring In Alfresco EcmSpring In Alfresco Ecm
Spring In Alfresco Ecm
Piergiorgio Lucidi
 
Server-side Java Programming
Server-side Java ProgrammingServer-side Java Programming
Server-side Java Programming
Chris Schalk
 
Building Chrome Extensions
Building Chrome ExtensionsBuilding Chrome Extensions
Building Chrome Extensions
Ron Reiter
 
Bri forum advanced web interface customizations
Bri forum   advanced web interface customizationsBri forum   advanced web interface customizations
Bri forum advanced web interface customizations
CCOSTAN
 
Application Security
Application SecurityApplication Security
Application Security
nirola
 
Advanced Web Interface Customizations - BriForum 2010
Advanced Web Interface Customizations - BriForum 2010Advanced Web Interface Customizations - BriForum 2010
Advanced Web Interface Customizations - BriForum 2010
shoesing
 
HTML5 Local Storage
HTML5 Local StorageHTML5 Local Storage
HTML5 Local Storage
Lior Zamir
 
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Richard Esplin
 
HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09
mihaiionescu
 
Ethical hacking Chapter 10 - Exploiting Web Servers - Eric Vanderburg
Ethical hacking   Chapter 10 - Exploiting Web Servers - Eric VanderburgEthical hacking   Chapter 10 - Exploiting Web Servers - Eric Vanderburg
Ethical hacking Chapter 10 - Exploiting Web Servers - Eric Vanderburg
Eric Vanderburg
 
WebApp / SPA @ AllFacebook Developer Conference
WebApp / SPA @ AllFacebook Developer ConferenceWebApp / SPA @ AllFacebook Developer Conference
WebApp / SPA @ AllFacebook Developer Conference
AllFacebook.de
 
IBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the BoxIBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the Box
Karl-Henry Martinsson
 
Concepts of Asp.Net
Concepts of Asp.NetConcepts of Asp.Net
Concepts of Asp.Net
vidyamittal
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browser
Sabin Buraga
 
Server-side Java Programming
Server-side Java ProgrammingServer-side Java Programming
Server-side Java Programming
Chris Schalk
 
Building Chrome Extensions
Building Chrome ExtensionsBuilding Chrome Extensions
Building Chrome Extensions
Ron Reiter
 

Similar to Domino testing presentation (20)

Domino testing presentation
Domino testing presentationDomino testing presentation
Domino testing presentation
Ari Elias-Bachrach
 
A hitchhiker’s guide to troubleshooting ibm connections
A hitchhiker’s guide to troubleshooting ibm connectionsA hitchhiker’s guide to troubleshooting ibm connections
A hitchhiker’s guide to troubleshooting ibm connections
Sharon James
 
A Hitchhiker's Guide to troubleshooting IBM Connections
A Hitchhiker's Guide to troubleshooting IBM ConnectionsA Hitchhiker's Guide to troubleshooting IBM Connections
A Hitchhiker's Guide to troubleshooting IBM Connections
ICON UK EVENTS Limited
 
Connections fornewbies
Connections fornewbiesConnections fornewbies
Connections fornewbies
r4ttl3r
 
Deploying DAOS and ID Vault
Deploying DAOS and ID VaultDeploying DAOS and ID Vault
Deploying DAOS and ID Vault
Luis Guirigay
 
Securing Apache Web Servers
Securing Apache Web ServersSecuring Apache Web Servers
Securing Apache Web Servers
Information Technology
 
Securing Apache Web Servers
Securing Apache Web ServersSecuring Apache Web Servers
Securing Apache Web Servers
webhostingguy
 
Durkee apache 2009_v7
Durkee apache 2009_v7Durkee apache 2009_v7
Durkee apache 2009_v7
Denys Zabiyako
 
Sqllite
SqlliteSqllite
Sqllite
Senthil Kumar
 
The Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad WebThe Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad Web
panagenda
 
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
buildacloud
 
Open writing-cloud-collab
Open writing-cloud-collabOpen writing-cloud-collab
Open writing-cloud-collab
Karen Vuong
 
DNUG HCL Domino 11 First Look
DNUG HCL Domino 11 First LookDNUG HCL Domino 11 First Look
DNUG HCL Domino 11 First Look
daniel_nashed
 
Die ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web AdministratorenDie ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web Administratoren
panagenda
 
IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...
IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...
IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...
IBM Connections Developers
 
LUG 2009 - Lotus Domino 8.5.1 Administration (english)
LUG 2009 - Lotus Domino 8.5.1 Administration (english)LUG 2009 - Lotus Domino 8.5.1 Administration (english)
LUG 2009 - Lotus Domino 8.5.1 Administration (english)
Fred Janssen
 
Lotus Domino 8.5
Lotus Domino 8.5Lotus Domino 8.5
Lotus Domino 8.5
Lalit Sharma
 
Bp106 Worst Practices Final
Bp106   Worst Practices FinalBp106   Worst Practices Final
Bp106 Worst Practices Final
Bill Buchan
 
Blug connections
Blug connectionsBlug connections
Blug connections
Wannes Rams
 
Lares from LOW to PWNED
Lares from LOW to PWNEDLares from LOW to PWNED
Lares from LOW to PWNED
Chris Gates
 
A hitchhiker’s guide to troubleshooting ibm connections
A hitchhiker’s guide to troubleshooting ibm connectionsA hitchhiker’s guide to troubleshooting ibm connections
A hitchhiker’s guide to troubleshooting ibm connections
Sharon James
 
A Hitchhiker's Guide to troubleshooting IBM Connections
A Hitchhiker's Guide to troubleshooting IBM ConnectionsA Hitchhiker's Guide to troubleshooting IBM Connections
A Hitchhiker's Guide to troubleshooting IBM Connections
ICON UK EVENTS Limited
 
Connections fornewbies
Connections fornewbiesConnections fornewbies
Connections fornewbies
r4ttl3r
 
Deploying DAOS and ID Vault
Deploying DAOS and ID VaultDeploying DAOS and ID Vault
Deploying DAOS and ID Vault
Luis Guirigay
 
Securing Apache Web Servers
Securing Apache Web ServersSecuring Apache Web Servers
Securing Apache Web Servers
webhostingguy
 
The Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad WebThe Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad Web
panagenda
 
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
buildacloud
 
Open writing-cloud-collab
Open writing-cloud-collabOpen writing-cloud-collab
Open writing-cloud-collab
Karen Vuong
 
DNUG HCL Domino 11 First Look
DNUG HCL Domino 11 First LookDNUG HCL Domino 11 First Look
DNUG HCL Domino 11 First Look
daniel_nashed
 
Die ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web AdministratorenDie ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web Administratoren
panagenda
 
IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...
IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...
IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...
IBM Connections Developers
 
LUG 2009 - Lotus Domino 8.5.1 Administration (english)
LUG 2009 - Lotus Domino 8.5.1 Administration (english)LUG 2009 - Lotus Domino 8.5.1 Administration (english)
LUG 2009 - Lotus Domino 8.5.1 Administration (english)
Fred Janssen
 
Bp106 Worst Practices Final
Bp106   Worst Practices FinalBp106   Worst Practices Final
Bp106 Worst Practices Final
Bill Buchan
 
Blug connections
Blug connectionsBlug connections
Blug connections
Wannes Rams
 
Lares from LOW to PWNED
Lares from LOW to PWNEDLares from LOW to PWNED
Lares from LOW to PWNED
Chris Gates
 
Ad

More from dominion (20)

What is a itil and how does it relate to your collaborative environment uklug
What is a itil and how does it relate to your collaborative environment   uklugWhat is a itil and how does it relate to your collaborative environment   uklug
What is a itil and how does it relate to your collaborative environment uklug
dominion
 
iOS enterprise
iOS enterpriseiOS enterprise
iOS enterprise
dominion
 
cloud session uklug
cloud session uklugcloud session uklug
cloud session uklug
dominion
 
Uklug 2011 administrator development synergy
Uklug 2011 administrator development synergyUklug 2011 administrator development synergy
Uklug 2011 administrator development synergy
dominion
 
Uklug 2011 client management
Uklug 2011 client managementUklug 2011 client management
Uklug 2011 client management
dominion
 
JavaScript blast
JavaScript blastJavaScript blast
JavaScript blast
dominion
 
Populating your domino directory or any domino database with tivoli directory...
Populating your domino directory or any domino database with tivoli directory...Populating your domino directory or any domino database with tivoli directory...
Populating your domino directory or any domino database with tivoli directory...
dominion
 
Uklug2011 Know your Notes
Uklug2011 Know your NotesUklug2011 Know your Notes
Uklug2011 Know your Notes
dominion
 
Quickr
QuickrQuickr
Quickr
dominion
 
Taking themes to the next level
Taking themes to the next levelTaking themes to the next level
Taking themes to the next level
dominion
 
Supersize me
Supersize meSupersize me
Supersize me
dominion
 
Aussie outback
Aussie outbackAussie outback
Aussie outback
dominion
 
Learning to run
Learning to runLearning to run
Learning to run
dominion
 
Implementing xpages extension library
Implementing xpages extension libraryImplementing xpages extension library
Implementing xpages extension library
dominion
 
Abb presentation uklug
Abb presentation uklugAbb presentation uklug
Abb presentation uklug
dominion
 
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
dominion
 
Composite applications tutorial
Composite applications tutorialComposite applications tutorial
Composite applications tutorial
dominion
 
Maximizing application performance
Maximizing application performanceMaximizing application performance
Maximizing application performance
dominion
 
Error handling in XPages
Error handling in XPagesError handling in XPages
Error handling in XPages
dominion
 
wcm domino
wcm dominowcm domino
wcm domino
dominion
 
What is a itil and how does it relate to your collaborative environment uklug
What is a itil and how does it relate to your collaborative environment   uklugWhat is a itil and how does it relate to your collaborative environment   uklug
What is a itil and how does it relate to your collaborative environment uklug
dominion
 
iOS enterprise
iOS enterpriseiOS enterprise
iOS enterprise
dominion
 
cloud session uklug
cloud session uklugcloud session uklug
cloud session uklug
dominion
 
Uklug 2011 administrator development synergy
Uklug 2011 administrator development synergyUklug 2011 administrator development synergy
Uklug 2011 administrator development synergy
dominion
 
Uklug 2011 client management
Uklug 2011 client managementUklug 2011 client management
Uklug 2011 client management
dominion
 
JavaScript blast
JavaScript blastJavaScript blast
JavaScript blast
dominion
 
Populating your domino directory or any domino database with tivoli directory...
Populating your domino directory or any domino database with tivoli directory...Populating your domino directory or any domino database with tivoli directory...
Populating your domino directory or any domino database with tivoli directory...
dominion
 
Uklug2011 Know your Notes
Uklug2011 Know your NotesUklug2011 Know your Notes
Uklug2011 Know your Notes
dominion
 
Taking themes to the next level
Taking themes to the next levelTaking themes to the next level
Taking themes to the next level
dominion
 
Supersize me
Supersize meSupersize me
Supersize me
dominion
 
Aussie outback
Aussie outbackAussie outback
Aussie outback
dominion
 
Learning to run
Learning to runLearning to run
Learning to run
dominion
 
Implementing xpages extension library
Implementing xpages extension libraryImplementing xpages extension library
Implementing xpages extension library
dominion
 
Abb presentation uklug
Abb presentation uklugAbb presentation uklug
Abb presentation uklug
dominion
 
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
dominion
 
Composite applications tutorial
Composite applications tutorialComposite applications tutorial
Composite applications tutorial
dominion
 
Maximizing application performance
Maximizing application performanceMaximizing application performance
Maximizing application performance
dominion
 
Error handling in XPages
Error handling in XPagesError handling in XPages
Error handling in XPages
dominion
 
wcm domino
wcm dominowcm domino
wcm domino
dominion
 
Ad

Recently uploaded (20)

SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 

Domino testing presentation

  • 1. Lotus Domino Security White and black box testing Ari Elias-Bachrach Casey Pike
  • 2. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 3. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 4. Why is This Necessary? In January 2009, More Than Half of Fortune Global 100 Now Using Lotus Notes/Domino* http://www-03.ibm.com/press/us/en/pressrelease/26480.wss
  • 5. Why is This Necessary? Domino is….. Unique Web App DB
  • 6. Why is This Necessary? Automated scanners seem to have a hard time with Domino apps Many “normal” attacks don’t work (SQL injection) There are many other attacks which will work Not a lot of good information out there
  • 7. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 8. Introduction to Domino Domino stores data in custom database files with the .nsf extension http://server/database.nsf/DominoObj?Action View Frameset Form Navigator Agent Document Page
  • 9. Introduction to Domino Special Identifiers begin with $ and can return any domino object http://server/database.nsf/$SpecialIdentifier http://server/database.nsf/$help?openhelp
  • 10. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 11. Domino Commands View Openview – opens the view ReadViewEntries – access the view data in XML format $first – returns the first document in the view $searchform?opensearchform – opens a search form from which the view can be searched http://server/database.nsf/myview?Openview
  • 12. Domino Commands http://server/database.nsf/myform?OpenForm Form OpenForm – opens the form ReadForm – displays the form without its editable fields. CreateDocument – sent using an HTTP post. Domino will create a document with the contents of the HTTP post packet.
  • 13. Domino Commands http://server/db.nsf/myView/doc1?EditDocument Document EditDcoument SaveDocument – sent as an HTTP post. Domino will update the document with the contents of the post. DeleteDocument OpenDocument $file/name – returns doc’s attachment with the name “name”
  • 14. Domino Commands http://server/db.nsf/myAgent?OpenAgent Navigator OpenNavigator Agent OpenAgent Page OpenPage Frameset Openframeset
  • 15. Domino Commands Special Items ?Redirect – allows redirection to another database based on it’s ID. ?openDatabse /$about?OpenAbout – opens the “about this database” document /$help?openhelp – opens the help document /$icon?openicon – opens the icon for the database /$defaultview – returns the default view (if there is one). /$defaultform – returns the default form (if there is one). /$defaultnav – returns the default navigator ?openpreferences – opens the preferences setting. http://server/database.nsf/$about?OpenAbout
  • 16. Domino Commands Chaining http://host/db.nsf/$defaultview/$first?editdocument
  • 18. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 19. Blackbox Navigate the app - use the commands just discussed Check all defaults/special identifiers Try to edit docs (permissions checking) Find (and use) search forms Enumerate views (more on this later)
  • 20. Blackbox Views, Forms, and Agents all have a notesID. Assignment begins with 0x11A and increments by 4 each time http://host/database.nsf/11A http://host/database.nsf/11E http://host/database.nsf/122 http://host/database.nsf/126 http://host/database.nsf/12A
  • 21. Blackbox Enumerate views Occurrences of view names in help files: 135 - By Category 36 - View A 31 - All 26 - Main 23 - Categorized 22 - Main View 13 - All Documents 6 - Topics
  • 22. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 23. Whitebox Levels of Access in Domino Server Database Elements Documents Fields
  • 24. Whitebox Server access – Ask your administrator Server Doc Internet Site Doc Configuration Doc Person Docs – Internet passwords are secure
  • 26. Whitebox Database access – ACLs for Web Access Editor – Create and edit docs Author – Create and edit own docs Reader – Read docs Depositor – Create docs No access – Be careful public documents
  • 27. Whitebox ACL Mistakes Even though Anonymous is set to No Access, it is possible to overlook Read Public documents which will give access. Common App – Mail File* Do not overlook any setting
  • 28. Whitebox ACL Mistakes -Default- is any user who has authenticated. If allowed access, make sure to audit the Domino Directory for test accounts or LDAP if directory assistance is used.
  • 30. Whitebox Elements access – Check them ALL Forms, Views, Navigators, etc. - If they are not used, hide them from the web. Security Tab – Set who can access the element based on ACL Allow public access
  • 32. Whitebox Restrict more in-depth audits for elements that are exposed to the web Views, Forms, Pages… Ask to see config or profile documents (make sure they are protected) Review All Agents – Can be called from the web to run code. Can write to DB2, SQL, FTP, basically do anything.
  • 33. Whitebox Check permissions on all design elements Check actions within design elements
  • 34. Whitebox Field Access Depending on how the application is written, fields on public forms can be hidden.
  • 35. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 36. Default Files Names.nsf – The most important database Log.nsf – Shows events on server WebAdmin.nsf – A web version of admin client Help Files – Should never be left on the server When upgrade a server, it could re-add databases you thought you deleted!!!
  • 37. Where to Start? Talk to the Administrator – Learn about the different documents (server, config, internet site) of the NAB Learn the default ACL and how it is audited. Talk to the Developers – Its impossible to go through every element and to look at field security. Establish security practices
  • 38. Where to Start? Get a good tool Team Studio – Build Manager to write checks before a application is refreshed into production. Preventive Security! DominoScan II – NGS Software AppDetectivePro – Application Security Inc. PowerTools and ScanEz – Admin Tools
  • 39. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 40. Architecture End users directly enter DB commands Cannot run arbitrary DB commands Who sets up ACLs in your org?
  • 41. Questions? Comments? Insults? [email_address] Twitter: @bachrach44 www.angelsofsecurity.com [email_address] http://www.angelsofsecurity.com/domino.html

Editor's Notes

  • #2: Ari is the security guy Casey is the Domino guy
  • #5: 374,000 hits from filetype:nsf – these are domino databases directly accessible from the web
  • #6: Is Domino a web server, app server, or database server? The answer is it’s all three.
  • #9: That’s right – you access the domino DB directly through the URL. This is probably the right place to talk about what each of these items is
  • #21: This all assumed you have permissions….
  • #34: This slide needs to be finished - Casey
  • #37: Obviously you should check for all of these on a black or white box test