applied security research
Rik van Duijn - 15 okt 2020

Honeytokens using Azure Keyvaults

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 to you. During the demo I saw a cool honeytoken for o365. This gave me an idea to see if we could build tokens that could be used in Azure.

This week I had to deploy some new Azure Key Vault, vaults. We wanted to limit access to one service principal, limit the IP’s that were allowed to access the vault and log all access to Azure Sentinel. Our backend uses the service principal credentials to authenticate to the Key Vault and query the secrets.

While building this I worried about an attacker gaining access to the service principal credentials and stealing the information from the keyvault. The IP filter rule makes this more difficult for an attacker. But at the same time why not make extra keyvaults as a honeytoken? Leave them in repo’s, emails and documentation. The moment someone queries the vault we know someone stole our stuff! This type of token could be a nice indicator for when an attacker has already gained access to our environment. But is trying to escalate those privileges. We might want to give it an interesting name to make sure the attackers try and use it.

Building it

So how do we make this? Preferably in an automated manner so we can re-use it. There are some prerequisites, we assume you are already using Azure Sentinel to log stuff to. If you are using o365 but not logging to Sentinel you are missing out. (free SIEM essentially)

So I built a script that does the following:

  1. Creates a resource group to put everything in (easy cleanup)
  2. Creates a key vault
  3. Creates a service principal
  4. Gives the service principal read access to the newly created key vault
  5. Configure audit logging and send it to Sentinel.
  6. Output the tokens so we can spread them
  7. Generate KQL queries so we can detect the use of our tokens

After running the script it will look like this:

Detecting it

Now all audit log messages related to our newly created keyvault will be logged to our Sentinel. We can essentially alert on anything related to audit log. But to be sure no internal Azure processes trigger an alert we can filter on certain operations. We filter on the following operations:

  1. Authentication
  2. SecretGet
  3. SecretList

AzureDiagnostics
| where ResourceType == "VAULTS"
| where Resource == "HONEYTOKENSKV"
| where OperationName in ("SecretGet","Authentication", "SecretList")
| order by TimeGenerated desc

We can add this to a sentinel rule in order to check for someone accessing our keyvault. If you want to have this sent to a webhook or email you can build a playbook to automatically forward them.

bonus

We already have a service principal that we leak. What if the attacker doesnt know its supposed to be used for Azure Key Vault? We can monitor the log to see if someone logs into our AzureAD. I read a blog recently that describes the options to enable logging for the service principal logons. Essentially its: AzureAD->Monitoring->Diagnostic Settings . Here you can modify the entries being logged to your Sentinel environment.

We can use this log to query for logons from our service principal. So lets say we found the creds to a service principal and logged on:

we can then query for this in our Sentinel environment:
AADServicePrincipalSignInLogs
| where ServicePrincipalName == "honeytokensSP"

Conclusion

Honey pots and honey tokens can be a way of finding shenanigans with high reliability. The tokens, once used indicate an active attacker. Having these inside Azure can be of great benefit in detecting said shenanigans. This blog focuses on the key vault and service principal avenue. But way more can be thought of. Maybe a fake backup administrator with fake creds inside the description or Azure Functions app with an interesting name. The thing with honeypots and honeytokens is that many people still don’t place them. It’s a shame they can be quickly deployed and greatly improve the chances of detecting an attacker.

Blogs

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

Hacking the traffic light of the future

Wesley Neelen - 06 aug 2020
Nowadays we are connecting everything we can think of to the internet. Usually to make our lives easier or more comfortable. Some of the new upcoming innovations are related to making our traffic smart with the goal to improve safety, comfort and the traffic flow. We dived into this technology to analyze the inner workings and identify potential security risks. Lees verder

Detect lateral movement with Azure Sentinel

Wesley Neelen - 01 jul 2020
Lately we have been setting up a the production network for our Zolder.App service. The network consists of multiple segments separated by a firewall. As an addition we wanted to add monitoring features into the network. If an attacker is in our network, we would like to get a notification. Lees verder

CSBN 2020

Erik Remmelzwaal - 01 jul 2020
Het jaarlijks CSBN is weer beschikbaar. Het Cybersecurity Beeld Nederland, opgemaakt door onze overheid in de hoedanigheid van de NCTV. Aan afkortingen geen gebrek. Dat maakt het gelijk ook heel taaie kost: ingewikkeld om te doorgronden. Je gaat haast denken dat het ook de bedoeling is dat we er niet teveel aandacht aan besteden. Of […] Lees verder

Detecting BEC fraud using Azure Sentinel

Rik van Duijn - 17 jun 2020
Business Email Compromise (BEC) Fraud inflicts the most damage of all types of cybercrime, according to the FBI. How to detect such attacks using Azure Sentinel? Rik shares some actual possibilities. Lees verder

Security-by-design. Zo makkelijk is dat niet

Wesley Neelen - 16 jun 2020
Wesley beschrijft de complexiteit bij het bouwen van een netwerk infrastructuur: kies je voor veiligheid of werkbaarheid? Of is er een optimale mix? Lees verder

Phishing aftercare

Rik van Duijn - 26 mei 2020
This blog is part of our Office 365 attack & defense series. We also maintain a Github page where we share our Office 365 tools and queries. We often get sent phishing emails by family and friends. Not to phish us but because we ask family and friends to forward them to us. Sometimes they […] Lees verder

Inside a phishing panel

Wesley Neelen - 20 mei 2020
Dutch and Belgium citizens are receiving phishing attacks every day. But how does that exactly work? Lees verder

DBIR 2020

Erik Remmelzwaal - 19 mei 2020
We hadden het eerder al over de moeilijkheid om een beeld te vormen van digitale dreigingen. Er is eigenlijk geen partij die hier een goed beeld van kan vormen. Maar als er 1 rapport is dat al jaren goede inzichten biedt gebaseerd op data uit heel veel gezaghebbende bronnen, dan is het DBIR. Het Verizon […] Lees verder

Wat zou er mis kunnen gaan?

Erik Remmelzwaal - 17 mei 2020
Waarom worden bedrijven slachtoffer van virussen die losgeld vragen? Of online afpersing? Of fraude met betalingen? Het antwoord: door gebrekkig leiderschap. Lees verder

Office 365 - Exchange rules

Rik van Duijn - 13 mei 2020
This blog is part of our Office 365 attack & defense series. We also maintain a Github page where we share our Office 365 tools and queries. Exchange rules can be useful in managing the emails we receive on a daily basis. For example, it allows users to automatically respond or move specific emails to […] Lees verder

Office 365 - malicious applications

Wesley Neelen - 05 mei 2020
Wesley dives into the App Registrations feature of Microsoft Azure Active Directory. Finds ways to abuse it through delegate & application permissions and shares ideas howto protect from such abuse. Lees verder

Security 4.0

Erik Remmelzwaal - 30 apr 2020
A vision of the digital future, the role of security and how it should adapt to be able to fulfill that role. Lees verder

Applied Security Research; more than just a pay-off

Rik van Duijn - 28 apr 2020
Rik beschrijft wat Applied Security Research voor hem betekent. En hoe we als Zolder die pay-off in praktijk willen brengen. Lees verder

Windows terminal profile fun

Rik van Duijn - 24 apr 2020
Rik plays around with the preview version of Windows Terminal to find manipulation options. Lees verder

Building a Zolder logo

Wesley Neelen - 22 apr 2020
Wesley writes about his most recent IoT project: building a Zolder logo with WS2812B ledstrips behind it, to give it some cool effects. Lees verder