Soru:
Etkili yama farklılaştırması için belirli işletim sistemi sürümleri nasıl yönetilir / geri döndürülür?
ixje
2013-03-21 17:53:55 UTC
view on stackexchange narkive permalink

PoC'lerin yazılmasıyla ilgili karmaşıklıkları öğrenmek (ve bu konuda deneyim kazanmak) amacıyla yama farklılaştırma yapılabilir ve üzerinde pratik yapmak için gerçek dünyada savunmasız örnekler bulunabilir. Şimdilik lütfen kendi savunmasız programlarınızı yapma fikrini göz ardı edin.

Yama farklılığı için bir işletim sisteminin içinde olabileceği 3 durum görüyorum, örnek olarak Windows 7'yi ele alalım:

  1. Düz durum (hizmet paketi yok, yama yok)
  2. Kısmen yama uygulandı (en son yayınlanan yamalara güncellenmedi)
  3. Tam yamalı

Senaryo

  • vmware / vbox sistemim durum 3'te (tamamen yamalanmış).
  • Sonra Microsoft Güvenlik Bültenine gidip bir güvenlik açığı seçiyorum ( örneğin çekirdek).
  • Şimdi yararlı bir duruma dönmek istiyorum ...

Muhtemelen düz durumda (1) çalışacak olsa da, fark sonuçları sorunu tespit etmek daha büyük / daha zor olacaktır. İkinci olarak, en son güvenlik açığına yönelik hata, önceki bir yama / hizmet paketiyle ortaya çıkmış olabilir.

Bu nedenle, işletim sistemi durum 3'ten durum 2'ye, yani durum 2'nin bir sistem olduğu durumda sorunu çözen yeni yamadan hemen öncesine kadar yamalı mı? Veya daha uygunsa, durum 1'den durum 2'ye

güncelleme

Sorumun kafamda sandığım kadar net olmadığını anlıyorum, umarım bu biraz açıklığa kavuşturuyor

vmware / vbox'ın anlık görüntü özelliklerinin farkındayım ama aradığım bu değil. Aslında amaçladığım şey

  1. Değiştirilen ikili dosyaların eski sürümlerini nasıl elde edebilirim?
  2. Hangi sürüme geri döneceğimi nasıl bilebilirim? Dosyalarda bir adlandırma şeması var mı?

Örnek:

  • Sistemim tamamen güncel.
  • Bir Güvenlik bülteninden KB-XXXXX, çıkartın ve bana abc_005.dll adında güncellenmiş bir .dll veriyor
  • Şimdi sistemimi, önceki (savunmasız) sürümünü aldığım bir duruma getirmek istiyorum. dll (örneğin abc_004.dll). <- Bu bölümü nasıl yaparım?
Yamaları zaman içinde bilinmeyen güvenlik açıklarına yayıyorlarsa veya bunları diğer düzeltmelerle birleştiriyorlarsa, onları bu kadar kolay yakalayamazsınız.
üç yanıtlar:
#1
+3
Igor Skochinsky
2013-03-21 19:29:16 UTC
view on stackexchange narkive permalink

VMWare, aynı sanal makinenin farklı durumları arasında geçiş yapmayı son derece basit hale getiren çok kullanışlı bir anlık görüntü işlevi sunar. Süreci VIX ile otomatikleştirebilirsiniz.
Diğer sanal makine çözümlerinde de benzer şeyler olduğunu varsayıyorum.

#2
+3
Peter Andersson
2013-03-21 19:42:59 UTC
view on stackexchange narkive permalink

Sorunuzu anladığımdan% 100 emin değilim ama yanıtlamaya çalışacağım.

Öncelikle, hedeflemek istediğiniz Windows sürümleri için VM'ler hazırlardım. Her gün bir anlık görüntü oluşturabilirsiniz, bu da gelecekteki herhangi bir tarihte o noktaya geri dönebileceğiniz anlamına gelir. Snapshotting çoğu sanal makinenin desteklediği bir şeydir. Daha sonra VM'lerde Windows güncellemesini çalıştırırdım. Bu, zaman içinde Microsoft DLL'lerin büyük bir sürüm kataloğu oluşturacağınız anlamına gelir. İkili dosyaları ve PDB'lerini Microsoft Symbol sunucularından da çekebilirsiniz, ancak bu, bildiğim kadarıyla hashlerini bilmenizi gerektirir.

Artık Microsoft Güvenlik Bültenlerini takip edeceksiniz. İlgilendiğiniz ürünü seçin ve yalnızca en son yamaları seçin. Güvenlik bülteni makalesini inceleyin. Bir güvenlik bülteni ilginç bulunursa, güvenlik bülteninden bağlantısı verilen bilgi tabanı makalesine gitmeniz gerekir. Orada hangi dosyaların yamalı olduğunu inceleyebilirsiniz. Hala ilgilendiğiniz bir şeyse, yamayı güvenlik bülteni sayfasından indirmelisiniz.

Yama dosyasını aldıktan sonra aşağıdaki komutlardan birini kullanarak çıkartmanız gerekir:

.exe

setup.exe / t: C: [dest_dir] / c

.msu

genişlet -F: * [update_filename.msu] C: [tmp_dest_dir]

cd [tmp_dest_dir]

expand -F: * [extracted_update_filename.cab] C: [final_dest_dir]

.msp

msix [update_filename.msp] / out C: [dest_dir]

.msi

msiexec / a [update_filename.msi] / qb TARGETDIR = C: [target_dir]

Çıkarılan klasörde bilgi tabanı makalesinde belirtilen dosyaları bulmalısınız. Uygun anlık görüntü politikasını izliyorsanız, bu sabah oluşturulan anlık görüntüde daha eski bir sürüme sahip olmalısınız. Bu sürümü sanal makineden çıkarın ve farklılıkları keşfetmek için BinDiff 'i kullanın.

Sorumun kafamda olduğunu düşündüğüm kadar net olmadığını fark ettim.
vmware / vbox'ın anlık görüntü özelliklerinin farkındayım ama aradığım bu değil.
Ne Ben Aslında amacım şudur: 1) Değiştirilen ikili dosyaların eski sürümleri nasıl alınır 2) Hangi sürüme geri döndürüleceğini nasıl bilirim.
Günlük anlık görüntülere yaklaşımınız yalnızca zamanda ileriye doğru çalışır, çünkü hatırlayabildiğim kadarıyla yamalanmamış bir Windows kurulumunda Windows güncellemesini çalıştırdığımız anda, ara güncellemeleri değil, tüm en son sürümleri alacaktır. Zaman içinde geriye doğru buna nasıl yaklaşılacağına dair bir fikrin var mı?
Ah, yani ikilileri toplamaya başlamadan önce mi bulmak istiyorsunuz? Microsoft bunların hepsini (sadece mevcut olanı değil) kendi sembol sunucularında barındırdığına inanıyorum. Sorun şu ki, eğer doğru hatırlıyorsam, istediğiniz sürümün MD5 karmasına ihtiyacınız var. Igor, sembol entegrasyonuna sahip olduğuna inandığım IDA üzerinde çalışırken nasıl çalıştığını muhtemelen biliyor.
kesinlikle! Ve sonra güvenilir bir şekilde bunlara geri dönmenin bir yolu (diğer eski dosyalara bağımlılıkları olması durumunda)
#3
+3
mrduclaw
2013-03-23 14:21:57 UTC
view on stackexchange narkive permalink

Bence istediğiniz yere ulaşmak için birkaç yaklaşım var. Tamamen güncellenmiş sisteminizde KB yamasına sahip olduğunuz senaryonuza göre. Önceki sürüme geri dönmek için bu yamayı kaldırın.

Kullanılan Metasploit Unleashed sınıfı (hala var mı?) XP için tüm yamaları kaldıran şu komuta sahiptir:

  C: \ >dir / a / bc: \ windows \ $ ntuninstallkb * > kbs.txt && için / f% i in (kbs.txt) do cd c: \ windows \% i \ spuninst && spuninst.exe / passiveaamp spuninst.exe && ping -n 15 localhost > nul  

Sizi aynı duruma getireceğini düşündüğüm bir diğer yaklaşım, daha iyi olmasa da, işletim sisteminin tamamen yamalanmamış bir sürümünü kurmaktır (örn. Hizmet paketi olmadan MSDN yüklemesi). Buradan temel dosyaları çıkartabilirsiniz. Yamalı sürümler için MSFT, yamalarla birlikte her ay bir ISO sağlar. Yamalı çalıştırılabilir dosyaları buradan çıkarabilirsiniz. Örneğin, bu ayın güvenlik güncellemeleri için ISO burada.

İlk yaklaşım zaman içinde ileriye dönük kullanılabilir, ancak sonuncusu öldürücü cevaptır! Kontrol ettim ve bu ISO'ları en azından 2009'un sonlarına (win7'nin çıkış tarihi) geri getirebilirim ki bu da benim amaçlarım için yeterlidir
Tatlı, yardımcı olmasına sevindim. :)


Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...