Sıkıştırılmış EXE dosyaları Linux sunucuları için zararsız mıdır?


49

Sitemde bir kötü amaçlı yazılım tarayıcısı çalıştırdım ve bir grup sıkıştırılmış EXE dosyasını potansiyel risk dosyaları olarak işaretledim (bu dosyalar kullanıcılar tarafından yüklendi). Mac'imdeki dosyaları açabildiğim için bunların gerçek ZIP dosyaları olduğunu ve sadece yeniden adlandırılmış PHP dosyaları gibi bir şey olmadığını kabul ediyorum.

Yani ZIP dosyası web sunucum için herhangi bir risk olmamalı, değil mi?


1
Çöp malware tarayıcısı gibi geliyor.
Nick,

11
ZIP formatında olup olmadıklarını test edebilir file foo.zip, hatta test etmek için geçerli olup olmadıklarını bile test edebilirsiniz 7z t foo.zip. ( 7zbiraz benzeyen sözdizimi kullanır tar.) Veya unzip -l foo.zipiçeriğini listelemek için. Her neyse, sadece başka bir bilgisayardaki dosyaları kontrol edip, sunucuda kolayca kontrol edebildiğinizden bahsetmenizin garip olduğunu düşündüm.
Peter Cordes

6
Ne tür bir web sitesine ev sahipliği yapıyorsunuz? Kullanıcı tarafından gönderilen içeriği ve öne dönük web sunucunuzu aynı kutuya koymak iyi bir fikir gibi görünmüyor.
oldmud0

@NickT Kendiliğinden açılan ZIP dosyaları, yürütülebilir bölüme eklenmiş kötü amaçlı kod içerebilir.
chrylis

Yanıtlar:


84

Eğer gerçekten Windows exe dosyaları sıkıştırılmışlarsa, onları yürütmeyi deneyebilecek bir yerdeki Wine gibi bir şeyiniz yoksa, Linux sisteminize zararsız olmalıdırlar.

Ancak, web yolunuzdaysa, kötü amaçlı yazılımlar olabilir ve web sitelerinin ziyaretçileri için büyük bir risk oluşturabilir (ve bunun sonucunda, kötü amaçlı yazılım kaynağı olarak işaretlendiğiniz takdirde ve kullanıcılar sizi ziyaret etmeye çalıştıklarında çirkin uyarılar alırlar) site).


3
Böyle bir "kullanıcı" yüklü çöpü barındırmanın Google’ın sitenizi "Bu site saldırıya uğramış olabilir" olarak markalaştırmasına veya Chrome'un dev bir kırmızı uyarı sayfası göstermesini tetiklemesine neden olup olmadığını merak ediyorum. "Zararsız" o zaman bir yanlış isim biraz olabilir.
Nick T,

11
@NickT: Kesinlikle yapabilir ve ikinci paragrafımda atıfta bulunduğum buydu.
Sven

4
Teoride, birileri ayrıca .zipbelirli unzip uygulamalarındaki kusurları hedeflemeye çalışan hatalı biçimlendirilmiş dosyalar yaratabilir .
jamesdlin

3
Mono'nun Wine'a göre bir sunucuya kurulması daha olasıdır ve CLR .exe dosyalarını çalıştırabilir.
Rhymoid

62

Mac'imdeki dosyaları açabildiğim için bunların sadece yeniden adlandırılmış php dosyaları değil, gerçek zip dosyaları olduğunu varsayıyorum.

Muhtemelen bu durumda haklı olsanız da, varsayımınız her zaman geçerli olmayabilir. Bir ZIP arşivi , isteğe bağlı veriler hazırlasanız bile geçerli kalır , bu nedenle aynı anda masum verileri ve aynı zamanda kötü niyetli bir PHP komut dosyası içeren geçerli bir ZIP arşivi olan bir dosya oluşturmak oldukça mümkündür. Özellikle zor bile değil; sadece PHP kodunu ve ZIP dosyasını birleştirin ve PHP'nin __halt_compiler()eklenen ZIP arşiv verilerini ayrıştırmaya çalışmadığından emin olun (örn. kullanarak ).

Bu numara yasal olarak kendiliğinden açılan ZIP dosyaları oluşturmak için kullanılır, ancak herhangi bir gizli veriyi veya çalıştırılabilir kodu aynı şekilde bir ZIP dosyasına hazırlamak da mükemmel bir şekilde mümkündür. Bazı programlar bu tür değiştirilmiş ZIP ​​dosyalarını açmayı reddedebilir (ancak öyleyse, teknik olarak ZIP formatı özelliğini ihlal ediyorlar) veya dosyayı varsayılan olarak bir ZIP dosyası dışında bir şey olarak tanımlayabilirler; Bir ZIP dosyası bekleyen kod içine dosya, muhtemelen bir olarak kabul edilecektir.

Bu tür hilelerin daha yaygın bir kötü amaçlı kullanımı, ZIP tabanlı bir kapsayıcıdaki (örneğin bir JAR dosyası) istismar kodunu zararsız bir şey olarak gizlemektir (GIFAR istismarında olduğu gibi bir GIF görüntüsü gibi ), ancak olmamasının bir nedeni yoktur. diğer yönde de kullanılır, örneğin, yüklenen dosyanın aynı anda olup olmadığını kontrol etmeden, PHP komut dosyalarının yüklenmesini yasaklayan ancak ZIP dosyalarına izin veren, naif bir dosya yükleme filtresini atlamak için kullanılır.


GIFAR için +1, pratikte bu istismarın belirli bir örneğini bilmek ilginç.
caesay

11

Dikkate almanız gereken en az iki önemli husus var:

  1. Bu dosyalar web sitenize dağıtılmışsa, birileri sitenizden kötü amaçlı yazılım edinirse sizin sorumluluğunuzda olabilir. En azından siteniz kötü amaçlı yazılımlar için işaretlenebilir. Kötü amaçlı yazılım tarayıcı uyarılarını dikkate almamaya karar verirseniz, en azından yükleyiciye ve olası indiricilere dosyanın zararlı olabileceğini bildirmelisiniz (İnternetten indirilen EXE'ler bazen).
  2. Kötü amaçlı yazılım taraması dışındaki bu dosyalar üzerinde herhangi bir işlem yapıyor musunuz? Dosyaların herhangi bir şey olabileceği için eklerin otomatik olarak işlenmesi veya bu tür diğer yüklemeler her zaman potansiyel olarak tehlikelidir. Yardımcı program yazılımınız bazı istismarlara karşı savunmasızsa ve görünüşte güzel olan zip / exe uygulamanızı hedefleyen zararlı içerik içeriyorsa, EXE dosyasını bile yürütmenize gerek yoktur. Sunucumun kötü amaçlı yazılım taraması başarısız olan hiçbir şeyi işlemesine izin vermem.

Bu nedenle, sunucunuzun ne yaptığına bağlı olarak, dosya sunucunuz veya diğer kullanıcılarınız için potansiyel olarak zararlı olabilir . İnternetten indirilen EXE'lere karşı oldukça temkinli olduğum için, olası indiricilerin burada risk altındaki en potansiyel kullanıcılar olduğunu söyleyebilirim.


2

Dosyaların Linux sunucunuzda çalıştırılabilir olup olmadığını kontrol ederek basitçe bunları file FILENAME.exekomutla kontrol edebilirsiniz . Elf ikili dosyaları (Linux'ta kullanılan yürütülebilir biçim), .exeşüphesiz Linux yöneticisini şaşırtmak için ek olarak adlandırılabilir; bu nedenle, bu dosyaların çalıştırılabilir olmadıklarına kesinlikle güvenmeden önce bu denetimi yapmak iyi bir fikir olabilir.


2

Hiç kimsenin herhangi bir (adamcağız) programa zarar verebilecek herhangi bir verinin olabileceğinden ya da olabileceğinden bahsetmediğine şaşırdım. Fuzzying'in temeli bu. Örneğin, JPEG kod çözücülerinde arabellek taşmasına neden olan bir JPEG (veya JPEG benzeri) dosyanız olabilir ve bu da hizmet reddetmesinden rasgele kod yürütülmesine kadar herhangi bir şeye neden olabilir. Bu, mevcut bir veri işleme programını altüst etmekle ilgilidir; yeni bir çalıştırılabilir dosya getirmenize gerek yok! Kumlama, girdi temizliği ve en az ayrıcalık ilkelerine ihtiyaç duyulmasının nedeni de budur.

Böylece, sizin durumunuzda (belirli?) ZIP kod çözme motorlarında sorunlara neden olan bir ZIP dosyanız olabilir. ZIP dosyasının zararlı olması için yerel bir çalıştırılabilir dosya içermesine gerek yoktur.

Bunu söyledikten sonra, tarayıcın daha kaba bir seviyede çalışıyor. Bahsettiğim risk türü bu dosyalarda mevcutsa, onları işlediğiniz anda çoktan vuruldunuz :).


1

Mac'imdeki dosyaları açabildiğim için bunların gerçek ZIP dosyaları olduğunu ve sadece yeniden adlandırılmış PHP dosyaları gibi bir şey olmadığını kabul ediyorum.

Veri ekleyen ve hala dosyaları geçerli olarak sunan saldırılar olmuştur. Yanlış yapılandırılmış bir sunucuda veya yanlış kodlanmış bir uygulamada, bunlar sunucunuzda kodun yürütülmesine neden olabilir.

Yani, buna da dikkat edin.


0

İdeal olarak uygulamanız gereken ek bir kontrol , kullanıcılar tarafından yüklenen dosyaların gerçekten izin verilip verilmediğini kontrol etmek için php finfo yöntemidir ve kullanıcıların sadece sistemi kandırmak için dosyaları yeniden adlandırdıkları bir şey değildir.


-6

Unzipped .exe, Linux sunucuları için de zararsızdır.


23
Mutlaka öyle değil - .exedosya adının bir kısmından başka bir şey değil ve bu da bir ELF ikili adı olarak seçilebilir.
Sven

Ayrıca, WINE yüklü olabilir. Verildiğine göre, çoğu Windows hedefli kötü amaçlı yazılım muhtemelen WINE altında çalışmayabilir, ancak risk mevcuttur. En iyi ihtimalle, Linux'taki sıkıştırılmamış .ex'ler çoğunlukla zararsızdır.
Ray

@Ray Yapılandırmaya bağlı. Eğer bir nedenden dolayı Mono veya Wine kuruluysa, binfmt_misc , .exe'nin gerçekten çalıştırılabilir olması için konfigüre edilebilir.
Rhymoid
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.