
Preuve de concept pour CVE-2026-11106 exploitant les transferts de zone AXFR DNS non restreints pour énumérer les enregistrements de domaine, exposer les hôtes internes et divulguer des données TXT sensibles.
# 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()
Un serveur DNS mal configuré autorise les demandes de transfert de zone AXFR depuis n'importe quelle adresse IP. Cela permet à un attaquant d'énumérer tous les enregistrements du domaine, exposant les adresses IP internes, les noms de services et les enregistrements TXT sensibles.
pip install dnslib dns
sudo python dns_server_sim.py # needs root for port 53
python exploit_axfr.py