Wirusy w Delphi

0

Witam... piszę ten post ku przestrodze. Ostatnio miałem nie przyjemny incydent na swoim laptopku. Jak zwykle modyfikowałem swój projekt w Delphi(używam Delphi 7 lite - lazarusa porzuciłem ze względu na brak wstawek assemblerowych), aż tu nagle moja zapora wyświetla mi komunikat, że mój Project1.exe próbuje się łączyć z internetem...

Zdumiony tym zdarzeniem zastanawiałem co się dzieje... Przecież w execu nie ma nawet grama kodu odpowiedzialnego za łączenie się z internetem... a w tle działa Eset32... Pomyślałem że to nie możliwe żebym miał jakiegoś syfa w systemie

Niestety Project1.exe nachalnie próbował się łączyć z internetem. Wywaliłem eseta z bólem w sercu... i ściągnąłem AdAdware... Odpalam Delphi... a tu wyskakuje czerwone okienko: Backdor Detected! Win32.Hupigon

Niestety nie można było zrobić Disinfect, tylko delete...

Przeskanujcie sobie Delphi tym programikiem polecam, ArcaVir, Kaspersky Antywirus, i Avast nic nie wykryły!!!

AdAdware lub podobnym

0

Niektóre programy tego typu mogą postawić błędną diagnozę. Utworzyłem sobie plik exe ze skryptu napisanego w języku Python aplikacją PyInstaller i AVG go nie lubił. Po update antywirusa, przestało się czepiać ;)

0

lazarusa porzuciłem ze względu na brak wstawek assemblerowych

Czekaj, powtórz bo chyba nie rozumiem :|
Przecież możesz w nim pisać normalne wstawki Assemblerowe, jedynie musisz włączyć jakiś konkretny assembler.
Do kompilatora przekaż bodajże -rintel (by mieć składnię Intelowską), pewnie z poziomu środowiska lub jakiejś dyrektywy kodu też można to zrobić.

0

Eee... to nie był fałszywy alarm... bo czysty execk skompilowany w Delphi łączył się z internetem. Odpale lazarusa i zobacze jeszcze raz:)

ale ten execk 13MB w lazarusie mnie rozwala....

podczas próby dodania takiej wstawki:

asm
int 3
xor eax, eax
end;

kompilator wywala taki komunikat:

"Fatal: Selected assembler reader not supported"... eh

poszukam w opcjach kompilatora

0

Ja się pogubiłem to ci wywala że twój project1 ma viska czy coś w folderze bin z delphi?

0

AdAdware wykryło trojana w delphi32.exe i w pliku skompilowanym

1

Kilka lat wstecz krążył wirus, który doklejał się do skompilowanych programów napisanych w delphi (konkretnie jakiegoś modułu) i zarażał inne delphi - groźne jeśli dajesz exe'ki np. znajomemu, który jerst programistą.

0
tweety napisał(a):

ale ten execk 13MB w lazarusie mnie rozwala....

To wszystko jest dla Twojego dobra ;) Ale jak chcesz, możesz wyłączyć m.in.dodawanie symboli debuggera - wtedy będziesz miał około 3 MB.

tweety napisał(a):

Fatal: Selected assembler reader not supported

-rintel do kompilatora lub poszukaj w opcjach projektu.

3
tweety napisał(a):

Delphi 7 lite

To chyba wszystko wyjaśnia.

0
szopenfx napisał(a)

Kilka lat wstecz krążył wirus, który doklejał się do skompilowanych programów napisanych w delphi (konkretnie jakiegoś modułu) i zarażał inne delphi

Najprawdopodobniej masz na myśli wirusa o wdzięcznej nazwie Win32:Induc.A, który właśnie w ten sposób infekował kolejne środowiska; Sam go jakieś pół roku temu miałem u siebie na komputerze, ale NOD32 nie miał najmniejszego problemu z rozpoznaniem zagrożenia; Trochę mnie dziwiło i denerwowało, jak podczas każdej kompilacji usuwał świeżego exe'ka i informował o zagrożeniu, ale nie miałem pojęcia, że faktycznie może zainfekować środowisko (a konkretniej moduł SysConst.dcu);

Więcej informacji na temat Win32:Indus.A:

0

to by wyjaśniało że czysty .exe łączy się z internetem, właśnie robię pełny skan systemu, mam dużo syfu, większość trojanów znajduje się w katalogu
c:\System Volume Information do którego nie mam dostępu chociaż jestem adminem... dziwne że eset32 nic nie wykrył, widocznie nie aktualne bazy wirusów albo program do kitu? a miałem o nim dobre zdanie

a co do tego -rintel to jak to włączyć w lazarusie? nie kompiluję ręcznie tylko automatycznie z IDE

assembler by się przydał... programy pisane w tym języku są po prostu czyste i małe

zaletą tych 13 Megowych execków jest to że uruchamiają się na każdym systemie operacyjnym, ale te z delphi lite też to potrafią a ważą 250KB... wiem że dyski są duże ale 13MB to przesada

3
tweety napisał(a):

większość trojanów znajduje się w katalogu
c:\System Volume Information do którego nie mam dostępu chociaż jestem adminem...

uświadomiłeś mnie, że jednak warto wstać z tego krzesła i iść się trochę przespać.

0

13Mb masz bo dołącza debug info do exeka i inne pierdoły które służą do debugowania, jak je odłączysz to też będzie lekki.
Czy ty wiesz co to jest? c:\System Volume Information

1

assembler by się przydał... programy pisane w tym języku są po prostu czyste i małe

I tak co dłuższego kodu nie zoptymalizujesz znacznie lepiej, niżeli zrobiłby to FPC, a jedynie narobisz sobie bałaganu w kodzie - wstawki w dzisiejszych czasach nie są polecane (no, chyba że piszesz kernel systemu).
Aby włączyć składnię Intelowską możesz z poziomu kodu:
{$ASMMODE INTEL}
... lub wejdź do ustawień projektu, potem wybierz Opcje kompilatora -> Analiza, a stamtąd już masz obie składnie do wyboru.

zaletą tych 13 Megowych execków jest to że uruchamiają się na każdym systemie operacyjnym

Czekaj, czekaj - że niby co?!
Bzdury gadasz - na każdym systemie/architekturze i tak musisz przekompilować cały projekt, a aplikacja zajmuje "aż" 13 MB, ponieważ są tam dodane symbole debugujące dla GDB, aby debugowanie programu było łatwe.

Aby zmniejszyć rozmiar pliku wykonywalnego, w opcjach projektu ustaw:
Łączenie -> Wyczyść z symboli plik wykonywalny

0
tweety napisał(a)

to by wyjaśniało że czysty .exe łączy się z internetem

Post, który napisałem wyjaśnia słowa @szopenfx, natomiast Ty masz do czynienia z backdoor'em o wdzięcznej nazwie Hupigon:

Hupigon.OET napisał(a)

Rodzaj: Backdoor

Szkodnik pojawia się w postaci pliku wykonywalnego pobieranego bezpośrednio z internetu lub też jako część innego malware przenoszącego komponent tego backdoora. Trojan jest skompresowany programem BeRoEXEPacker v1.00. W trakcie instalacji tworzy plik setuplog.DLL zawierający podstawowe elementy trojana, tworzy także kopię siebie samego i umieszcza ją w pliku setuplog.bat. Jest to zabezpieczenie szkodnika na wypadek usunięcia pliku dll. Po zainstalowaniu, backdoor stara się połączyć ze zdalnym serwerem i powiadomić zdalnego napastnika o powodzeniu infekcji. Następnie rozpoczyna skanowanie po kolei wszystkich portów zainfekowanego komputera w poszukiwaniu otwartego, który mógłby posłużyć do komunikacji z napastnikiem. Pośród innych umiejętności szkodnik posiada także zdolność do przechwytywania ekranu i zapisywania obrazków w postaci plików video lub graficznych.

Aliasy nazwy: TrojanSpy:Win32/Logsnif.gen [Microsoft] BackDoor-AWQ.svr.gen.a [McAfee]

No i tak jak jest napisane w opisie: "Szkodnik pojawia się w postaci pliku wykonywalnego pobieranego bezpośrednio z internetu lub też jako część innego malware przenoszącego komponent tego backdoora." - stąd nie dziw się, że łączy się z siecią;

tweety napisał(a)

mam dużo syfu, większość trojanów znajduje się w katalogu
c:\System Volume Information do którego nie mam dostępu chociaż jestem adminem...

A nie wziąłeś pod uwagę tego, że praca non-stop na koncie z uprawnieniami administratora to nie jest najlepszy pomysł? Dzięki temu szkodliwe oprogramowanie może wykonywać wszelkie operacje, które może także wykonywać admin; Obniżając uprawnienia (lub pracując na koncie o ograniczonych uprawnieniach) ogranicza się stopień "zniszczeń", jakie może spowodować wirus/backdoor;

tweety napisał(a)

zaletą tych 13 Megowych execków jest to że uruchamiają się na każdym systemie operacyjnym, ale te z delphi lite też to potrafią a ważą 250KB... wiem że dyski są duże ale 13MB to przesada

Może najpierw poznaj proces kompilacji, a dopiero potem narzekaj; Owszem, w dzisiejszych czasach są potężne HDD i bardzo szybkie łącza, jednak usuwając z pliku wykonywalnego tzw. "śmieci" możesz znacznie zmniejszyć rozmiar exe'ka; Najwięcej zajmują symbole debugera - wyłączając odpowiednią opcję w preferencjach projektu plik wykonywalny zmniejszy się do nieco ponad 1MB; Do tego można użyć strip'era czy UPX i plik będzie jeszcze mniejszy; Rozmiar można jeszcze bardziej zmniejszyć dzięki odpowiednio przygotowanym plikom graficznym;

Tak nawiasem: Write once, compile anywhere znaczy Napisz raz, skompiluj gdziekolwiek;

0

Moja wiedza na ten temat opcji kompilacji w Lazarusie jest ograniczona, więc dziękuję za podpowiedzi. Lazarus ma przewagę nad Delphi - jest nowocześniejszy. A co do c:\System Volume Information to wiadomo że jest to katalog przywracania systemu

Temat uważam za zamknięty, Pozdrawiam! :)

1

nad delphi 7 personal to moze ma przewage, a nie nad 'delphi'

0

trojan znajduje się w instalce Delphi (InstallShield), co ciekawe Nod32 6.0 ze zaktualizowanymi bazami danych niczego nie wykrywa

0

Trojan znajduje się w pliku delphi32.exe, radzę nie uruchamiać...

http://chomikuj.pl/Chomicz0wka/Trojan+Win32.Hupigon

0

Ok, dzięki - podałem link jednej osobie z viruslabu. Obiecał spojrzeć, przeanalizować i dodać detekcję.

0

Przydało by się, żeby Nod32 6.0 nie przepuszczał koni trojańskich......

0

Jeżeli są znane viruslabom tej firmy i dodane do baz, to podejrzewam że ich nie przepuszcza, a jeżeli się mu niestety zdarza, bo wiadomo nic idealne nie jest, to można takie podejrzane pliki wysłać na odpowiedni e-mail do późniejszej analizy, a z pewnością zostaną dodane.

0

no co wy chłopaki... AdAware i F-Prot wykrywają trojana... a projekty po kompilacji łączą się z netem.... jak nie ma jak jest... trojan jeszcze przed wysyłaniem sprawdzałem... chyba że może jeszcze jakiegoś innego Vira miałem

0

eset 6.0 też stwierdził że jest czysty... a inne programy stwierdziły że jest trojan... wyśle screena jak zrobie

no ale co z tego wynika? że 2 programy anty wirusowe się mylą a ja mam innego wirusa którego nie wykrył eset32??? ;)

0

no co wy chłopaki... AdAware i F-Prot wykrywają trojana...

No widzisz, część antywirusów wykrywa zagrożenie, część zaś nie; Heurystyka też potrafi być uciążliwa;

a projekty po kompilacji łączą się z netem....

Wyniki na VirusTotal mówią same za siebie - głównie trzeba patrzeć na wiodące w tej branży oprogramowanie i one akurat nie widzą problemu;

Przydało by się, żeby Nod32 6.0 nie przepuszczał koni trojańskich......

I nie przepuszcza - możesz wierzyć w to co pisze wyżej @olesio i informacje jakie uzyskał od pracownika ESET;

Napisałeś, że jak skompilujesz i uruchomisz program to wtedy łączy się z siecią; Nie napisałeś natomiast, czy skompilowany program uruchomiony bezpośrednio z dysku także się łączy, czy może nie - sprawdź to, bo jeśli się nie łączy z netem po uruchomieniu z dysku to najprawdopodobniej pozostanie usunięcie pliku delphi32.exe (zamiana na niezainfekowany) i sprawdzenie autouruchamianych programów i usług; Poza tym i tak musisz się pozbyć pliku delphi32.exe jeśli żaden z antywirusów nie może go wyleczyć; Z każdym uruchomieniem Delphi uruchamiasz także wirusa, więc w ten sposób nigdy się go nie pozbędziesz;

Tak na przyszłość - pracuj na koncie z ograniczonymi uprawnieniami, a unikniesz części problemów związanych ze szkodliwym oprogramowaniem;

0

ten backdor to pikuś kiedyś na win xp miałem Win32.Kriz... to dopiero był wirus, w ciągu 5 minut zainfekował ponad 5000 plików włącznie z kernel32.dll który przecież jest chroniony przez system;) 25 grudnia uruchamia kasowanie dysku

0
tweety napisał(a)

w ciągu 5 minut zainfekował ponad 5000 plików włącznie z kernel32.dll który przecież jest chroniony przez system;)

Owszem, ale:

Aby zainfekować plik KERNEL32.DLL, który może być otwarty w trybie tylko do odczytu, gdyż jest on używany przez system, wirus używa standardowego triku. Kopiuje ten plik. Nadaje mu chwilową nazwę KRIZED.TT6. Kopia ta umieszczona jest w katalogu systemowym Windows. Infekuje kopię. Następnie zapisuje w pliku WININIT.INI instrukcję zmieniającą nazwę na oryginalną. Przy następnym uruchomieniu systemu plik KERNEL32.DLL jest już zarażony.

Źródło: WirusPC - Win32.Kriz

1 użytkowników online, w tym zalogowanych: 0, gości: 1