Skip to content

Commit 53fbac1

Browse files
Merge pull request Pennyw0rth#911 from azoxlpf/fix/ldap-dclist-hostname-kerberos
Resolve hostname to IP in dc_list when no --dns-server is given
2 parents c24c299 + 7507b23 commit 53fbac1

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

nxc/protocols/ldap.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import hashlib
44
import hmac
55
import os
6+
import socket
67
from errno import EHOSTUNREACH, ETIMEDOUT, ENETUNREACH
78
from binascii import hexlify
89
from datetime import datetime
@@ -830,7 +831,8 @@ def computers(self):
830831
def dc_list(self):
831832
# bypass host resolver configuration via configure=False (default pulls from /etc/resolv.conf or registry on Windows)
832833
resolv = resolver.Resolver(configure=False)
833-
resolv.nameservers = [self.args.dns_server] if self.args.dns_server else [self.host]
834+
ns = self.args.dns_server or self.host
835+
resolv.nameservers = [socket.gethostbyname(ns)]
834836
self.logger.debug(f"DNS Server option: {self.args.dns_server}, using DNS server: {resolv.nameservers}")
835837
resolv.timeout = self.args.dns_timeout
836838

tests/e2e_commands.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ netexec ldap TARGET_HOST -u LOGIN_USERNAME -p LOGIN_PASSWORD KERBEROS --admin-co
205205
netexec ldap TARGET_HOST -u LOGIN_USERNAME -p LOGIN_PASSWORD KERBEROS --gmsa
206206
netexec ldap TARGET_HOST -u LOGIN_USERNAME -p LOGIN_PASSWORD KERBEROS --pso
207207
netexec ldap TARGET_HOST -u LOGIN_USERNAME -p LOGIN_PASSWORD KERBEROS --pass-pol
208+
netexec ldap TARGET_HOST -u LOGIN_USERNAME -p LOGIN_PASSWORD KERBEROS --dc-list
208209
##### LDAP Modules
209210
netexec ldap TARGET_HOST -u LOGIN_USERNAME -p LOGIN_PASSWORD KERBEROS -L
210211
netexec ldap TARGET_HOST -u LOGIN_USERNAME -p LOGIN_PASSWORD KERBEROS -M adcs

0 commit comments

Comments
 (0)