Scouting DNS avec CHAOS.

Juste un petit post, Voici quelque tricks que l’on peut pratiquer avec un client DNS, dans notre cas DIG.

Le deux premier viennent de la classe CHAOS. la classe CHAOS permet d’avoir quelques infos sur le serveur DNS et cela ne fonctionne pas uniquement avec BIND.

Pour exemple reprenons notre tête de turque iranien habituelle (Voir Le CTF de la centrifugeuse ou on y apprenait comment lister tous les records d’un serveur DNS mal configuré, n’essayez plus c’est corrigé). On peut toujours avec une query bien sentie sortir la version. Ici le serveur DNS est un Windows 2003 semble t’il.

cyanide# dig -t txt -c chaos VERSION.BIND  @80.191.32.2            

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> -t txt -c chaos VERSION.BIND @80.191.32.2
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48075
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;VERSION.BIND.                  CH      TXT

;; ANSWER SECTION:
VERSION.BIND.           0       CH      TXT     "Windows Server 2003"

;; AUTHORITY SECTION:
VERSION.BIND.           0       CH      NS      VERSION.BIND.

;; Query time: 302 msec
;; SERVER: 80.191.32.2#53(80.191.32.2)
;; WHEN: Sun Dec  1 17:39:10 2013
;; MSG SIZE  rcvd: 76

La zone chaos permet aussi de demande le vrai hostname du serveur.

cyanide# dig -t txt -c chaos HOSTNAME.BIND  @80.191.32.2  

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> -t txt -c chaos HOSTNAME.BIND @80.191.32.2
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57429
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;HOSTNAME.BIND.                 CH      TXT

;; ANSWER SECTION:
HOSTNAME.BIND.          0       CH      TXT     "DNS-NS4"

;; AUTHORITY SECTION:
HOSTNAME.BIND.          0       CH      NS      HOSTNAME.BIND.

;; Query time: 303 msec
;; SERVER: 80.191.32.2#53(80.191.32.2)
;; WHEN: Sun Dec  1 17:43:34 2013
;; MSG SIZE  rcvd: 65

Et défois suivant la distrib, cela peut carrément être très très verbeux, reprenons un autre exemple d’un record que l’on pense dans le pays sans extraditions.

cyanide# dig -t txt -c chaos VERSION.BIND  @2main.ir        

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> -t txt -c chaos VERSION.BIND @2main.ir
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45423
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;VERSION.BIND.                  CH      TXT

;; ANSWER SECTION:
VERSION.BIND.           0       CH      TXT     "9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6"

;; AUTHORITY SECTION:
VERSION.BIND.           0       CH      NS      VERSION.BIND.

;; Query time: 85 msec
;; SERVER: 109.203.113.188#53(109.203.113.188)
;; WHEN: Sun Dec  1 18:09:41 2013
;; MSG SIZE  rcvd: 95

Très verbeux, du bind à l’os tout y passe. Et pour le hostname là c’est le drame, … zut en europe :) !

cyanide# dig -t txt -c chaos hostname.bind  @2main.ir

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> -t txt -c chaos hostname.bind @2main.ir
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44123
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;hostname.bind.                 CH      TXT

;; ANSWER SECTION:
hostname.bind.          0       CH      TXT     "northampton.theukhost.net"

;; AUTHORITY SECTION:
hostname.bind.          0       CH      NS      hostname.bind.

;; Query time: 91 msec
;; SERVER: 109.203.113.188#53(109.203.113.188)
;; WHEN: Sun Dec  1 18:14:42 2013
;; MSG SIZE  rcvd: 83

Le plus simple pour éviter ce genre de petit leak et de créer une vue qui deny les requests.

A bientôt pour un peu plus de scouting fun sur le DNS avec Active Directory.

 

This entry was posted in Network and tagged , . Bookmark the permalink.

2 Responses to Scouting DNS avec CHAOS.

  1. PoGo says:

    Salut,

    Autre solution pour masquer ce genre d’info, via la configuration de bind :
    options {
    hostname “”;
    version “”;
    };

Leave a Reply to thanatos Cancel reply

Your email address will not be published. Required fields are marked *

AlphaOmega Captcha Classica  –  Enter Security Code