Trojan Virüsü

Simge Karahan
3 min readDec 11, 2020

Adını meşhur Truva savaşından alan bu virüsün amacı, kendini zararsız gibi göstererek sistemin içine girmektir. Yani aslında savaşta kullanılan Truva atıyla aynı stratejiyi uygular, her şey bizim onu zararsız bir uygulama olarak görüp sistemimize almamızla başlar. Trojan virüsleri verilerimizin çalınmasına, silinmesine, bilgisayarımızın uzaktan yönetilmesine ya da daha doğrusu saldırgan kişinin yapmak istediği şeyleri yapabilmesine neden olur. Bu uygulamada, basit bir soket uygulamasıyla Trojan virüslerinin nasıl çalıştığını, mantığının ne olduğunu açıklamaya çalıştım, iyi okumalar :)

Photo by David Everett Strickler on Unsplash

Sistemimize indirdiğimiz bu zararsız(!) uygulamayı çalıştırdığımızda tuzağa düşmüş oluruz. Hacker, artık bilgisayarımıza ulaşabilir. Şimdi Python’da soket uygulamasıyla nasıl basit bir trojan yapabiliriz, buna bakalım.

Uygulamada soket kullanacağım için eğer bakmak isterseniz şuradan soketler hakkında bilgiler içeren yazıma da ulaşabilirsiniz.

Öncelikle saldırgan bilgisayarımız için “server.py” adlı bir Python projesi açalım.

Server için soket ayarları yapılırken host alanına kendi ip adresimizi yani saldırının yönetildiği bilgisayarın ip adresini yazıyoruz. Port alanına ise veri alışverişinin gerçekleşeceği port numarasını yazıyoruz.

Hedef sisteme göndereceğimiz dosya için ise “client.py” adlı bir Python projesi açalım. Host alanında yine saldırının yapıldığı ip adresi yani kendi ip adresimiz var ve port kısmı “server.py “dosyasında ayarladığımız port ile aynı olmalı.

Host alanında yine saldırının yapıldığı ip adresi yani kendi ip adresimiz var ve port kısmı “server.py” dosyasında ayarladığımız port ile aynı olmalı.

Hedef sistem için oluşturduğumuz “client.py” adlı dosyanın hedef sistem tarafından indirilip çalıştırılması gerekmektedir ki bağlantıyı sağlayabilelim. İşte bu aşamada bu “client.py” dosyasını internette zararsız bir uygulama gibi gösterip kullanıcıların bilgisayarlarına indirip açmasını sağlama olayı aynı Truva atı efsanesinde olduğu gibi yaşanıyor. Kullanıcı zararsız bir uygulama indirdiğini düşünürken aslında bizim oluşturduğumuz bağlantı sağlayan soket uygulamasını indiriyor. Hedef sistemde “clint.py” uygulaması açılınca karşılaşılan durumu anlamak için ekrana hello trojan yazdırdım. Gördüğünüz gibi artık hedef sistemdeyiz:

Bağlantı bize geldi. Hedef sistemin ip adresini 192.168.2.122 olarak görmekteyiz:

Şimdi hedef sistemin komut satırından kod çalıştırabilmek için kodlara eklemeler yapalım.

“server.py” dosyasındaki düzenlemede hedef sistemin komut satırına bilgi gönderebilmek için client.send() komutunu kullandım.

Hedef sisteme gönderdiğimiz kodların işletim sisteminde çalışmasını sağlamak için os (operating system) kütüphanesini trojan kodlarına eklemeliyiz. Oluşturduğumuz ilk client dosyasında ekrana yazı yazdırabilmek için print() komutunu kullanmıştık. Burada ise yazdığımız kodların ekranda görünmesi yerine o kodların işletim sisteminde çalışmasını istiyoruz, bu yüzden os.popen() komutunu kullandım.

Şimdi “server.py” dosyamızla hedef sistemin komut satırına ulaşmak için gerekli düzenlemeler yapıldı. “client.py” dosyası yani hedef sistemin bunu zararsız bir uygulama gibi görüp sistemine indirdiği dosya, hedef sistem tarafından açılınca saldırgan bilgisayar ile bağlantı gerçekleşti. Artık hedef bilgisayarın komut satırından istediğimiz işlemleri yapabiliriz. Örneğin hedef bilgisayarda bir leafpad(not defteri uygulaması) açalım. Bunun için saldırgan bilgisayardan yani kendi “server.py” uygulamamızdan leafpad komutunu giriyoruz.

Bu komut, bizim saldırgan bilgisayardan bağlantı sağlanmış şekilde yazdığımız komut:

Ve girdiğimiz komut hedef bilgisayarda çalışarak leafpad uygulamasının açılmasını sağladı:

Bilgisayarımızın cmd ekranında neler yapabiliyorsak hedef bilgisayarda da bunları yaptırabiliriz. Mesela hedef bilgisayarı şu şekilde kapatabiliriz:

Hedef sisteme kapanma kodu gönderdik ve hedef sistemde kapanma zamanı ayarlandı:

--

--