Skip to content

Commit

Permalink
ldap: add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
glongo authored and victorjulien committed Jul 17, 2024
1 parent ce368c0 commit 7fd86e8
Show file tree
Hide file tree
Showing 50 changed files with 368 additions and 0 deletions.
3 changes: 3 additions & 0 deletions tests/ldap-add/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ldap.pcap: ldap.syn
flowsynth.py -f pcap -w $@ $^

7 changes: 7 additions & 0 deletions tests/ldap-add/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Test Purpose

Test that LDAP Add operation is parsed correctly.

## PCAP

This PCAP was generated with flowsynth.
Binary file added tests/ldap-add/ldap.pcap
Binary file not shown.
4 changes: 4 additions & 0 deletions tests/ldap-add/ldap.syn
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
flow default tcp 1.1.1.1:5555 > 2.2.2.2:389 (tcp.initialize; mss:9000;);
default > (content:"\x30\x49\x02\x01\x02\x68\x44\x04\x11\x64\x63\x3d\x65\x78\x61\x6d\x70\x6c\x65\x2c\x64\x63\x3d\x63\x6f\x6d\x30\x2f\x30\x1c\x04\x0b\x6f\x62\x6a\x65\x63\x74\x43\x6c\x61\x73\x73\x31\x0d\x04\x03\x74\x6f\x70\x04\x06\x64\x6f\x6d\x61\x69\x6e\x30\x0f\x04\x02\x64\x63\x31\x09\x04\x07\x65\x78\x61\x6d\x70\x6c\x65";);
default < (content:"\x30\x0c\x02\x01\x02\x69\x07\x0a\x01\x00\x04\x00\x04\x00";);

26 changes: 26 additions & 0 deletions tests/ldap-add/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
requires:
min-version: 8

args:
- -k none

pcap: ldap.pcap

checks:
- filter:
count: 1
match:
pcap_cnt: 7
event_type: ldap
ldap.request.message_id: 2
ldap.request.operation: add_request
ldap.request.add_request.entry: dc=example,dc=com
ldap.request.add_request.attributes[0].name: objectClass
ldap.request.add_request.attributes[0].values[0]: top
ldap.request.add_request.attributes[0].values[1]: domain
ldap.request.add_request.attributes[1].name: dc
ldap.request.add_request.attributes[1].values[0]: example
ldap.responses[0].operation: add_response
ldap.responses[0].add_response.result_code: success
ldap.responses[0].add_response.matched_dn: ""
ldap.responses[0].add_response.message: ""
3 changes: 3 additions & 0 deletions tests/ldap-bind/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ldap.pcap: ldap.syn
flowsynth.py -f pcap -w $@ $^

7 changes: 7 additions & 0 deletions tests/ldap-bind/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Test Purpose

Test that LDAP Bind operation is parsed correctly.

## PCAP

This PCAP was generated with flowsynth.
Binary file added tests/ldap-bind/ldap.pcap
Binary file not shown.
3 changes: 3 additions & 0 deletions tests/ldap-bind/ldap.syn
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
flow default tcp 1.1.1.1:5555 > 2.2.2.2:389 (tcp.initialize; mss:9000;);
default > (content:"\x30\x16\x02\x01\x01\x60\x11\x02\x01\x03\x04\x00\xa3\x0a\x04\x08\x43\x52\x41\x4d\x2d\x4d\x44\x35";);
default < (content:"\x30\x30\x02\x01\x01\x61\x2b\x0a\x01\x0e\x04\x00\x04\x00\x87\x22\x3c\x31\x30\x61\x31\x33\x63\x37\x62\x66\x37\x30\x38\x63\x61\x30\x66\x33\x39\x39\x63\x61\x39\x39\x65\x39\x32\x37\x64\x61\x38\x38\x62\x3e";);
15 changes: 15 additions & 0 deletions tests/ldap-bind/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
requires:
min-version: 8

args:
- -k none

pcap: ldap.pcap

checks:
- filter:
count: 1
match:
event_type: ldap
ldap.request.message_id: 1

3 changes: 3 additions & 0 deletions tests/ldap-compare/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ldap.pcap: ldap.syn
flowsynth.py -f pcap -w $@ $^

7 changes: 7 additions & 0 deletions tests/ldap-compare/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Test Purpose

Test that LDAP Compare operation is parsed correctly.

## PCAP

This PCAP was generated with flowsynth.
Binary file added tests/ldap-compare/ldap.pcap
Binary file not shown.
5 changes: 5 additions & 0 deletions tests/ldap-compare/ldap.syn
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
flow default tcp 1.1.1.1:5555 > 2.2.2.2:389 (tcp.initialize; mss:9000;);
default > (content:"\x30\x45\x02\x01\x02\x6e\x40\x04\x24\x75\x69\x64\x3d\x6a\x64\x6f\x65\x2c\x6f\x75\x3d\x50\x65\x6f\x70\x6c\x65\x2c\x64\x63\x3d\x65\x78\x61\x6d\x70\x6c\x65\x2c\x64\x63\x3d\x63\x6f\x6d\x30\x18\x04\x0c\x65\x6d\x70\x6c\x6f\x79\x65\x65\x54\x79\x70\x65\x04\x08\x73\x61\x6c\x61\x72\x69\x65\x64";);
default <
(content:"\x30\x0c\x02\x01\x02\x6f\x07\x0a\x01\x06\x04\x00\x04\x00";);

23 changes: 23 additions & 0 deletions tests/ldap-compare/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
requires:
min-version: 8

args:
- -k none

pcap: ldap.pcap

checks:
- filter:
count: 1
match:
pcap_cnt: 7
event_type: ldap
ldap.request.message_id: 2
ldap.request.operation: compare_request
ldap.request.compare_request.entry: uid=jdoe,ou=People,dc=example,dc=com
ldap.request.compare_request.attribute_value_assertion.description: employeeType
ldap.request.compare_request.attribute_value_assertion.value: salaried
ldap.responses[0].operation: compare_response
ldap.responses[0].compare_response.result_code: "compare_true"
ldap.responses[0].compare_response.matched_dn: ""
ldap.responses[0].compare_response.message: ""
3 changes: 3 additions & 0 deletions tests/ldap-delete/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ldap.pcap: ldap.syn
flowsynth.py -f pcap -w $@ $^

7 changes: 7 additions & 0 deletions tests/ldap-delete/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Test Purpose

Test that LDAP Delete operation is parsed correctly.

## PCAP

This PCAP was generated with flowsynth.
Binary file added tests/ldap-delete/ldap.pcap
Binary file not shown.
3 changes: 3 additions & 0 deletions tests/ldap-delete/ldap.syn
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
flow default tcp 1.1.1.1:5555 > 2.2.2.2:389 (tcp.initialize; mss:9000;);
default > (content:"\x30\x29\x02\x01\x02\x4a\x24\x75\x69\x64\x3d\x6a\x64\x6f\x65\x2c\x6f\x75\x3d\x50\x65\x6f\x70\x6c\x65\x2c\x64\x63\x3d\x65\x78\x61\x6d\x70\x6c\x65\x2c\x64\x63\x3d\x63\x6f\x6d";);
default < (content:"\x30\x0c\x02\x01\x02\x6b\x07\x0a\x01\x00\x04\x00\x04\x00";);
21 changes: 21 additions & 0 deletions tests/ldap-delete/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
requires:
min-version: 8

args:
- -k none

pcap: ldap.pcap

checks:
- filter:
count: 1
match:
pcap_cnt: 7
event_type: ldap
ldap.request.message_id: 2
ldap.request.operation: del_request
ldap.request.del_request.dn: uid=jdoe,ou=People,dc=example,dc=com
ldap.responses[0].operation: del_response
ldap.responses[0].del_response.result_code: "success"
ldap.responses[0].del_response.matched_dn: ""
ldap.responses[0].del_response.message: ""
3 changes: 3 additions & 0 deletions tests/ldap-extended/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ldap.pcap: ldap.syn
flowsynth.py -f pcap -w $@ $^

7 changes: 7 additions & 0 deletions tests/ldap-extended/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Test Purpose

Test that LDAP Extended operation is parsed correctly.

## PCAP

This PCAP was generated with flowsynth.
Binary file added tests/ldap-extended/ldap.pcap
Binary file not shown.
3 changes: 3 additions & 0 deletions tests/ldap-extended/ldap.syn
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
flow default tcp 1.1.1.1:5555 > 2.2.2.2:389 (tcp.initialize; mss:9000;);
default > (content:"\x30\x1d\x02\x01\x01\x77\x18\x80\x16\x31\x2e\x33\x2e\x36\x2e\x31\x2e\x34\x2e\x31\x2e\x31\x34\x36\x36\x2e\x32\x30\x30\x33\x37";);
default < (content:"\x30\x24\x02\x01\x01\x78\x1f\x0a\x01\x00\x04\x00\x04\x00\x8a\x16\x31\x2e\x33\x2e\x36\x2e\x31\x2e\x34\x2e\x31\x2e\x31\x34\x36\x36\x2e\x32\x30\x30\x33\x37";);
22 changes: 22 additions & 0 deletions tests/ldap-extended/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
requires:
min-version: 8

args:
- -k none

pcap: ldap.pcap

checks:
- filter:
count: 1
match:
pcap_cnt: 7
event_type: ldap
ldap.request.message_id: 1
ldap.request.operation: extended_request
ldap.request.extended_request.name: 1.3.6.1.4.1.1466.20037
ldap.responses[0].operation: extended_response
ldap.responses[0].extended_response.result_code: "success"
ldap.responses[0].extended_response.matched_dn: ""
ldap.responses[0].extended_response.message: ""
ldap.responses[0].extended_response.name: 1.3.6.1.4.1.1466.20037
3 changes: 3 additions & 0 deletions tests/ldap-modify-dn/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ldap.pcap: ldap.syn
flowsynth.py -f pcap -w $@ $^

7 changes: 7 additions & 0 deletions tests/ldap-modify-dn/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Test Purpose

Test that LDAP ModifyDN operation is parsed correctly.

## PCAP

This PCAP was generated with flowsynth.
Binary file added tests/ldap-modify-dn/ldap.pcap
Binary file not shown.
5 changes: 5 additions & 0 deletions tests/ldap-modify-dn/ldap.syn
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
flow default tcp 1.1.1.1:5555 > 2.2.2.2:389 (tcp.initialize; mss:9000;);
default > (content:"\x30\x3c\x02\x01\x02\x6c\x37\x04\x24\x75\x69\x64\x3d\x6a\x64\x6f\x65\x2c\x6f\x75\x3d\x50\x65\x6f\x70\x6c\x65\x2c\x64\x63\x3d\x65\x78\x61\x6d\x70\x6c\x65\x2c\x64\x63\x3d\x63\x6f\x6d\x04\x0c\x75\x69\x64\x3d\x6a\x6f\x68\x6e\x2e\x64\x6f\x65\x01\x01\xff";);
default <
(content:"\x30\x0c\x02\x01\x02\x6d\x07\x0a\x01\x00\x04\x00\x04\x00";);

23 changes: 23 additions & 0 deletions tests/ldap-modify-dn/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
requires:
min-version: 8

args:
- -k none

pcap: ldap.pcap

checks:
- filter:
count: 1
match:
pcap_cnt: 7
event_type: ldap
ldap.request.message_id: 2
ldap.request.operation: mod_dn_request
ldap.request.mod_dn_request.entry: uid=jdoe,ou=People,dc=example,dc=com
ldap.request.mod_dn_request.new_rdn: uid=john.doe
ldap.request.mod_dn_request.delete_old_rdn: true
ldap.responses[0].operation: mod_dn_response
ldap.responses[0].mod_dn_response.result_code: "success"
ldap.responses[0].mod_dn_response.matched_dn: ""
ldap.responses[0].mod_dn_response.message: ""
3 changes: 3 additions & 0 deletions tests/ldap-modify/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ldap.pcap: ldap.syn
flowsynth.py -f pcap -w $@ $^

7 changes: 7 additions & 0 deletions tests/ldap-modify/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Test Purpose

Test that LDAP Modify request is parsed and logged correctly.

## PCAP

This PCAP was generated with flowsynth.
Binary file added tests/ldap-modify/ldap.pcap
Binary file not shown.
5 changes: 5 additions & 0 deletions tests/ldap-modify/ldap.syn
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
flow default tcp 1.1.1.1:5555 > 2.2.2.2:389 (tcp.initialize; mss:9000;);
default > (content:"\x30\x81\x80\x02\x01\x02\x66\x7b\x04\x24\x75\x69\x64\x3d\x6a\x64\x6f\x65\x2c\x6f\x75\x3d\x50\x65\x6f\x70\x6c\x65\x2c\x64\x63\x3d\x65\x78\x61\x6d\x70\x6c\x65\x2c\x64\x63\x3d\x63\x6f\x6d\x30\x53\x30\x18\x0a\x01\x01\x30\x13\x04\x09\x67\x69\x76\x65\x6e\x4e\x61\x6d\x65\x31\x06\x04\x04\x4a\x6f\x68\x6e\x30\x1c\x0a\x01\x00\x30\x17\x04\x09\x67\x69\x76\x65\x6e\x4e\x61\x6d\x65\x31\x0a\x04\x08\x4a\x6f\x6e\x61\x74\x68\x61\x6e\x30\x19\x0a\x01\x02\x30\x14\x04\x02\x63\x6e\x31\x0e\x04\x0c\x4a\x6f\x6e\x61\x74\x68\x61\x6e\x20\x44\x6f\x65";);
default <
(content:"\x30\x0c\x02\x01\x02\x67\x07\x0a\x01\x00\x04\x00\x04\x00";);

29 changes: 29 additions & 0 deletions tests/ldap-modify/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
requires:
min-version: 8

args:
- -k none

pcap: ldap.pcap

checks:
- filter:
count: 1
match:
pcap_cnt: 7
event_type: ldap
ldap.request.message_id: 2
ldap.request.operation: modify_request
ldap.request.modify_request.object: uid=jdoe,ou=People,dc=example,dc=com
ldap.request.modify_request.changes[0].operation: delete
ldap.request.modify_request.changes[0].modification.attribute_type: givenName
ldap.request.modify_request.changes[0].modification.attribute_values[0]: John
ldap.request.modify_request.changes[1].operation: add
ldap.request.modify_request.changes[1].modification.attribute_type: givenName
ldap.request.modify_request.changes[1].modification.attribute_values[0]: Jonathan
ldap.request.modify_request.changes[2].operation: replace
ldap.request.modify_request.changes[2].modification.attribute_type: cn
ldap.request.modify_request.changes[2].modification.attribute_values[0]: Jonathan Doe
ldap.responses[0].modify_response.result_code: "success"
ldap.responses[0].modify_response.matched_dn: ""
ldap.responses[0].modify_response.message: ""
3 changes: 3 additions & 0 deletions tests/ldap-search/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ldap.pcap: ldap.syn
flowsynth.py -f pcap -w $@ $^

7 changes: 7 additions & 0 deletions tests/ldap-search/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Test Purpose

Test that LDAP Search operation is parsed correctly.

## PCAP

This PCAP was generated with flowsynth.
Binary file added tests/ldap-search/ldap.pcap
Binary file not shown.
5 changes: 5 additions & 0 deletions tests/ldap-search/ldap.syn
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
flow default tcp 1.1.1.1:5555 > 2.2.2.2:389 (tcp.initialize; mss:9000;);
default > (content:"\x30\x56\x02\x01\x02\x63\x51\x04\x11\x64\x63\x3d\x65\x78\x61\x6d\x70\x6c\x65\x2c\x64\x63\x3d\x63\x6f\x6d\x0a\x01\x02\x0a\x01\x00\x02\x02\x03\xe8\x02\x01\x1e\x01\x01\x00\xa0\x24\xa3\x15\x04\x0b\x6f\x62\x6a\x65\x63\x74\x43\x6c\x61\x73\x73\x04\x06\x70\x65\x72\x73\x6f\x6e\xa3\x0b\x04\x03\x75\x69\x64\x04\x04\x6a\x64\x6f\x65\x30\x06\x04\x01\x2a\x04\x01\x2b";);
default < (content:"\x30\x49\x02\x01\x02\x64\x44\x04\x11\x64\x63\x3d\x65\x78\x61\x6d\x70\x6c\x65\x2c\x64\x63\x3d\x63\x6f\x6d\x30\x2f\x30\x1c\x04\x0b\x6f\x62\x6a\x65\x63\x74\x43\x6c\x61\x73\x73\x31\x0d\x04\x03\x74\x6f\x70\x04\x06\x64\x6f\x6d\x61\x69\x6e\x30\x0f\x04\x02\x64\x63\x31\x09\x04\x07\x65\x78\x61\x6d\x70\x6c\x65";);
default < (content:"\x30\x0c\x02\x01\x02\x65\x07\x0a\x01\x00\x04\x00\x04\x00";);

34 changes: 34 additions & 0 deletions tests/ldap-search/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
requires:
min-version: 8

args:
- -k none

pcap: ldap.pcap

checks:
- filter:
count: 1
match:
event_type: ldap
ldap.request.message_id: 2
ldap.request.operation: search_request
ldap.request.search_request.base_object: dc=example,dc=com
ldap.request.search_request.scope: 2
ldap.request.search_request.deref_alias: 0
ldap.request.search_request.size_limit: 1000
ldap.request.search_request.time_limit: 30
ldap.request.search_request.types_only: false
ldap.request.search_request.attributes[0]: "*"
ldap.request.search_request.attributes[1]: +
ldap.responses[0].operation: search_result_entry
ldap.responses[0].search_result_entry.base_object: dc=example,dc=com
ldap.responses[0].search_result_entry.attributes[0].type: objectClass
ldap.responses[0].search_result_entry.attributes[0].values[0]: top
ldap.responses[0].search_result_entry.attributes[0].values[1]: domain
ldap.responses[0].search_result_entry.attributes[1].type: dc
ldap.responses[0].search_result_entry.attributes[1].values[0]: example
ldap.responses[1].operation: search_result_done
ldap.responses[1].search_result_done.result_code: success
ldap.responses[1].search_result_done.matched_dn: ""
ldap.responses[1].search_result_done.message: ""
3 changes: 3 additions & 0 deletions tests/ldap-unbind/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ldap.pcap: ldap.syn
flowsynth.py -f pcap -w $@ $^

7 changes: 7 additions & 0 deletions tests/ldap-unbind/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Test Purpose

Test that LDAP Unbind operation is parsed correctly.

## PCAP

This PCAP was generated with flowsynth.
Binary file added tests/ldap-unbind/ldap.pcap
Binary file not shown.
2 changes: 2 additions & 0 deletions tests/ldap-unbind/ldap.syn
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
flow default tcp 1.1.1.1:5555 > 2.2.2.2:389 (tcp.initialize; mss:9000;);
default > (content:"\x30\x05\x02\x01\x03\x42\x00";);
16 changes: 16 additions & 0 deletions tests/ldap-unbind/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
requires:
min-version: 8

args:
- -k none

pcap: ldap.pcap

checks:
- filter:
count: 1
match:
pcap_cnt: 5
event_type: ldap
ldap.request.message_id: 3
ldap.request.operation: unbind_request
3 changes: 3 additions & 0 deletions tests/ldap-unsolicited/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ldap.pcap: ldap.syn
flowsynth.py -f pcap -w $@ $^

7 changes: 7 additions & 0 deletions tests/ldap-unsolicited/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Test Purpose

Test that LDAP Unsolicited message is parsed correctly.

## PCAP

This PCAP was generated with flowsynth.
Binary file added tests/ldap-unsolicited/ldap.pcap
Binary file not shown.
3 changes: 3 additions & 0 deletions tests/ldap-unsolicited/ldap.syn
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
flow default tcp 1.1.1.1:5555 > 2.2.2.2:389 (tcp.initialize; mss:9000;);
default < (content:"\x30\x49\x02\x01\x00\x78\x44\x0a\x01\x34\x04\x00\x04\x25\x54\x68\x65\x20\x44\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x53\x65\x72\x76\x65\x72\x20\x69\x73\x20\x73\x68\x75\x74\x74\x69\x6e\x67\x20\x64\x6f\x77\x6e\x8a\x16\x31\x2e\x33\x2e\x36\x2e\x31\x2e\x34\x2e\x31\x2e\x31\x34\x36\x36\x2e\x32\x30\x30\x33\x36";);

Loading

0 comments on commit 7fd86e8

Please sign in to comment.