From 659c2256dcdf80ab5bbb93faf8862cd49be0110a Mon Sep 17 00:00:00 2001 From: Alexander Neff Date: Mon, 16 Jun 2025 14:34:14 -0400 Subject: [PATCH] Skip cbt check if port explicitly set to 389 --- nxc/protocols/ldap.py | 5 ++++- nxc/protocols/ldap/proto_args.py | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nxc/protocols/ldap.py b/nxc/protocols/ldap.py index 413590c3..6f4237ae 100644 --- a/nxc/protocols/ldap.py +++ b/nxc/protocols/ldap.py @@ -312,7 +312,10 @@ class ldap(connection): self.domain = self.targetDomain self.check_ldap_signing() - self.check_ldaps_cbt() + if getattr(self.args, "port_explicitly_set", False) and self.port == 389: + self.cbt_status = "Unknown" + else: + self.check_ldaps_cbt() # using kdcHost is buggy on impacket when using trust relation between ad so we kdcHost must stay to none if targetdomain is not equal to domain if not self.kdcHost and self.domain and self.domain == self.targetDomain: diff --git a/nxc/protocols/ldap/proto_args.py b/nxc/protocols/ldap/proto_args.py index 03530f93..996c947d 100644 --- a/nxc/protocols/ldap/proto_args.py +++ b/nxc/protocols/ldap/proto_args.py @@ -1,10 +1,10 @@ -from nxc.helpers.args import DisplayDefaultsNotNone +from nxc.helpers.args import DefaultTrackingAction, DisplayDefaultsNotNone def proto_args(parser, parents): ldap_parser = parser.add_parser("ldap", help="own stuff using LDAP", parents=parents, formatter_class=DisplayDefaultsNotNone) ldap_parser.add_argument("-H", "--hash", metavar="HASH", dest="hash", nargs="+", default=[], help="NTLM hash(es) or file(s) containing NTLM hashes") - ldap_parser.add_argument("--port", type=int, default=389, help="LDAP port") + ldap_parser.add_argument("--port", type=int, default=389, action=DefaultTrackingAction, help="LDAP port") dgroup = ldap_parser.add_mutually_exclusive_group() dgroup.add_argument("-d", metavar="DOMAIN", dest="domain", type=str, default=None, help="domain to authenticate to")