id: ms-exchange-user-enum

info:
  name: Microsoft Exchange Autodiscover - User Enumeration
  author: righettod
  severity: info
  description: |
    Microsoft Exchange (on premise) is prone to a user enumeration via the ActiveSync protocol using the AutodiscoverV2 endpoint.
  reference:
    - https://www.msxfaq.de/exchange/autodiscover/autodiscover_v2.htm
    - https://github.com/righettod/toolbox-pentest-web/blob/master/docs/4-HINTS_ARCHIVED.md#user-enumeration-techniques-for-microsoft-exchange
  classification:
    cpe: cpe:2.3:a:microsoft:exchange_server:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: microsoft
    product: exchange_server
    shodan-query: http.title:outlook exchange
  tags: ms-exchange,microsoft,misconfig,enum

http:
  - method: GET
    path:
      - "{{BaseURL}}/autodiscover/autodiscover.json?Protocol=ActiveSync&Email={{rand_text_alpha(6)}}%40oast.pro&RedirectCount=1"

    matchers-condition: and
    matchers:
      - type: word
        part: header
        words:
          - "/autodiscover/autodiscover.json?Email="

      - type: status
        status:
          - 302

    extractors:
      - type: regex
        part: header
        group: 1
        regex:
          - '(?i)Email=([A-Za-z0-9@%.-_]+)'
# digest: 4a0a00473045022100e02c24a5cad2b0bbe6e1fea6d5d108a0d6d15fbfa775fd41f01a26696c0524e502204ef46810c9ff1eb8aea8e608bcbaf58ce306a2c5c8dc85a7f337927aceb26573:922c64590222798bb761d5b6d8e72950