Úskalí Jabberu – dejte lidem svobodu…



Se svobodou přichází síla, se sílou přichází odpovědnost.


Představte si modelovou situaci.

Jste provozovatel “slavného” Jabber serveru a máte radost, jak vám krásně rostou počty uživatelů, napadne vás ale jestli náhodou všechna ta skvělá svobodná tajná PGP komunikace, která proudí po vašich kabelech a ze které zase není tolik peněz (spíše to prodělává) připadá na opravdové klienty? Nebylo by možné použít Jabber (jakožto komunikační platformu s možností takřka neprůstřelného šifrování) k něčemu nekalému (pokud jde o ilegální činnost typu prodeje zbraní, cardingu, etc… to je jiná věc)?

Ano přátelé. Mluvím o koordinaci botnetů. Pokud budu provozovat IRC server/síť, tak stále můžu (ačkoli s klientem komunikuji přes SSL) kontrolovat, co se děje jak na kanálech tak i na PM. Pokud bude v nějakém kanálu “najoinovanejch” víc jak 60 uživatelů, tak si na ně posvítim, pokud by používali nějaký druh šifrování, tak mám jako každý správný paranoik šanci pojmout podezdření a preventivně to tam všechno probanovat…

Jenže u Jabberu je to věc zcela jiná… Utajování komunikace před serverem samotným je tam zcela běžná (taková drzost? – nojo já vim…) a mě tedy nezbývá než kupovat nové stroje, “tlustější” linku a všechno to kolem.

Jak se můžu bránit? Nasadit captchu? Blbost. Stačilo by, aby bot obrázek poslal někam na web jako fake captchu a za každého uživatele, co napíše post na útočníkovo blogu (mě se bát nemusíte, zas takovou návštěvnost tu nemám ;) připojí jednu novou zombii. Což může být celkem příjemné číslo. Útočník také může účty předregistrovat podobným způsobem do zásoby a botům rovnou přidělovat hotové účty… Že bota poznáte podle počítačem generovaného nicku? Haha – stačí necelých 10 wc -l BASHe na to, abych si stáhl nicky všech uživatelů z libovolného PHPBB. Že budu potřebovat různé IP adresy abych se neprozradil? NP – ještě jste neviděli Jabber klienta v JavaScriptu? Stačí opět malinkatý CSRF inline frame někde na děravém webu (žádný vás nenapadá? ;) )) a prohlížeč oběti hezky provede registraci z každé IP adresy, která se na web podívá.

Další metody obrany jsou taky pěkně blbé… Omezit počet lidí (botů) v rosteru (kontaktlistu)? ani omylem – omezí to obyčejné lidi (v současné době mám v ICQ CL cca 300 živých lidí a takový botnet by mi už celkem na hraní vyhovoval). A co víc, útočník může rozdělit boty na segmenty a spravovat je pomocí dalších botů, takže bude udržovat styk pouze s několika “mateřskými boty”. Což mě také přivedlo na nápad ICQ bota přes transport (Každý nápad je pochopitelně potřeba odladit). Oba způsoby můžou působit jako další vrstva zvyšující útočníkovu anonymitu.

No a co omezit počet přenesených dat? Každý botnet je stavěn k jinému účelu a ne každý botnet musí přenášet miliardy hesel, bankovních karet apod… Pokud chce někdo organizovat DDOS útoky, stačí prakticky poslat hostname/ip adresu a případně cílový port na oběti. Nemluvě o tom, že opět můžeme použít více účtů a to buď způsobem piramida (letadlo): já pošlu deseti, deset pošle dalším deseti. A nebo lehkou decentralizací, kdy každý bot bude udržovat kontakt s několika dalšími (s kolika to záleží na okolnostech, ale je potřeba udržovat dostatečný počet “živých” spojení, aby se síť nerozpadla na paralelní fragmenty – i když můžeme mít právo veta, které nám umožní je ručně zapojit zpět “do hry”). Pak by stačilo šířit jenom nicky “nezadaných” botů a zbytek komunikace by probíhal jen mezi těmito málo boty.

Neumí Jabber náhodou posílat soubory přes svůj server? To vypadá, že jsme vyřešili problém přenosu informací o kreditních kartách (nebo čehokoli jiného)…

Další svělá vlastnost je, že pokud nechcete vykořisťovat jen jednoho poskytovatele a mít stabilnější cluster zombií, můžete rozprostřít své robůtky po různých serverech.

Jabber tedy v sobě snoubí výhody http, icq, IRC, mailů a PGP, což je pro nás ideální.

Tudíž závěrečné motto dne: Jabber botnetz rulzzz!




Líbí se vám článek? Chcete se o něj podělit? Přidejte ho! (volba topclanky.cz nevyžaduje registraci)

Leave a Reply