id: mikrotik-routeros

info:
  name: MikroTik Router OS Login Panel - Detect
  author: gy741
  severity: info
  description: MikroTik Router OS login panel was detected.
  reference:
    - https://systemweakness.com/routeros-user-with-just-ftp-policy-can-write-to-filesystem-cve-2021-27221-e3e45d780dfe
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N
    cwe-id: CWE-200
    cpe: cpe:2.3:o:mikrotik:routeros:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: mikrotik
    product: routeros
    shodan-query: http.title:"mikrotik routeros > administration"
    fofa-query: title="mikrotik routeros > administration"
    google-query: intitle:"mikrotik routeros > administration"
  tags: panel,login,mikrotik,discovery

http:
  - method: GET
    path:
      - '{{BaseURL}}'

    matchers-condition: and
    matchers:
      - type: word
        words:
          - 'If this device is not in your possession, please contact your local network
            administrator'
          - '.mikrotik.com'
        condition: and

      - type: word
        name: router-old
        part: body
        words:
          - '<title>mikrotik routeros > administration</title>'
          - '<title>Mikrotik Router'
          - '<img src="/webcfg/'
          - '<title>MikroTik RouterOS Managing Webpage</title>'
        condition: or

      - type: word
        name: hotspot
        part: body
        words:
          - 'Please log on to use the mikrotik hotspot service'
          - 'mikrotik hotspot > login'
        condition: and

      - type: word
        name: mikrotik-httpproxy
        part: header
        words:
          - "Server: mikrotik httpproxy"

    extractors:
      - type: regex
        group: 1
        regex:
          - "<h1>RouterOS (.+)</h1>"
          - '<div class="top">mikrotik routeros (.[0-9.]+) configuration page</div>'
          - 'routeros (.[0-9.]+) '
          - '<b>MikroTik RouterOS (.[0-9.]+)</b>'
# digest: 4b0a00483046022100a8d392790a8651121d64fcd9674ff58fcb0b60a86b26b3ff4c3b03113a757112022100bd796a686e4f2e1662d13768caa29a828c3ac3b7586c6449f798a777c22c3e13:922c64590222798bb761d5b6d8e72950