diff --git a/cmd/integration-test/dns.go b/cmd/integration-test/dns.go index 9f1883716..82cf9c91c 100644 --- a/cmd/integration-test/dns.go +++ b/cmd/integration-test/dns.go @@ -5,8 +5,12 @@ import ( ) var dnsTestCases = []TestCaseInfo{ - {Path: "protocols/dns/a.yaml", TestCase: &dnsA{}}, - {Path: "protocols/dns/aaaa.yaml", TestCase: &dnsAAAA{}}, + {Path: "protocols/dns/a.yaml", TestCase: &dnsBasic{}}, + {Path: "protocols/dns/aaaa.yaml", TestCase: &dnsBasic{}}, + {Path: "protocols/dns/cname.yaml", TestCase: &dnsBasic{}}, + {Path: "protocols/dns/srv.yaml", TestCase: &dnsBasic{}}, + {Path: "protocols/dns/ns.yaml", TestCase: &dnsBasic{}}, + {Path: "protocols/dns/txt.yaml", TestCase: &dnsBasic{}}, {Path: "protocols/dns/ptr.yaml", TestCase: &dnsPtr{}}, {Path: "protocols/dns/caa.yaml", TestCase: &dnsCAA{}}, {Path: "protocols/dns/tlsa.yaml", TestCase: &dnsTLSA{}}, @@ -15,21 +19,10 @@ var dnsTestCases = []TestCaseInfo{ {Path: "protocols/dns/dsl-matcher-variable.yaml", TestCase: &dnsDSLMatcherVariable{}}, } -type dnsA struct{} +type dnsBasic struct{} // Execute executes a test case and returns an error if occurred -func (h *dnsA) Execute(filePath string) error { - results, err := testutils.RunNucleiTemplateAndGetResults(filePath, "one.one.one.one", debug) - if err != nil { - return err - } - return expectResultsCount(results, 1) -} - -type dnsAAAA struct{} - -// Execute executes a test case and returns an error if occurred -func (h *dnsAAAA) Execute(filePath string) error { +func (h *dnsBasic) Execute(filePath string) error { results, err := testutils.RunNucleiTemplateAndGetResults(filePath, "one.one.one.one", debug) if err != nil { return err diff --git a/cmd/nuclei/srv.yaml b/cmd/nuclei/srv.yaml new file mode 100644 index 000000000..198b397ce --- /dev/null +++ b/cmd/nuclei/srv.yaml @@ -0,0 +1,18 @@ +id: basic-dns-a-example + +info: + name: Test DNS A Query Template + author: pdteam + severity: info + +dns: + - name: "{{FQDN}}" + type: SRV + class: inet + recursion: true + retries: 3 + matchers: + - type: word + part: all + words: + - "SRV" diff --git a/integration_tests/protocols/code/pre-condition.yaml b/integration_tests/protocols/code/pre-condition.yaml index a61b4f90d..1c44e9579 100644 --- a/integration_tests/protocols/code/pre-condition.yaml +++ b/integration_tests/protocols/code/pre-condition.yaml @@ -23,4 +23,4 @@ code: - type: dsl dsl: - true -# digest: 4a0a00473045022100c7215ce9f11e6a51c193bb54643a05cdd1cde18a3abb6c9983c5c7524d3ff03002203d93581c81d3ad5db463570cbbd2bdee529328d32a5b00e037610c211e448cef:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file +# digest: 490a004630440220192fb8f704b078c2885047b85ac1a0491be86485c033a976d201599683a35aab0220604b1c3781e9d97079d0e5c23c18e6a2d87493c8e2b930536e692ee7d06e9247:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file diff --git a/integration_tests/protocols/code/py-env-var.yaml b/integration_tests/protocols/code/py-env-var.yaml index 4ccf3648b..9ff947c20 100644 --- a/integration_tests/protocols/code/py-env-var.yaml +++ b/integration_tests/protocols/code/py-env-var.yaml @@ -20,4 +20,4 @@ code: - type: word words: - "hello from input baz" -# digest: 4a0a0047304502207e3a5eda5f3207c3c01c820562243281926c1215224a7c80ed7528559b9f52cb022100f6ef99bb45843f481705778630f2cfd8f4d1cc3acb96392ff016f22e06aa91af:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file +# digest: 4a0a00473045022033f72f1b9d5143f58a2dc79c2597000f34080251ac3702c36c3fad00917dfeeb0221009ba05c715c9e2e36dba471be6c0106a09ae3822d8a3e9e4bcf377e9f4a395a01:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file diff --git a/integration_tests/protocols/code/py-file.yaml b/integration_tests/protocols/code/py-file.yaml index 9e0b041bc..ad69371d0 100644 --- a/integration_tests/protocols/code/py-file.yaml +++ b/integration_tests/protocols/code/py-file.yaml @@ -18,4 +18,4 @@ code: - type: word words: - "hello from input" -# digest: 4a0a004730450220069673af9bd6d6677f9529d06f5d8bd46d543089a4731ed18ee806761d75fd60022100913a3e27b0a5809baf710ba9585bf9fe729634c0e19e3e13eef70a6bd100df34:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file +# digest: 4a0a004730450220377128cb11d9f6f0fee1f4dbd841e46783de26e90a216fa55a7609ee2bc823c60221009166ee0f85e3a1811588ab19e73ea96ab3d582dc8180dbcbbad0ea9ab7e9025d:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file diff --git a/integration_tests/protocols/code/py-interactsh.yaml b/integration_tests/protocols/code/py-interactsh.yaml index 24e4b0624..76d14efb2 100644 --- a/integration_tests/protocols/code/py-interactsh.yaml +++ b/integration_tests/protocols/code/py-interactsh.yaml @@ -26,4 +26,4 @@ code: part: interactsh_protocol words: - "http" -# digest: 490a00463044022003b8d069e3c84412729c43e33013a52ee04eabcf096d511979691d71d8e905f60220011f4475899abed4f86b4bd5e6c2423750759135206e4729826afe1ed8a44f4d:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file +# digest: 4b0a00483046022100d472d50bd83117d334f5217c7a40dcdf34138e90029eaace51697d902296bf37022100a393b49420a96f60d6d89b79b5135ee2233b2468d374851890eea114b08195d1:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file diff --git a/integration_tests/protocols/code/py-snippet.yaml b/integration_tests/protocols/code/py-snippet.yaml index 287ca2c6e..4837fa7e0 100644 --- a/integration_tests/protocols/code/py-snippet.yaml +++ b/integration_tests/protocols/code/py-snippet.yaml @@ -21,4 +21,4 @@ code: - type: word words: - "hello from input" -# digest: 4a0a00473045022100c291615cf2a8005450c17a6554e81a9cdab14743b299f0679c644247929198b502206fdacc8ab173bde2b4015340012637916bf2659f66f320fcc06b97ac639072a1:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file +# digest: 4b0a004830460221008886054bb5dd6345e434e30f31c8fddce3c484a4f33aa6321b5185675866029d022100d188a83d0fde029f8b586061c65ab72b43755c3fb10fdd59501bb9bbadbb1ff7:4a3eb6b4988d95847d4203be25ed1d46 \ No newline at end of file diff --git a/integration_tests/protocols/dns/a.yaml b/integration_tests/protocols/dns/a.yaml index 538974626..0e5124581 100644 --- a/integration_tests/protocols/dns/a.yaml +++ b/integration_tests/protocols/dns/a.yaml @@ -1,4 +1,4 @@ -id: basic-dns-a-example +id: dns-a-query-example info: name: Test DNS A Query Template diff --git a/integration_tests/protocols/dns/aaaa.yaml b/integration_tests/protocols/dns/aaaa.yaml index 3df3293a9..58a2e496c 100644 --- a/integration_tests/protocols/dns/aaaa.yaml +++ b/integration_tests/protocols/dns/aaaa.yaml @@ -1,4 +1,4 @@ -id: basic-dns-aaaa-example +id: dns-aaaa-query-example info: name: Test DNS AAAA Query Template diff --git a/integration_tests/protocols/dns/cname.yaml b/integration_tests/protocols/dns/cname.yaml new file mode 100644 index 000000000..f4ddb8a2e --- /dev/null +++ b/integration_tests/protocols/dns/cname.yaml @@ -0,0 +1,18 @@ +id: dns-cname-query-example + +info: + name: Test DNS CNAME Query Template + author: pdteam + severity: info + +dns: + - name: "{{FQDN}}" + type: CNAME + class: inet + recursion: true + retries: 3 + matchers: + - type: word + part: all + words: + - "CNAME" diff --git a/integration_tests/protocols/dns/ns.yaml b/integration_tests/protocols/dns/ns.yaml new file mode 100644 index 000000000..9d4065574 --- /dev/null +++ b/integration_tests/protocols/dns/ns.yaml @@ -0,0 +1,18 @@ +id: dns-ns-query-example + +info: + name: Test DNS NS Query Template + author: pdteam + severity: info + +dns: + - name: "{{FQDN}}" + type: NS + class: inet + recursion: true + retries: 3 + matchers: + - type: word + part: all + words: + - "NS" diff --git a/integration_tests/protocols/dns/srv.yaml b/integration_tests/protocols/dns/srv.yaml new file mode 100644 index 000000000..2669333c5 --- /dev/null +++ b/integration_tests/protocols/dns/srv.yaml @@ -0,0 +1,18 @@ +id: dns-a-query-example + +info: + name: Test DNS SRV Query Template + author: pdteam + severity: info + +dns: + - name: "{{FQDN}}" + type: SRV + class: inet + recursion: true + retries: 3 + matchers: + - type: word + part: all + words: + - "SRV" diff --git a/integration_tests/protocols/dns/txt.yaml b/integration_tests/protocols/dns/txt.yaml new file mode 100644 index 000000000..273a53ab7 --- /dev/null +++ b/integration_tests/protocols/dns/txt.yaml @@ -0,0 +1,18 @@ +id: dns-txt-query-example + +info: + name: Test DNS TXT Query Template + author: pdteam + severity: info + +dns: + - name: "{{FQDN}}" + type: TXT + class: inet + recursion: true + retries: 3 + matchers: + - type: word + part: all + words: + - "TXT"