Newsgroup: it.comp.os.linux.sys
Titolo: DNS amplification attack

Ciao a tutti
 
  i DNS di un cliente che da connetivit� a clienti in un'area urbana 
stanno subendo un DNS amplification attack. Ho gi� individuato gli IP di 
provenienza dell'attacco e ho provveduto a far segnalare la cosa ai 
clienti in modo che provvedano a fare le pulizie del caso sui loro PC.
Per ovviare la cosa intanto ho messo un paio di regole iptables sui 
server in modo che blocchino i pacchetti contenenti alcuni degli domini 
pi� gettonati (li ho trovati usanto dnstop - gran bella utility).
Ora visto che questi domini potrebbero cambiare cos� come i clienti 
sapete se c'� qualche script bello e pronto che raccoglie qualche 
statistica sulle query ai DNS e blocca i domini "malevoli"? Perch� 
altrimenti mi sa che son costretto a farmi io qualcosa in casa ma se 
esiste qualcosa di gi� pronto non reinvento la ruota :-)
 
Grazie a tutti e buon venerd�
 
Beppe


Scusa, ma la descrizione che fai sopra non ha molto senso, onestamente.
 
 
DNS amplification/reflection funziona solo se l'IP sorgente della
richiesta � spoofato. Il che implica che
 
- il resolver deve essere aperto, o cortesemente diniega la richiesta di
risoluzione
- l'IP sorgente � spoofato, ergo quel che vedi in dnstop non ha alcuna
relazione con la macchina che conduce l'attacco: quella � la vittima
(nel caso tu sia usato come reflector) o un open resolver (nel caso tu
sia la vittima)
 
 
Il che unito al "segnalando la cosa ai *clienti*" mi fa pensare che in
realt� tu abbia identificato del traffico che non ha relazione con
l'attacco in corso.
 
 
Qualche domanda, giusto per capire:
 
Da cosa hai dedotto che il sistema in questione sta "subendo un DNS
amplification attack"?
Per "subire" intendi che ne � il target o che � usato come reflector in
un attacco verso terzi?
Nel primo caso, chi sono le sorgenti, e che dice
http://openresolverproject.org/
 al loro riguardo?
Nel secondo caso, chi sono le vittime (ovvero gli IP spoofed da cui
sembrano arivare le richieste di risoluzione)?
 
 

Ciao Skull (prima o poi mi toccher� offrire a te e a altri una birra).
 
Descrivo meglio la cosa sono stato effettivamente poco chiaro o magari 
quello che st� vedendo non � un DNS amplification attack (a questo punto 
ho dubbi pure su come mi chiamo).
Di fatto il DNS in questione � un resolver per i clienti interni della 
rete metropolitana, su cui quindi vengono fatte tutte le query di questo 
mondo anche quelle ricorsive.
Quel che ho notato in questi giorni (usando dnstop) sui DNS � stato un 
numero straordinario di richieste di risoluzione per 
kvsnqtkpqnad.www.sf123.com
 o cose analoghe.
Usando tcpdump o poi individuato da quale IP vengono fatte queste 
richieste ed ho quindi segnalato al cliente con l'IP di riferimento di 
fare un check sui propri PC per verificare la presenza di virus o altro 
- spero di aver fatto bene a questo punto.
 
In sostanza credo di essere io il reflector visto che sono il server 
ricorsivo (sempre se ho inteso bene come funziona il tipo di attacco)
 
Grazie ancora
Beppe

 richieste ed ho quindi segnalato...
 
Sono pacchetti UDP, no? :)
 
saluti random
-- 
Libertï¿œ vo cercando:
http://dottormistero.blogspot.it/2014/04/liberta-vo-cercando.html
 


 
Sï¿œ sï¿œ assolutamente. Scusami ma non colgo, credo tu voglia far scattare 
qualcosa nel mio cervello, ma son lungi da fare click oggi :-)

 ricorsivo (sempre se ho inteso bene come funziona il tipo di attacco)
 
No. In un attacco reflection le richieste arrivano da ip forgiati.
 
Funziona cos�: una richiesta DNS � UDP, ovvero non c'� handshake e il
destinatario del pacchetto non ha pertanto modo di accorgersi che l'IP
sorgente � spoofato.
 
Tale richiesta viene diretta ad un open-resolver (ovvero un nameserver
che accetta di eseguire recursion per chiunque, anzich� solo per le
proprie reti).
 
Tale nameserver far� recursion e/o prelever� la risposta dalla cache,
poi fornir� la risposta.
 
Ma la fornir� all'IP spoofato nella richiesta, che � la vittima; da cui
il termine "reflection": A attacca B facendo s� che sia C a mandargli
traffico.
 
Per dare all'attacco la massima efficacia, la richiesta spoofata �
tipicamente una piccola domanda che fornisce una grande risposta. In tal
modo la vittima viene inondata di molto pi� traffico di quanto
l'attaccante possa permettersi di inviare, da cui il termine
"amplification".
 
In questo modo l'attaccante invia uno stream di pacchetti UDP spoofati
per -diciamo- 1Gbit, e la vittima riceve un flusso di ritorno da 30 Gbit.
 
 
Quindi:
 
- se stai partecipando come reflector, significa che sei un open
resolver (e quella � la prima cosa da fixare), e vedi arrivare richieste
di risoluzione DNS in quantit� enorme, da una manciata di IP (quelli
delle vittime). Tipicamente, le richieste riguarderanno tutte una
manciata di domini e saranno delle richieste di tipo ANY.
Per la maggiore, storicamente vanno:
 
 
enlil:~ skull$ dig +bufsize=4096 any 
ripe.net
 | tail -2
;; MSG SIZE  rcvd: 1048
 
enlil:~ skull$ dig +bufsize=4096 any 
isc.org
 | tail -2
;; MSG SIZE  rcvd: 1624
 
 
 
 
- se sei vittima di un attacco reflection, riceverai *risposte DNS* in
quantit� enorme da centinaia o migliaia di IP (gli open resolvers usati
dall'attaccante). Quindi tutto traffico con porta sorgente 53/UDP e
relativi frammenti. La porta di destinazione pu� variare: tipicamente
l'attaccante usa la 53/UDP anche qui, in modo da rendere pi� difficile
il filtraggio senza inspection.

 qualcosa nel mio cervello, ma son lungi da fare click oggi :-)
L'udp usa un protocollo tipo quelli dei missili a infrarosso: lancia e 
dimentica :)
Non c'è handshake come nel tcp, quindi il server prende per buono il 
mittente che vede nelle intestazioni e stop.
(guardiamo se ci ho azzeccato.. altrimenti la birra la devo pagare pure io)
 
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
 
www.robyt.eu
 

Grazie mille skull, direi che mi hai dato una risposta pi� che esaustiva.
A questo punto mi sa che i DNS in questione stanno un po' in mezzo a 
questa situazione.
 
Spiego: ho provato a fare una richiesta con dig dall'esterno verso uno 
degli IP segnalati. La richiesta � stata ricevuta dall'IP e girata verso 
i DNS su cui ho notato il problema.
Quindi � corretto che gli IP cliente usino il mio (chiamiamolo cos�) DNS 
per le risoluzioni anche ricorsive (sono clienti che *dovrebbero* essere 
trusted) � ovviamente sbagliato che siano loro degli open resolver, da 
cui quindi probabilmente stanno partendo questo genere di attacchi.
Ha senso?

 (guardiamo se ci ho azzeccato.. altrimenti la birra la devo pagare pure io)
 
Certamente! L'attacco a cui abbiamo assistito in questi mesi ï¿œ fatto
proprio cosï¿œ: la vittima ï¿œ l'IP sorgente.
 
sorgente di saluti



 
:-)

 mia situazione ï¿œ di quello che stï¿œ nel mezzo tra incudine e martello.
 
In queste settimane alcuni providers (su richiesta dei clienti) stanno
filtrando il traffico a monte; ï¿œ l'unica soluzione contro un ddos di
questo tipo.
 
saluti filtrati
