Antikor Temel

Son sürüm: 2009.07

Antikor Sayaç

Kasım 2008'den beri 127.714 adet bilgisayar Antikor Temel tarafından ücretsiz olarak bağışıklanmıştır!

Ana Menü

Üye Girişi

Kullanıcı Adı

Parola



Henüz Üye Değil Misiniz?
Buraya Tıklayarak Üye Olabilirsiniz.

Parolanızı Mı Unuttunuz?
Buraya Tıklayın

Anket

Yazılım ve bilgi güvenliğiyle ilgili farklı çözümler ister misiniz?









Oy vermek için üye olmanız gerekmektedir.

Çevrimiçi Kullanıcılar

· Çevrimiçi Ziyaretçiler: 1

· Çevrimiçi Üyeler: 0

· Toplam Üye Sayısı: 102
· En Yeni Üye: nightflame13

İstatistik

Başlığı Görüntüle

 Başlığı Yazdır
Zemana Çalışmasına Cevaptır.
AntikorUGS
#1 Mesajı Yazdır
Mesaj Tarihi 02-03-2010 10:54
Süper Yönetici

Mesaj Sayısı: 8
Katılım Tarihi: 12.06.09

Zemana Firmasındaki arkadaşımıza incelemelerinde dolayı çok teşekkür ediyoruz.

Hemen açıklamalara başlamak istiyorum.

Arkadaşımızın incelediği sürüm bir buçuk yıl öncesinde kullanıcılarımıza dağıttığımız ücretsiz beta uygulamamızdır. Arkadaşımızın dediği gibi o dönemlerde yani bir buçuk yıl önce o proje Ar-Ge projesiydi. Tamamlanmış olsa idi bu kampanyayı o dönemlerde yapardık zaten.

Parite gibi virüsler kalmadı ifadesi bizi şaşırtmıştır. Birkaç hafta öncesine kadar Microsoft bile 16 yıllık bir virüs için yama yayınlamayı göze almış ise bir güvenlik yazılımları üstadımızın bunu demesi bizi bir kat daha şaşırtmıştır. Konu virüslerden açılmışken belirtmekte fayda görüyorum; trojan,spyware yada başka bir zararlıyı bilen biri yada görev yöneticisine bakan biri hemen fark edebilir. Ancak virüslerin tespiti o kadar kolay değildir. Güvenlik yazılımları o yüzden her bulduklarına virüs diyerek kavram kargaşası çıkarmaktadır. Bugün bizim kendi arşivimizde hiçbir antivirüsün yakalayamadığı virüsler var. Ve ülkemizin hatta dünyanın durumu gerçekten vahimdir. Bu virüslerin güvenlik yazılımları tarafından neden tespit edilmediği/edilemediğide ayrı bir tartışma konusudur. Bu konuyu çok yakında herkes ile paylaşacağız. Hemen konuya dönüyorum, eski sürümümüzün incelemesini yapan arkadaşımızın bahsettiği uygulama ve bizim inceleme sonuçlarımızı sizlere aktarıyorum.

http://blog.zeman...part1.html

Antikor UGS 1.0.0.2 Temel Sürümünün koruduğu bir uygulamayı virüs ile bozduğu idda edilen uygulamaları yukarıdaki linkten indirebilirsiniz.

Şimdi o uygulamaların işlevi ve incelemesini sizlerle paylaşalım.


.virus:00782000 ; Section 6. (virtual address 00382000)
.virus:00782000 ; Virtual size : 00005000 ( 20480.)
.virus:00782000 ; Section size in file : 00004600 ( 17920.)
.virus:00782000 ; Offset to raw data for section: 00361200
.virus:00782000 ; Flags E00000E0: Text Data Bss Executable Readable Writable
.virus:00782000 ; Alignment : default
.virus:00782000 ;
.virus:00782000
.virus:00782000 ; Segment type: Pure code
.virus:00782000 ; Segment permissions: Read/Write/Execute
.virus:00782000 _virus segment para public 'CODE' use32
.virus:00782000 assume cs:_virus
.virus:00782000 ;org 782000h
.virus:00782000 assume es:FLAT, ss:FLAT, ds:FLAT, fs:nothing, gs:nothing
.virus:00782000 dd 3 dup(0)
.virus:0078200C dd 382024h, 382014h
.virus:0078200C _virus ends
.virus:0078200C
.idata:00782014 ;
.idata:00782014 ; Imports from Kernel32.dll
.idata:00782014 ;
.idata:00782014 ;
.idata:00782014
.idata:00782014 ; Segment type: Externs
.idata:00782014 ; _idata
.idata:00782014 ; HMODULE __stdcall LoadLibraryA(LPCSTR lpLibFileName)
.idata:00782014 extrn LoadLibraryA:dword ; DATA XREF: start+8Fo
.idata:00782018 ; FARPROC __stdcall GetProcAddress(HMODULE hModule,LPCSTR lpProcName)
.idata:00782018 extrn GetProcAddress:dword ; DATA XREF: start+A5o
.idata:0078201C
.idata:0078201C
.virus:00782020 ;
.virus:00782020
.virus:00782020 ; Segment type: Pure code
.virus:00782020 ; Segment permissions: Read/Write/Execute
.virus:00782020 _virus segment para public 'CODE' use32
.virus:00782020 assume cs:_virus
.virus:00782020 ;org 782020h
.virus:00782020 assume es:FLAT, ss:FLAT, ds:FLAT, fs:nothing, gs:nothing
.virus:00782020 dd 0
.virus:00782024 dd 6E72654Bh, 32336C65h, 6C6C642Eh, 4C000000h, 4C64616Fh
.virus:00782024 dd 61726269h, 417972h, 65470000h, 6F725074h, 64644163h
.virus:00782024 dd 73736572h, 0
.virus:00782054 db 3 dup(0)
.virus:00782057
.virus:00782057 ; --------------- S U B R O U T I N E .virus:00782057
.virus:00782057 ; Attributes: bp-based frame
.virus:00782057
.virus:00782057 public start
.virus:00782057 start proc near
.virus:00782057
.virus:00782057 base_ptr = dword ptr -0C8h
.virus:00782057 image_base = dword ptr -0C4h
.virus:00782057 __OEP = dword ptr -0C0h
.virus:00782057 start_funcX0Cpy = dword ptr -0BCh
.virus:00782057 __stringA = dword ptr -0B8h
.virus:00782057 __stringB = dword ptr -0B4h
.virus:00782057 __lpfnImp = dword ptr -0AEh
.virus:00782057 __hInst = dword ptr -0AAh
.virus:00782057 __lpfn = dword ptr -0A4h
.virus:00782057 start_funcX0000 = dword ptr -63h
.virus:00782057 LoadLibraryA_Ofs= dword ptr -5Fh
.virus:00782057 lpfnDll.Proc = dword ptr -5Bh
.virus:00782057
.virus:00782057 call $+5
.virus:0078205C pop eax
.virus:0078205D sub eax, offset loc_4020FD
.virus:00782062 mov ebp, esp
.virus:00782064 sub esp, 0C8h
.virus:0078206A mov [ebp+base_ptr], eax
.virus:00782070 mov eax, 400000h
.virus:00782075 mov [ebp+image_base], eax
.virus:0078207B mov eax, 4EB02h
.virus:00782080 mov [ebp+__OEP], eax
.virus:00782086 mov esi, [ebp+base_ptr]
.virus:0078208C add esi, (offset loc_402262+1)
.virus:00782092 add esi, 4
.virus:00782095 mov [ebp+start_funcX0000], esi
.virus:00782098 mov [ebp+start_funcX0Cpy], esi
.virus:0078209E mov ecx, [esi]
.virus:007820A0
.virus:007820A0 loc_7820A0: ; CODE XREF: start+C5j
.virus:007820A0 add esi, 4
.virus:007820A3 mov edx, [esi]
.virus:007820A5 add edx, [ebp+start_funcX0Cpy]
.virus:007820AB pusha
.virus:007820AC push edx
.virus:007820AD call __decoder
.virus:007820B2 mov [ebp+__stringA], edx
.virus:007820B8 pop edx
.virus:007820B9 popa
.virus:007820BA add esi, 4
.virus:007820BD mov edx, [esi]
.virus:007820BF add edx, [ebp+start_funcX0Cpy]
.virus:007820C5 pusha
.virus:007820C6 push edx
.virus:007820C7 call __decoder
.virus:007820CC mov [ebp+__stringB], edx
.virus:007820D2 pop edx
.virus:007820D3 popa
.virus:007820D4 add esi, 4
.virus:007820D7 mov edx, [esi]
.virus:007820D9 add edx, [ebp+image_base]
.virus:007820DF mov [ebp+__lpfnImp], edx
.virus:007820E5 push ecx
.virus:007820E6 mov edx, offset LoadLibraryA
.virus:007820EB mov [ebp+LoadLibraryA_Ofs], edx
.virus:007820EE push [ebp+__stringA]
.virus:007820F4 call dword ptr [edx]
.virus:007820F6 mov [ebp+__hInst], eax
.virus:007820FC mov edx, offset GetProcAddress
.virus:00782101 mov [ebp+lpfnDll.Proc], edx
.virus:00782104 push [ebp+__stringB]
.virus:0078210A push eax
.virus:0078210B call dword ptr [edx]
.virus:0078210D mov [ebp+__lpfn], eax
.virus:00782113 mov edx, [ebp+__lpfnImp]
.virus:00782119 mov [edx], eax
.virus:0078211B pop ecx
.virus:0078211C loop loc_7820A0
.virus:0078211E mov esi, [ebp+base_ptr]
.virus:00782124 add esi, (offset loc_402262+1)
.virus:0078212A add esi, 4
.virus:0078212D mov [ebp+start_funcX0Cpy], esi
.virus:00782133 mov ecx, [esi]
.virus:00782135
.virus:00782135 __decode_datum: ; CODE XREF: start+109j
.virus:00782135 add esi, 4
.virus:00782138 mov edx, [esi]
.virus:0078213A add edx, [ebp+start_funcX0Cpy]
.virus:00782140 pusha
.virus:00782141 push edx
.virus:00782142 call __decoder
.virus:00782147 pop edx
.virus:00782148 popa
.virus:00782149 add esi, 4
.virus:0078214C mov edx, [esi]
.virus:0078214E add edx, [ebp+start_funcX0Cpy]
.virus:00782154 pusha
.virus:00782155 push edx
.virus:00782156 call __decoder
.virus:0078215B pop edx
.virus:0078215C popa
.virus:0078215D add esi, 4
.virus:00782160 loop __decode_datum
.virus:00782162 mov esi, [ebp+start_funcX0000]
.virus:00782165 add esi, 4225h
.virus:0078216B push esi
.virus:0078216C mov edx, [ebp+LoadLibraryA_Ofs]
.virus:0078216F call dword ptr [edx]
.virus:00782171 mov esi, [ebp+start_funcX0000]
.virus:00782174 add esi, 4230h
.virus:0078217A push esi
.virus:0078217B push eax
.virus:0078217C mov edx, [ebp+lpfnDll.Proc]
.virus:0078217F call dword ptr [edx]
.virus:00782181 push 0
.virus:00782183 mov esi, [ebp+start_funcX0000]
.virus:00782186 add esi, 423Ch
.virus:0078218C push esi
.virus:0078218D mov esi, [ebp+start_funcX0000]
.virus:00782190 add esi, 4246h
.virus:00782196 push esi
.virus:00782197 push 0
.virus:00782199 call eax
.virus:0078219B mov eax, [ebp+image_base]
.virus:007821A1 add eax, [ebp+__OEP]
.virus:007821A7 push eax
.virus:007821A8 retn
.virus:007821A8 start endp ; sp = -4
.virus:007821A8
.virus:007821A9
.virus:007821A9 ; --------------- S U B R O U T I N E
.virus:007821A9
.virus:007821A9
.virus:007821A9 __decoder proc near ; CODE XREF: start+56p
.virus:007821A9 ; start+70p ...
.virus:007821A9
.virus:007821A9 arg_0 = dword ptr 4
.virus:007821A9
.virus:007821A9 mov eax, [esp+arg_0]
.virus:007821AD mov cl, [eax]
.virus:007821AF test cl, cl
.virus:007821B1 jz short locret_7821C1
.virus:007821B3
.virus:007821B3 loc_7821B3: ; CODE XREF: __decoder+15j
.virus:007821B3 xor cl, 0EFh
.virus:007821B6 mov [eax], cl
.virus:007821B8 mov cl, [eax+1]
.virus:007821BB inc eax
.virus:007821BC test cl, cl
.virus:007821BE jnz short loc_7821B3
.virus:007821C0 inc eax
.virus:007821C1
.virus:007821C1 locret_7821C1: ; CODE XREF: __decoder+8j
.virus:007821C1 retn
.virus:007821C1 __decoder endp
.virus:007821C1
.virus:007821C1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.virus:007821C2 dw 1A7Ah
.virus:007821C4 dd 1B74917h, 14980000h, 14A30000h, 56DC0000h, 14A50007h
.virus:007821C4 dd 14B00000h, 56E00000h, 14B20007h, 14BD0000h, 56E40000h
.virus:007821C4 dd 14BF0007h, 14CA0000h, 56E80000h, 14CC0007h, 14D70000h
.virus:007821C4 dd 56EC0000h, 14D90007h, 14E40000h, 56F00000h, 14E60007h
.
.
.

Unpacker korumayı kaldırmakta oldukça başarılıdır. Program INFECT şıkkı işaretlenerek hedef uygulama seçildiğinde ".virus" isimli bir bölüm eklemekte ve OEP'i bu adrese yönlendirmektedir. Ayrıca, bu alan içerisinde uydurma bir "import" alanı oluşturulmakta bu da "import_directory"'de adreslemektedir. Böylelikle, program başladığında "import" bölümünde kullanılacak işlevlerin, işletim sistemi tarafından yüklenerek kullanıma hazır hale gelmesi amaçlanmıştır.

".virus" bölümü incelendiğinde, özen gösterilmemiş kodlar ile karşılaşıyoruz. Arkadaşımızın profesyonelliğinden kesinlikle şüphemiz yok ancak yoğun çalışma temposundan olacak ki kodlara özen gösterilmemiş. Bu kodlar, ya acemi biri tarafından, ya hazır kodlar dönüştürülerek ya da acele yazılmış ve birçok hata içeriyor. İncelemeye devam ettiğimizde "delta_offset + 402263 + 4" adresinde bulunan veri yapısı dikkatimizi çekiyor. Bu alanın yapısı DWORD uzunlukta sabitlerden oluşuyor. Sabitler alan içerisindeki başka verilerin "offset"lerini temsil ediyor. Bu "offset"lerde ise "import" alanının şifrelenerek düzenlenmiş şekli bulunuyor.

--- delta_offset + 402263 + 0 ---
49171A7A
--- delta_offset + 402263 + 4 ---
000001B7 - içerik sayısı
00001418 - "import" içerik adresi, bu alanın gösterdiği veri Dll,0,Func şeklinde düzenlenmiş...
000014A3 - .
000756DC - .
.
.
.

BA2119'da bulunan kod parçası ise offset'i belli olan bu alanların şifresini çözüyor.

Şifreleri çözülmüş içerik:

00000000 57 53 32 5F 33 32 2E 64 6C 6C 00 90 00 57 53 32 WS2_32.dll...WS2
00000010 5F 33 32 2E 64 6C 6C 00 90 00 57 53 32 5F 33 32 _32.dll...WS2_32
00000020 2E 64 6C 6C 00 90 00 57 53 32 5F 33 32 2E 64 6C .dll...WS2_32.dl
00000030 6C 00 90 00 57 53 32 5F 33 32 2E 64 6C 6C 00 90 l...WS2_32.dll..
00000040 00 57 53 32 5F 33 32 2E 64 6C 6C 00 90 00 57 53 .WS2_32.dll...WS
00000050 32 5F 33 32 2E 64 6C 6C 00 90 00 4D 50 52 2E 64 2_32.dll...MPR.d
00000060 6C 6C 00 57 4E 65 74 47 65 74 43 6F 6E 6E 65 63 ll.WNetGetConnec
00000070 74 69 6F 6E 41 00 43 4F 4D 43 54 4C 33 32 2E 64 tionA.COMCTL32.d
00000080 6C 6C 00 49 6D 61 67 65 4C 69 73 74 5F 52 65 70 ll.ImageList_Rep
00000090 6C 61 63 65 49 63 6F 6E 00 43 4F 4D 43 54 4C 33 laceIcon.COMCTL3
000000A0 32 2E 64 6C 6C 00 49 6D 61 67 65 4C 69 73 74 5F 2.dll.ImageList_
.
.
.

Şifre çözümlemesinin hemen ardından, ilk kısım Dll olduğu için LoadLibraryA ile Dll, sonrasında ise Func olduğundan GetProcAddress işlevi çağrılarak import alan hazırlanıyor. Ancak yukarıda belirttiğimiz sebeplerden olsa gerek olması gerektiği gibi düzenleme işlevleri çalışamıyor ve program kilitleniyor.

www.antikorugs.com/bozuldu.png

Buradan çıkartılacak sonuç şudur; bu kodlar katılım şartlarını yerine getirmek için gerek teknik gerekse kodlama bakımından yetersiz ve kusurludur. Ayrıca bu uygulama bir "virüs" olmayıp, uygulamayı tahrip etmekten öteye geçememektedir. Uygulamayı bu şekilde tahrip etmenin basit bir hex editör ile yapılabileceğini düşünürsek, harcanan vakte yazık olmuştur. Arkadaşımızın incelediği Antikor UGS 1.0.0.2 sürümü arkadaşımızın dediği gibi bir buçuk yıl öncesinin Ar-Ge çalışması idi.

Arkadaşımızın geliştirmiş olduğu uygulamanın mantığını şu basit örnek ile pekiştirebiliriz. Mesela Zemana uygulamasına arkadaşımızın yazdığı gibi bir uygulama yapılıp Zemana'nın işlevi bozulsa bu zararlı olması içinmi yapılmıştır yoksa doğrudan Zemana'mı hedef alınmıştır? Oysa ki; bozma işlemini gerçekleştiren uygulama virüs özelliği taşır ve Zemana bunu farkedemezse sisteminde açık var demektir. Sanırım bu örneklemeden sonra ne demek istediğimiz ve bu kampanyayı neden başlattığımız daha iyi anlaşılacaktır.

Ne yazık ki değerli arkadaşımıza kampanyaya katılım şartlarını yerine getirmediğinden ödülümüzü veremeyeceğiz ancak tüm Zemana ailesini İskenderun'da Arf Teknoloji ailesi ile birlikte misafirimiz olmaya ve hep beraber balık yemeğe davet ediyoruz.

Değinmek istediğim birkaç konu daha var. Sizinde gördüğünüz gibi bu işin erbapları, değerli arkadaşlarımız vakitlerini ayırarak programımızı incelemekte ve değerli fikirlerini gerektiği gibi olmasada bloglarında paylaşmaktalar. Kendilerine teşekkür ediyoruz.

Bazı forum ve paylaşım sitelerinde gördüğümüz birtakım yazılar dikkatimizi çekiyor. Bu tarz bir çalışmanın ülkemizde yapılması bazı kişileri kızdımış olacak ki bizi küçük düşürme, aşağılama psikolojisi ile hareket etmekteler. Bu insanlara şunu söylemek istiyoruz her kime hizmet ederseniz edin çalışmalarımızı lekeleyemezsiniz. Bu verdiğimiz ödül sembolik bir rakamdır. Belki fazla olmayabilir ancak neden bizi küçük düşürmek isteye insanlar diğer güvenlik yazılımlarına böyle bir kampanyayı neden sizlerde yapmıyorsunuz diye sormuyorlar? Bu insanlara tavsiyemiz ya bizim idda ettiğimiz şekilde koruduğumuz uygulamaları bozmaları yada bizim geliştirdiğimiz teknolojilerden daha iyilerini yapmaları yönündedir. Hepimizin bildiği gibi boş tenekeden çok ses çıkar.

Bu tarz çalışmaları yapmak için uğraşan birçok üniversite var. Bu çalışmalar gereksiz olsa onlar neden uğraşsınlar. Hiç kimsenin gücü bizi korktmaya yada engellemeye yetmez. Korkmak bize göre değil, yapımızda yok. Zaten muhaç olduğumuz kudret damarlarımızdaki asil kanda mevcut değilmidir.

Çalışmalarımıza geri dönersek sanırım bizim çalışmalarımız tam ve net anlaşılamadı. Biz programlara ölümsüzlük katan teknolojileri geliştirdik. Yukarıda inceleme yapan arkadaşımızın eski programımız incelediği debuggerde bakın yeni teknolojimiz nasıl tepki veriyor. Üstelik herhagi bir güvenlik yazılımına bile ihtiyaç duymadan.

http://www.cozump...tijen.html

Şu anda dünyada benzeri olmayan iki uygulamamız var. Sanırım bu da bazı kişilere yeterli gelmedi. O zaman onlara üzülecekleri bir haber daha verelim. En geç birkaç hafta içerisinde yeni geliştirdiğimiz bir yazılım ile bilgisayarınızdaki zararlıları aynı akvaryumda balık seyreder gibi görebileceğiniz bir yazılımla tanışacaksınız.

Bizi aşağılamak isteyen arkadaşlarımıza şunu söylemek istiyoruz; bizi teknolojimizle eleştirin, yukarıda da değindiğim gibi boş tenekeden çok ses çıkar.

Saygılarımızla.
Düzenleyen AntikorUGS Düzenleme Tarihi: 03-03-2010 19:44
 
Atlanilacak Forum:
Sayfa oluşturulma süresi: 0.19 saniye
41,279 Tekil Ziyaretçi