id: smb-shares

info:
  name: SMB Shares - Enumeration
  author: pussycat0x
  severity: low
  description: |
    Attempts to list shares using the srvsvc.NetShareEnumAll MSRPC function and retrieve more information about them using srvsvc.NetShareGetInfo. If access to those functions is denied, a list of common share names are checked.
  reference:
    - https://nmap.org/nsedoc/scripts/smb-enum-shares.html
  metadata:
    verified: true
    max-request: 1
    shodan-query: port:445
  tags: js,network,smb,enum
javascript:
  - code: |
      var m = require("nuclei/smb");
      var c = m.SMBClient();
      var response = c.ListShares(Host, Port, User, Pass);
      Export(response);

    args:
      Host: "{{Host}}"
      Port: "445"
      User: "test"
      Pass: "test"

    extractors:
      - type: json
        json:
          - '.[]'
# digest: 4b0a004830460221009f4105c209254c16d69381cc59fe56ce5001beefd0910b65c133b569116f3405022100b6c02b31a74b294eaf53890db5789abbbaf8c5c7322dbd0a67b5e39e59d7d5ba:922c64590222798bb761d5b6d8e72950