
CVE-2026-11106の概念実証です。制限のないDNS AXFRゾーン転送を悪用してドメインレコードを列挙し、内部ホストを暴露し、機密性の高いTXTデータを漏洩させます。
# dns_server_sim.py - Simulated DNS server allowing AXFR
from dnslib import DNSRecord, QTYPE, RR, TXT, A
import socketserver, socket
class DNSHandler(socketserver.BaseRequestHandler):
def handle(self):
data, sock = self.request
request = DNSRecord.parse(data)
reply = request.reply()
qname = request.q.qname
if request.q.qtype == QTYPE.AXFR:
# Vulnerability: allows zone transfer from any client
reply.add_answer(RR(qname, QTYPE.TXT, rdata=TXT("secret=admin:password123")))
reply.add_answer(RR(qname, QTYPE.A, rdata=A("192.168.1.1")))
sock.sendto(reply.pack(), self.client_address)
server = socketserver.ThreadingUDPServer(('0.0.0.0', 53), DNSHandler)
print("DNS server on :53")
server.serve_forever()
設定ミスのある DNS サーバーは、任意の IP アドレスからの AXFR ゾーン転送リクエストを許可します。これにより、攻撃者はすべてのドメインレコードを列挙し、内部 IP アドレス、サービス名、機密性の高い TXT レコードを露呈させることができます。
pip install dnslib dns
sudo python dns_server_sim.py # needs root for port 53
python exploit_axfr.py