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,vuln

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: 4a0a00473045022100c55f5ed37a10bd1a1d792b51b7aae594deee824a4dbb29430a8459a728223741022049432806faef44c7b3eb25d9026056f7b4a46575c79d3807743d2f18cf136d4e:922c64590222798bb761d5b6d8e72950