MSSQL Server Failed Logon From External Network


Description

Detects failed logon attempts from clients with external network IP to an MSSQL server. This can be a sign of a bruteforce attack.

Query · sigma

selection:
  Provider_Name|contains: MSSQL
  EventID: 18456
filter_main_local_ips:
  Data|contains:
  - 'CLIENT: 10.'
  - 'CLIENT: 172.16.'
  - 'CLIENT: 172.17.'
  - 'CLIENT: 172.18.'
  - 'CLIENT: 172.19.'
  - 'CLIENT: 172.20.'
  - 'CLIENT: 172.21.'
  - 'CLIENT: 172.22.'
  - 'CLIENT: 172.23.'
  - 'CLIENT: 172.24.'
  - 'CLIENT: 172.25.'
  - 'CLIENT: 172.26.'
  - 'CLIENT: 172.27.'
  - 'CLIENT: 172.28.'
  - 'CLIENT: 172.29.'
  - 'CLIENT: 172.30.'
  - 'CLIENT: 172.31.'
  - 'CLIENT: 192.168.'
  - 'CLIENT: 127.'
  - 'CLIENT: 169.254.'
  - 'CLIENT: <local machine>'
condition: selection and not 1 of filter_main_*

Known false positives

  • Unknown
Raw source MSSQL Server Failed Logon From External Network · Sigma
Esc
Published by SigmaHQ/sigma ↗, licensed under Detection Rule License 1.1 ↗. Reproduced here unmodified.
title: MSSQL Server Failed Logon From External Network
id: ebfe73c2-5bc9-4ed9-aaa8-8b54b2b4777d
related:
    - id: 218d2855-2bba-4f61-9c85-81d0ea63ac71
      type: similar
status: test
description: Detects failed logon attempts from clients with external network IP to an MSSQL server. This can be a sign of a bruteforce attack.
references:
    - https://cybersecthreat.com/2020/07/08/enable-mssql-authentication-log-to-eventlog/
    - https://www.experts-exchange.com/questions/27800944/EventID-18456-Failed-to-open-the-explicitly-specified-database.html
author: j4son
date: 2023-10-11
modified: 2025-05-28
tags:
    - attack.credential-access
    - attack.t1110
logsource:
    product: windows
    service: application
    definition: 'Requirements: Must enable MSSQL authentication.'
detection:
    selection:
        Provider_Name|contains: 'MSSQL' # Note: We use contains to account for other third party providers - See https://github.com/SigmaHQ/sigma/issues/4876
        EventID: 18456
    filter_main_local_ips:
        Data|contains:
            - 'CLIENT: 10.' # filter_range_IP: 10.0.0.0/8
            - 'CLIENT: 172.16.' # filter_range_IP: 172.16.0.0/12
            - 'CLIENT: 172.17.'
            - 'CLIENT: 172.18.'
            - 'CLIENT: 172.19.'
            - 'CLIENT: 172.20.'
            - 'CLIENT: 172.21.'
            - 'CLIENT: 172.22.'
            - 'CLIENT: 172.23.'
            - 'CLIENT: 172.24.'
            - 'CLIENT: 172.25.'
            - 'CLIENT: 172.26.'
            - 'CLIENT: 172.27.'
            - 'CLIENT: 172.28.'
            - 'CLIENT: 172.29.'
            - 'CLIENT: 172.30.'
            - 'CLIENT: 172.31.'
            - 'CLIENT: 192.168.' # filter_range_IP: 192.168.0.0/16
            - 'CLIENT: 127.' # filter_loop_back: 127.0.0.0/8
            - 'CLIENT: 169.254.' # fileter_link-local_addressing: 169.254.0.0/16
            - 'CLIENT: <local machine>'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: medium

Detection rules belong to the projects that publish them and remain under their own licenses. This site indexes and links to them; it claims no rights in them.