Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Trojan voor linux ontdekt?  (gelezen 4030 keer)

Trojan voor linux ontdekt?
« Gepost op: 2012/07/11, 10:21:40 »

Re: Trojan voor linux ontdekt?
« Reactie #1 Gepost op: 2012/07/11, 11:05:03 »
Citaat
The new Web-based social engineering attack, first detected on a compromised website in Colombia, relies on a malicious Java applet to install backdoors on Windows, Mac, and Linux computers. When you first visit such a compromised site, you are prompted to install the Java applet, which unsurprisingly hasn't been signed with a certificate. If you do so, the applet checks which operating system you have (Windows, Mac OS X, or Linux) and then drops a corresponding Trojan for your platform.

Je moet er nogal wat voor doen om 'm binnen te krijgen.

Re: Trojan voor linux ontdekt?
« Reactie #2 Gepost op: 2012/07/11, 11:21:53 »
Ik zei ook niet dat ie makkelijk binnen te halen is, ik zei alleen dat ie in het wild gevonden is.

Offline Bloom

  • Lid
Re: Trojan voor linux ontdekt?
« Reactie #3 Gepost op: 2012/07/11, 12:05:55 »
En zo te zien heeft de malware nog twee handicaps:
(1) de trojan wordt neergezet in de java.io.tmp directory en kan alleen werken als files in die directory standaard uitvoerrechten hebben (wat bij mij bijvoorbeeld al niet zo is);
(2) de trojan wordt uitgevoerd met gewone gebruikersrechten, niet als root. Dan kan hij al zeer weinig. Zichzelf inschrijven in de startroutines van Linux is er bijvoorbeeld al niet bij.
Conclusie: alleen maar omdat een stuk malware succesvol is in Windows en claimt ook gevaarlijk te zijn voor Linux, wil nog niet zeggen dat dat dan ook waar is.

Re: Trojan voor linux ontdekt?
« Reactie #4 Gepost op: 2012/07/11, 13:15:59 »
"Zichzelf inschrijven in de startroutines van Linux is er bijvoorbeeld al niet bij."

Wel als je KDE gebruikt want dan komt het in .kde/autostart welke in je home-map staat.

En nogmaals: ik heb negens gezegd dat dit dng gevaarlijk is op Linux, ik zei alleen dat het in het wild gevonden is. Ik heb er verder geen mening ofzo over gegeven.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Trojan voor linux ontdekt?
« Reactie #5 Gepost op: 2012/07/11, 13:36:15 »
En zo te zien heeft de malware nog twee handicaps:
(1) de trojan wordt neergezet in de java.io.tmp directory en kan alleen werken als files in die directory standaard uitvoerrechten hebben (wat bij mij bijvoorbeeld al niet zo is);
Daar zou ik niet al te hard op rekenen, helaas.
Als voorbeeld:
$ ls -l
total 100
-rw-r--r-- 1 johan johan 97825 2012-05-31 16:52 minecraft.jar
Zoals je ziet is dat bestand niet uitvoerbaar. Echter kan je hem gewoon uitvoeren met java -jar minecraft.jar
Mocht het verder nog uitmaken:
$ java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.13) (6b20-1.9.13-0ubuntu1~10.04.1)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)

Citaat
(2) de trojan wordt uitgevoerd met gewone gebruikersrechten, niet als root. Dan kan hij al zeer weinig. Zichzelf inschrijven in de startroutines van Linux is er bijvoorbeeld al niet bij.
Conclusie: alleen maar omdat een stuk malware succesvol is in Windows en claimt ook gevaarlijk te zijn voor Linux, wil nog niet zeggen dat dat dan ook waar is.
Als gewone gebruiker kan je genoeg schade aanrichten hoor. Delete ~/Music of ~/Pictures maar, dan heb je in veel gevallen al genoeg schade aangericht. Verder kan je ook het wachtwoordenbestand van Firefox of andere programma's uitlezen en naar "huis" sturen.
Nog vervelender is het toevoegen van je eigen key aan ~/.ssh/authorized_keys of een alias aanmaken voor sudo en gksudo die verwijst naar je eigen tooltje die wel een standaard wachtwoordprompt laat zien maar alles wat je invoert doorstuurt.

Met de eerdergenoemde autostart-functie van KDE (en andere DE's) kan je bij iedere opstart je trojan weer laten draaien, totdat er een root-exploit bekend wordt. Die voer je dan uit en je bent root...

Creatieve hackers kunnen vast wel meer leuke dingen verzinnen als ze eenmaal toegang hebben, dit zijn maar enkele voorbeelden.

Re: Trojan voor linux ontdekt?
« Reactie #6 Gepost op: 2012/07/11, 17:26:23 »
Haha, wat is dat nu voor prutshacker, met z'n if-else-staments. Hallo, switch!

Zoals je kunt lezen in de code, wordt er een bestand met een .bin-extensie gedownload. Dit suggereert dat het geen Java-code bevat, aangezien Java-toepassingen doorgaans de .jar-extensie kennen, maar waarschijnlijk kan een bestand met eender welke extensie worden uitgevoerd door OpenJDK/Oracle JRE, zoals dat doorgaans het geval is met Unix.

Als we uitgaan van de eerste situatie is dit een loze waarschuwing, want hoe zou die .bin aan z'n uitvoerrechten moeten komen? Een call naar chmod vanuit de Java-applet misschien?
« Laatst bewerkt op: 2012/07/11, 17:30:43 door Cumulus007 »

Re: Trojan voor linux ontdekt?
« Reactie #7 Gepost op: 2012/07/11, 20:48:32 »
If-else is niks mis mee hoor.

Re: Trojan voor linux ontdekt?
« Reactie #8 Gepost op: 2012/07/11, 23:05:30 »
[OFFTOPIC]

En zo te zien heeft de malware nog twee handicaps:
(1) de trojan wordt neergezet in de java.io.tmp directory en kan alleen werken als files in die directory standaard uitvoerrechten hebben (wat bij mij bijvoorbeeld al niet zo is);
Daar zou ik niet al te hard op rekenen, helaas.
Als voorbeeld:
$ ls -l
total 100
-rw-r--r-- 1 johan johan 97825 2012-05-31 16:52 minecraft.jar
Zoals je ziet is dat bestand niet uitvoerbaar. Echter kan je hem gewoon uitvoeren met java -jar minecraft.jar

Misschien dat ik het niet goed begrijp, maar volgens mij kan je hem uitvoeren met java -jar minecraft.jar omdat het bestand java uitvoer rechten heeft. Je voert dus java uit, die vervolgens gebruik maakt van het bestand waar je naar verwijst. Maar een bestand dat geen uitvoer rechten heeft kan niet zomaar uitgevoerd worden toch?

Dus zolang zo'n Trojan geen manier heeft om een gebruiker java -jar minecraft.jar uit te laten voeren hoef je volgens mij niet bang te zijn voor dat bestand.

"Zichzelf inschrijven in de startroutines van Linux is er bijvoorbeeld al niet bij."

Wel als je KDE gebruikt want dan komt het in .kde/autostart welke in je home-map staat.

En ik geloof eerlijk gezegd niet dat als een trojan al een niet uitvoerbaar bestand in .kde/autostart weet te krijgen, dat dit dan automatisch uitgevoerd wordt zonder dat het bestand uitvoer rechten heeft. En in Linux krijgen bestanden die je opslaat niet zomaar vanzelf uitvoer rechten.

Re: Trojan voor linux ontdekt?
« Reactie #9 Gepost op: 2012/07/11, 23:44:03 »
"En in Linux krijgen bestanden die je opslaat niet zomaar vanzelf uitvoer rechten."

Dat verschilt nogal. Soms download ik een Linux-installer of EXE voor onder Wine en dan is het vinkje bj Uitvoerbaar er niet, maar soms is het al wel uitvoerbaar. Ik kan het ook niet verklaren.

Re: Trojan voor linux ontdekt?
« Reactie #10 Gepost op: 2012/07/12, 00:57:42 »
"En in Linux krijgen bestanden die je opslaat niet zomaar vanzelf uitvoer rechten."

Dat verschilt nogal. Soms download ik een Linux-installer of EXE voor onder Wine en dan is het vinkje bj Uitvoerbaar er niet, maar soms is het al wel uitvoerbaar. Ik kan het ook niet verklaren.

Wanneer je een ingepakt bestand uitpakt, dan kan het volgens mij wel zo zijn dat het bestand na het uitpakken uitvoerbaar is. Maar goed, dan is het wederom zo dat je een andere executable moet uitvoeren om het bestand uitvoerbaar te maken.

Wanneer je me een download kan opsturen die na het opslaan executable is zonder dat ik daarvoor een andere executable moet opstarten overtuig je me het best. Dus ik zou zeggen, stuur me eens zo'n bestand op. :)

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Trojan voor linux ontdekt?
« Reactie #11 Gepost op: 2012/07/12, 04:18:56 »
[OFFTOPIC]

En zo te zien heeft de malware nog twee handicaps:
(1) de trojan wordt neergezet in de java.io.tmp directory en kan alleen werken als files in die directory standaard uitvoerrechten hebben (wat bij mij bijvoorbeeld al niet zo is);
Daar zou ik niet al te hard op rekenen, helaas.
Als voorbeeld:
$ ls -l
total 100
-rw-r--r-- 1 johan johan 97825 2012-05-31 16:52 minecraft.jar
Zoals je ziet is dat bestand niet uitvoerbaar. Echter kan je hem gewoon uitvoeren met java -jar minecraft.jar

Misschien dat ik het niet goed begrijp, maar volgens mij kan je hem uitvoeren met java -jar minecraft.jar omdat het bestand java uitvoer rechten heeft. Je voert dus java uit, die vervolgens gebruik maakt van het bestand waar je naar verwijst. Maar een bestand dat geen uitvoer rechten heeft kan niet zomaar uitgevoerd worden toch?

Dus zolang zo'n Trojan geen manier heeft om een gebruiker java -jar minecraft.jar uit te laten voeren hoef je volgens mij niet bang te zijn voor dat bestand.
Er zijn een aantal mogelijkheden. Via de commandline kan je ook "wine programma.exe" uitvoeren zonder dat die executable moet zijn. Via de GUI kan dat dan weer niet.

Er zit blijkbaar een verschil tussen programma's... "sh -c '/pad/naar/script.sh'" werkt dan weer niet als het .sh bestand niet uitvoerbaar is.

Citaat
"Zichzelf inschrijven in de startroutines van Linux is er bijvoorbeeld al niet bij."

Wel als je KDE gebruikt want dan komt het in .kde/autostart welke in je home-map staat.

En ik geloof eerlijk gezegd niet dat als een trojan al een niet uitvoerbaar bestand in .kde/autostart weet te krijgen, dat dit dan automatisch uitgevoerd wordt zonder dat het bestand uitvoer rechten heeft. En in Linux krijgen bestanden die je opslaat niet zomaar vanzelf uitvoer rechten.

De *.desktop bestanden die in de autorun-dirs staan hoeven niet per se uitvoerrechten te hebben, in ieder geval niet in Gnome. Dat is een veiligheidsissue die jaren geleden al eens bekend is geworden, maar ik weet eigenlijk niet of dat probleem er nu nog steeds is.

Re: Trojan voor linux ontdekt?
« Reactie #12 Gepost op: 2012/07/12, 14:59:12 »
Er zijn een aantal mogelijkheden. Via de commandline kan je ook "wine programma.exe" uitvoeren zonder dat die executable moet zijn. Via de GUI kan dat dan weer niet.

Er zit blijkbaar een verschil tussen programma's... "sh -c '/pad/naar/script.sh'" werkt dan weer niet als het .sh bestand niet uitvoerbaar is.

Dan moet zo'n trojan dus weer het voor elkaar krijgen om het commando 'wine programma.exe' uitgevoerd te laten worden, en hoe gaat het dat voor elkaar krijgen als het zelf niet uitgevoerd wordt? Daar zal de trojan dan toch enige hulp bij nodig hebben volgens mij.

Ok, als je wine installeert op je computer, en zo'n trojan heeft zich in je wine directory weten te nestelen, en je hebt wine rechten gegeven om ook buiten de wine directory je Linux bestanden te lezen, aan te passen e.d. Ja, dan introduceer je wellicht een onveiligheid uit Windows in Ubuntu. Maar daar moet je dan wel moeite voor doen, want ik kan me niet voorstellen dat Wine default zo staat ingesteld dat het al je Linux bestanden in je home directory kan lezen, wijzigen e.d.?

De *.desktop bestanden die in de autorun-dirs staan hoeven niet per se uitvoerrechten te hebben, in ieder geval niet in Gnome. Dat is een veiligheidsissue die jaren geleden al eens bekend is geworden, maar ik weet eigenlijk niet of dat probleem er nu nog steeds is.
Dat klopt, maar dat is niet erg. Een desktopbestand kan geen code opstarten die geen executable rechten heeft. Dus als een trojan het al voor elkaar krijgt om een .desktop bestand in een autostart locatie te krijgen, die verwijst naar de trojan file, dan nog zal die trojan code niet uitgevoerd worden wanneer die trojan file geen executable rechten heeft.
« Laatst bewerkt op: 2012/07/12, 15:11:54 door Thomas de Graaff »

Re: Trojan voor linux ontdekt?
« Reactie #13 Gepost op: 2012/07/12, 15:23:04 »
"Een desktopbestand kan geen code opstarten die geen executable rechten heeft."

Dat kan een desktopbestand dus wel.

Re: Trojan voor linux ontdekt?
« Reactie #14 Gepost op: 2012/07/12, 15:29:42 »
Indirect kan dat inderdaad, want een .desktop kan java aanroepen, wanneer java uitvoerbaar is, kan een .jar worden uitgevoerd.

Re: Trojan voor linux ontdekt?
« Reactie #15 Gepost op: 2012/07/12, 22:46:20 »
Een desktop bestand kan geen bestand uitvoeren die geen executable rechten heeft, dat heb ik uitgeprobeerd namelijk. Maar indirect kan idd. wel.

Maar dan nog moet het trojan bestand in /home/gebruiker/.config/autostart zien te belanden. Ik begreep uit een eerdere reactie dat het trojan bestand in /tmp ergens staat. Daar wordt het dan in tegenstelling tot in een autostart map niet zomaar uitgevoerd. Hoe komt dat trojan bestand dan in de autostart map? Want anders werkt het niet toch?

Re: Trojan voor linux ontdekt?
« Reactie #16 Gepost op: 2012/07/13, 00:07:20 »
In mijn /tmp worden bestanden wel automatisch uitgevoerd en ik doe niks raars meg mijn machines.

Offline asphyxia

  • Forumteam
Re: Trojan voor linux ontdekt?
« Reactie #17 Gepost op: 2012/07/13, 00:08:00 »
Ik ben zo vrij geweest deze discussie af te splitsen, omdat het over iets specifieks gaat  ;)

Dit heeft ook onlangs op security.nl gestaan.
Ik kom op een site. Mijn browser heeft standaard javascript uitgeschakeld (soms bij hyperlinks heb je geen idee waar je nu weer terechtkomt tenslotte), maar vooruit, die staat aan. Bij wel meer mensen, denk ik.
Nu vraagt die site lievv aan mij om wat extra java te installeren. Nu zou normaal mijn reactie zijn 'arriverderci', maar ja, je zal eens een mistige bui hebben  ;)

Als de werkelijkheid er niet was, zou de wereld er heel anders uitzien. [Theo Maassen]
Alles is te kraken, niets is veilig, zorg dus voor zoveel mogelijk niets. [Ramana]

Offline Bloom

  • Lid
Re: Trojan voor linux ontdekt?
« Reactie #18 Gepost op: 2012/07/13, 00:21:26 »
In mijn /tmp worden bestanden wel automatisch uitgevoerd en ik doe niks raars meg mijn machines.
Eenvoudige oplossing: zet in /etc/fstab het volgende:
none      /tmp          tmpfs    defaults,nosuid,nodev,noexec   0 0
none      /var/tmp   tmpfs    defaults,nosuid,nodev,noexec   0 0

Het apt-distributiesysteem van Debian en Ubuntu gebruikt echter wel tijdelijke scripts in /tmp die uitgevoerd moeten worden.
Voeg daarom aan de directory /etc/apt/apt.conf.d het volgende tekstbestand toe:
DPkg::Pre-Invoke {"mount -o remount,exec /tmp";};
DPkg::Post-Invoke {"mount -o remount /tmp";}

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Trojan voor linux ontdekt?
« Reactie #19 Gepost op: 2012/07/13, 04:29:28 »
Een desktop bestand kan geen bestand uitvoeren die geen executable rechten heeft, dat heb ik uitgeprobeerd namelijk. Maar indirect kan idd. wel.
Als opdracht zou je sh -c "chmod +x /pad/naar/virus; /pad/naar/virus" uit kunnen voeren. Of iets vergelijkbaars.

Citaat
Maar dan nog moet het trojan bestand in /home/gebruiker/.config/autostart zien te belanden. Ik begreep uit een eerdere reactie dat het trojan bestand in /tmp ergens staat. Daar wordt het dan in tegenstelling tot in een autostart map niet zomaar uitgevoerd. Hoe komt dat trojan bestand dan in de autostart map? Want anders werkt het niet toch?
Dit is mogelijk via de vele kwetsbaarheden die regelmatig gevonden worden in Java. Het grootste risico lopen Windowsgebruikers, omdat ze meestal laks zijn met updates.

@Bloom:
De tip die je geeft zorgt er ook voor dat /tmp en /var/tmp in het geheugen opgeslagen worden ipv. op de schijf. In veel gevallen is dat natuurlijk prima, maar het kan wel problemen opleveren als je bijv. een dvd brandt (dan wordt de image tijdelijk in /tmp geplaatst)
Ook andere applicaties kunnen tijdelijk een hoop data in /tmp parkeren, dus daar moet je dan wel rekening mee houden.

Re: Trojan voor linux ontdekt?
« Reactie #20 Gepost op: 2012/07/13, 10:20:08 »
In mijn /tmp worden bestanden wel automatisch uitgevoerd en ik doe niks raars meg mijn machines.
Dan zou ik maar snel je computers opnieuw installeren, want dat is zeker geen standaardgedrag voor Linux. Bestanden in de /tmp map behoren niet zomaar automatisch uitgevoerd te worden zoals in de autostart mappen. Wanneer dat wel het geval is, dan is er iets grondig mis met jouw computers.

Citaat
Maar dan nog moet het trojan bestand in /home/gebruiker/.config/autostart zien te belanden. Ik begreep uit een eerdere reactie dat het trojan bestand in /tmp ergens staat. Daar wordt het dan in tegenstelling tot in een autostart map niet zomaar uitgevoerd. Hoe komt dat trojan bestand dan in de autostart map? Want anders werkt het niet toch?
Dit is mogelijk via de vele kwetsbaarheden die regelmatig gevonden worden in Java. Het grootste risico lopen Windowsgebruikers, omdat ze meestal laks zijn met updates.een hoop data in /tmp parkeren, dus daar moet je dan wel rekening mee houden.

En apparmor voor Firefox heeft dan dus totaal geen zin? Want ik zie in de apparmor rules van Firefox nergens rechten om in /home/gebruiker/.config/autostart te mogen schrijven. Geld voor apparmor dan ook dat wanneer een programma zelf weer andere programma's uitvoert (java), dat de beperking die op het hoofdprogramma zijn gezet daarmee van de baan zijn?
« Laatst bewerkt op: 2012/07/13, 10:25:52 door Thomas de Graaff »

Offline Bloom

  • Lid
Re: Trojan voor linux ontdekt?
« Reactie #21 Gepost op: 2012/07/13, 11:03:12 »
@Bloom:
De tip die je geeft zorgt er ook voor dat /tmp en /var/tmp in het geheugen opgeslagen worden ipv. op de schijf. In veel gevallen is dat natuurlijk prima, maar het kan wel problemen opleveren als je bijv. een dvd brandt (dan wordt de image tijdelijk in /tmp geplaatst)
Ook andere applicaties kunnen tijdelijk een hoop data in /tmp parkeren, dus daar moet je dan wel rekening mee houden.
Da's waar, maar zelf heb ik daar nog nooit problemen mee gehad en ik werk nu toch al een aantal jaren zo met een desktoppc met 4 GiB RAM. Als je echter /tmp en /var/tmp niet in RAM wil hebben, kun je de opgegeven beveiliging natuurlijk ook gebruiken op schijf:
proc            /proc           proc    defaults,noexec,nodev,nosuid        0       0
sysfs /sys sysfs defaults,noexec,nodev,nosuid  0 0
tmpfs /dev/shm tmpfs defaults,rw,noexec,nodev,nosuid 0 0
(dit beveiligt ook nog /proc en /sys; in plaats van tmpfs /dev/shm kan natuurlijk ook tmpfs /tmp en een tweede regel met tmpfs /var/tmp)

Re: Trojan voor linux ontdekt?
« Reactie #22 Gepost op: 2012/07/13, 11:20:05 »
@Thomas: Schone installatie op mijn laptop en gewoon uitvoerbare /tmp. Hoe kan dat dan met een schone installatie?

Trouwens, lees nu ook even wat Johan schrijft namelijk "Als opdracht zou je sh -c "chmod +x /pad/naar/virus; /pad/naar/virus" uit kunnen voeren. Of iets vergelijkbaars."
Dat kan dus gewoon vanuit Autostart.

Offline Bloom

  • Lid
Re: Trojan voor linux ontdekt?
« Reactie #23 Gepost op: 2012/07/13, 11:56:21 »
Schone installatie op mijn laptop en gewoon uitvoerbare /tmp. Hoe kan dat dan met een schone installatie?
Debian-achtigen inclusief Ubuntu hebben na installatie een uitvoerbare /tmp omdat het pakketdistributiesysteem 'apt' dat vereist. Je kunt dat veranderen zoals hoger aangegeven.

Re: Trojan voor linux ontdekt?
« Reactie #24 Gepost op: 2012/07/13, 12:14:07 »
@Thomas: Schone installatie op mijn laptop en gewoon uitvoerbare /tmp. Hoe kan dat dan met een schone installatie?
Je gaf niet aan dat je een uitvoerbare /tmp had, maar dat bestanden in /tmp automatisch uitgevoerd worden, en dat is heel iets anders. Misschien wou je wel zeggen dat je een uitvoerbare /tmp had, maar dan maak je deze discussie wel onbegrijpelijk door iets anders te zeggen dan je bedoel.

We zijn het er inmiddels over eens dat een trojan code kan wegschrijven in /tmp.  We zijn het er over eens dat het mogelijk is dat een desktop bestand in een autostart map indirect code automatisch kan laten uitvoeren die geen uitvoer rechten heeft.

De vraag is nu dus nog, kan die website met die trojan ook een bestand wegschrijven in een autostart map bijvoorbeeld zodat deze daadwerkelijk code kan laten uitvoeren, of kan die website slechts code in /tmp plaatsen waar er verder niks mee gebeurt?
« Laatst bewerkt op: 2012/07/13, 12:16:55 door Thomas de Graaff »