Linux Yazılım Geliştirme Eğitimi: Ubuntu Komutlar ve Araçlar
⚡ Akıllı Özet
Linux sistemlerindeki güvenlik açıklarını bulma ve bunlardan yararlanma uygulamasına Linux korsanlığı denir ve bu sayfa, saldırganların hedeflediği güvenlik açıklarını, kullanılan denetim araçlarını ve bir sunucuyu koruyan kontrolleri açıklamaktadır.
Linux, özellikle web sunucuları için en yaygın kullanılan sunucu işletim sistemidir. Açık kaynaklıdır, yani herkes kaynak kodunu okuyabilir. Bu şeffaflık iki yönlüdür: geliştiriciler hataları hızlı bir şekilde bulup düzeltmek için kullanırken, saldırganlar da aynı kodu inceleyerek istismar edebilecekleri zayıf noktaları ararlar. Linux korsanlığı, bu zayıf noktaları kullanarak sisteme yetkisiz erişim elde etme uygulamasıdır.
Aşağıdaki bölümler Linux'un ne olduğunu, onu etkileyen güvenlik açıklarını ve Linux ile siber saldırılara dair uygulamalı bir bakışı kapsamaktadır. Ubuntuve alabileceğiniz karşı önlemler.
Linux Hakkında Kısa Not
Linux açık kaynaklı bir işletim sistemidir. Birçok dağıtım onun üzerine kurulmuştur, bunlar arasında şunlar yer alır: Red Hat Enterprise LinuxFedora, Debian ve UbuntuKaynak kod yayınlandığı için araştırmacılar, satıcılar ve saldırganlar onu inceleyebilir. Saldırganlar bu erişimi istismar edilebilir güvenlik açıklarını aramak için kullanırken, aynı görünürlük, bakımcıların kapalı platformların genellikle başaramadığı kadar hızlı bir şekilde düzeltmeler yayınlamasına olanak tanır. Linux, sunucu, masaüstü, tablet veya mobil cihaz işletim sistemi olarak çalışır.
Linux programları grafik arayüz üzerinden veya komut satırından çalıştırılabilir. Komut satırı ile çalışma, grafik arayüzde tıklamaya göre daha hızlı ve daha hassastır; bu nedenle, Linux gibi dağıtımlar üzerinde çalışan güvenlik test uzmanları komut satırını tercih eder. Kali Linux Zamanlarının neredeyse tamamını bir terminalde geçiriyorlar. Bu nedenle temel komutları bilmek pratik bir ön koşuldur.
Buna bakın Linux eğitimi temeller için ve Kali Linux öğretici Güvenlik odaklı dağıtımın bunların üzerine inşa edilmesi için.
Linux'ta Sık Görülen Güvenlik Açıkları ve Saldırı Yöntemleri
Linux'a yönelik saldırılar nadiren egzotik güvenlik açıklarından yararlanır. 2025 ve 2026 yılları boyunca yayınlanan telemetri verileri, çoğu güvenlik açığının tracTekrarlayan zayıf noktalar kümesine geri dönelim ve bunları bilmek, savunma çabalarınızı öncelikle nereye yönlendirmeniz gerektiğini gösterir.
- Zayıf veya tekrar kullanılan SSH kimlik bilgileri — İnternete açık SSH'ye yönelik kaba kuvvet ve kimlik bilgisi ele geçirme girişimleri, Linux uç noktalarında gözlemlenen düşmanca faaliyetlerin büyük çoğunluğunu oluşturmaktadır.
- Yamalanmamış çekirdek ve paket hataları — Linux çekirdek ekibi 2024 yılında CVE Numaralandırma Otoritesi oldu ve bildirilen çekirdek CVE'lerinin sayısı 2023'te yaklaşık 290'dan bir sonraki yıl 3,500'ün üzerine çıktı, bu nedenle yama birikimleri hızla artıyor.
- yanlış yapılandırma — Varsayılan hesaplar, gereksiz servisler, herkesin yazabileceği dosyalar ve izin verici sudo kuralları, herhangi bir güvenlik açığına gerek kalmadan elde edilebilen ayrıcalıklar sunar.
- Güvenlik açığı bulunan web uygulamaları — kusurlar gibi SQL enjeksiyonu Çapraz site komut dosyası çalıştırma (XSS) ise saldırganın işletim sistemi yerine uygulama üzerinden sunucuya ulaşmasına olanak tanır. Web kabukları, ele geçirilmiş Linux sunucularında bulunan en yaygın kötü amaçlı yazılım türüdür.
- Ayrıcalık yükseltme hataları — Sınırlı yetkiye sahip bir hesabı root yetkisine dönüştüren yerel güvenlik açıkları. Bunlardan bazıları, açıklanmadan önce on yıldan fazla bir süre çekirdekte tespit edilmeden varlığını sürdürdü.
- Tedarik zinciri ve bağımlılık riski — Üçüncü taraf paketler, dil kütüphaneleri ve konteyner imajları, işletim ekibinden hiç kimsenin incelemediği kodları içerir.
Bunların hiçbiri, saldırganın Linux'un kendisini alt etmesini gerektirmez. 2025 saldırının analizine göre, saldırıların yaklaşık beşte dördünde hiçbir kötü amaçlı yazılım kullanılmamış, bunun yerine yanlış yapılandırma ve çalınan kimlik bilgileri kullanılmıştır.
Linux Hackleme Araçları
Güvenlik test uzmanları ve sistem yöneticileri aynı tarayıcılara başvurur: biri saldırganlardan önce güvenlik açıklarını bulmak için, diğeri ise yapılan düzeltmelerin işe yaradığını doğrulamak için. Aşağıdaki araçlar, bir Linux sunucusunu denetlemek için en sık kullanılanlardır.
| araç | Menşei | Lisans | Linux'ta tipik kullanım |
| Nessus | Güvenlik açığı tarayıcı | Ticari | Çeşitli ortamlarda yapılandırma ayarlarını, eksik yamaları ve ağ hizmetlerini tarar. |
| Nmap | Ağ ve port tarayıcısı | Açık kaynak | Bir sunucuda çalışan ana bilgisayarları, sundukları hizmetleri ve açık olan portları tanımlar. |
| Lynis | Sunucu denetimi ve güçlendirme | Açık kaynak | Çalışmakta olan bir sistemi güvenlik standartlarına göre denetler ve belirli iyileştirme adımlarını raporlar. |
| OpenVAS | Güvenlik açığı tarayıcı | Açık kaynak | Greenbone tarafından Topluluk Sürümü'nün bir parçası olarak sunulan ağ güvenlik açığı tarama hizmeti. |
Liste kapsamlı değildir; denetim için mevcut araçlar hakkında bir fikir vermektedir. Ubuntu ve diğer Linux sistemleri. Eski kılavuzlar hala Güvenlik Denetçisinin Araştırma Asistanı olan SARA'yı öneriyor, ancak son sürümü 2009 yılına ait ve proje sitesi çevrimdışı, bu nedenle Lynis ve OpenVAS Bunlar, sürdürülen alternatiflerdir.
Bilgisayar Korsanlığı Etkinliği: Hack a Ubuntu PHP kullanan Linux Sistemi
Bu uygulamalı senaryoda, PHP örneğini kullanarak bir Linux sunucusuna web uygulaması aracılığıyla nasıl erişilebileceğine bakacağız. Hedefte canlı bir kurban bulunmamaktadır. Denemek isterseniz, XAMPP'nin Linux sürümü olan LAMPP'yi kendi makinenize kurun.
PHP İşletim sistemi komutlarını çalıştırmak için kullanılabilecek iki fonksiyon içerir: exec() ve shell_exec(). exec() fonksiyonu komut çıktısının son satırını döndürürken, shell_exec() fonksiyonu komutun tüm sonucunu bir dize olarak döndürür.
Örnekleme amacıyla, bir saldırganın aşağıdaki dosyayı bir web sunucusuna yüklemeyi başardığını varsayalım.
<?php $cmd = isset($_GET['cmd']) ? $_GET['cmd'] : 'ls -l'; echo "executing shell command:-> $cmd</br>"; $output = shell_exec($cmd); echo "<pre>$output</pre>"; ?>
İŞTE,
Yukarıdaki kod, cmd adlı GET değişkeninden komutu alır. Komut, shell_exec() kullanılarak yürütülür ve sonuç tarayıcıda görüntülenir.
Yukarıdaki kod, aşağıdaki yöntem kullanılarak istismar edilebilir. URL
http://localhost/cp/konsole.php?cmd=ls%20-l
İŞTE,
- “…konsole.php?cmd=ls%20-l” ifadesi, cmd değişkenine ls –l değerini atar.
Komuta Ubuntu Bu nedenle sunucu şu şekilde yürütülür:
shell_exec('ls -l') ;
Yukarıdaki kodu bir web sunucusunda çalıştırmak, aşağıdaki gibi bir sonuç verir.
Çıktı, mevcut dizindeki dosyaları ve izinlerini gösterir.
Şimdi de saldırganın bunun yerine aşağıdaki komutu gönderdiğini varsayalım.
rm -rf /
İŞTE,
- “rm” komutu dosyaları siler.
- “rf” komutu, rm komutunun özyinelemeli modda çalışmasını sağlayarak tüm klasörleri ve dosyaları siler.
- "/" işareti, komutun silme işlemine kök dizinden başlamasını sağlar.
Saldırı URL şöyle bir şey olurdu
http://localhost/cp/konsole.php?cmd=rm%20-rf%20/
Dolayısıyla, doğrulanmamış tek bir parametre bile saldırgana web sunucusu hesabının sahip olduğu tüm ayrıcalıkları vermeye yeterlidir. Aşağıdaki iki bölüm, bunun olmasını engellemek ve önleme başarısız olduğunda bunu yakalamak için mevcuttur.
Linux Saldırılarını Nasıl Önleyebilirsiniz?
Linux saldırıları, işletim sistemindeki ve üzerinde çalışan yazılımlardaki güvenlik açıklarından yararlanır. Bir kuruluş, yukarıda açıklanan güvenlik açıklarının çoğunu kapatmak için aşağıdaki önlemleri birlikte uygulayabilir.
- Yama yönetimi — Yama dosyaları, saldırganların bir sistemi tehlikeye atmak için kullandığı hataları düzeltir. Tanımlanmış bir politika, ilgili güncellemelerin birileri hatırladığında değil, derhal uygulanmasını sağlar.
- Doğru işletim sistemi yapılandırması — Etkin olmayan kullanıcı hesaplarını ve gereksiz arka plan işlemlerini devre dışı bırakın. Varsayılan kullanıcı adları, paylaşılan uygulama parolaları ve varsayılan bağlantı noktası numaraları dahil olmak üzere varsayılan ayarları değiştirin.
- SSH güçlendirmesi — Kök kullanıcı oturum açma ve parola kimlik doğrulamasını devre dışı bırakın, yalnızca adlandırılmış kullanıcılara veya gruplara izin verin ve kimlik doğrulama deneme sayısını sınırlayın. Bu, Linux'ta en çok saldırıya uğrayan giriş noktasını kapatır.
- En az ayrıcalık — Hesaplara ve hizmetlere yalnızca ihtiyaç duydukları hakları verin ve sudo'yu genel yönetimsel erişim yerine belirli komutlarla sınırlandırın.
- Zorunlu erişim kontrolü — SELinux'u (Red Hat ailesi) veya AppArmor'ı (Debian ve Ubuntu) zorlama modunda, böylece tehlikeye atılmış bir hizmet sistemin geri kalanına erişemez.
- Giriş doğrulama — Yukarıdaki gösterim yalnızca istek verilerinin bir kabuk fonksiyonuna ulaşması nedeniyle çalışır. Kullanıcı girdisini asla exec() veya shell_exec() fonksiyonlarına iletmeyin.
- Güvenlik duvarları ve segmentasyon — Bir hizmetin gerçekten ihtiyaç duyduğu portları yalnızca şu yöntemle açığa çıkarın: güvenlik duvarı ve ağ segmentasyonu, tehlikeye atılmış bir sunucunun erişebileceği alanları sınırlandırmak için kullanılır.
- Saldırı Tespit Sistemleri — Bu tür araçlar, sisteme yetkisiz erişimi tespit etmek için kullanılabilir ve bazıları bu girişimi engelleyebilir de.
- Test edilmiş yedeklemeler — Çevrimdışı, geri yüklenebilir yedeklemeler, yukarıdaki gibi yıkıcı bir komutu kalıcı bir kayıp yerine bir kesintiye dönüştürür.
Güvenliği ihlal edilmiş bir Linux sistemini nasıl tespit edersiniz?
Önleme eninde sonunda başarısız olur, bu nedenle ikinci soru ne kadar çabuk fark edeceğinizdir. Linux'ta tespit, bir olaydan sonra değil, olaydan önce doğru kanıtları toplamaya bağlıdır.
- Denetim günlüğü — Çekirdek denetim çerçevesi olan auditd, ayrıcalık kullanımını, dosya erişimini ve sistem çağrılarını, tehlikeye atılmış bir işlemin sessizce yeniden yazamayacağı bir biçimde kaydeder. Bu günlükleri ana bilgisayardan merkezi bir toplayıcıya iletir.
- Kimlik doğrulama kayıtları — /var/log/auth.log veya /var/log/secure dosyalarında bir dizi başarısızlığın ardından tek bir başarılı kayıtın görülmesi, klasik kaba kuvvet saldırısı imzasıdır.
- Beklenmedik süreçler ve bağlantılar — Kimsenin açıklayamadığı bir dinleme servisi veya giden bağlantı derhal soruşturulmayı hak eder.
- Dosya bütünlüğü izleme — Sistem ikili dosyalarını ve yapılandırma dosyalarını özetleyen ve asla değişmemesi gereken dosyalardaki değişiklikleri işaretleyen araçlar.
- Planlanmış görevler ve başlangıç öğeleri — Kalıcılık genellikle cron işlerinde, systemd birimlerinde veya shell profil komut dosyalarında sağlanır.
- Yeni veya değiştirilmiş hesaplar — Tanıdık olmayan kullanıcıları, UID'si 0 olan ikinci hesapları ve kimsenin eklemediği SSH anahtarlarını arayın.
- Web sunucusu dizinleri — çünkü web shell'ler Linux sunucularında en sık rastlanan kötü amaçlı dosya türüdür; bu nedenle web kök dizini altındaki beklenmedik komut dosyası dosyalarına yakından bakmak gerekir.
- Planlanmış denetimler — Lynis gibi bir denetim aracını programlı olarak çalıştırın ve her raporu tek seferlik bir işlemden ziyade bir iş listesi olarak ele alın.
Eğer bir güvenlik ihlaline dair kanıt bulursanız, sunucuyu izole edin, günlükleri ve disk görüntüsünü saklayın ve çalışan bir sistemi temizlemeye çalışmak yerine, sağlam olduğu bilinen ortamlardan yeniden kurulum yapın. Bu çalışmanın kanıt yönetimi kısmı şu bölümde ele alınmıştır: dijital Adli Tıp.
Linux Hacking'in Hukuki ve Etik Sınırları
Bu sayfadaki her teknik, sahip olduğunuz veya test etmek için yazılı izin aldığınız sistemlerde uygulanması yasaldır, ancak neredeyse her yerde yasa dışıdır. Yukarıdaki alıştırma, tam da bu nedenle kasıtlı olarak yerel bir kurulum üzerinde çalıştırılmıştır.
- Yazılı yetkilendirme — İmzalı bir kapsam, üzerinde anlaşılmış bir test zaman aralığı ve belirlenmiş bir irtibat kişisi, sızma testini bir saldırıdan ayıran unsurlardır. Sözlü onay yeterli değildir.
- Kapsam dahilinde kalın — Listede yer almayan sunucular, adres aralıkları ve teknikler, erişilebilir olsalar bile, izin verilmez.
- Verilere dikkatli davranın. — Test sırasında toplanan kanıtlar hâlâ gerçek kişisel veriler içermektedir ve bu nedenle güvenli bir şekilde saklanmalı ve testten sonra imha edilmelidir.
- Sorumlu bir şekilde rapor verin. — Bulguları sahibine bildirin ve herhangi bir şey yayınlamadan önce düzeltme için zaman tanıyın.
Yasal riskler gerçektir: Bir bilgisayar sistemine yetkisiz erişim, ABD Bilgisayar Dolandırıcılığı ve Kötüye Kullanım Yasası ve İngiltere Bilgisayar Kötüye Kullanım Yasası gibi yasalar uyarınca suç teşkil eder. Bu beceriler üzerine bir kariyer inşa etmek istiyorsanız, tanınmış bir yolu izleyin — güvenlik sertifikası Üstelik başkasının sunucusu yerine kendi sahip olduğunuz bir laboratuvarınız olacak.


