applied security research
Wesley Neelen - 16 sep 2021

Public SharePoint sites – the new open shares

During one of our engagements we were investigating a Microsoft 365 environment. My colleague Rik discovered that many SharePoint sites were publicly available within the organization. We were surprised by the amount sites that were wide open this way. A lot of sensitive information was located on those sites, for example PII-information and passwords for critical systems.

Let’s go back in time

As penetration testers we performed many internal tests on the local networks of organizations. After gaining more and more experience, we developed a standard way of working. We would start by scanning the network for low hanging fruit. At the time I wrote a tool to automate this phase using Metasploit to make live easier.

One of the easiest low hanging fruit issues were open SMB-shares available on the internal network. The approach: scanning for open shares, than analyze the information that’s within those share. Such information might be useful in compromising other machines within the network.

Similar attacks

As you probably already noticed, both attacks (SharePoint and open shares) are pretty similar. Because of a misconfiguration, sensitive information is available to the attacker that may be used during the attack. This might be crucial information for an adversary to be successful.

The issue

So, why does this SharePoint issue occur? If a regular user creates a SharePoint website, he has the option to assign the Public option within the Privacy settings. Whenever a user selects this option, anyone within the organization can access the site. In other words: all authenticated users in the tenant.

Public Teams create Open Shares

Now in most organizations, it might not be very common for a regular user to create SharePoint sites at all. But this has changed with the rapid adoption of Microsoft Teams. And here comes the kicker: a Public Team creates a Public SharePoint site for it’s filestorage. In other words: Public Teams are Open Shares. Let that sink in.

As Teams is now the defacto standard for collaboration within many organizations, lots of employees have developed the habit to quickly spin up a new team for all kinds of reasons. A new project, a multidisciplinary team, an event, partner or customer engagement. To name a few. Such teams might start quite meaningless in terms of sensitive information. But they might just as well grow to become a huge trove of knowledge right there for grabs to an attacker snooping around.

Discovering public SharePoint sites within your organization

As an (SharePoint) administrator it is possible to view the sites that are set to public. Through the portal youncan find all Active Sites through the admin portal, select “SharePoint” -> Sites -> Active Sites. By clicking a specific site, its possible to view the Site members at the Permissions tab. If “Everyone except external users” is listed, it means the site is public within your organization.

As an alternative I wrote a Powershell one-liner. This Powershell query returns a list of all public available sites within your organizations tenant:

Get-SPOSite | ForEach-Object { try { $res = Get-SPOSiteGroup -Site $_.url | Where-Object {$_.Users -Match “spo-grid-all-users”}; if ($res -ne $null) { write-host $_.url } } Catch {} }

Detecting the creation of Public sites using Sentinel

For our SMB security app Attic we also decided to write a Sentinel query. The query detects the creation of a new public SharePoint sites. Whenever a user creates a public SharePoint site, the rule triggers. This allows an organization to monitor for misconfigured SharePoint sites and take particular measurements if needed (make it private). We have shared the rule on our GitHub page here.

Its important to note that the query currently only works for tenants with the English or Dutch language. If your tenants uses another language, add the correct group name to the Translations dynamic. It sucks, but it works for now ;-).

Using Graph API to find sites.

We can also use the OfficeActivity log to detect new sites being created. However that way we will miss the sites that already existed before starting the monitoring.

We looked into Graph API in order to find all the SharePoint sites and whether they are public. The interesting thing is that we could find the sites but were unable to see whether they are public or private. After digging for a while we found that we could detect sites based on the groups in the tenant. We use the Graph API “/v1.0/groups” endpoint. The endpoint returns different groups, you can detect SharePoint sites by searching for “SPO_<GUID>” in the proxyAddresses property.

A SharePoint Group with the visibility set to public.

We wrote a simple script to check whether your organization has SharePoint sites set to public using the Graph API:

Listing sites via Graph API.

Preventing users from creating Public SharePoint sites

The best solution would be to completely prevent the creation of new sites with the Public privacy settings. At time of writing this blog, we haven’t found a nice solution to completely prevent this, which kind of surprised us. Please let us know if you read this blog and do have a solution.

Rik made a statement which I kind of liked, because it seems true as more and more companies are moving to the cloud:

Public SharePoint sites are the new open shares

Attic and SharePoint sites

We added CHK-1520 to Attic. Every new SharePoint site that gets created with the access set to public will result in an alert. We’re currently looking to expand these types of checks and are looking into:

  1. Detect sites that haven’t been used for a while. Possibly combined with the fact that they are public.
  2. Detect public OneDrive libraries.
  3. Detect files being shared with direct links instead of based on email address or password.
Blogs

Public SharePoint sites - the new open shares

Wesley Neelen - 16 sep 2021
During one of our engagements we were investigating a Microsoft 365 environment. My colleague Rik discovered that many SharePoint sites were publicly available within the organization. We were surprised by the amount sites that were wide open this way. A lot of sensitive information was located on those sites, for example PII-information and passwords for […] Lees verder

Decrypt passwords from Xerox Workcentre config backups

Rik van Duijn - 29 aug 2021
During a recent engagement we encountered Xerox WorkCentre printers using default credentials (admin:1111). Usually it’s just another finding, but this time we noticed the printer had SMB and e-mail credentials configured. For LDAP we usually point the printer to our own IP and get access to the plaintext creds that way. But in the case […] Lees verder

Office 365 audit logging

Rik van Duijn - 19 aug 2021
It’s important to enable audit logging for o365 even if you are not monitoring them actively. Atleast if you get hacked there’s logging to investigate :). The audit log is not always enabled by default, it seems to rely on license levels. However there are some important things to take into consideration. You can enable […] Lees verder

Ransomware, nationale crisis?

Erik Remmelzwaal - 04 aug 2021
Als er 1 digitale dreiging is die veel in het nieuws komt, dan is het ransomware. Er wordt zelfs gesproken van een nationale crisis. Lees verder

Mijlpalen en hoe het gaat

Zolder B.V. - 02 jul 2021
Vandaag gebeurden er op Zolder toch een paar dingen die blogwaardig zijn. Dus prima aanleiding om nog maar eens de laptop open te klappen en te vertellen hoe het gaat. Nieuwe collega’s Het is 1 juli 2021 en we zijn ruim een jaartje onderweg als Zolder. De belangrijkste stap die we vandaag zetten, is dat […] Lees verder

Zolder wordt hoofdsponsor HCZ

Zolder B.V. - 01 jul 2021
Vandaag is bekend geworden dat Zolder de nieuwe hoofdsponsor is van HCZ – Hockeyclub Zevenbergen. De komende drie seizoenen zal het logo van Zolder daarom voorop de shirts van alle HCZ leden prijken. We zijn heel erg trots op deze nieuwe stap voor ons jonge bedrijf, en hopen zo de relatie met onze regio te […] Lees verder

Breda Robotics

Erik Remmelzwaal - 10 mei 2021
Zolder BV is toegetreden tot het netwerk van Breda Robotics. Deze vereniging brengt organisaties bij elkaar die actief zijn rondom robotisering in de regio West-Brabant. Voor Zolder geeft Breda Robotics de mogelijkheid om samen te werken met de robotiseringsindustrie. Te begrijpen hoe die sector precies werk en op welke vlakken cybersecurity kennis kan worden ingezet […] Lees verder

27% .nl domeinen slecht beschermd tegen spoofing

Erik Remmelzwaal - 29 apr 2021
TLDR: We scanden de DNS records van 1,6 miljoen .nl domeinen en vonden uit: 9% is rechtstreeks gekoppeld aan Microsoft 365, daarmee is Microsoft veruit de grootste Google is nr2 en heeft 4% van de domeinen aan zich verbonden, nagenoeg gelijk aan een aantal andere spelers. Van alle mail-enabled domeinen heeft 27% geen SPF record […] Lees verder

Zolder biedt MKB betaalbare en eenvoudige security-app

Zolder B.V. - 12 apr 2021
“Attic voorkomt dat security een luchtbel wordt” Security is bij mkb-bedrijven vaak het ondergeschoven kindje. Ze hebben er de mensen en het budget niet voor. Dat maakt deze doelgroep een aantrekkelijk doelwit voor cybercriminelen. Voor de vier doorgewinterde cybersecurity-experts van start-up Zolder reden om Attic te introduceren. Deze eenvoudige, goedkope en toekomstbestendige app maakt mkb’ers […] Lees verder

Nieuwe Themesong voor Zoldersessions

Erik Remmelzwaal - 13 mrt 2021
Ik vond het tijd worden voor een nieuw liedje voor onze Zoldersessions. Tot nu toe hadden we er een rechtenvrij liedje onder staan, namelijk EVA_失望した, maar wilden toch iets meer 'eigens'. Daar schakelden we Bjørgen van Essen voor in met dit eindresultaat. Dit is hoe dat tot stand kwam. Lees verder

Zolder.App Open Beta

Zolder B.V. - 02 feb 2021
We launched the final beta release to the Google and Apple appstores. Any business running on Microsoft 365 is more than welcome to join. As a beta-tester you will receive a free subscription to the Zolder.App Premium Plan for the remainder of the beta phase, which is scheduled to run through April 30th 2021. Zolder.App […] Lees verder

GGD data is topje van ijsberg

Erik Remmelzwaal - 26 jan 2021
Maandag kwam RTL Nieuws, na onderzoek van Daniël Verlaan, naar buiten met het nieuws dat gestolen data van de GGD online wordt verhandeld door criminelen. Het gaat om data die onderdeel uitmaakt van het bron- en contactonderzoek dat de GGD uitvoert als onderdeel van de bestrijding van Corona/COVID-19. De data bevat gevoelige persoonsgegevens en criminelen […] Lees verder

#CES2021 - We Are Ready!

Erik Remmelzwaal - 06 jan 2021
We are very excited to be part of the #CES2021NL mission! Meet us at CES (Januari 11-14) in our online booth 10609 and see how we solve global challenges with NLTech. Erik Remmelzwaal, Co-Founder & CEO Yes I indeed think we are ready for CES. At this virtual event we will showcase Zolder.App. I am […] Lees verder

Zolder.App Blog 3 - Feedback

Erik Remmelzwaal - 27 nov 2020
Bij het ontwikkelen van een nieuwe dienst, zeker als dit Software-as-a-Service betreft, is feedback vanuit (potentiële) afnemers cruciaal. In het geval van Zolder.App is de doelgroep het MKB. We zijn al gelijk na lancering van het merk Zolder gestart met het vinden van MKB-ers die als tester wilden helpen. Oproep 19-apr-2020 Dit leidde tot best […] Lees verder

Azure App Consent Policies

Rik van Duijn - 11 nov 2020
OAuth consent phishing has been on the rise for a while now. Unsurprisingly, Microsoft has gradually introduced measures to protect from this type of attack. Latest: Risk-Based Step-Up Consent. Lees verder

Honeytokens using Azure Keyvaults

Rik van Duijn - 15 okt 2020
In 2017 Wesley and I gave a presentation at SHA2017 about honey/pot/tokens. We actually planned on building a fully fledged platform. But never came further then the POC phase of that project. This week we got a product demo from the guys at Thinkst, i’ve always loved this way of thinking: let the attacker come […] Lees verder

Zolder.App Blog 2 - Probleem & Oplossing

Zolder B.V. - 08 okt 2020
Het is best een goed idee om voordat je begint met het bouwen van een product of dienst, te weten welk probleem je ermee gaat oplossen. Voor Zolder.App: we lossen het probleem dat MKB-ers slecht beveiligd zijn op door enterprise-niveau security voor hen toegankelijk te maken. In feite zijn er een aantal problemen die we […] Lees verder

Risk of exposed home automation services

Wesley Neelen - 24 sep 2020
At home, I am automating many things for fun. Currently I am using Home Assistant, an incredibly powerful piece of software for automating your home. Regularly I am combining the home automation experiences with security. Home automation is often related to physical things such as changing lights, moving curtains, opening door locks or turning the […] Lees verder

Zoldersessions Studio Setup

Zolder B.V. - 27 aug 2020
Here is the kitlist which we end up with to record our Zoldersessions 🙂 Audio Input 4x Rode Procaster microphone 4x Triton Audio FetHead Microphone PreAmp 4x YellowTec m!ka Mic Boom Focusrite Scarlett 18i8 3rd gen Audio Output 4x Shure SRH840 Headphone ART HeadAmp 4 headphone amplifier Video Input 2x Sony Handycam main cameras Logitech […] Lees verder

Zolder.App blog 1 - het idee

Erik Remmelzwaal - 27 aug 2020
Op Zolder bouwen wij aan een mobiele app die MKB’ers op een baanbrekende manier moet helpen digitaal weerbaar te zijn. We verwachten in het vierde kwartaal van 2020 de app te kunnen lanceren. In deze blogreeks neem ik je mee in de ontwikkeling van Zolder.App. Eigenlijk was er niet 1 idee, maar is Zolder.App het […] Lees verder