tentando enviar uma consulta para powerdns e o resultado esperado não está sendo retornado

1

Tentando usar powerdns para consultas DNS do enum (voip).

Acredito que configuro tudo corretamente.

parece estar correto nas tabelas do mysql

select * from records\G
     id: 3
     domain_id: 3
     name: 0.1.9.2.8.4.3.3.0.7.1.e164.arpa
     type: NAPTR
     content: 100 10 "u" "E2U+sip" "!^.*$!sip:[email protected]!" .
     ttl: 120
     prio: NULL
    change_date: NULL

 select * from domains\G
         id: 3
         name: e164.arpa
         master: 127.0.0.1
         last_check: NULL
         type: MASTER
         notified_serial: NULL
         account: NULL

e eu posso ver a consulta com base nos logs pdns:

Jun  8 16:10:47 localhost pdns[12575]: Remote 127.0.0.1 wants '0.1.9.2.8.4.3.3.0.7.1.e164.arpa|NAPTR', do = 0, bufsize = 512: packetcache MISS
Jun  8 16:10:47 localhost pdns[12575]: Query: select content,ttl,prio,type,domain_id,name from records where type='SOA' and name='0.1.9.2.8.4.3.3.0.7.1.e164.arpa'
Jun  8 16:10:47 localhost pdns[12575]: Query: select content,ttl,prio,type,domain_id,name from records where type='SOA' and name='1.9.2.8.4.3.3.0.7.1.e164.arpa'
Jun  8 16:10:47 localhost pdns[12575]: Query: select content,ttl,prio,type,domain_id,name from records where type='SOA' and name='9.2.8.4.3.3.0.7.1.e164.arpa'

no entanto, minhas escavações falham:

dig NAPTR @127.0.0.1  0.1.9.2.8.4.3.3.0.7.1.e164.arpa

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> NAPTR @127.0.0.1 0.1.9.2.8.4.3.3.0.7.1.e164.arpa
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 8911
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;0.1.9.2.8.4.3.3.0.7.1.e164.arpa. IN    NAPTR

;; Query time: 4 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jun  8 16:04:28 2015
;; MSG SIZE  rcvd: 49

Eu vejo por que não há resultados "type = SOA" na consulta mysql, mas por que está tentando digitar = 'SOA' e não 'NAPTR'?

A resposta é baseada nas sugestões de Håkan Lindqvist:

crie uma tabela de registros com esta aparência:

     id: 6
     domain_id: 3
     name: someServer.com
     type: SOA
     content: ns1.someDNSServer.com
     ttl: 120
     prio: NULL
     change_date: NULL
      *************************** 2. row ***************************
     id: 7
     domain_id: 3
     name: someServer.com
     type: NS
     content: ns1.someDNSServer.com
     ttl: 120
     prio: NULL
     change_date: NULL
    
por bart2puck 07.06.2015 / 07:29

1 resposta

1

Acredito que o problema não seja o seu registro NAPTR , mas que o PowerDNS não considera sua zona válida até que tenha um registro SOA .

Desconsiderando o comportamento específico do PowerDNS, os requisitos no DNS em geral é que qualquer zona deve ter pelo menos SOA e NS registros em seu ápice.
(O PowerDNS não parece validar o aspecto NS disso, mas a falha em adicionar esses registros causará problemas.)

Não sei se realmente faz sentido que você esteja configurando uma zona para a totalidade de e164.arpa , mas em termos mais gerais, se o nome da sua zona for foo.example , você gostaria de algo assim:

foo.example.     7200    IN      SOA     ns1.example.com. hostmaster.example.com. 1 3600 1800 2419200 7200
foo.example.     7200    IN      NS      ns1.example.com.
foo.example.     7200    IN      NS      ns2.example.com.
...

Você desejará adicionar esses registros obrigatórios às suas zonas, além dos dados específicos desejados.


Como foi observado por Michael, 2.8.4.3.3.0.7.1.e164.arpa é um nome de zona mais provável (que seria +1 703 348 2 ).

Em termos específicos do PowerDNS, se você estiver trabalhando diretamente no SQL (o que não é necessariamente ideal), adicionar essa zona seria algo como:

INSERT INTO domains (name, type) VALUES('2.8.4.3.3.0.7.1.e164.arpa', 'MASTER');
INSERT INTO records (domain_id, name, ttl, type, content) VALUES(7, '2.8.4.3.3.0.7.1.e164.arpa', 7200, 'SOA', 'ns1.example.com hostmaster.example.com 1 3600 1800 2419200 7200');
INSERT INTO records (domain_id, name, ttl, type, content) VALUES(7, '2.8.4.3.3.0.7.1.e164.arpa', 7200, 'NS', 'ns1.example.com');
INSERT INTO records (domain_id, name, ttl, type, content) VALUES(7, '2.8.4.3.3.0.7.1.e164.arpa', 7200, 'NS', 'ns2.example.com');

Depois disso, você adicionaria seu registro NAPTR :

INSERT INTO records (domain_id, name, ttl, type, content) VALUES(7, '0.1.9.2.8.4.3.3.0.7.1.e164.arpa', 7200, 'NAPTR', '...');
...
    
por 08.06.2015 / 22:31

Tags