it-swarm-tr.com

Yürütülebilir, kötü amaçlı kodu PDF, JPEG, MP3 vb. İçine nasıl enjekte edebilirim?

  1. Ben genellikle PDF veya JPEG gibi dosyalara yürütülebilir kod enjekte mümkün olup olmadığını bilmek istedim, ya da uygulamada bir tür güvenlik boşluğu olmalı?

  2. Ve eğer öyleyse, bunu nasıl yaparsınız?

İnsanlara kötü amaçlı kod içeren PDF'ler açarak virüs bulaştığını sık sık duyuyorum, bu yüzden soruyorum.

47
JohnnyFromBF

Uygulamada bazı güvenlik açıkları bulunmalıdır.

Çok basit ve yaygın herhangi bir .txt dosyası gibi düşünün: Onaltılık görüntüleyici veya iyi tasarlanmış bir metin alanı düzenleyicisi ile açarsanız, yalnızca dosya içeriğini görüntülemelidir ve tamam.

Ardından, içeriği göstermek yerine bir şekilde dosyayı işlemeyi düşünün. Örneğin, dosyayı okumak ve değerlerini yorumlamak. Doğru yapılmazsa, bu dosyanın içindeki baytların yürütülmesine neden olabilir.

Örneğin: uygulamanızı tüm dosyayı yükleyecek ve gösterecek şekilde tasarladıysanız, ancak bir şekilde programınızın içinde yalnızca 256 baytlık bir değişken var. Bu, uygulamanızın beklediğinizden daha fazla bayt okumanıza (ve belleğe yazmanıza) neden olabilir. Ve düşünün, uygulamanızın içinde bellekte NNNN konumuna atlamak ve orada olanı yürütmek için herhangi bir komut olacaktır, ancak bu bellek konumu programınızın beklemediği verilerle yazıldığından, orada olmaması gereken ve dosyanızdan yüklenen bazı kodları yürütebilirsiniz ...

Bu arabellek taşması saldırısıydı.

Uygulama verileri doğru şekilde yüklemediyse aynı şey pdf, jpg, mp3, vb.

Başka bir olasılık: başka bir nedenden dolayı, uygulama (veya bazı DLL verilerinizi okumak için yükler) verilerin okumak yerine bir kısmını yürütür. (veya veri) bu davranışı tetikleyecekse, bu komutları uygulamanın yürütmesi için veri dosyasının (pdf dosyası gibi) içine koyarsınız.

PDF virüsü : bu siteyi okuyun: http://lwn.net/2001/0809/a/Adobe-pdf-vul.php PDF dosyaları kullanarak yayılan bir virüs hakkında biraz bilgi edinmek.

32
woliveirajr

Bir kod parçasının yürütülmesinin iki yolu vardır: kasıtlı ve kasıtsız.

Kasıtlı yürütme, bir dosyanın bir uygulama tarafından okunması ve uygulamanın dosyanın söylediklerine göre bir şey yapmasıdır. Dosyayı okumaya dosyayı ayrıştırma denir.

İstemsiz yürütme, ayrıştırıcının yapmaması gereken bir şeyi okuduğu ve kırmak yerine yürütmeye devam etmesidir. Bu istem dışı yürütme bir güvenlik açığıdır, çünkü ayrıştırıcının bir şeyi yürütmesini sağlayabilirsem, muhtemelen kötü niyetli bir şeyi yürütmesini sağlayabilirim.

Sorularınızı cevaplamak için:

  1. Genellikle mümkün mü? Her şey dosya biçimine ve onu okuyan uygulamaya bağlıdır. Bazı dosyalar yürütülebilir öğelere izin verecek şekilde tasarlanmıştır, bazıları değildir. Bazı uygulamalar kodun yürütülmesine izin verirken, diğerleri izin vermez. Uygulama desteklemiyorsa, yürütülecek bir güvenlik açığı olmalıdır.

  2. Her şey dosya biçimine bağlıdır, ancak dosya ayrıştırıcı mantığında bir kusur bularak genellikle.

16
Steve

PDF, Word belgeleri vb. İle ilgili temel sorun, mevcut standartların makrolara ve çalıştırılabilir koda izin vermesidir. (Bence bu ölümcül bir kusur, ama sonra e-postaların sadece metin olmasını seviyorum ...)

Kod çalıştırmak için bir yol sağladığı için genellikle saldırı hedefi olan makro yürütme aşamasıdır. Saldırganın sadece arabellek taşması veya başka bir saldırı mekanizması olabilecek kontrolleri nasıl aşacağını bulması gerekir.

8
Rory Alsop

Cevaba katılmıyorum "Uygulamada bir miktar güvenlik açığı olmalı"

Genellikle yanlıştır. Çoğu ihlal, dosyalara erişmekten (yalnızca onları sağlamak/sahip olmakla kalmaz) ve insanları gerçekte olduklarından farklı bir şeye eriştiklerine inandırmaktan kaynaklanır, örneğin, yürütülebilir kod veya daha büyük bir resim ise yürütülebilir kod veya bir bağlantı (bilinen ve güvenilir) ) kötü amaçlı amaçlarla vb. başka bir siteye bağlantı verirken site açıklaması.

Okumanızı tavsiye ederim: