id: oracle-tns-listener

info:
  name: Oracle TNS Listener - Detect
  author: pussycat0x
  severity: info
  description: |
    Oracle clients communicate with the database using the Transparent Network Substrate (TNS) protocol. When the listener receives a connection request (tcp port 1521, by default), it starts up a new database process and establishes a connection between the client and the database.
  reference:
    - https://www.tenable.com/plugins/nessus/110053
  metadata:
    verified: true
    max-request: 1
    shodan-query: product:"Oracle TNS Listener"
  tags: js,detect,oracle,tns,network

javascript:
  - pre-condition: |
      isPortOpen(Host,Port);
    code: |
      var m = require("nuclei/oracle");
      var response = m.IsOracle(Host, Port);
      Export(response);
    args:
      Host: "{{Host}}"
      Port: "1521"

    extractors:
      - type: regex
        name: Version
        regex:
          - 'Oracle TNS Listener Version:([0-9.]+)'
# digest: 4a0a00473045022100cf2c7b82194f370d634ff8955239b6db058bee1031be0cec1f31450b20f385e002203391572c663dd869a311f8cef83cf8917dd05986a25007ba64fd7994aaa21ec5:922c64590222798bb761d5b6d8e72950