No tak prijde vir postou, kazdy klient mu neda pravo pro spusteni, tedy by musel prijit v TAR souboru.
Kdy budu hodne skaredy, tak vezmu svazku /home prava pro spusteni souboru .... a jsem kde vazeni ;-))) ... jeste existuje /tmp jenze to by se nejdrive muselo neco zpustit ;-))
To neni problem, je mozne mit ten ~/bin/ namountovany jako jiny souborovy system (pres loopback, pres tmpfs ...) a zaroven zachovat zbytek /home nespostitelny.
Bohuzel to nepomuze pri popisovanem typu utoku, ponevac veci spoustene dekstopovym prostedim pri startu nemusi mit priznak spustitelnosti.
Zas takovy problem to neni, staci mit nainstalovane a defaultne nakonfigurovane wine (kolik procent uzivatelu napr. ubuntu to takhle ma?), jako prilohu poslat windowsi exe (nejak atraktivne pojmenovane), ktere zapise neco do .bashrc a pruser je na svete... (samozrejme musite mit nastavenou asociaci .exe -> wine a nejaky emailovy klient, ktery ty asociace pouziva, ale to myslim v defaultnim ubuntu taky bude)
Napr. takto (vyzaduje nainstalovane wine v defaultni konfiguraci a Xdialog):
Zkuste si to zkompilovat, nainstalovat si wine a xdialog, poslat si to postou a spustit to.. pak pri kazdem spusteni bashe dostanete xdialogovou hlasku "Ahoj"...
V případě že má WINE přístup do ~ tak je to průser. U mě to nemá :-) Co se BFU týče tak s Linuxem je to stejně jako s jimým OS. Největší bezpečnostní riziko se nachází mezi klávesnicí a židlí. Linux je odolnější proti útokům ze sítě, a pokud je dobře nakonfigurovaný tak i proti BFU. Pokud je dobře nakonfigurovaný. V případě že před ním sedí BFU s právem roota (nebo sudo), který automaticky kliká na Ano, tak je na tom Linux skoro stejně jako Windows. To skoro proto, že přece jenom Linux trochu více hraje na práva a snaží se to uživateli co nejvíce vymlouvat (varovaní v případě přihlášení jako root, či některé systémy, které roota ani nemají).
Jak už kdysi dávno jeden klasik řekl: "Na světě jsou poze dvě veci, které mohou být nekonečné. Vesmír a lidská blbost, ale s tím vesmírem si nejsem až zase tak jistý."
Ono problémem wine je, že když si při prvním spuštění generuje konfirguraci, tak si vytvoří disk Z: který mapuje přímo /. Díky tomu může wine spouštět i věci z tempu a odkudkoliv z disku... Je to pohodlné a přitom značně nebezpečné. Naštěstí wine není typicky asociován s windows soubory... tak zatím aspoň tak.
Ja mam prave pocit, ze v nekterych distribucich s windows soubory defaultne asociovan je, ale nemam to kde vyzkouset (preinstalovavat notebook na blbuntu si kvuli tomu nebudu)..
Asociován jako v desktopovém prostředí?
Ono stačí tohle:
~/.wine/drive_c/windows/notepad.exe
a spustí se, stejně jako se spouští ELF binárky.
(Kubuntu 8.10)
Jak se to vezme. Není to tak dávno, kdy mi došel nějaký český phishing tvářící se od jisté společnosti a ani já jsem si na první pohled nebyl jistý, jestli to je nebo není pravé. Anglické maily hned mažu, ale co uživatelé v anglicky mluvících zemích? Ty už musí taky filtrovat sami a obezřetně.
Je vidět, že autor píše viry pro windows, protože jinak by tohle nikdy nepsal:
uname = os.getlogin()
drop_dir = “/home/%s/.config/autostart” % uname
os.makedirs(drop_dir)
f = open(drop_dir+”/Malware.desktop”, “w”)
f.write(relauncher_str)
f.close()
Každý trochu slušnější programátor ví, že nemůže používat název loginu jako klíč k cestě k nějakému uživateli, žeano.... Slušnější programátor použije getpwnam/getpwuid, popřípadě proměnnou prostředí HOME.
Když už píšete někdo něco do článku, tak proboha aspoň korektně, ať se lidi neučej kraviny!
Nehledě nato, že python není samozřejmost.
Kdyz nekdo dela virus, cili ho na majoritu, coz by v tomto pripade (kdyz uz by delal virus pro linux) byli uzivatele, kteri python nainstalovany maji a home adresar maji opravdu /home/${USERNAME}/
Jina vec je ale to, ze by musel uzivatele donutit ten skript spustit a pokud se nepletu, vsechna rozumna prostredi maji asociaci k pythonim skriptum nastavenou na nejaky editor, ne na interpretr pythonu...
Zajímalo by mě, jak použití POSIXového getlogin() vypovídá o wingramátorovi. Taky getlogin() ≠ getpwuid(getuid())->pw_name a spoléhat se na existenci getenv("HOME") je už vůbec kravina.
tak proměnná prostředí HOME je běžná praxe a vytváří ji každý login proces při přihlášení. Druhá věc je, že třeba cron ji nekonfiguruje (není login proces). Na tuto proměnnou spoléhají například knihovny mysql. Ale bude to i řada dalšího sw. Tedy vůbec si nemyslím, že to je kravina, naopak si myslím, že kravina je, jak to udělal autor.
Když chcete ukázat správnou cestu získání domovského adresáře, tak ji ukažte, ať se máme o čem bavit.
Zajímalo by mě, jak použití POSIXového getlogin() vypovídá o wingramátorovi.
To, že to (způsob použití určitých knihovních funkcí) je typická chyba spousty projektů ve win. Není to tak dlouho, co tu někdo prohlašoval, že nefunkčnost programů pod vistama není problém Windows, ale programátorů, kteří jsou prasata. A mimo jiné jako jeden z důvodů uváděl cesty a nekorektní použití určitých funkcí.
Takže daný virus by pod rootem mohl selhat, protože root má adresář (aspoň v linuxu) úplně jinde. A podotýkám, že to není jediný systémový uživatel.