Blog (107)
Komentarze (2.3k)
Recenzje (0)
@webnull[Wine] "Złośliwe oprogramowanie"?

[Wine] "Złośliwe oprogramowanie"?

23.04.2011 | aktual.: 23.04.2011 23:10

Witam.

Jestem użytkownikiem Linuksa od lat i właściwie dzisiaj coś mnie skusiło aby spróbować ClamAV - Wolnego, Otwartego i bezpłatnego programu znajdującego "złośliwe oprogramowanie".

383359

Wyniki skanowania mnie lekko zaskoczyły, a dlaczego lekko to już Wam mówię.

ClamAV znalazł kilka trojanów w katalogu Wine, głównie w drive_c/Windows/system32.

Jak widać, jest to "Perfect Keylogger", jednak siedzi on zamknięty w Wine i nie ma żadnych szans aby się wydostać - sam nie wie, że siedzi w klatce :‑)

/home/webnull/.wine/drive_c/windows/system32/CEM.exe: Trojan.Perflog-36 FOUND
/home/webnull/.wine/drive_c/windows/system32/rinst.exe: Trojan.PerfectKeylogger.153.Gen FOUND
/home/webnull/.wine/drive_c/windows/system32/CEMwb.dll: Trojan.PerfectKeylogger.153.Gen FOUND
/home/webnull/.wine/drive_c/windows/system32/CEMhk.dll: Trojan.PerfectKeylogger.153.Gen FOUND

Tutaj znowu jakiś trojan, ponoć tworzy wpisy w autostarcie - to znaczy, że włączył się tylko raz bo po wyłączeniu aplikacji używanej przez Wine zginął śmiercią naturalną.

/home/webnull/.wine/drive_c/A.exe: Trojan.Bifrose-8562 FOUND
/home/webnull/.wine/drive_c/A.exe.bak: Trojan.Bifrose-8562 FOUND

Najważniejsze co można tu powiedzieć to, że "złośliwe oprogramowanie" nie wydostało się z Wine ani w nim się nie rozprzestrzeniło wystarczająco.

W zasadzie z tego co widać, to trojan raz się uruchomił, ale po wyłączeniu środowiska Wine został zdezaktywowany i wyłączony na zawsze. Dlaczego? - Ponieważ funkcja autostartu w Wine celowo nie działa...

Ochrona w systemie Gentoo

Domyślnie system Gentoo Linux posiada autorskie narzędzie sandbox dzięki któremu można "zamknąć w klatce" dany proces uniemożliwiając mu zapis czy odczyt w danym miejscu.

Niestety muszę zmartwić użytkowników innych systemów operacyjnych - nie znam rozwiązania piaskownicy dla innych systemów operacyjnych.

Można tym sposobem zabronić zapisu w katalogu ~/.wine/drive_c/windows/system32 aplikacjom uruchomianym przez Wine.

~/Sandbox/wine

#!/bin/bash
#*  addread <path>:     allow <path> to be read
#*  addwrite <path>:    allow <path> to be written
#*  adddeny <path>:     deny access to <path>
#*  addpredict <path>:  allow fake access to <path>

SANDBOX_INTRACTV=1

. /usr/share/sandbox/sandbox.bashrc

addread ~/
addwrite /dev/
addwrite ~/.wine
addwrite ~/.wine/system.reg
addwrite ~/.wine/userdef.reg
addwrite ~/.wine/user.reg
addwrite ~/.wine/drive_c/Program\ Files
addwrite ~/.wine/drive_c/users
addwrite ~/.local/share/
addpredict ~/.wine/drive_c/windows
adddeny ~/.purple
adddeny ~/.wicd
adddeny ~/.config
adddeny ~/.gnome2
adddeny ~/.jd
adddeny ~/.adobe
adddeny ~/.mozilla
adddeny ~/.etwolf
adddeny ~/.openarena
adddeny ~/.evolution
adddeny ~/.ooo3
adddeny ~/.ssh
adddeny ~/.wireshark
adddeny ~/Dokumenty
adddeny ~/.irssi
addread ~/Obrazy

if [ -f "sandbox-variables" ];
then
        echo "Found sandbox-variables"
        . sandbox-variables
fi

#wine $?
wine $1 $2 $3 $4 $5 $6 $7 $8 $9

~/Sandbox/wine-kill

Służy za ułatwienie tak na wszelki wypadek gdyby coś się przycięło, jeżeli chodzi o Wine.

Czasami może zajść jak to można powiedzieć "zmieszanie uprawnień", że jakaś część Wine jest uruchomiona na innych uprawnieniach dlatego można zabić całe Wine i uruchomić od nowa w zasadzie jednym poleceniem - ~/Sandbox/wine-kill

#!/bin/bash
killall -9 explorer.exe
killall -9 wineboot.exe
killall -9 services.exe
killall -9 winedevice.exe
killall -9 plugplay.exe

sandbox-variables

To opcjonalny plik który odpowiada dodatkowym parametrom piaskownicy dla danej aplikacji - oczywiście musi się znajdować w katalogu z aplikacją windowsową.

Najczęściej wpisuje się tam możliwość zapisu do katalogu z aplikacją przykładowo:


addwrite /home/webnull/.wine/dosdevices/d:/STEAM

RunThisApp / RunThisGame

Skrypt uruchamiający dany program lub grę jednym poleceniem od razu w trybie piaskownicy.

#!/bin/bash
sandbox /home/webnull/Sandbox/wine steam.exe

Teraz wystarczy tylko uruchomić RunThisApp czy RunThisGame a wszystko powinno się samo ustawić i uruchomić.

W razie czego można wyłączyć wszystkie procesy Wine jeżeli coś będzie nie tak i zacząć od początku uruchamianie aplikacji.

Wybrane dla Ciebie
Komentarze (10)