Buscador Especializado
Como esconder la version de BIND
Justamenete la semana anterior lleve un curso de Vantio un bind mejorado para mi criterio y dentro de lo que aprendi fue a intentar mejora mi bind ..
Como por ejemplo muchas veces mostramos al atacante la version de bind que disponemos y ahora que esta de moda el tema de kaminsky, por lo cual el paso #1 de seguridad es , esconder la version de bind :
si consultamos al dns que version es :
[root@tdp ~]# dig -c CH -t txt version.bind @ns.nitcom.com
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2 <<>> -c CH -t txt version.bind @ns.nitcom.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 621
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;version.bind. CH TXT
;; ANSWER SECTION:
version.bind. 0 CH TXT "9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.1"
;; AUTHORITY SECTION:
version.bind. 0 CH NS version.bind.
;; Query time: 16 msec
;; SERVER: 200.60.195.7#53(200.60.195.7)
;; WHEN: Mon Jan 25 08:21:04 2010
;; MSG SIZE rcvd: 91
Nos responde en este caso : 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.1
Lo que se hace es en la session de options del named.conf añadir :
la linea :
version "QUE MIRAS";
O en caso de que no queramos que responda :
version none;
En mi caso para el ejemplo añadi la primera linea y obtenemos esta respuesta :
[root@tdp ~]# dig -c CH -t txt version.bind @ns.nitcom.com
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2 <<>> -c CH -t txt version.bind @ns.nitcom.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35683
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;version.bind. CH TXT
;; ANSWER SECTION:
version.bind. 0 CH TXT "QUE MIRAS"
;; AUTHORITY SECTION:
version.bind. 0 CH NS version.bind.
;; Query time: 15 msec
;; SERVER: 200.60.195.7#53(200.60.195.7)
;; WHEN: Mon Jan 25 08:23:10 2010
;; MSG SIZE rcvd: 66
Y listo el pollo !!!!
Bueno esto es por ahora mas adelante explicare otros metodos como habilitar el puerto TCP 53 o añadir la opcion de que bind consulte al ROOT con un host añadido con mayusculas y minusculas y el tiempo de espera de esta respuesta o la de emplear puertos aleatorios de respuesta.. lo que hace mucho dificil la labor del atacante.
Continuando con los mecanismos de seguridad es la de añadir puertos aleatorios de respuestas ..
Lo primero que debemos de hacer es parchar nuestro bind .. no se asuste no tendra que compilar solo actualizar lo existente de preferencia en modo enjaulado o chrrot
yum -y update bind*
Luego
para ello en la opcion "options añadir estas lineas" en el named.conf
query-source address * port 53;
dnssec-enable yes;
Por lo cual testeando nuestro servidor observaremos que responde en puertos aleatorios :
[root@sharp ~]# tcpdump -i eth0 dst 192.168.1.2 and port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
19:32:46.882562 IP 192.168.1.4.35785 > lab.nitcom.com.domain: 36215+ A? www.larepublica.pe. (36)
19:32:48.109319 IP 192.168.1.4.35785 > lab.nitcom.com.domain: 58486+ AAAA? www.larepublica.pe. (36)
19:32:46.883527 IP 192.168.1.4.60348 > lab.nitcom.com.domain: 239+ PTR? 4.1.168.192.in-addr.arpa. (42)
19:32:47.611637 IP 192.168.1.4.41786 > lab.nitcom.com.domain: 239+ PTR? 4.1.168.192.in-addr.arpa. (42)
19:32:48.985687 IP 192.168.1.4.60626 > lab.nitcom.com.domain: 61813+ A? b.scorecardresearch.com. (41)
19:32:48.985769 IP 192.168.1.4.60626 > lab.nitcom.com.domain: 10647+ AAAA? b.scorecardresearch.com. (41)
19:32:48.986347 IP 192.168.1.4.39083 > lab.nitcom.com.domain: 5814+ A? banners.grupolarepublica.com.pe. (49)
19:32:48.986399 IP 192.168.1.4.39083 > lab.nitcom.com.domain: 52981+ AAAA? banners.grupolarepublica.com.pe. (49)
19:32:48.987343 IP 192.168.1.4.47597 > lab.nitcom.com.domain: 19479+ A? ds-us2.clickexperts.net. (41)
19:32:48.987399 IP 192.168.1.4.47597 > lab.nitcom.com.domain: 20626+ AAAA? ds-us2.clickexperts.net. (41)
19:32:48.988043 IP 192.168.1.4.48020 > lab.nitcom.com.domain: 54612+ A? hits.e.cl. (27)
19:32:48.988092 IP 192.168.1.4.48020 > lab.nitcom.com.domain: 46381+ AAAA? hits.e.cl. (27)
19:32:48.988608 IP 192.168.1.4.33141 > lab.nitcom.com.domain: 55982+ A? pagead2.googlesyndication.com. (47)
19:32:48.988647 IP 192.168.1.4.33141 > lab.nitcom.com.domain: 35398+ AAAA? pagead2.googlesyndication.com. (47)
19:32:48.989170 IP 192.168.1.4.43754 > lab.nitcom.com.domain: 53464+ A? www.claro.com.pe. (34)
19:32:48.989217 IP 192.168.1.4.43754 > lab.nitcom.com.domain: 57370+ AAAA? www.claro.com.pe. (34)
19:32:49.920785 IP 192.168.1.4.41457 > lab.nitcom.com.domain: 62807+ A? crs-us2.clickexperts.net. (42)
19:32:49.920832 IP 192.168.1.4.41457 > lab.nitcom.com.domain: 58332+ AAAA? crs-us2.clickexperts.net. (42)
19:32:50.606147 IP 192.168.1.4.53138 > lab.nitcom.com.domain: 44882+ A? www.app.minsa.gob.pe. (38)
19:32:50.606257 IP 192.168.1.4.53138 > lab.nitcom.com.domain: 61859+ AAAA? www.app.minsa.gob.pe. (38)
19:32:50.959484 IP 192.168.1.4.57421 > lab.nitcom.com.domain: 45764+ A? del.icio.us. (29)
19:32:50.959537 IP 192.168.1.4.57421 > lab.nitcom.com.domain: 49347+ AAAA? del.icio.us. (29)
19:32:50.960197 IP 192.168.1.4.35297 > lab.nitcom.com.domain: 64990+ A? www.facebook.com. (34)
19:32:50.960247 IP 192.168.1.4.35297 > lab.nitcom.com.domain: 28559+ AAAA? www.facebook.com. (34)
19:32:50.960814 IP 192.168.1.4.54953 > lab.nitcom.com.domain: 23655+ A? www.google.com. (32)
19:32:50.960906 IP 192.168.1.4.54953 > lab.nitcom.com.domain: 52814+ AAAA? www.google.com. (32)
Y listo el pollo ! ahora si ... tecnicas avanzadas comentare en otro capitulo que la del DNSSEC
slds
Como por ejemplo muchas veces mostramos al atacante la version de bind que disponemos y ahora que esta de moda el tema de kaminsky, por lo cual el paso #1 de seguridad es , esconder la version de bind :
si consultamos al dns que version es :
[root@tdp ~]# dig -c CH -t txt version.bind @ns.nitcom.com
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2 <<>> -c CH -t txt version.bind @ns.nitcom.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 621
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;version.bind. CH TXT
;; ANSWER SECTION:
version.bind. 0 CH TXT "9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.1"
;; AUTHORITY SECTION:
version.bind. 0 CH NS version.bind.
;; Query time: 16 msec
;; SERVER: 200.60.195.7#53(200.60.195.7)
;; WHEN: Mon Jan 25 08:21:04 2010
;; MSG SIZE rcvd: 91
Nos responde en este caso : 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.1
Lo que se hace es en la session de options del named.conf añadir :
la linea :
version "QUE MIRAS";
O en caso de que no queramos que responda :
version none;
En mi caso para el ejemplo añadi la primera linea y obtenemos esta respuesta :
[root@tdp ~]# dig -c CH -t txt version.bind @ns.nitcom.com
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2 <<>> -c CH -t txt version.bind @ns.nitcom.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35683
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;version.bind. CH TXT
;; ANSWER SECTION:
version.bind. 0 CH TXT "QUE MIRAS"
;; AUTHORITY SECTION:
version.bind. 0 CH NS version.bind.
;; Query time: 15 msec
;; SERVER: 200.60.195.7#53(200.60.195.7)
;; WHEN: Mon Jan 25 08:23:10 2010
;; MSG SIZE rcvd: 66
Y listo el pollo !!!!
Bueno esto es por ahora mas adelante explicare otros metodos como habilitar el puerto TCP 53 o añadir la opcion de que bind consulte al ROOT con un host añadido con mayusculas y minusculas y el tiempo de espera de esta respuesta o la de emplear puertos aleatorios de respuesta.. lo que hace mucho dificil la labor del atacante.
Continuando con los mecanismos de seguridad es la de añadir puertos aleatorios de respuestas ..
Lo primero que debemos de hacer es parchar nuestro bind .. no se asuste no tendra que compilar solo actualizar lo existente de preferencia en modo enjaulado o chrrot
yum -y update bind*
Luego
para ello en la opcion "options añadir estas lineas" en el named.conf
query-source address * port 53;
dnssec-enable yes;
Por lo cual testeando nuestro servidor observaremos que responde en puertos aleatorios :
[root@sharp ~]# tcpdump -i eth0 dst 192.168.1.2 and port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
19:32:46.882562 IP 192.168.1.4.35785 > lab.nitcom.com.domain: 36215+ A? www.larepublica.pe. (36)
19:32:48.109319 IP 192.168.1.4.35785 > lab.nitcom.com.domain: 58486+ AAAA? www.larepublica.pe. (36)
19:32:46.883527 IP 192.168.1.4.60348 > lab.nitcom.com.domain: 239+ PTR? 4.1.168.192.in-addr.arpa. (42)
19:32:47.611637 IP 192.168.1.4.41786 > lab.nitcom.com.domain: 239+ PTR? 4.1.168.192.in-addr.arpa. (42)
19:32:48.985687 IP 192.168.1.4.60626 > lab.nitcom.com.domain: 61813+ A? b.scorecardresearch.com. (41)
19:32:48.985769 IP 192.168.1.4.60626 > lab.nitcom.com.domain: 10647+ AAAA? b.scorecardresearch.com. (41)
19:32:48.986347 IP 192.168.1.4.39083 > lab.nitcom.com.domain: 5814+ A? banners.grupolarepublica.com.pe. (49)
19:32:48.986399 IP 192.168.1.4.39083 > lab.nitcom.com.domain: 52981+ AAAA? banners.grupolarepublica.com.pe. (49)
19:32:48.987343 IP 192.168.1.4.47597 > lab.nitcom.com.domain: 19479+ A? ds-us2.clickexperts.net. (41)
19:32:48.987399 IP 192.168.1.4.47597 > lab.nitcom.com.domain: 20626+ AAAA? ds-us2.clickexperts.net. (41)
19:32:48.988043 IP 192.168.1.4.48020 > lab.nitcom.com.domain: 54612+ A? hits.e.cl. (27)
19:32:48.988092 IP 192.168.1.4.48020 > lab.nitcom.com.domain: 46381+ AAAA? hits.e.cl. (27)
19:32:48.988608 IP 192.168.1.4.33141 > lab.nitcom.com.domain: 55982+ A? pagead2.googlesyndication.com. (47)
19:32:48.988647 IP 192.168.1.4.33141 > lab.nitcom.com.domain: 35398+ AAAA? pagead2.googlesyndication.com. (47)
19:32:48.989170 IP 192.168.1.4.43754 > lab.nitcom.com.domain: 53464+ A? www.claro.com.pe. (34)
19:32:48.989217 IP 192.168.1.4.43754 > lab.nitcom.com.domain: 57370+ AAAA? www.claro.com.pe. (34)
19:32:49.920785 IP 192.168.1.4.41457 > lab.nitcom.com.domain: 62807+ A? crs-us2.clickexperts.net. (42)
19:32:49.920832 IP 192.168.1.4.41457 > lab.nitcom.com.domain: 58332+ AAAA? crs-us2.clickexperts.net. (42)
19:32:50.606147 IP 192.168.1.4.53138 > lab.nitcom.com.domain: 44882+ A? www.app.minsa.gob.pe. (38)
19:32:50.606257 IP 192.168.1.4.53138 > lab.nitcom.com.domain: 61859+ AAAA? www.app.minsa.gob.pe. (38)
19:32:50.959484 IP 192.168.1.4.57421 > lab.nitcom.com.domain: 45764+ A? del.icio.us. (29)
19:32:50.959537 IP 192.168.1.4.57421 > lab.nitcom.com.domain: 49347+ AAAA? del.icio.us. (29)
19:32:50.960197 IP 192.168.1.4.35297 > lab.nitcom.com.domain: 64990+ A? www.facebook.com. (34)
19:32:50.960247 IP 192.168.1.4.35297 > lab.nitcom.com.domain: 28559+ AAAA? www.facebook.com. (34)
19:32:50.960814 IP 192.168.1.4.54953 > lab.nitcom.com.domain: 23655+ A? www.google.com. (32)
19:32:50.960906 IP 192.168.1.4.54953 > lab.nitcom.com.domain: 52814+ AAAA? www.google.com. (32)
Y listo el pollo ! ahora si ... tecnicas avanzadas comentare en otro capitulo que la del DNSSEC
slds
#2 Re:Como esconder la version de BIND
Amil, <> / 26 January 2010
En parte tiene razon Juanjo, pero también está muy bien saber estas cosas, para librarnos en parte de ataques de lameruzos
[ Responder (0) ]
Dejar un comentario
Fuentes XML de comentario: RSS | Atom
PINGUINO PERUANO

Vitarte, Peru
26°C
Se siente 27°C
PROYECTOS
Búsqueda
Estadística
5
76
62596

#1 Re:Como esconder la version de BIND
No creo que "la seguridad por oscuridad" sea seguridad en absoluto.
No sé hasta que punto los ataques a medida se molestan en verificar la versión, o si es más "económico" probar por fuerza... y si entra, pues entra ;)