reklama

Zneužití otevřeného rekurzivního DNS

Zneužití otevřeného rekurzivního DNS
« kdy: 29. 03. 2018, 17:01:27 »
Teoreticka otazka
Vsade sa docitam, ze ako sa zneuzivaju resolvery ktore bezia na klientskych routeroch s verejnou IP a nechtiac, resp. majitel zariadenia ani nevie ze ma otvoreny resolver na wan interface (kontrola resolvera).
Kto, ako a preco zneuziva resolvery:
Kto ich zneuziva je jasne su to botnety alebo nejaky iny sofistikovany sw, ktory pre niekoho pracuje.
Vsade sa docitam, ze ak ma niekto otvoreny resolver, tak ktokolvek z internetu si cez tento resolver moze prekladat co chce.
Nemam zaujem sa dozvediet presne ako to funguje aby som to mohol aj ja zneuzit :) ale chcem vediet teoreticky ako to funguje.
Skusil som si otvorit resolver na wan a do par hodin som mal na udp 53 asi 20 000 spojeni (na miesto beznych 100-200).
Ako to vlastne funguje a preco to niekto robi ?


« Poslední změna: 29. 03. 2018, 18:19:19 od Petr Krčmář »

reklama


ttt

Re:Otvoreny rekurzivny DNS
« Odpověď #1 kdy: 29. 03. 2018, 17:31:58 »
Jeden z útoků je DNS amplification attack, viz třeba https://www.cloudflare.com/learning/ddos/dns-amplification-ddos-attack/

Jenda

Re:Zneužití otevřeného rekurzivního DNS
« Odpověď #2 kdy: 29. 03. 2018, 18:55:27 »
Proč nejde tímto způsobem zneužít i v podstatě libovolný autoritativní server? Stačí, aby na něco vrátil dostatečně velkou odpověď - třeba DNSSEC podpis?

Trupik

Re:Zneužití otevřeného rekurzivního DNS
« Odpověď #3 kdy: 29. 03. 2018, 20:34:32 »
Proč nejde tímto způsobem zneužít i v podstatě libovolný autoritativní server? Stačí, aby na něco vrátil dostatečně velkou odpověď - třeba DNSSEC podpis?
Ako prevádzkovateľ niekoľkých autoritatívnych DNS môžem potvrdiť, že tieto by boli s obľubou zneužívané na DDoS, keby som proti tomu nič nerobil.

Re:Zneužití otevřeného rekurzivního DNS
« Odpověď #4 kdy: 29. 03. 2018, 21:14:15 »
UDP nemá spojení, jsou to jen jednotlivé pakety. V DNS jedním paketem přijde dotaz a jako odpověď se pošle zase jeden paket. Tím pádem není nutné, aby v UDP paketu byla správná adresa odesílatele. Pokud na rekurzivní DNS resolver přijde dotaz se zfalšovanou odchozí IP adresou, DNS resolver odpoví na tu adresu. Čehož využije útočník – vytvoří dotaz, na který DNS server odpoví pořádně velkou odpovědí, a v dotazu zfalšuje adresu odesílatele. Útočníkovi tedy stačí poslat malý paket s dotazem, a na cíl útoku dorazí podstatně větší paket s odpovědí.

Rekurzivní DNS servery se k tomu využívají proto, že rekurzivní server posbírá záznamy i k nadřazeným doménám, takže odpověď pěkně nabobtná. Autoritativní server odpovídá jen na záznamem, na který byl dotázán, nepostupuje po DNS stromu nahoru směrem ke kořenové doméně, takže jeho odpovědi jsou obecně menší.

reklama


hugochavez

Re:Zneužití otevřeného rekurzivního DNS
« Odpověď #5 kdy: 30. 03. 2018, 01:01:49 »
Proč nejde tímto způsobem zneužít i v podstatě libovolný autoritativní server? Stačí, aby na něco vrátil dostatečně velkou odpověď - třeba DNSSEC podpis?

O tom jak se zesiluje DNS utok pomoci DNSSEC pojednava tahle prednaska znameho kryptogafa jmenem Daniel Bernstein, ktery zaroven navrhuje i reseni problemu autentizace na internetu:
[27C3] (en) High-speed high-security cryptography: encrypting and authenticating the whole Internet
https://www.youtube.com/watch?v=ljt1cxUcZMM

https://events.ccc.de/congress/2010/Fahrplan/events/4295.en.html

Video je z r.2011 takze "palebna sila" tomu odpovida = 200Mbps UDP dotazu od utocnika vyrobilo "dopadovy potencial" 20Gbps.
Dneska jsou tyhle pocty o rady vyssi.

Proto se hledaji jina reseni, napr dotazovani se DNS serveru pres trvale otevrenej HTTPS kanal:

https://www.ghacks.net/2018/03/20/firefox-dns-over-https-and-a-worrying-shield-study/


hugochavez

Re:Zneužití otevřeného rekurzivního DNS
« Odpověď #6 kdy: 30. 03. 2018, 01:03:56 »

Re:Zneužití otevřeného rekurzivního DNS
« Odpověď #7 kdy: 30. 03. 2018, 09:15:40 »
Video je z r.2011 takze "palebna sila" tomu odpovida = 200Mbps UDP dotazu od utocnika vyrobilo "dopadovy potencial" 20Gbps.
Dneska jsou tyhle pocty o rady vyssi.
Čím jsou ty vyšší počty způsobené? Odpovědi s DNSSEC jsou o řády větší, než v roce 2011?

Re:Zneužití otevřeného rekurzivního DNS
« Odpověď #8 kdy: 30. 03. 2018, 15:34:54 »
No zatial som sa nedozvedel nic. Z prednasky v anglictine totalne nic, lebo neovladam jazyk a z textu velmi malo. Skor hladam nieco v cz/sk
UDP nemá spojení, jsou to jen jednotlivé pakety. V DNS jedním paketem přijde dotaz a jako odpověď se pošle zase jeden paket. Tím pádem není nutné, aby v UDP paketu byla správná adresa odesílatele. Pokud na rekurzivní DNS resolver přijde dotaz se zfalšovanou odchozí IP adresou, DNS resolver odpoví na tu adresu. Čehož využije útočník – vytvoří dotaz, na který DNS server odpoví pořádně velkou odpovědí, a v dotazu zfalšuje adresu odesílatele. Útočníkovi tedy stačí poslat malý paket s dotazem, a na cíl útoku dorazí podstatně větší paket s odpovědí.

Rekurzivní DNS servery se k tomu využívají proto, že rekurzivní server posbírá záznamy i k nadřazeným doménám, takže odpověď pěkně nabobtná. Autoritativní server odpovídá jen na záznamem, na který byl dotázán, nepostupuje po DNS stromu nahoru směrem ke kořenové doméně, takže jeho odpovědi jsou obecně menší.
Dobre co som sa uz davnejsie docital, tak podla mna to funguje nejak takto.
Obycajny klient, napisanim internetovej adresy do url web prehliadaca spusti proces, kde sa odosle paket (kde v lavicke su nejake data, cielova ip, port a zdrojova ip port + .... ine ) s  priznakom syn. Paket ide najprv do lokalneho resolvera a ked adresu nenajde, tak posiela paket na korenovy DNS (autoritativny).
Korenovy DNS resolveru vrati paket len s dalsimi DNS servermi (o uroven nizsimi) a tym jeho uloha skoncila.
Tak to postupuje az k poslednemu DNS serveru, na ktorom sa nachachadza aj internetova adresa, na ktoru sa klient dotazoval.
Neviem ci len na posledny DNS (alebo na vsetky), resolver posiela paket s priznakom syn, kde DNS vracia paket s priznakom syn ack a klient to potvrdzuje paketom ack (neviem to presne). Cize ak nastane podanie ruk, spojenie sa vytvori a je vybavene.

Ako sa to da zneuzit ??
Staci ze utocnik zasiela na DNS server pakety s falosnou IP adresou v hlavicke a DNS vracia odpoved na sfalsovanu IP adresu, ale kedze tato IP adresa nic neziadala, tak nemoze poslat potvrdzovaci paket.
DNS server tak v intervaloch zasiela paket, ale druha strana stale mlci.
Utocnik zasiela v jednom case desattisice falosnych paketov az vytazi DNS server, ked tak urobi viac utocniko, tak to nevydrzi linka a server spadne.
Co ma z toho utocnik ??
Len to ze DNS sa stane nedostupnym ??

Lol Phirae

Re:Zneužití otevřeného rekurzivního DNS
« Odpověď #9 kdy: 30. 03. 2018, 15:56:19 »
No zatial som sa nedozvedel nic. Z prednasky v anglictine totalne nic, lebo neovladam jazyk a z textu velmi malo. Skor hladam nieco v cz/sk

Tak to zkus v maďarštině... http://tech.cert-hungary.hu/tech-blog/131025/dns-felerositeses-tamadas-dns-amplification-attack

 ;D ;D

Re:Zneužití otevřeného rekurzivního DNS
« Odpověď #10 kdy: 30. 03. 2018, 16:14:21 »
No zatial som sa nedozvedel nic. Z prednasky v anglictine totalne nic, lebo neovladam jazyk a z textu velmi malo. Skor hladam nieco v cz/sk.

Filip Jirsák ti poskytnul přesnou odpověď na tvůj dotaz v cs (žádný jazyk cz mimochodem neexistuje). Vzhledem k tomu, že jsi ji i odcitoval, tak soudím, že jsi ji i přečetl, tak kde je problém?

Dobre co som sa uz davnejsie docital, tak podla mna to funguje nejak takto.

Ne, nefunguje.

Obycajny klient, napisanim internetovej adresy do url web prehliadaca spusti proces, kde sa odosle paket (kde v lavicke su nejake data, cielova ip, port a zdrojova ip port + .... ine ) s  priznakom syn.

Takže znovu: DNS = UDP. UDP = žádný SYN - žádné takové příznaky tam nejsou, je to prostě jen jedna zpráva.

Paket ide najprv do lokalneho resolvera a ked adresu nenajde, tak posiela paket na korenovy DNS (autoritativny).
DNS paket z prohlížeče jde jen do lokálního resolveru. Je starostí lokálního resolveru najít na ten dotaz odpověď postupným dotazováním autoritativních serverů (proto se taky jmenuje resolver – resolve znamená anglicky vyřešit).

Korenovy DNS resolveru vrati paket len s dalsimi DNS servermi (o uroven nizsimi) a tym jeho uloha skoncila. Tak to postupuje az k poslednemu DNS serveru, na ktorom sa nachachadza aj internetova adresa, na ktoru sa klient dotazoval.

Ano, tak nějak probíhá práce resolveru.

Neviem ci len na posledny DNS (alebo na vsetky), resolver posiela paket s priznakom syn, kde DNS vracia paket s priznakom syn ack a klient to potvrdzuje paketom ack (neviem to presne). Cize ak nastane podanie ruk, spojenie sa vytvori a je vybavene.

Znovu, DNS = UDP, UDP = jednotlivé zprávy bez jakékoli návaznosti, žádný syn, žádný ack. Resolver pošle každému autoritativnímu serveru UDP zprávu a přijme UDP odpověď. Až se dobere k finální odpovědi, vyrobí UDP zprávu, kterou pošle původnímu tazateli.

Ako sa to da zneuzit ??

Přesně, jak psal Filip Jirsák výše.

Staci ze utocnik zasiela na DNS server pakety s falosnou IP adresou v hlavicke a DNS vracia odpoved na sfalsovanu IP adresu, ale kedze tato IP adresa nic neziadala, tak nemoze poslat potvrdzovaci paket.

Oběť nemusí nic posílat. Podstata útoku je v tom, že je oběť zahlcena nevyžádanými odpověďmi na dotazy které nepokládala.

DNS server tak v intervaloch zasiela paket, ale druha strana stale mlci.
Utocnik zasiela v jednom case desattisice falosnych paketov az vytazi DNS server, ked tak urobi viac utocniko, tak to nevydrzi linka a server spadne.
Co ma z toho utocnik ??
Len to ze DNS sa stane nedostupnym ??

Útočník chce především zahltit linku oběti. Takže bude posílat spoustu malých dotazů na spoustu otevřených resolverů po světě tak, aby všechny odpovídaly do jednoho místa.

Re:Zneužití otevřeného rekurzivního DNS
« Odpověď #11 kdy: 30. 03. 2018, 19:09:39 »
diky ondro (cs, alebo cz a neni to jedno :) )
Ale uz tomu chapem "pravdepodobne"
Cize ja som v prvom prispevku pisal, ze ked som si otvoril resolver na verejnej IP, tak nejaky nepekny scaner portov zistil, ze na mojej IP je otvoreny port 53 a mam tam resolver a hned ho aj pouzil.
Ak by chcel teda utocnik zautocit na root.cz, tak na moj resolver posle udp paket kde je v hlavicke sfalsovana IP adresa (na ktorej sedi root.cz) a moj resolver (pokial to nema v cache (tak by to postupne cez korenove dns do cache dostal)) by neustale posielal udp pakety na root.cz az zahlti linku (samozrejme moj resolver je maly a linku mam pomalu, takze takych resolverov by sa muselo pouzit viac).
Moze byt ?
Inak na ten resolver som trochu pozabudol a moj mikrotik to tahal par hodin :)

« Poslední změna: 30. 03. 2018, 19:11:50 od darebacik »

Re:Zneužití otevřeného rekurzivního DNS
« Odpověď #12 kdy: 30. 03. 2018, 19:51:22 »
diky ondro (cs, alebo cz a neni to jedno :) )
Ak by chcel teda utocnik zautocit na root.cz, tak na moj resolver posle udp paket kde je v hlavicke sfalsovana IP adresa (na ktorej sedi root.cz) a moj resolver (pokial to nema v cache (tak by to postupne cez korenove dns do cache dostal)) by neustale posielal udp pakety na root.cz az zahlti linku (samozrejme moj resolver je maly a linku mam pomalu, takze takych resolverov by sa muselo pouzit viac).
Moze byt ?
Útočník se zeptá vašeho resolveru, ale jako adresu odesílatele uvede adresu serveru root.cz. Pokud ISP útočníka povolí takový paket odeslat, resolver na ten dotaz odpoví a odpověď pošle na root.cz. Princip útoku je v tom, že útočník pošle takový dotaz, aby odpověď resolveru byla co největší. S tím, jestli resolver má nebo nemá odpověď v cache o nijak nesouvisí.

Podstatné je to, že kdyby útočník útočil přímo na server root.cz, bude útočit třeba ze své 100 Mbit/s linky, což bude zároveň maximální síla jeho útoku. Když bude útočit skrze DNS resolvery, pokud by odpověď DNS resolveru byla jen 10× větší, než dotazy, se svou 100 Mbit/s linkou dokáže vyvolat tok dat  1000 Mbit/s na server, na který útočí. Druhý efekt je ten, že kdyby útočník útočil přímo, půjde veškerý provoz z jednoho směru a ISP cíle ten provoz třeba dokáže odfiltrovat. Když bude útočník útočit skrze DNS resolvery, bude útok na cílový server distribuovaný, takže nepůjde tak snadno odfiltrovat.

Re:Zneužití otevřeného rekurzivního DNS
« Odpověď #13 kdy: 30. 03. 2018, 20:35:15 »
dik filip, teraz mi je to uz naprosto jasne (samozrejme z teoretickeho hladiska (a o to mi islo)).

 

reklama