0xdfxyz
  • Penetration Testing Process
    • README.md
    • Whois
  • Nikto
  • Search Engine Discovery
  • FinalRecon
  • Nessus
  • 0_新手上路
    • 0_新手上路
  • 1_訊息收集
    • 服務枚舉
      • Page 6
      • Nmap
      • DNS
    • 應用枚舉
      • Page 6
    • A D枚舉
      • Page 6
    • web枚舉
      • Page 6
      • Web Fuzzing
      • Subdomain
  • 2_漏洞前準備
    • 反彈 Shell
    • 工具彙總
    • 字典生成
  • 3_漏洞利用
    • 應用漏洞利用
    • AD 攻擊
    • 二進位漏洞利用
    • Web漏洞利用
      • XSS
      • IDOR
      • Webshel​​l
      • File uploads
      • SSTI
      • LFI
      • SQL injection
      • XXE
      • HTTP Verb Tampering
      • Command Injection
    • 服務漏洞利用
      • CMS
        • Wordpress
        • Joolmla
        • Drupal
      • Servlet 容器/軟體開發
        • Jenkins
        • Tomcat
      • 基礎設施/網路監控工具
        • Splunk
        • PRTG Network Monitor
      • 客戶服務管理與配置管理
        • osTicket
        • Gitlab
      • 通用網關介面
        • 攻擊通用網關介面 (CGI) 應用程式 - Shellshock
      • 其他應用
        • ColdFusion
        • IIS Tilde
        • LDAP
      • 常見應用程式
        • Thick client(也稱為rich客戶端或fat客戶端
        • Web 批量分配漏洞 ( Ruby on Rails)
        • 攻擊連接到服務的應用程式(SSH)
  • 4_滲透
    • Linux 權限提升
    • Windows 權限提升
    • Windows + Linux 工具
  • 5_橫向移動
    • 工具
    • 跳板 Pivoting
    • AD 橫向移動
    • Linux 橫向移動
    • Windows 橫向移動
  • 6_NetExec
    • 常見模組
    • 命令執行
    • 漏洞掃描模組
    • 模組使用
    • 憑證轉儲
    • Kerberos 認證
    • LDAP RDP 枚舉
    • SMB 枚舉
由 GitBook 提供支持
在本页

这有帮助吗?

  1. 1_訊息收集
  2. 服務枚舉

DNS

  • 網域輸入驗證:

    • 確保提供域名作為參數;如果沒有,它會顯示使用說明並退出。

  • DNS 記錄查詢:

    • 定義要查詢的 DNS 記錄類型清單:A、AAAA、MX、NS、TXT、CNAME 和 SOA 。

    • 對於每種記錄類型,使用dig命令檢索與網域相關的記錄。

    • 顯示檢索到的記錄或指示是否未找到記錄。

  • 反向 DNS 查找:

    • 對從 A 記錄查詢取得的任何 IPv4 位址執行反向 DNS 查找(PTR 記錄) 。

    • 顯示 PTR 記錄或指示是否未找到任何記錄。

  • DNS 區域傳輸嘗試:

    • 檢索網域的權威名稱伺服器(NS 記錄) 。

    • 對於每個名稱伺服器,請嘗試使用命令中的 AXFR 查詢類型進行 DNS 區域傳輸dig。

    • 如果傳輸成功則顯示區域數據,如果傳輸失敗或不允許則指示。

#!/bin/bash
# smart_dns.sh
# 检查是否提供了域名参数
# 使用方法: chmod +x smart_dns.sh | ./smart_dns.sh example.com
if [ -z "$1" ]; then
  echo "使用方法: $0 <域名>"
  exit 1
fi

DOMAIN=$1

# 定义要查询的记录类型
RECORD_TYPES=("A" "AAAA" "MX" "NS" "TXT" "CNAME" "SOA")
# A: 检索与域名关联的 IPv4 地址(A 记录)。
# AAAA: 检索与域名关联的 IPv6 地址(AAAA 记录)。
# MX: 寻找负责该域名的邮件服务器(MX 记录)。
# NS: 标识域名的权威名称服务器。
# TXT: 检索与域名相关的任何 TXT 记录。
# CNAME: 检索域名的规范名称(CNAME 记录)。
# SOA: 检索域名的授权起始(SOA 记录)。

# 执行查询并显示结果的函数
perform_query() {
  local type=$1
  echo -e "\n查询 $DOMAIN 的 $type 记录:"
  result=$(dig "$DOMAIN" "$type" +noall +answer)
  if [ -n "$result" ]; then
    echo "$result"
  else
    echo "未找到 $DOMAIN 的 $type 记录。"
  fi
}

# 遍历每种记录类型并执行查询
for TYPE in "${RECORD_TYPES[@]}"; do
  perform_query "$TYPE"
done

# 执行反向解析(PTR 记录)
echo -e "\n执行反向解析(PTR 记录):"
IPV4_ADDRESSES=$(dig "$DOMAIN" A +short)
if [ -n "$IPV4_ADDRESSES" ]; then
  for IP in $IPV4_ADDRESSES; do
    ptr_result=$(dig -x "$IP" +noall +answer)
    if [ -n "$ptr_result" ]; then
      echo "$ptr_result"
    else
      echo "未找到 IP $IP 的 PTR 记录。"
    fi
  done
else
  echo "未找到 A 记录,跳过反向解析。"
fi

# 执行 DNS 区域传输(AXFR)
echo -e "\n尝试执行 DNS 区域传输(AXFR):"
# 获取域名的 NS 记录
NS_SERVERS=$(dig "$DOMAIN" NS +short)
if [ -n "$NS_SERVERS" ]; then
  for NS in $NS_SERVERS; do
    echo -e "\n从名称服务器 $NS 获取区域传输数据:"
    axfr_result=$(dig @"$NS" "$DOMAIN" AXFR)
    if [[ $axfr_result == *"Transfer failed."* || $axfr_result == *"XFR size"* ]]; then
      echo "$axfr_result"
    else
      echo "名称服务器 $NS 不允许区域传输或传输失败。"
    fi
  done
else
  echo "未找到 NS 记录,无法尝试区域传输。"
fi

上一页Nmap下一页應用枚舉

最后更新于3个月前

这有帮助吗?