nechcete nam rict, abychom spustili nas kod pod rootem, ze ne? jestli jo, tak omfg!
pridejte si navod jak to nespustit pod rootem a jak udelat redirekci z 22 (tj. < 1024 port, ktery muze otvirat pouze root by default na unixech/unix-like systemech) na port vasi proxy.
jedna blba chyba nekde v tom pythonu a buhvi, co se stane.
Rozhodně ne. Proxy defaultně pouštíme na portu 2222 (uživatel může změnit parametrem -p
či --port
na kterýkoliv jiný) a pak je na uživatelovi jak zařídí přesměrování 22ky na 2222. Nejlépe udělat už na routeru, případně složitější konfigurací na serveru anebo to nechat pod rootem, pokud na zařízení (třeba Respberry, virtuál, docker, ...) stejně nic jiného není. :-)
Co se tyce behani pod rootem - ano defaultne podle navodu se startuje pod rootem ale je mozne "twisted" dat parametry aby se po vytvoreni logu/pidfile/otevreni portu prepnul na nejakeho mene privilegovaneho uzivatele (--uuid, --gid)
Pokud zvolite uzivatelem zapisovatelny log/pid file, tak asi muzete spustit primo pod neprivilegovanym uzivatelem.
Startuje se pod userem, pod kterým to uživatel spustí, s tím, že když to pustí pod běžným userem, normálně to pod ním poběží bez nutnosti předávat --uuid
a --gid
. Samozřejmě pokud uživatel jen překopíruje ukázkový příklad spuštění a použije pod rootem, pak se pustí pod rootem, ale proxy záměrně používá defaultně port 2222, aby mohlo být puštěno pod kýmkoliv.
Jo, jo.
Sam mam router s OpenWrt, kde sa mne cely python a twister nevleze, tak jsem to prepsal pres libssh do c-ka, a tam bylo krasne videt, jak:
a) HaaS vubec nestiha - do 60 sekund jsem nedostal odpoved na connect
b) autorizace (jmeno/heslo) - trvalo to i 20 sekund
takze suma sumarum, pokud uz se nahodou podarilo na HaaS pripojit a autentizovat, tak 'bot' uz to davno vzdal :-)
Ted uz to vypada, ze to celkem jede, ale zase jsem si vsimnul zajimaveho fenomenu, ze hodne 'botu' udela pouze login a pak se skousi pres TCP forward probit nekde jinde.
Toto ten proxy v Twist/Python neumi (ja jsem to implementovat tak, ze mu reknu OK, ale po 500 msec mu reknu, ze to druha strana 'zabila'), takze v HaaS logu je to jako by se klient pripojil a nedelal nic .... :-(
No, ono je to zatim takove dost 'nedovarene' hardcore :-)
Proste a jednoduse, vedel jsem ze exituje libssh, ktery s pomoci openssl umi i server stranu.
(Pozor, neplest z libssh2, coz je neco uplne jineho, a umi to jenom clienta.)
A pred vanoci jsem mel trochu casu, tak jsem se tomu trosku venoval.
Jenomze, pri programovani jsem zjistil, ze k server strane neni vice-mene zadna dokumentace, takze je to natrelene spise pokusem metoda omyl.
Navic jeste neni nejak 'inteligentne' udelana cross-compilace, protoze nejrychlejsi cesta jak to ted crosscompilovat je:
a) stahnout si z openwrt cross-compile balik pro dany router a nainstalovat
b) stahnout si zdrojaky libssh a openssl v aktualni verzi na routeru
c1) bud cross-compilovat i cele openssl a libssh do sysrootu
c2) a nebo do sysrootu stahnout primo dynamicke knihovny (*.so) z routeru
d) pres make cross-compilovat tu mou proxy
Porad tak nejak premyslim nad publikaci na githubu (a uz mam ve fronte i par patchu pro libssh), ale bohuzel ted uz zase toho casu nejak moc neni a/nebose nemuzu k tomu dokopat :-(
Uvidime .....
Tak tady to mate, ale byli jste varovani :-)
https://github.com/OgarSkali/HaaS-libssh.git
Vstup pouze na vlastni nebezpeci .....
Existuje jednoduchý způsob, jak tohle zprovoznit na Mikrotik routeru?
Přesměrování portu by bylo triviální, odeslat nějak někam zdrojovou IP adresu, by se vymyslet určitě dalo (v nejhorším dodatečně grepnutý log), ale pokud je JEDINOU možností instalovat jakousi proxy, tak asi smůla...
Koukám na screenshot vidím, že tam je několik sezení od stejné IP adresy akorát se to liší o pár milisekund. Neplánujete sessiony sjednocovat? Musí být strašná otrava, když těch stránek v HaaS bude několik a zjištovat, co ten bot zkoušel provádět…
Ve článku mluvíte o analyzování dat. Budete nás informovat na co přišel např. CSIRT.cz z těch dat, které sbíráte?
Zatím je to pouze pro SSH? Neuvažujete třeba o rozšíření o telnet? Není mi zřejmé, zda musím mít veřejnou IPv4 adresu. Víte o útocích na SSH na IPv6? Proč ve statistikách není např. nějaká zajímavost?
Např. bot X použil 150x příkaz rm -rf nebo bot Y se pokusil přihlásit na 150 zařízení, které se zapojili do HaaS nebo by mě zajímalo TOP5 nejpoužívanějších hesel, které boti používaj…
Útoky jsou zatím vedené na IPv4, útočníci na IPv6 většinou dlabou. Ale samozřejmě podmínka není mít jedno nebo druhé, rozhodně bez veřejné IP adresy mít nainstalovanou proxy nemá smysl.
Analýza je myšlena především tím, odkud útoky jdou a hlášení o problému majitelům. To je náš primární cíl a do toho věnujeme naši energii. Pokud by vás zajímaly nejčastější příkazy apod., můžete si stáhnout kompletní data a zgrupovat dle toho, co vás nejvíc zajímá. :-)
On niekto prevadzkuje ssh server s tym ze nie je nastaveny aby povolil len prihlasenie za pomoci verejneho ssh kluca a nema zakazaneho pre prihlasovanie root?
Moze takemu uzivatelovi vadit ze mu niekto spusti rm -rf, pripadne ze mu zmeni prihlasovacie udaje? Myslim ze nie, len si hodi router do tovareneskeho nastavenia, nastavi si ho rovnako blbo ako ho mal...
Naviac... Pokial budu ciele, tak budu stale novi a novi hackeri ktory to budu chcet hacknut. Ale v tychto koncinach sa radsej vzdy riesili dosledky ako by sa riesila pricina...