Onde vejo versões vulneráveis de BIND e onde encontro Exploits?
Isso é simples, gosto de procurar exploits no "milw0rm" direto, sem perder tempo no Google, mas para quem tempo acho bacana procurar exploits no Google russo, turco, árabe e não só no Google "BR", pois este é muito limitado. Google gringo tem mais chance de encontrar exploits que não foram postados no milw0rm, packet storm etc. Vou deixar um exemplo de exploit novo aí:
Ele está sendo muito usado para envenenamento de DNS explorando o "Bind 9".
Tem também exploits remotos como este:
Como posso automatizar meus scans de Bind?
Você pode fazer isso com shell script, perl, python, C, ruby ou qualquer linguagem. Veja uma idéia lógica:
for ( $variavel=0; $variavel<=255; $variavel++) {
nslookup -type=txt -class=chaos version.bind 202.12.12.$variavel
}
Loop simples para escanear uma faixa de IPs de 1 a 255.
Também podemos usar o "nmap" procurando hosts com BIND:
# nmap -sU -vv -P0 -A -D ip_laranja 200.21.12.1-255 -p53
A idéia deste comando foi mandar scan com pacotes datagrama (-sU=UDP scan) na porta 53 do BIND, este ip "200.21.12.1-255" na sua faixa final vai de 1 até 255, ou seja, ele escaneará 255 máquinas. Aí você coloca a faixa de ip que quiser...
Como posso evitar que meu servidor receba estes ataques?
Com o IDS
Snort você pode tentar colocar um alerta toda vez que alguém procura saber a versão do seu Bind, ou scan UDP etc.
Use a regra:
alert UDP $EXTERNAL any -> $INTERNAL 53 (msg: "IDS482/named-exploit-tsig-infoleak"; content: "|AB CD 09 80 00 00 00 01 00 00 00 00 00 00 01 00 01 20 20 20 20 02 61|"
A forma mais simples de evitar é manter seu BIND atualizado e manter controle de usuários no servidor, saber quem entrou e quem saiu...
Terminando por aqui, um salve pro pessoal.