applied security research
Wesley Neelen - 01 jul 2020

Detect lateral movement with Azure Sentinel

Lately we have been setting up the production network for our Zolder.App service. The network consists of multiple segments separated by a firewall. Only connections are allowed between the segments that are necessary. The goal: minimize the impact if an attacker succeeds in compromising a system inside the network.

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. One of the things I usually like is adding a device that is able to detect port scans. It’s a device for ‘honey’ purposes, whenever it gets touched on any port a notification will be sent that something weird is going on.

So, how to implement this? We do have many segments. It would be inefficient to add devices (virtual machines) in every segment for just this purpose. Also we don’t want just one honey device connected to all segments, because this would be a single point of failure on successful compromise of that machine.

Think about it 😊

After brainstorming for a while I got an idea that made me quite excited. In our network we do have a firewall (pfSense). This firewall is already aware of any passed and blocked connections going on between the different segments. So the idea was: isn’t it possible to use the information that we do already collect? This would be much more efficient as we don’t need to add devices. But also much more effective, as we can see every connections across our network. Its important to note that connections within VLAN’s remain unseen.

Fix the logging

First, we need to get our passed and blocked connections logged by the firewall into a system that allows us to query the data. We use Azure Sentinel a lot for our services and research, it’s a cloud-based SIEM that has many powerful capabilities. We decided to write our firewall logs to this SIEM. The pfSense firewall is writing its logfiles to a rsyslog server. The rsyslog server is forwarding the information to the Azure Sentinel syslog agent. After a while, we got our pfSense blocked and passed connections logs in Azure Sentinel:

Build a query

We do have the data in Sentinel, its time a to build a query. I did have multiple requirements for the query. For our own purposes, but also for others to use our query. It’s important to have that flexibility, as every network is different. I had the following requirements:

  • the IP-addresses/ranges being monitored can be defined in the query
  • a threshold can be defined in the query per monitored IP-address/range

First, some explanation on above requirements. Let’s assume that our network looks like this for our example:

Above image shows an example network design of our network. We do have multiple segments. Monitoring the segments might have different priority. In above image, the “secure” VLAN is the most important. We want to perform very actively monitoring on this segment. We want to be notified on every blocked connection that occurs. For other segments, such as DMZ, we want the query to be slightly less sensitive. For example: we want a notification if more then 50 blocked connections are detected (an actual port scan). The amount of connections detected before an alert is triggered is configurable through the threshold.

After playing around for a while with KQL I created the following query:

// Configure the systems dynamic with the systems or subnets you would like to monitor as the key.
// The value is a threshold on how many blocked connection a alert needs to be generated.
// Example: use zero for crown juwel systems or networks. Use 50 for regular networks you would like to monitor.

    let systems = dynamic(
        “”: 50,
        “”: 50,
        “”: 50,
        “”: 50,
        “”: 0
    | extend CSVFields  = split(SyslogMessage, ‘,’)
    | extend Interface = CSVFields[4]
    | extend Action = CSVFields[6]
    | where Action == “block”
    | extend SrcIp = CSVFields[18]
    | extend DstIp = CSVFields[19]
    | where DstIp !contains “.255”
    | extend SrcPort = CSVFields[20]
    | extend DstPort = CSVFields[21]
    | mv-expand bagexpansion=array system = systems
    | extend cidr = system[0]
    | extend threshold = system[1]
    | where ipv4_is_match(tostring(DstIp), tostring(cidr))
    | summarize amount = count() by tostring(SrcIp), tostring(DstIp), tostring(cidr), tostring(threshold)
    | where amount > tolong(threshold)

The full YML can be found here.

By modifying the systems variable it is possible to specify which IP’s or IP-ranges needs to be monitored within the network. For each system the threshold can be configured. These are two variables that need to be adapted to every network in order to work effectively

Within our network we have configured threshold as 0 for our sensitive networks (alert on every connections) and 50 to detect regular port scans, for example nmap -F <host>. We are running the query every 5 minutes on the latest 5 minutes of data coming in from the firewall.

Getting notified

We connected a playbook to trigger an alert. Whenever a detection is done we got an email notification whenever lateral movement is detected within our network:

Happy hunting!

BTW: I also build some queries to detect spikes of blocked and passed connections. I also added these queries to our Github repository. They can detect unusual spikes in network traffic.


Storm-1575 AITM platform used to target cybersecurity experts

Zolder B.V. - 21 nov 2023
This morning we received a phishing mail containing a QR code. The mail caught our attention because it bypassed our spam filter and came straight into our inbox. Also, our company name “Zolder” was mentioned multiple times in the phishing mail, which indicates a more targeted campaign, although probably still highly automated. Last year Zolder […] Lees verder

Microsoft 365 review: onze hackers controleren jouw Microsoft 365 omgeving!

- 31 okt 2023
Heb je Attic inmiddels aangeschaft, of overweeg je om het te kopen? Maar heb je toch behoefte aan ondersteuning van onze security experts? Maak kennis met onze Microsoft 365 review dienst, ontworpen om jou te ondersteunen bij het optimaal benutten van Attic en je bedrijf te beschermen tegen digitale bedreigingen. Loop je vast met Attic? […] Lees verder

Subsidieregeling voor kleine bedrijven

Erik Remmelzwaal - 09 okt 2023
Uit onderzoek over cyberveiligheid onder kleinere bedrijven komt naar voren dat maar liefst 19% geen enkele cybersecuritymaatregel treft. Dit maakt kleine ondernemers kwetsbaar voor cyberaanvallen. Het Digital Trust Center (DTC) lanceerde eerder dit jaar de CyberVeilig Check voor mkb en zzp. De cyberorganisatie opent nu tijdelijk ook een subsidieregeling ‘Mijn Cyberweerbare Zaak’ om mogelijke financiële […] Lees verder

Attic versie 2023.9.0 - Release Notes

- 21 sep 2023
Een nieuwe Attic #release bomvol nieuwe checks, geïnspireerd door de #CIS Benchmark voor #Microsoft365. Deze release zit vol met nieuwe Checks en Fixes. Want we zijn hard bezig om te zorgen dat Attic “CIS-certified” raakt als assessment tool voor Microsoft365 en hebben nu bijna alle checks gebouwd die daarvoor nog nodig waren. Daarnaast is er […] Lees verder

Microsoft Sentinel: Wapen tegen Cyberdreigingen

Erik Remmelzwaal - 19 sep 2023
In de wereld van cybersecurity sta je voor een belangrijke uitdaging: het beschermen van je organisatie tegen digitale bedreigingen. Gelukkig is er een krachtig hulpmiddel tot je beschikking: Microsoft Sentinel. Wij praten er veel over vanwege onze dienstverlening, maar wat is het nu eigenlijk? in dit blog deel ik graag mijn inzichten met jou, zodat je een solide basisbegrip krijgt van wat dit product is en hoe je het kunt inzetten. Lees verder

Door NIS2 moet je iets gaan doen wat je nu nog niet doet...

Erik Remmelzwaal - 03 aug 2023
Als je onder een steen hebt geleefd: NIS2 komt eraan. De 2e versie van de Network and Information Security richtlijn van de EU. Het duurt nog even voordat dit in Nederlandse wetgeving is omgezet en daarin kunnen nog belangrijke details gaan schuiven, maar in grote lijnen weten we wat er op ons af komt. Door […] Lees verder

5 tips voor MKB'ers om zichzelf weerbaar te  maken tegen misleiding via internet

- 21 jul 2023
In de digitale wereld worden MKB’ers steeds vaker geconfronteerd met de dreiging van social engineering. In deze blogpost delen we waardevolle inzichten over twee veelvoorkomende vormen van social engineering, phishing en CEO-fraude. We benadrukken echter de praktische tips die MKB’ers kunnen volgen om zichzelf effectief te beschermen tegen deze cyberdreigingen. Phishing en CEO-fraude Phishing omvat […] Lees verder

Using MiTMProxy as a scriptable pre-proxy for BurpSuite

Rik van Duijn - 11 jul 2023
TLDR: you can use mitmproxy to modify stuff before it sent to Burp Proxy. Instruction below. Recently we were asked to asses a oldschool Java client server application. After configuring BurpSuite as a proxy and trusting the CA cert, we noticed the client communication still gave an error. It turned out the client and server […] Lees verder

Wat leren we uit het NCTV Cybersecuritybeeld en Verizon DBIR 2023

Zolder B.V. - 04 jul 2023
De samengestelde conclusie die ik haal uit CSBN en DBIR is dat organisaties (nog steeds) vooral slachtoffer worden via gelekte inloggegevens en e-mail en dat ze datalekken bijna altijd kunnen voorkomen door het implementeren van basismaatregelen. En de basismaatregel die past bij gelekte inloggegevens is Multi-Factor Authentication (MFA). Lees verder

Weerbaar tegen CEO-Fraude met Logs in Microsoft365

Erik Remmelzwaal - 22 jun 2023
Veel organisaties kunnen maar 7 dagen terugkijken in hun Microsoft365 logboeken. Veel te weinig, om adequaat te reageren op incidenten zoals CEO-Fraude en Ransomware. Belangrijk dus om te begrijpen welke mogelijkheden er zijn om die termijn uit te breiden. Lees verder

Attic voor de zorg: De toekomst van beveiliging met partnerschap Z-CERT

- 06 jun 2023
Attic voor de zorg is momenteel in ontwikkeling. We richten ons vooral op de toekomstige beschikbaarheid van deze krachtige beveiligingsoplossing en we nodigen zorginstellingen uit om deel te nemen aan onze beta-testfase. Partnerschap met Z-CERT In samenwerking met Z-CERT, de toonaangevende leverancier van dreigingsinformatie in de Nederlandse zorgsector, biedt Attic voor de zorg een unieke […] Lees verder

Verbeteringen in API's en toekomstige wijzigingen bij Attic

- 24 mei 2023
Microsoft heeft recentelijk enkele verbeteringen doorgevoerd in de API’s die toegang verlenen tot uw tenant. GDAP Op dit moment maakt Attic gebruik van DAP, oftewel Delegated Admin Privileges, om toegang te verkrijgen tot uw omgeving. Microsoft heeft onlangs een verbeterde versie van deze functionaliteit geïntroduceerd, genaamd GDAP, oftewel granular delegated admin privileges. Deze nieuwe versie […] Lees verder

Attic voegt website clone monitor toe

Wesley Neelen - 08 mei 2023
Attic is een krachtig platform wat heel veel mogelijkheden biedt. Attic is modulair opgebouwd zodat het platform aangevuld kan worden met extra diensten, ontwikkeld door Zolder, maar in de toekomst ook door externe leveranciers. Enkele maanden geleden heb ik een gratis applicatie gelanceerd genaamd Deze service is gebaseerd op Microsoft Azure en volledig cloud […] Lees verder

Attic als SOC

Zolder B.V. - 11 apr 2023
Bijna is het zover: roadmap-technisch naderen we het punt dat we de koppeling van Attic met Microsoft Sentinel gaan afronden. En daarmee de gelegenheid om op grote schaal organisaties te voorzien van een betaalbare SOC dienst. Tijdens onze deelname aan de RSA conferentie zullen we bezoekers van onze stand en website aanbieden zich alvast te […] Lees verder

Internetoplichters richten pijlen op Hockeyvereniging

Erik Remmelzwaal - 10 mrt 2023
De penningmeester van Hockeyclub Zevenbergen ontving een poging tot oplichting. Gelukkig werd het herkend, maar zal dat overal gebeuren, nu internetoplichters hun pijlen blijkbaar op sportverenigingen hebben gericht? Lees verder

Microsoft Digital Defense Report

Erik Remmelzwaal - 14 nov 2022
Het Digital Defense Report 2022 van Microsoft is uitgekomen. Wat zijn de highlights en key takeaways? Lees verder

TBX2022 Throwback & Masterclass

Erik Remmelzwaal - 07 nov 2022
Op 2 en 3 november vond in de Jaarbeurs Utrecht de TBX2022 beurs plaats. Zolder was net als vorig jaar aanwezig als exposant, en was op beide dagen de host van een masterclass. Ons voornaamste doel was om ons nieuwe propositie van Attic for MSPs bekend te maken. Met deze nieuwe release, stellen we andere […] Lees verder

Hacking my Helium Crypto Miner

Wesley Neelen - 05 sep 2022
Recently I came across an interesting cryptocurrency project called Helium. Its a wireless network built by people all around the world. The people that help expanding the network by adding a hotspot receive the Helium cryptocurrency coin by providing the coverage. During my research I decided to order one of those Helium miners. I ordered […] Lees verder

PEN-300 / OSEP review

Wesley Neelen - 19 jul 2022
This year I decided to start a new study, the PEN-300 course of Offensive Security. In 2012 I did the OSCP course and in 2013 OSCE. In 2016 I took the OSEE class in Vegas, unfortunately never took the exam (one of my biggest mistakes ever🥴). I liked all the courses very much at that […] Lees verder

Deze 3 misverstanden blokkeren het ontwikkelen van cyberweerbaarheid

Zolder B.V. - 04 jul 2022
Het NCTV heeft weer het jaarlijkse Cybersecuritybeeld Nederland gepubliceerd. Het CSBN-2022. Mooie aanleiding om eens op te schrijven waar ik al langer mee in mijn hoofd zit. Drie hardnekkige en foute aannames die mensen hebben bij digitale dreigingen. Drie misverstanden dus, die in mijn ervaring de belangrijkste reden zijn dat we nauwelijks vooruit komen met […] Lees verder