Stair
Centipat
- Katılım
- 26 Mayıs 2023
- Mesajlar
- 98
Daha fazla
- Cinsiyet
- Erkek
Herkese selamlar dün yaşadığım talihsiz olayla ilgili birkaç bilgilendirme yapmak istiyorum.
Trojan virüsü nasıl extract edilir onu anlatmak istiyorum birkaç formdan aldım kaynakları umarım bilgilendirici olur.
Şimdi gelelim asıl konuya.
İhtiyacımız olan araçlar bir hex editor(küçük boyutları ve freeware olması nedeni ile benim tercihim frhed)
Proagent ayıklama:
Kendi oluşturduğunuz ve dosya ile birleştirmediğiniz trojanı kullanarak deneme yaptığınızı varsayarak anlatacağım.
Oluşturulan trojanı ilk önce upx ile extract edeceğiz. Trojanın upxle sıkıştırıldığını anlamak için upxle sıkıştırılan dosyalarda upx imzası bulunduğundan bir hex editorle açıp EXE'nin baş kısımlarında upx yazısı aramak gerek. Proagent serveri upxle sıkıştırılmış. Şimdi Upx'in exesiyle server.exe'nin aynı yerde olması lazım. DOS'a geçiyoruz ve Upx'in olduğu dizine geliyoruz.
C:\trojan>upx -d server.exe
Komuduyla trojanı extract ettik.server.exe yerine serverin adı neyse onu yazmanız gerektiğini zaten biliyorsunuz. Extract ettikten sonra hex editorle EXE'yi açıp en altına inin. Burada trojan oluştururken girdiğiniz ayarlar var. Hatta onların arasında:
|Removeprotection0|sendvklogs0|
Yazar. Bu Proagent'in kısıtlı sürümünü kullanıyor olmanızdan kaynaklanıyor. Sonlarındaki 0(sıfır)'ı 1(bir) yaparak kısıtlı sürümde oluşturduğumuz trojanı $250'lık paralı proagent trojanı gibi kullanabiliyoruz. Oradaki ayarları biraz kurcalarsanız işinize yarayacak başka şeyler de bulabilirsiniz. Biz trojanı ayıklamaya devam edelim.
Her EXE mz ile başlar. Dosyanın en başına gelelim ve dosyada mz diye aratalım. Dosyanın en başındaki Mz'yi görmezden gelerek ikinci Mz'yi arayalım. Gelen ikinci mznin M'sini işaretleyelim ve dosyanın sonuna kadar seçelim. Yani orada sadece birinci EXE kalacak, ikincisinden tutup sonuna kadar alalım. Yalnız alalım derken kes(cut) yapalım. Yeni bir EXE dosyası oluşturup onu da aynı hex editorle açalım, yapıştıralım ve kaydedelim. Yalnız şunu unutmayın; arama yaptıktan sonra çıkan Mz'nin bir EXE dosyası başlangıcı olup olmadığını anlamanız gerek, EXE başlangıç Mz'si değilse o mz yi görmezden geliyoruz. Bunu nasıl anlayabiliriz? EXE başı mzlerin etrafı genelde hex kodu olarak 00(sıfır-sıfır)dır, yazı olarak da genelde hex editorlerde "." olarak gösterilir. Bu kısımda asla hata yapmamanız gerek, yoksa EXE'nizi bozabilir ve sonrasında neden olmuyor diye çıldırabilirsiniz(ya da başka bir yöntem de arama bölümüne "this program must be only run under Win32" yazısının bir bölümünü aratarak da bulabilirsiniz). Kolaylık olması için kaydettiğimiz dosya adının sonuna 2(iki) koyun mesela server2.exe. Şimdi sadece birinci EXE'nin olduğu dosyayı kaydedip kapatalım. İkinci EXE'de de aynı işlemi yapacağız. Mz diye aratalım, en baştaki mzyi görmezden gelip ikinci mznin M'sinden tutup dosyanın sonuna kadar keselim, boş bir dosyaya yapıştırıp kestiğimiz dosyayı da yeni dosyayı da kaydedelim. Tabii bunu yaparken Upx'le sıkıştırılmış olan EXE'leri mutlaka extract etmeniz gerekiyor. Nasıl extract ediceğinizi yukarıda yazmıştım zaten. Bu şekilde ne kadar EXE varsa çıkartalım. Ne kadar EXE olduğunu EXE başlangıç mzlerinin sayısından anlayacaksınız zaten. Tam 8 tane EXE dosyası çıkıyor. Evet trojanı ayıkladık. Şimdi hangi EXE ne iş yapıyor öğrenelim. Bu EXE'leri rastgele değil de dosyadan çıkış sırasına göre server1.exe server2.exe... server8.exe şeklinde isimlendirin. Şimdi server8.exe yi çalıştırın. Bir program çalıştı ve çalışan bu program www.nirsoft.net in sahibi olan adamın yazdığı bir program. server3.exe yi çalıştırın, o da bilgisayarda kayıtlı olan MSN şifrelerini bulan program. server6.exe de bilgisayarda kayıtlı mail şifrelerini gösteren program. server8.exe de Internet Explorer kayıtlı şifreleri vs gösteren program. Yani proagent çalışırken aslında başka programlar kullanarak bu şifreleri öğreniyor. Programları DOS konsolundan şu şekilde çalıştırın.
C:\trojan>server3.exe /stext msnsifre.txt
Bunu yaptığınız zaman orada msnsifre.txt diye bir dosya çıkacak ve içinde bilgisayarınızda kayıtlı olan o programın desteklediği versiyondaki MSN şifreleri yazacaktır. server8.exe de de başka şifreler vs.
Bu şekilde bütün EXE'leri çalıştıralım. Korkmayın bilgisayarınıza yerleşecek bir trojan kalmadı server1.exe yi çalıştırın services.dll'i bulamadım diye mesaj çıkacak. Bunun sebebini şimdi anliyacağız. Geçelim server1.exe'yi server2.exe'yi çalıştıralım. Ne dedi geçerli bir Win32 uygulaması değil dedi. Bu da şu demek, bu bir EXE değil bir DLL. Yani server server1.exenin bulamadığı services.dll bu dosya işte. server3.exe MSN şifrelerini gösteren program. server4.exe de çalışmadı, bu da tahminimce trojanın virüs vs. programlarından korunmak için kullandığı bir DLL dosyası. server5.exe de çalışmaz. İçine baktığınız zaman trojanın bilgisayara yerleştirdiği dosyaların ismini görüyoruz. Yani bu da muhtemelen trojanın bilgisayara yerleşmesini sağlayan dosyalardan biri. server6.exe mailpassview programı. Server7.EXE'yi çalıştırınca _pnc.dat diye bir dosya çıkıyor, ne işe yaradığını çözmek mümkün değil çünkü içinde saçma sapan yazılar var. Ancak bu yazılar rastgele yazılar değil çünkü her çalıştırmada aynı yazılar çıkıyor. server8.exe de Internet Explorer kayıtlı şifreleri.
İşte proagent trojanını ayıkladık. Çıkarttığınız dosyaların içine tek tek ayrıntılı şekilde bakarak trojanın bilgisayarda neler yaptığını, kendini Registry'de nereye kaydettiğini, bilgisayarda nereye yerleştiğini vs. bulabilirsiniz.
Proagent işte bu kadar.
Vatosajan trojanı ayıklama(benim yazarken ayıkladığım versiyonu vatosajan 2.4)
Vatosun ayıklanmasını anlatırken proagentınkini okumuş olduğunuzu kabul ederek anlatacağım, çünkü tekrar uzun uzun yazmaya gerek yok. Önce trojanı Upx'le extract ediyoruz.
c:\Trojan>upx.exe -d server.exe
Sonra dosyada mz diye arama yapıyoruz. Dosyanın başındakini her zamanki gibi görmezden gelerek bir kere daha arama yapıyoruz. Karşımıza birkaç mz çıkacak ama bunlar EXE başlangıcı mz değil. Nereden anladık? EXE başlangıcı Mz'lerin etrafında hex kodu olarak 00'lar veya yazı olarak çoğu hex editorde "." şeklinde gösterilen karakterler çok fazladır. EXE başlangıç Mz'si bulana kadar arama yapıyoruz ve karşımıza ilk çıkan Mz'nin M'sinden tutup dosyanın sonuna kadar cut(kes) yapıyoruz. Dosyayı kaydediyoruz ve yeni dosya açıp kopyaladığımız kısmı yeni EXE'ye yapıştırıyoruz. Hemen dosyanın baş kısımlarında upx imzası arıyoruz sıkıştırılmış mı diye. Eğer varsa hemen extract ediyoruz. Sonra bir daha mz aratıp bir daha çıkartıyoruz, Upx'le extract ediyoruz ve dosya bitene kadar bütün EXE'leri çıkartıyoruz. Toplamda 5 tane EXE çıkması lazım. Hepsini çıkış sırasıyla server1.exe server2.exe... server5.exe şeklinde isimlendirin ve birinci EXE'yi çalıştırın. Çalışmadı mı? Sebebi şu. Normalde hata yapmamış olmamız lazım ama yine de çalışmadığına göre ek EXE dosyalar resource olarak eklenmiş dosyaya. Yani bunu hex editorle çıkartınca EXE'nin yapısını bozuyoruz. Bu nedenle ilk EXE'yi diğerleri olmadan çıkarmak için bir resource editor programıyla o EXE'leri çıkartmanız lazım. Resource hacker ya da restorator tarzı programlarla yapabilirsiniz.
EXE'leri biraz incelediğimiz zaman trojanın kendisini c:\windows\svchost.exe olarak kaydettiği açık belli. Ayrıca trojan oluştururken girdiğiniz mail adresinin ve FTP şifresinin neden harf sınırı olduğunun sebebi de şu. Program şu mantıkla trojan oluşturuyor. Trojan kodlandıktan sonra EXE haline getirilmiş. Bu EXE'nin ortalarında mail adresi, FTP şifresi ve bunun gibi seçeneklerin yazdığı bir bölüm var. Trojanı kodlayan kişi önce o bölümden yani mail adres ve şifrenin yazdığı bölümden öncesini ve sonrasını ayrı ayrı trojan oluşturucu programa kaydetmiş. Önce EXE'nin içine o bölümden öncesi yazılıyor, sonra o bölüm yazılıyor, sonra da sonraki bölüm yazılıyor. Böylece EXE'nin ortalarındaki o bölüme mail adresi ve FTP şifresi girilmiş oluyor. Harf sınırı olmasının sebebi de bu. Yani oraya 1 harf fazla girilirse EXE'nin yapısı bozulacak. Ama 1 harf eksik girersek sorun yok, çünkü o bölüm boşlukla doldurulmuş. Benim n-keylogger'da kullandığım yöntem de bununla aynı.
Neyse, ayıkladığınız EXE'leri çalıştırın, hepsinin Proagent'ta da olduğunu göreceksiniz. Zaten Vatos'un kodlayıcısı, sitesinde yazdığına göre Proagent'ın kodlayıcısından birebir yardım almış. Bu nedenle trojanlar tamamen aynı yöntemle şifreleri alıyor.
backlogger V2 trojanı ayıklama:
Önce rastgele bir server oluşturalım. Mail adresini falan sallamayın aklınızda olsun. Şimdi trojanı oluşturduktan sonra Upx'le extract edelim.
C:\>upx -d server.exe
Hex Editor'le Server'ı açın ve o yazdığınız mail adresiyle arama yapın. Gelen bölüme biraz göz atın, smtp_user, smtp_server vs şeyler falan var, biraz altta da trojanın kendisini nereye kaydettiği yazıyor. Benim incelediğim trojanda Registry'e girdiği key için winserv ismini kullanmış, ve srv_file=winserv.exe yazıyor bu da Server'ın bilgisayardaki kayıtlı EXE ismi. Biraz daha aşağıda System32 falan yazıyor, demek ki server kendini System32 altında bir yerlere gizliyor. Dosyanın başından System32 diye arama yaptığımız zaman gelen her sonuca tek tek bakınca trojan hakkında bilmemiz gereken işe yarayacak şeyler görebiliyoruz. Mesela gelen sonuçlardan birinde Registry'de kendini nereye kaydettiği ve ne isimle kaydettiği direk olarak yazıyor. \Software\Microsoft\Windows\CurrentVersion\RunOnce altına trojanın bilgisayarda kendini yedeklediği(kolayca silinmemesi için)adres olan c:\windows\system32\com\con\winserv\winserv.exe yazıyor. Oranın biraz altında da:
Xcopy /h /y c:\windows\system32\winserv.exe c:\windows\system32\com\con\winserv\
Yazar(bu bir DOS komudu). Bu da şu, trojan bilgisayarda iki EXE bulunduruyor, bunlardan Registry'de kayıtlı olanı önce çalışıyor. Önce çalışan EXE eğer diğeri yerinde yoksa kendini aynen oraya kopyalıyor, öteki de keylogging görevini yapıyor. Yani iki EXE bulunmasının sebebi kullanıcıların trojanı bilgisayardan rahatlıkla temizleyememesini sağlamak. Xcopy programında girilen /h parametresi gizli ve sistem dosyalarının da kopyalanmasını sağlar, /y parametresiyle de kopyalama yapılırken başka bir dosyanın üzerine yazılmasında onay istenmesi engellenir.
Bu arada kullanılan DLL dosyalarına vs. bakıldığında trojanın Delphi'de yazıldığı belli oluyor.
EXE'nin en altına baktığımız zaman gonderen, attachmentencoding, yollayici vs. yazar. Bunlar da gönderilen mailler hakkında girilen bilgiler.
Trojanı çalıştırınca hem system32\com\con adresine kaydettiği hem de direk System32'ye kaydettiği EXE dosyasının büyüklüğü 202 KB. windrivers.log system32\com\con altında windrivers.log diye bir dosya oluşuyor, bu da kaydedilen tuşlar. Hatta trojandaki bir hata, sürekli bir mesaj penceresi çıkıyor ve system32\com\con\windrivers.log dosyası başka bir program tarafından kullanıldığından dosyaya erişilemiyor hatası veriliyor. Bu da trojanı ele veriyor.
Trojan'ın Server'ı kendisini RAM'de çalıştırdığı için Task Manager'da gözükmüyor, Task Manager'de gözüken tek şey(o da bazen çıkıyor) cmd.exe yani server DOS kullanarak bazı işlemler yapıyor. Bunu zaten xcopy dende biliyorduk. Ve ben trojanı incelemeyi bitirip bilgisayarımda silmeye çalıştığımda çok zorlandım, sebebini biraz geç de olsa fark ettim. Sebebi, Windows'ta con isimli herhangi bir klasör veya dosyanın okunup yazılamıyor olması. Ama trojan system32\com\ altına con diye bir dizin açıyor. Nasıl açtığını ben de anlamadım ama açıyor siz de adı con olan herhangi bir dosya oluşturmaya çalışın olmayacak. Her neyse, con diye açtığı bu dizini silmeye çalıştığımızda Windows'ta böyle bir adres bulamadı hatası çıkıyor doğal olarak. Con altındaki windrivers.log dosyasını sildiğiniz zaman da hemen yerine geliyor. Hem System32'deki hem de com\con\winserv\deki winserv.exe'leri silebiliyoruz çünkü o anda o EXE'ler çalışmıyor, RAM'de çalışıyor. Ben şöyle yaptım, bilgisayarı güvenli modda çalıştırdım ve winserv.exe'ler doğal olarak açılmadı. Registry'den(HKCU\Software\Microsoft\Windows\Curre ntVersion\RunOnce) tüm trojanla ilgili bilgileri sildim, sonra tüm winserv.exe'leri sildim. windrivers.log dosyası kendi başına bir etki yapamaz ama onu da silelim bilgisayarda iz kalmasın trojandan. Hepsini sildikten sonra trojanın işi bitti, bilgisayarı normal modda açabiliriz.
Backlogger trojanı beni şu ana kadar en çok zorlayan trojan oldu programcısı çoğu şey için biraz fazla kasmış. Bu da trojan çalışır durumdayken sürekli hata çıkmasına neden oluyor.
Turkojan'ı ayıklanması
Trojanı yüne hex editorümüzle açalım. Dosyada EXE, ocx, DLL vs. başlangıç kısımlarında genel olarak yazan yazılardan aratalım, mesela mz. Ancak mz yazınca çok fazla yanlış sonuç geliyor, bu yüzden "this program must be only." yazısının bir kısmıyla arama yapalım. Arama yaptıktan sonra ana EXE'den başka 5 tane daha dosya çıkacak, yani toplamda 6 tane. Şimdi çıkan programları tek tek çalıştırmayı deneyelim. Dosyaları çıkış sırasına a.exe, b.exe... f.exe gibi isimlendirdiğimizi düşünerek a.exe'yi çalıştıralım. Ben çalıştırmayı denediğimde "işleyici geçersiz" hatasıyla program çalışmadı. B'yi çalıştırınca diğer trojanlarda da gördüğümüz nirsoft mezsenpass programı çalışıyor. c.exe'den bir şey anlamadım çünkü çalıştırdığımız zaman gözle görülür bir şey çalışmıyor ve dosyanın içini incelediğimde de hiçbir seçilebilecek yazı bulamadım. Restorator'la açtım dosyayı ve sadece ayarlar diye bir yazı gördüm o kadar. d.exe ve e.exe yi çalıştırınca da işleyici geçersiz hatası çıktı. f.exe de görünür bir şekilde çalışan programlardan değil, içine baktığımız zaman ise birkaç EXE ve DLL ismi görüyoruz. Şimdi trojanın ana dosyası olan a.exe'yi çalıştıralım, ayıklanmış haldeyken bu da çalışmıyor.
Trojanın silinme kısmına gelelim. Bilgisayara trojanın kopyalanma exesinin adını dosyayı oluştururken biz girmiştik. Kendini bilgisayara system32\vssms32.exe olarak kopyalıyor. Regedit'ten bu adresi aratırsak trojanın bilgisayara bıraktığı tüm registry izlerini bulabiliriz. Bu registry kayıtlarının arasında Windows XP SP2'yle gelen Firewall'u aşmak için, kullanıcının normalde izin verdiği programların adresinin tutulduğu bölüme kendi adresini de girerek port açarken SP2'nin kullanıcıyı uyarmamasını sağlıyor. Tüm registry izlerini ve vssms32.exe dosyasını sildiğimiz zaman trojan tamamen işlevini yapamaz hale gelir yani neredeyse tamamen kaybolur.
Umarım kimsenin başına gelmez okuduğunuz için teşekkürler.
Trojan virüsü nasıl extract edilir onu anlatmak istiyorum birkaç formdan aldım kaynakları umarım bilgilendirici olur.
Şimdi gelelim asıl konuya.
İhtiyacımız olan araçlar bir hex editor(küçük boyutları ve freeware olması nedeni ile benim tercihim frhed)
Proagent ayıklama:
Kendi oluşturduğunuz ve dosya ile birleştirmediğiniz trojanı kullanarak deneme yaptığınızı varsayarak anlatacağım.
Oluşturulan trojanı ilk önce upx ile extract edeceğiz. Trojanın upxle sıkıştırıldığını anlamak için upxle sıkıştırılan dosyalarda upx imzası bulunduğundan bir hex editorle açıp EXE'nin baş kısımlarında upx yazısı aramak gerek. Proagent serveri upxle sıkıştırılmış. Şimdi Upx'in exesiyle server.exe'nin aynı yerde olması lazım. DOS'a geçiyoruz ve Upx'in olduğu dizine geliyoruz.
C:\trojan>upx -d server.exe
Komuduyla trojanı extract ettik.server.exe yerine serverin adı neyse onu yazmanız gerektiğini zaten biliyorsunuz. Extract ettikten sonra hex editorle EXE'yi açıp en altına inin. Burada trojan oluştururken girdiğiniz ayarlar var. Hatta onların arasında:
|Removeprotection0|sendvklogs0|
Yazar. Bu Proagent'in kısıtlı sürümünü kullanıyor olmanızdan kaynaklanıyor. Sonlarındaki 0(sıfır)'ı 1(bir) yaparak kısıtlı sürümde oluşturduğumuz trojanı $250'lık paralı proagent trojanı gibi kullanabiliyoruz. Oradaki ayarları biraz kurcalarsanız işinize yarayacak başka şeyler de bulabilirsiniz. Biz trojanı ayıklamaya devam edelim.
Her EXE mz ile başlar. Dosyanın en başına gelelim ve dosyada mz diye aratalım. Dosyanın en başındaki Mz'yi görmezden gelerek ikinci Mz'yi arayalım. Gelen ikinci mznin M'sini işaretleyelim ve dosyanın sonuna kadar seçelim. Yani orada sadece birinci EXE kalacak, ikincisinden tutup sonuna kadar alalım. Yalnız alalım derken kes(cut) yapalım. Yeni bir EXE dosyası oluşturup onu da aynı hex editorle açalım, yapıştıralım ve kaydedelim. Yalnız şunu unutmayın; arama yaptıktan sonra çıkan Mz'nin bir EXE dosyası başlangıcı olup olmadığını anlamanız gerek, EXE başlangıç Mz'si değilse o mz yi görmezden geliyoruz. Bunu nasıl anlayabiliriz? EXE başı mzlerin etrafı genelde hex kodu olarak 00(sıfır-sıfır)dır, yazı olarak da genelde hex editorlerde "." olarak gösterilir. Bu kısımda asla hata yapmamanız gerek, yoksa EXE'nizi bozabilir ve sonrasında neden olmuyor diye çıldırabilirsiniz(ya da başka bir yöntem de arama bölümüne "this program must be only run under Win32" yazısının bir bölümünü aratarak da bulabilirsiniz). Kolaylık olması için kaydettiğimiz dosya adının sonuna 2(iki) koyun mesela server2.exe. Şimdi sadece birinci EXE'nin olduğu dosyayı kaydedip kapatalım. İkinci EXE'de de aynı işlemi yapacağız. Mz diye aratalım, en baştaki mzyi görmezden gelip ikinci mznin M'sinden tutup dosyanın sonuna kadar keselim, boş bir dosyaya yapıştırıp kestiğimiz dosyayı da yeni dosyayı da kaydedelim. Tabii bunu yaparken Upx'le sıkıştırılmış olan EXE'leri mutlaka extract etmeniz gerekiyor. Nasıl extract ediceğinizi yukarıda yazmıştım zaten. Bu şekilde ne kadar EXE varsa çıkartalım. Ne kadar EXE olduğunu EXE başlangıç mzlerinin sayısından anlayacaksınız zaten. Tam 8 tane EXE dosyası çıkıyor. Evet trojanı ayıkladık. Şimdi hangi EXE ne iş yapıyor öğrenelim. Bu EXE'leri rastgele değil de dosyadan çıkış sırasına göre server1.exe server2.exe... server8.exe şeklinde isimlendirin. Şimdi server8.exe yi çalıştırın. Bir program çalıştı ve çalışan bu program www.nirsoft.net in sahibi olan adamın yazdığı bir program. server3.exe yi çalıştırın, o da bilgisayarda kayıtlı olan MSN şifrelerini bulan program. server6.exe de bilgisayarda kayıtlı mail şifrelerini gösteren program. server8.exe de Internet Explorer kayıtlı şifreleri vs gösteren program. Yani proagent çalışırken aslında başka programlar kullanarak bu şifreleri öğreniyor. Programları DOS konsolundan şu şekilde çalıştırın.
C:\trojan>server3.exe /stext msnsifre.txt
Bunu yaptığınız zaman orada msnsifre.txt diye bir dosya çıkacak ve içinde bilgisayarınızda kayıtlı olan o programın desteklediği versiyondaki MSN şifreleri yazacaktır. server8.exe de de başka şifreler vs.
Bu şekilde bütün EXE'leri çalıştıralım. Korkmayın bilgisayarınıza yerleşecek bir trojan kalmadı server1.exe yi çalıştırın services.dll'i bulamadım diye mesaj çıkacak. Bunun sebebini şimdi anliyacağız. Geçelim server1.exe'yi server2.exe'yi çalıştıralım. Ne dedi geçerli bir Win32 uygulaması değil dedi. Bu da şu demek, bu bir EXE değil bir DLL. Yani server server1.exenin bulamadığı services.dll bu dosya işte. server3.exe MSN şifrelerini gösteren program. server4.exe de çalışmadı, bu da tahminimce trojanın virüs vs. programlarından korunmak için kullandığı bir DLL dosyası. server5.exe de çalışmaz. İçine baktığınız zaman trojanın bilgisayara yerleştirdiği dosyaların ismini görüyoruz. Yani bu da muhtemelen trojanın bilgisayara yerleşmesini sağlayan dosyalardan biri. server6.exe mailpassview programı. Server7.EXE'yi çalıştırınca _pnc.dat diye bir dosya çıkıyor, ne işe yaradığını çözmek mümkün değil çünkü içinde saçma sapan yazılar var. Ancak bu yazılar rastgele yazılar değil çünkü her çalıştırmada aynı yazılar çıkıyor. server8.exe de Internet Explorer kayıtlı şifreleri.
İşte proagent trojanını ayıkladık. Çıkarttığınız dosyaların içine tek tek ayrıntılı şekilde bakarak trojanın bilgisayarda neler yaptığını, kendini Registry'de nereye kaydettiğini, bilgisayarda nereye yerleştiğini vs. bulabilirsiniz.
Proagent işte bu kadar.
Vatosajan trojanı ayıklama(benim yazarken ayıkladığım versiyonu vatosajan 2.4)
Vatosun ayıklanmasını anlatırken proagentınkini okumuş olduğunuzu kabul ederek anlatacağım, çünkü tekrar uzun uzun yazmaya gerek yok. Önce trojanı Upx'le extract ediyoruz.
c:\Trojan>upx.exe -d server.exe
Sonra dosyada mz diye arama yapıyoruz. Dosyanın başındakini her zamanki gibi görmezden gelerek bir kere daha arama yapıyoruz. Karşımıza birkaç mz çıkacak ama bunlar EXE başlangıcı mz değil. Nereden anladık? EXE başlangıcı Mz'lerin etrafında hex kodu olarak 00'lar veya yazı olarak çoğu hex editorde "." şeklinde gösterilen karakterler çok fazladır. EXE başlangıç Mz'si bulana kadar arama yapıyoruz ve karşımıza ilk çıkan Mz'nin M'sinden tutup dosyanın sonuna kadar cut(kes) yapıyoruz. Dosyayı kaydediyoruz ve yeni dosya açıp kopyaladığımız kısmı yeni EXE'ye yapıştırıyoruz. Hemen dosyanın baş kısımlarında upx imzası arıyoruz sıkıştırılmış mı diye. Eğer varsa hemen extract ediyoruz. Sonra bir daha mz aratıp bir daha çıkartıyoruz, Upx'le extract ediyoruz ve dosya bitene kadar bütün EXE'leri çıkartıyoruz. Toplamda 5 tane EXE çıkması lazım. Hepsini çıkış sırasıyla server1.exe server2.exe... server5.exe şeklinde isimlendirin ve birinci EXE'yi çalıştırın. Çalışmadı mı? Sebebi şu. Normalde hata yapmamış olmamız lazım ama yine de çalışmadığına göre ek EXE dosyalar resource olarak eklenmiş dosyaya. Yani bunu hex editorle çıkartınca EXE'nin yapısını bozuyoruz. Bu nedenle ilk EXE'yi diğerleri olmadan çıkarmak için bir resource editor programıyla o EXE'leri çıkartmanız lazım. Resource hacker ya da restorator tarzı programlarla yapabilirsiniz.
EXE'leri biraz incelediğimiz zaman trojanın kendisini c:\windows\svchost.exe olarak kaydettiği açık belli. Ayrıca trojan oluştururken girdiğiniz mail adresinin ve FTP şifresinin neden harf sınırı olduğunun sebebi de şu. Program şu mantıkla trojan oluşturuyor. Trojan kodlandıktan sonra EXE haline getirilmiş. Bu EXE'nin ortalarında mail adresi, FTP şifresi ve bunun gibi seçeneklerin yazdığı bir bölüm var. Trojanı kodlayan kişi önce o bölümden yani mail adres ve şifrenin yazdığı bölümden öncesini ve sonrasını ayrı ayrı trojan oluşturucu programa kaydetmiş. Önce EXE'nin içine o bölümden öncesi yazılıyor, sonra o bölüm yazılıyor, sonra da sonraki bölüm yazılıyor. Böylece EXE'nin ortalarındaki o bölüme mail adresi ve FTP şifresi girilmiş oluyor. Harf sınırı olmasının sebebi de bu. Yani oraya 1 harf fazla girilirse EXE'nin yapısı bozulacak. Ama 1 harf eksik girersek sorun yok, çünkü o bölüm boşlukla doldurulmuş. Benim n-keylogger'da kullandığım yöntem de bununla aynı.
Neyse, ayıkladığınız EXE'leri çalıştırın, hepsinin Proagent'ta da olduğunu göreceksiniz. Zaten Vatos'un kodlayıcısı, sitesinde yazdığına göre Proagent'ın kodlayıcısından birebir yardım almış. Bu nedenle trojanlar tamamen aynı yöntemle şifreleri alıyor.
backlogger V2 trojanı ayıklama:
Önce rastgele bir server oluşturalım. Mail adresini falan sallamayın aklınızda olsun. Şimdi trojanı oluşturduktan sonra Upx'le extract edelim.
C:\>upx -d server.exe
Hex Editor'le Server'ı açın ve o yazdığınız mail adresiyle arama yapın. Gelen bölüme biraz göz atın, smtp_user, smtp_server vs şeyler falan var, biraz altta da trojanın kendisini nereye kaydettiği yazıyor. Benim incelediğim trojanda Registry'e girdiği key için winserv ismini kullanmış, ve srv_file=winserv.exe yazıyor bu da Server'ın bilgisayardaki kayıtlı EXE ismi. Biraz daha aşağıda System32 falan yazıyor, demek ki server kendini System32 altında bir yerlere gizliyor. Dosyanın başından System32 diye arama yaptığımız zaman gelen her sonuca tek tek bakınca trojan hakkında bilmemiz gereken işe yarayacak şeyler görebiliyoruz. Mesela gelen sonuçlardan birinde Registry'de kendini nereye kaydettiği ve ne isimle kaydettiği direk olarak yazıyor. \Software\Microsoft\Windows\CurrentVersion\RunOnce altına trojanın bilgisayarda kendini yedeklediği(kolayca silinmemesi için)adres olan c:\windows\system32\com\con\winserv\winserv.exe yazıyor. Oranın biraz altında da:
Xcopy /h /y c:\windows\system32\winserv.exe c:\windows\system32\com\con\winserv\
Yazar(bu bir DOS komudu). Bu da şu, trojan bilgisayarda iki EXE bulunduruyor, bunlardan Registry'de kayıtlı olanı önce çalışıyor. Önce çalışan EXE eğer diğeri yerinde yoksa kendini aynen oraya kopyalıyor, öteki de keylogging görevini yapıyor. Yani iki EXE bulunmasının sebebi kullanıcıların trojanı bilgisayardan rahatlıkla temizleyememesini sağlamak. Xcopy programında girilen /h parametresi gizli ve sistem dosyalarının da kopyalanmasını sağlar, /y parametresiyle de kopyalama yapılırken başka bir dosyanın üzerine yazılmasında onay istenmesi engellenir.
Bu arada kullanılan DLL dosyalarına vs. bakıldığında trojanın Delphi'de yazıldığı belli oluyor.
EXE'nin en altına baktığımız zaman gonderen, attachmentencoding, yollayici vs. yazar. Bunlar da gönderilen mailler hakkında girilen bilgiler.
Trojanı çalıştırınca hem system32\com\con adresine kaydettiği hem de direk System32'ye kaydettiği EXE dosyasının büyüklüğü 202 KB. windrivers.log system32\com\con altında windrivers.log diye bir dosya oluşuyor, bu da kaydedilen tuşlar. Hatta trojandaki bir hata, sürekli bir mesaj penceresi çıkıyor ve system32\com\con\windrivers.log dosyası başka bir program tarafından kullanıldığından dosyaya erişilemiyor hatası veriliyor. Bu da trojanı ele veriyor.
Trojan'ın Server'ı kendisini RAM'de çalıştırdığı için Task Manager'da gözükmüyor, Task Manager'de gözüken tek şey(o da bazen çıkıyor) cmd.exe yani server DOS kullanarak bazı işlemler yapıyor. Bunu zaten xcopy dende biliyorduk. Ve ben trojanı incelemeyi bitirip bilgisayarımda silmeye çalıştığımda çok zorlandım, sebebini biraz geç de olsa fark ettim. Sebebi, Windows'ta con isimli herhangi bir klasör veya dosyanın okunup yazılamıyor olması. Ama trojan system32\com\ altına con diye bir dizin açıyor. Nasıl açtığını ben de anlamadım ama açıyor siz de adı con olan herhangi bir dosya oluşturmaya çalışın olmayacak. Her neyse, con diye açtığı bu dizini silmeye çalıştığımızda Windows'ta böyle bir adres bulamadı hatası çıkıyor doğal olarak. Con altındaki windrivers.log dosyasını sildiğiniz zaman da hemen yerine geliyor. Hem System32'deki hem de com\con\winserv\deki winserv.exe'leri silebiliyoruz çünkü o anda o EXE'ler çalışmıyor, RAM'de çalışıyor. Ben şöyle yaptım, bilgisayarı güvenli modda çalıştırdım ve winserv.exe'ler doğal olarak açılmadı. Registry'den(HKCU\Software\Microsoft\Windows\Curre ntVersion\RunOnce) tüm trojanla ilgili bilgileri sildim, sonra tüm winserv.exe'leri sildim. windrivers.log dosyası kendi başına bir etki yapamaz ama onu da silelim bilgisayarda iz kalmasın trojandan. Hepsini sildikten sonra trojanın işi bitti, bilgisayarı normal modda açabiliriz.
Backlogger trojanı beni şu ana kadar en çok zorlayan trojan oldu programcısı çoğu şey için biraz fazla kasmış. Bu da trojan çalışır durumdayken sürekli hata çıkmasına neden oluyor.
Turkojan'ı ayıklanması
Trojanı yüne hex editorümüzle açalım. Dosyada EXE, ocx, DLL vs. başlangıç kısımlarında genel olarak yazan yazılardan aratalım, mesela mz. Ancak mz yazınca çok fazla yanlış sonuç geliyor, bu yüzden "this program must be only." yazısının bir kısmıyla arama yapalım. Arama yaptıktan sonra ana EXE'den başka 5 tane daha dosya çıkacak, yani toplamda 6 tane. Şimdi çıkan programları tek tek çalıştırmayı deneyelim. Dosyaları çıkış sırasına a.exe, b.exe... f.exe gibi isimlendirdiğimizi düşünerek a.exe'yi çalıştıralım. Ben çalıştırmayı denediğimde "işleyici geçersiz" hatasıyla program çalışmadı. B'yi çalıştırınca diğer trojanlarda da gördüğümüz nirsoft mezsenpass programı çalışıyor. c.exe'den bir şey anlamadım çünkü çalıştırdığımız zaman gözle görülür bir şey çalışmıyor ve dosyanın içini incelediğimde de hiçbir seçilebilecek yazı bulamadım. Restorator'la açtım dosyayı ve sadece ayarlar diye bir yazı gördüm o kadar. d.exe ve e.exe yi çalıştırınca da işleyici geçersiz hatası çıktı. f.exe de görünür bir şekilde çalışan programlardan değil, içine baktığımız zaman ise birkaç EXE ve DLL ismi görüyoruz. Şimdi trojanın ana dosyası olan a.exe'yi çalıştıralım, ayıklanmış haldeyken bu da çalışmıyor.
Trojanın silinme kısmına gelelim. Bilgisayara trojanın kopyalanma exesinin adını dosyayı oluştururken biz girmiştik. Kendini bilgisayara system32\vssms32.exe olarak kopyalıyor. Regedit'ten bu adresi aratırsak trojanın bilgisayara bıraktığı tüm registry izlerini bulabiliriz. Bu registry kayıtlarının arasında Windows XP SP2'yle gelen Firewall'u aşmak için, kullanıcının normalde izin verdiği programların adresinin tutulduğu bölüme kendi adresini de girerek port açarken SP2'nin kullanıcıyı uyarmamasını sağlıyor. Tüm registry izlerini ve vssms32.exe dosyasını sildiğimiz zaman trojan tamamen işlevini yapamaz hale gelir yani neredeyse tamamen kaybolur.
Umarım kimsenin başına gelmez okuduğunuz için teşekkürler.