Picproje Elektronik Sitesi

BİLGİSAYAR => Donanım ve Yazılım => Konuyu başlatan: z - 03 Haziran 2015, 14:31:12

Başlık: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: z - 03 Haziran 2015, 14:31:12
Bulaşmaması için neden yok görünüyor.

Ne dersiniz?
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: musti463 - 03 Haziran 2015, 14:33:45
hemde nasıl :) daha dün virüs programım silmişti bi tanesini
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: z - 03 Haziran 2015, 14:41:41
Evet şimdi virüslü laptopta çalıştırdığım programın ardından taratma yaptım dll'e girmiş bir tane.
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: MC_Skywalker - 03 Haziran 2015, 14:57:39
virüsler exe, com, dll, ocx, pif, scr uzantılı dosyaları çok severeler.
bat ve vbs uzantılı dosyalar zarlı amaçla kullanılabilir
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: fatih6761 - 03 Haziran 2015, 16:29:00
Tahminim bir process tarafından çağırılabildiği sürece her yerde olabilirler.
Bir jpeg içine gömüp virüs exesinden jpeg içindeki veriyi RAMe atıp oradan yürütebilir.
exe virüs olarak algılanmaz çünkü yaptığı şey dosya okumak, ram okumak yazmak ve ramden fonksiyon çağırıp çalıştırmak.
Ama asıl işi yapacak olan kod her yerde olabilir.
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: z - 03 Haziran 2015, 17:05:05
O zaman virüs progamları işletim siteminden yetkiyi nasıl alıyorlar.

Mesela ramda kod yazdığın bir alana program counteri nasıl yönlendiriyorsun.
Ya da program alanında işe yaramayan bir fonksiyonun kapladığı ramı silip oraya nasıl yeni kod yerleştiriyorsun?

Denediğimi hatırlamıyorum ama bu tip işlemler koruma altında diye hatırlıyorum. Şu meşhur hoop iznin olmayan bir alana erişiyorsun tarzı hata mesajları almıyormuyuz?

Delphide bir deneme yapıp sonucu yazarım.
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: fatih6761 - 03 Haziran 2015, 17:19:39
Yetki habersiz kullanıcıdan geliyor hocam.
"Bedava_Mp3_Indir_Dinle.exe yönetici hakları talep ediyor."
Ya da "XXX 3 sürücünüzün güncel olmadığını tespit etti. Hepsinin güncellemek ister misiniz?"
Bu gibi birçok habersiz yetkilendirme sayesinde birçok işler yürütülüyor.

Yürütme için process kendine ayrılan addres uzayından seçtiği bir konuma kodları kopyalıyor ve oraya bir func pointer atayıp çağırabiliyor.
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: z - 03 Haziran 2015, 17:25:01
Bir örnek varmı?

Mesela

Kod yazarken topla adında bir fonksiyon yazayım. Boyunun 100 byte olduğunu varsayalım.
Bos adında bir fonksiyon daha yazayım bunun da boyu 256 byte olsun.

Daha sonra program çalıştığında  Topla fonksiyonunun kodlarını Bos fonksiyonun kodları üzerine yazayım. (Bos fonksiyonunu ezeyim)

Ardından bos fonksiyonunu çağırayım. Böylece bos fonksiyonu toplama yapacaktır.

Buna bir örnek kod bulabilirmiyiz?

Ben yazarsam hata kodu ile karşılaşırım.
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: Icarus - 03 Haziran 2015, 19:37:51
@z: Tabii ki yapabilirsin hatta çok daha karizmatik şeylerde yapabilirsin: Ör: Kernel'de shared bir space alıp içinde IO'u kontrol eden minik bir fonksiyoncuk eklersin; Tüm process'ler seni kullanmak zorunda kalır.
Hatta CRC'lere karşı olarakta; programların kendi memory space'lerini okuduklarında orjinal hallerini görmelerini sağlayabilirsin.

Bunlar DOS zamanında çok yapılıyordu. Sonra virus olayı bitii... şimdi script kiddy'lerin yazdığı aptal malware'ler "moda"
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: MC_Skywalker - 03 Haziran 2015, 19:51:37
bir aralar sahte services.exe olayı yaygındı.  orjinal olanın ile çakma olanı registir vb de yer değiştir. yorlar windows  hu çakma servile başladığı için hiç bir program temiz kalmamıyordu.
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: z - 03 Haziran 2015, 20:01:56
Ben sadece yukarıda yazdığım örneği nasıl yaparım bilsem kafii.

Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: fatih6761 - 03 Haziran 2015, 21:59:39
Alıntı yapılan: z - 03 Haziran 2015, 20:01:56
Ben sadece yukarıda yazdığım örneği nasıl yaparım bilsem kafii.
http://stackoverflow.com/questions/2019923/executing-machine-code-in-memory (http://stackoverflow.com/questions/2019923/executing-machine-code-in-memory)
sonlara doğru bir yerlerde hocam.
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: engerex - 03 Haziran 2015, 22:52:01
 Bu arada çalışan EXE/DLL gibi dosyalara erişebiliyorsun. Sadece uygun şekilde açmaya çalışman gerekli.
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: z - 03 Haziran 2015, 23:03:15
Nasıl yapıyoruz? Çalışan program diskten kendisini okuyabilir mi mesela?
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: Icarus - 03 Haziran 2015, 23:37:08
http://nitroflare.com/view/59E08B2CBB186C7/Test.zip (http://nitroflare.com/view/59E08B2CBB186C7/Test.zip)

Kod tam olarak dediğini yapıyor. 2 kex MyFunction1'i çağırıyor. Fakat 2.sinde MyFunction2, 1'in üzerine yazıldığı için 2 çalışmış oluyor.
ANCAK ! 2'nin yazım tekniği olarak 1'den farklı olduğuna dikkat edin.
Başlık: Ynt: Virüsler Dll dosyalarına bulaşırmı?
Gönderen: fatih6761 - 03 Haziran 2015, 23:45:24
Hocam RAM den çalıştırma örneği:
/*
============================================================================
Name        : ExecutionDynamic.c
Author      : Fatih YAZICI
Version     :
Copyright   :
Description : Hello World in C, Ansi-style
============================================================================
*/

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

unsigned char * myCode asm("myCode");
unsigned int result asm("myResult");

int main(void) {
int dummy;
myCode = malloc(100);
memset(myCode, 0xc3, 100);

myCode[0] = 0x83; // add
myCode[1] = 0xC0; // eax,
myCode[2] = 0x21; // 33
myCode[3] = 0xC3; // ret

VirtualProtect(myCode, 100, PAGE_EXECUTE | PAGE_READWRITE, &dummy);


__asm__("mov $23, %eax");
__asm__("leal myCode, %ebx");
__asm__("call (%ebx)");
__asm__("mov %eax, myResult");

printf("sonuc (23 + 33) =  %d", result);

return EXIT_SUCCESS;
}

Executable:
https://drive.google.com/file/d/0ByIscC6i2OS-bndoM2hWdjd5c00/view?usp=sharing (https://drive.google.com/file/d/0ByIscC6i2OS-bndoM2hWdjd5c00/view?usp=sharing)

Not: Programın sonuna bekleme koymamışım. Komut satırından çalıştırın.