Matasano nasıl saldırıya uğradı?


10

from: http://seclists.org/fulldisclosure/2009/Jul/0388.html

En iyi şekilde http://news.ycombinator.com/item?id=723798 adresindeki yayınlardan anlarsam, Matasano adamları sshd internetini erişilebilir bıraktılar - bunun için önerilen çözümler (programlama açısından)?


Kayıtlar doğruysa, açıkta kalan hizmetlerin bir yapılandırma sorunudur ve programlama ile hiçbir ilgisi yoktur.
blowdart

Yanıtlar:


34

Matasano nasıl saldırıya uğradı?

Gönderiyi Tam Bilgilendirmeye kadar cevaplamak imkansızdır. Ancak, biraz bilgi verdikleri için spekülasyon yapmak her zaman ilginçtir -

# ./th3_f1n4l_s0lut10n www.matasano.com
[-] 69.61.87.163:22 numaralı telefona bağlanıyor.
[/] Kök olmayan geçerli bir kullanıcı mı arıyorsunuz?
******** R3D4CT3D h4h4h4h4 ********

th3_f1n41_s01ut10nMatasano'nun ssh portuna bağlanan sunucusuna karşı ikili " " komutlarını çalıştırıyorlar . Bazı bilinmeyen yollarla kök olmayan bir kullanıcı bulur ve çıktının geri kalanı düzeltilir.

# ./th3_f1n4l_s0lut10n -u adam -t 3 www.matasano.com
[*] 209.112.118.10:3338 tarihinde Connectback dinleyicisi.
[!] SSH2_MSG_SERVICE_ACCEPT [OpenSSH_4.5p1, OpenSSL 0.9.8g 19 Eki 2007] 

İkili, 3338 numaralı bağlantı noktasında oturum açan ve sunucularına geri bağlanan bulunan kullanıcı adı kullanılarak yeniden çalıştırılır (umarım adlarında kayıtlı değildir ...).

adam_at_www: ~ $ uname -a
Linux www 2.6.20.1-1-686 # 1 SMP Paz 4 Mar 12:44:55 UTC 2007 i686 GNU / Linux
**** h4h4h4hh4h4h4 l3tz us3 m0r3! 0D4Y! H4H4H4H4H4H4H4 ****

Bu şirketin ticaret stokunu düşündüğünüzde oldukça eski olan bu çekirdeğe karşı 0 günlük bir süreleri olduğunu ima ediyor olabilirler.

adam_at_www: ~ $ cd / tmp
*********** B0R1NG ***********
root_at_www: ~ # kedi / etc / shadow 

Hata! Kullanıcı aniden kök salmış durumda. / Tmp içinde başvurdukları 0 gün olabilecek yerel bir ayrıcalık yükselme istismarına sahiptirler.

Burada en az iki istismar var - OpenSSH, sistemde geçerli bir root olmayan kullanıcı elde etmek ve bu kullanıcı olarak giriş yapmak ve ardından yerel ayrıcalık yükseltme.

OpenSSH'nin 4.5 sürümünden beri bilinen birkaç güvenlik sorunu olduğunu göz önünde bulundurarak:

Gönderen OpenSSH güvenlik sayfasında :

  • 5.2 sürümünden önceki OpenSSH, CPNI-957037 "SSH'ye Karşı Düz ​​Metin Kurtarma Saldırısı" nda açıklanan protokol zayıflığına karşı savunmasızdır. Bununla birlikte, mevcut sınırlı bilgilere dayanarak, bu tarif edilen saldırının çoğu durumda mümkün olmadığı anlaşılmaktadır. Daha fazla bilgi için lütfen cbc.adv danışma belgesine ve OpenSSH 5.2 sürüm notlarına bakın.
  • OpenSSH 4.9 ve daha yenisi ~/.ssh/rc, komutu sshd_config (5) ForceCommand yönergesi ile geçersiz kılınan oturumlar için yürütülmez . Bu, belgelenmiş ancak güvenli olmayan bir davranıştır (OpenSSH 4.9 sürüm notlarında açıklanmıştır).
  • OpenSSH 4.7 ve daha yeni sürümleri, OpenSSH 4.7 sürüm notlarında açıklandığı gibi, güvenilmeyen çerez oluşturma başarısız olduğunda (örn. Kasıtlı kaynak tükenmesi nedeniyle) güvenilir X11 kimlik doğrulama çerezleri oluşturmaya geri dönmez.

Sanırım bu eski Linux çekirdeği ve eski SSH arka plan programı onlar için yapılmıştı. Ayrıca, benim görüşüme göre yapmak için oldukça emin bir şey olan Internet, kullanılabilir www sunucu üzerinde çalışıyordu. İçeri giren insanlar, onları utandırmak istiyordu.

Bu saldırılar nasıl önlenir?

Bu, proaktif yönetim tarafından önlenmiş olabilir - internete dönük hizmetlerin yamanmasını sağlamak ve insanların herhangi bir yerden bağlanmasına izin vermek yerine bağlanabilecek insan sayısını sınırlamak. Bu bölüm, güvenli sistem yönetiminin zor olduğu dersi birleştiriyor ve BT'nin işleri en azından küçük şirketlerde kolayca gerçekleşecek bir şey değil, yamalı olarak tutabilmesi için zaman ayırmak için işten özveri gerektiriyor.

Bir kemer ve parantez yaklaşımı kullanmak en iyisidir - ortak anahtar kimlik doğrulaması, ssh daemon üzerinde beyaz liste, iki faktörlü kimlik doğrulama, IP kısıtlamaları ve / veya VPN'nin arkasındaki her şeyi koymak onu kilitlemek için olası yollardır.

Sanırım yarın işte ne yapacağımı biliyorum. :)


2
OpenSSH üzerinden oturum açabilmek için geçerli bir ortak anahtar gerektir. Aptal değil, ama yardımcı olur. İyi yazı btw.
Andrioid

Good point, added :)
Cawflands

1
OpenSSH sürüm dizesinin, çeşitli linux sürümleri backporting düzeltmeleri nedeniyle vunerabilitlerin yamalı olup olmadığı konusunda güvenilir bir rehberden uzak olduğunu belirtmek gerekir. Ayrıca, buradaki hataların hiçbiri, bir kullanıcının oldukça ciddi başka ihlaller olmadan giriş yapmasına izin vermez.
Cian

3

İnsanlar bunun üzerine FUD oluşturmayı severler, ancak görünüşe göre kullanıcı adam zaten oradaydı ve şifresini de biliyordu (belki kaba kuvvet veya diğer yöntemlerle). Ancak, havalı görünmek ve bu yaygarayı her yerde yaratmak istiyorlar.

Dikkat edilmesi gereken başka bir şey de, kullanıcı adam'ın bu kutuya bir yıldan fazla bir süredir oturum açmamış olmasıdır:

(lastlog çıktısı)

 adam             pts/1    ool-4350ab48.dyn Sat Jul 26 20:45:18 -0400 2008

Bu yüzden muhtemelen bu şifreyi (belki de kötü olanı) bir süre sakladı.

* Kullanıcı adlarını SSH aracılığıyla keşfetmek için gerçekten bir araca sahip olsalardı, uzaktan erişim elde etmek için diğer tüm kullanıcıları kullanabilirlerdi, ancak bu kutudaki en yaygın kullanıcı adını kullandılar (tahmin etmek kolay).


2

Bunu programlama açısından neden çözmeye çalışıyorsunuz?

Bunun yerine akıllı sunucu yöneticisi açısından çözmelisiniz. Yayınladığınız bağlantıların yorumlarında beyaz liste kullanmak gibi birkaç harika öneri var.

Bunu da eklemek isterim, çünkü burada soruyorsunuz, büyük olasılıkla bir güvenlik uzmanı değilsiniz ve yazmayı düşünebileceğiniz her şey sadece daha fazla delik ekleyecektir. Bu gerçekten bir programlama sorusu değil.


bir öneri beyaz liste miydi?

Bu hala bir programlama sorunu değil, bir yapılandırma sorunu
blowdart


@Sneakyness Hiçbir şekilde bir güvenlik uzmanı değilim - ama işaret ettiğiniz için teşekkürler - bu soruları soruyorum, bu yüzden öğrenebilirim - ve öğrenmek istediğim bir şey hakkında yazmamı engellediğim için teşekkürler - Bu bir programlama ya da bir program değil - cevaplamak için güvenlik uzmanlarına bırakacağım - SİZ dahil ettiniz (eğitim yorumunuzdan biri olduğunuzu varsayıyorum)
user14898

2

Yazılımınızı 0 günlük saldırılara karşı koruyun ... bu imkansız.

Belki de iyi bir yaklaşım, yazılımınızın hacklenemez olduğunu iddia etmektir; Oracle 10'un bu iddiası vardı, ertesi gün 9 yeni delik gibi bulundu. Şimdi oldukça güvenli.

Muhtemelen, bilgisayar korsanı mükemmel bir yazılım yapılandırmasını kötüye kullandı


Bunun sıfır gün olduğundan bile eminiz?
Josh Brower

2

bu makinede kabukları olan çok sayıda kullanıcısı olduğu aklıma geliyor. bu şekilde sahiplendiler, diğer her şey dikkat dağıtıcı kırmızı ringa balığı. bunlardan biri büyük olasılıkla diğer bazı kabuk makinelerde ssh istemcisini arka kapıya kaptı ve sonra oyun bitti. herkese kabuk hesapları vermek ve sshd dünyasını erişilebilir kılmak sadece tembel ve aptalca.

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.