id: rsync-version

info:
  name: Rsync Version - Detect
  author: DhiyaneshDK
  severity: info
  description: |
    Identify the Version of the Rsync Protocol
  metadata:
    verified: true
    max-request: 1
    shodan-query: port:"873"
  tags: js,network,rsync,enum

javascript:
  - pre-condition: |
      isPortOpen(Host,Port);
    code: |
      let m = require('nuclei/rsync');
      let response = m.IsRsync(Host,Port);
      Export(response);

    args:
      Host: "{{Host}}"
      Port: 873

    matchers:
      - type: dsl
        dsl:
          - "len(version) != 0"

    extractors:
      - type: json
        name: version
        json:
          - .Banner
# digest: 4a0a00473045022100d2b719ca4227cfcaf3bbdf674babbe3791d178524a6e41a34de7f86d73c737a80220676eaa692378d3573198ae784628f76e486da9609e6cdb6efd6e9e539473fd2f:922c64590222798bb761d5b6d8e72950