Bir Linux sistemine süper kullanıcı erişimi kazanmak ister misiniz? İşte bir Linux makinesini numaralandırmanın en iyi yollarından bazıları.

Numaralandırma, sızma testinin kilit aşamalarından biridir. Penetrasyon test cihazı olarak bir hedef sistemi tehlikeye attığınızda yapılacak ilk şey budur. Bu işlemi otomatikleştirmek için çok sayıda araç olmasına rağmen, potansiyel ayrıcalık yükseltme vektörleri için sistemi manuel olarak taramanız ve sistemi iki kez kontrol etmeniz her zaman önerilir.

Ayrıcalık yükseltme için bir Linux sistemini manuel olarak numaralandırmanın farklı yollarına bakalım.

Ayrıcalık Yükseltmesi için Numaralandırma Neden Önemlidir?

Ayrıcalığın Yükseltilmesi (EOP) olarak da bilinen ayrıcalık yükseltme, sızma testinin ve sızma testi metodolojisinin temel bir bileşenidir. Adından da anlaşılacağı gibi, ayrıcalıklarınızı yöneticiye veya Linux sistemlerinde kök kullanıcıya yükseltmeye çalıştığınız bir aşamadır.

Kök ayrıcalıkları elde etmek için öncelikle sistemde bir güvenlik açığı bulmanız gerekir. Numaralandırmanın devreye girdiği yer burasıdır. Numaralandırmayı otomatikleştirecek araçlar olsa da, çoğu zaman manuel ve kapsamlı numaralandırma, yanlış yapılandırmaları ve araçlar tarafından tespit edilemeyen diğer güvenlik açıklarını ortaya çıkarabilir.

instagram viewer

1. Sistem Numaralandırma

İlk yerinizi aldıktan sonra yapmanız gereken ilk şey, erişim sağladığınız sistem hakkında bilgi edinmektir. Bu, yüklerinizi mimariye uyacak şekilde optimize etmenize ve yüklerinizin hedef sistemle maksimum uyumluluğunu sağlamanıza yardımcı olacaktır.

Örneğin, 64 bitlik bir istismarınız varsa, 32 bit ve 64 bit sistemler arasında bir fark olduğundan, hedef sisteminiz yalnızca 32 bit yazılımı destekliyorsa, onu değiştirmeniz gerekir.

Ayrıca, çekirdek sürümünü bilmek, sürümün eski olduğunu ve genel bir açıktan yararlanmaya karşı savunmasız olduğunu fark etmeniz durumunda web'de açıkları aramanıza yardımcı olacaktır. Sistem bilgilerini almanıza yardımcı olacak bazı komutlar şunlardır:

Çekirdek sürümü, işletim sistemi sürümü vb. gibi sistem bilgilerini bulmak için şunu yazın:

kedi /etc/cpuinfo 
uname -a

CPU mimarisi hakkında daha fazla bilgi edinmek istiyorsanız, lscpu komutunu kullanın:

lscpu

2. Süreç Numaralandırma

Süreçler, yürütülmekte olan programlardır. Bir Linux sistemindeki işlemlerin tam listesini bilmek, birkaç başka numaralandırma taktiği ile birlikte Bu kılavuzda belirtilenler, potansiyel olarak savunmasız süreçleri belirlemenize ve bunları yükseltmek için bunlardan yararlanmanıza yardımcı olacaktır. ayrıcalık.

Örneğin, kök ayrıcalıklarıyla çalışan bir işlem bulursanız, ayrıcalığın başarılı bir şekilde yükseltilmesine yol açabilecek rasgele bir kod enjekte edebilirsiniz.

Kullanabilirsiniz ps komutu ile yardımcı sistemdeki tüm işlemleri listelemek için bayraklar:

ps yardımcı

3. Kullanıcı ve Grup Sayımı

Kullanıcıların ve grupların numaralandırılması, sistemin hangi bölümüne kimin erişimi olduğunu anlamak için önemlidir. Bunu bilmek, hedeflerinizi verimli bir şekilde kapsamanıza ve etkili bir saldırı stratejisi oluşturmanıza olanak tanır. Ayrıca, uygun eşlemeler oluşturabilir ve her bir hesabın rollerini ve ayrıcalıklarını derinlemesine anlayabilirsiniz.

Ayrıcalıklı hesapların görünürlüğüne sahip olmak, bilinen kullanıcı adı-şifre kombinasyonlarını denemenize olanak tanır. içeriğini yazdırabilirsiniz. /etc/passwd Ve /etc/group kullanıcı listesine erişmek için dosyalar. Alternatif olarak getent komutunu da kullanabilirsiniz.

İle Linux'taki kullanıcıların listesini alın:

şifre al

Grupların listesini almak için:

alıcı grup

4. Hassas Dosyaları Araştırmak

gibi hassas dosyalar /etc/passwd Ve /etc/shadow potansiyel olarak çok fazla bilgi sızdırabilir. İtibaren /etc/shadow kullanıcıların şifrelerinin karmalarını bulabilir ve Hashcat veya John the Ripper gibi bir karma kırma aracıyla kırmaya çalışabilirsiniz.

ayrıca var /etc/sudoers Bir şekilde düzenleyebilirseniz, kullanıcılar ve gruplar için sudo izinlerinin değiştirilmesine izin verecek bir dosya.

5. Sudo İzinlerini kontrol etme

Sudo izinlerinin doğru yönetimi, bir Linux sisteminin güvenliği için çok önemlidir. Sudo izinlerini analiz etmek, size ayrıcalık yükseltme için potansiyel vektörler hakkında fikir verecektir. Bazı programların endişe verici bir ayrıcalık düzeyine sahip olması gibi yanlış yapılandırmalar varsa, kök erişim elde etmek için bunlardan yararlanabilirsiniz.

Bu, Linux sistemindeki sudo izinlerini netleştirdikten sonra açılabilecek birçok saldırı yolunun yalnızca bir örneğidir. Başka bir örnek, sudo izinlerine bakarak numaralandırabileceğiniz LD_PRELOAD kitaplığı önyükleme mekanizmasını kötüye kullanmak olabilir.

sudo -l

6. Linux Çekirdeği İstismarlarını Bulma

Linux çekirdek açıkları, güvenliği ihlal edilmiş sistemde çalışan işletim sisteminin çekirdeğine saldırdıkları için ölümcüldür. Kritik bir çekirdek kusuruyla, sistemle hemen hemen her şeyi yapabileceksiniz.

Çekirdek istismarlarını bulmak için önce çekirdek sürümünü öğrenin ve ardından searchsploit gibi bir araç kullanarak veya Google Dorks'u kullanma, sistemde çalışan çekirdeğin tam sürümünü etkileyen uygun bir istismar bulun.

7. SUID İkili Dosyalarından Yararlanma

SUID, yürütme sırasında Set Sahibi Kullanıcı Kimliği'nin kısaltmasıdır. Ayarlandığında, bir programı sahibinin ayrıcalıklarıyla yürüten özel bir dosya izni türüdür.

Kök kullanıcı tarafından bir program oluşturulmuşsa ve bunun için SUID biti ayarlanmışsa, program yürütüldüğünde kök ayrıcalıklarına sahip olacaktır. SUID nasıl kötüye kullanılabilir? Basit.

SUID biti ayarlanmış tüm ikili dosyaları numaralandırın, listeyi gözden geçirin, yazma erişimine sahip olduğunuz bir ikili dosya bulun ve yükünüzü eklemek için kaynağını düzenleyin. SUID ikili dosyalarını aramak ve standart çıktıyı yeniden yönlendirmek için find komutunu kullanabilirsiniz. /dev/null:

/ -perm -4000 2>/dev/null bul

8. Kitaplıkların Ele Geçirilmesi

Bazen, sistemde yazmaya karşı korumalı olmayan kitaplıkları kullanan programlar çalışıyor olabilir. Böyle bir senaryoda, kullanımdaki kitaplığın üzerine kolayca yazabilir ve programın işlevselliğini kontrol altına alabilirsiniz.

Şanslıysanız ve kök olarak çalışan bir program bulursanız, bağlı olduğu kitaplığı ele geçirebilir ve potansiyel olarak kök kabuk erişimi elde edebilirsiniz.

9. Ortam Değişkenlerini Araştırma ve Ele Geçirme

Ortam değişkenleri, sistemin ve programların nasıl çalıştığını bir dereceye kadar tanımlayan özel değişken türleridir. Önemli bir ortam değişkeni PATH değişkenidir.

Sistemdeki tüm yürütülebilir ikili dosyaların konumunu saklar. PATH değişkenini manipüle edebilir ve kök erişim elde etmek için kitaplığı ele geçirme gibi diğer güvenlik açıklarıyla zincirleyebilirsiniz.

Örneğin, bir SUID bit kümesine sahip bir yürütülebilir dosya olduğunu varsayalım. Düzgün çalışması için, tam yolunu tanımlamadan bir ikili dosya çağırıyor.

İkili dosyanın yinelenen, kötü amaçlı bir sürümünü oluşturarak ve PATH değişkenini konumuyla güncelleyerek bundan yararlanabilirsiniz. kötü amaçlı ikili dosya, böylece SUID yürütülebilir dosyası çalıştırıldığında, kötü amaçlı ikili dosyanız kök olarak çalıştırılacak ve bir kök kabuğu oluşturabileceksiniz.

Ayrıca, yalnızca ortam değişkenlerine bakarak gizli anahtarları ve parolaları bulma şansı da yüksektir. env komutunu kullanarak tüm ortam değişkenlerini yazdırabilirsiniz:

çevre

10. Bash Geçmişinde Yapıtları Bulun

Çoğu zaman, mevcut kullanıcının geçmişi silinmez. Hassas bilgilere potansiyel olarak erişmek veya değiştirilmiş parametrelerle önceki komutları yeniden çalıştırmak için bunu kötüye kullanabilirsiniz.

Bunlar muhtemelen ayrıcalık artışına yol açmayacak olsa da, kullanıcının sistemde genellikle ne yaptığına dair netlik sağlamak için iyi bir bilgi sızıntısı kaynağıdır.

11. Savunmasız Cron İşlerini Ele Geçirme

Cron işleri, Linux'un yerleşik ve oldukça becerikli bir özelliğidir. Windows'tan geçiş yaptıysanız, bir cron işi doğrudan Windows'ta zamanlanmış bir görevle karşılaştırılabilir.

Periyodik olarak çalışır ve komutları yürütür. Hem çalışacağı zaman hem de yürüteceği komutlar kullanıcı tarafından önceden tanımlanmıştır. Bazen, joker karakter yerleştirme gibi saldırılara karşı savunmasız olan veya oturum açtığınız kullanıcı tarafından yazılabilen birkaç cron işi bulabilirsiniz.

Sisteme kök erişim elde etmek için bu güvenlik açıklarını kötüye kullanabilirsiniz. Bir cron işinden yararlanmak için önce savunmasız bir iş bulmanız gerekir. Şu anda çalışan cron işlerini ve diğer ilgili verileri listeleyen komutlar şunlardır:

ls /etc/cron.d/
crontab -l -u

12. Eski Paketleri Listeleme

Bir sisteme erişim sağladığınızda, atmanız gereken ilk adımlardan biri, kurulu tüm yazılım paketlerini listelemek ve kurulu sürümlerini en son sürümleriyle ilişkilendirmektir.

Henüz fazla kullanılmayan ve bir ayrıcalık yükseltme saldırısına karşı kritik derecede savunmasız olan bazı anlaşılmaz paketlerin yüklenmiş olma olasılığı vardır. Daha sonra root erişimi elde etmek için bu paketi kullanabilirsiniz.

ile dpkg komutunu kullanın. -l Debian ve Ubuntu tabanlı sistemlerde kurulu paketleri listelemek için etiket:

dpkg -l

RHEL/CentOS/Fedora sistemleri için kurulu paketleri listelemek için bu komutu kullanın:

rpm -qa 

Artık Ayrıcalık Yükseltmesi için Linux'u Manuel Olarak Nasıl Sıralayacağınızı Biliyorsunuz

Ayrıcalık yükseltme yalnızca numaralandırmaya bağlıdır. Ne kadar çok bilgiye erişiminiz olursa, saldırı stratejilerinizi o kadar iyi planlayabilirsiniz.

Verimli numaralandırma, bir dayanak noktası oluşturmanın, ayrıcalıkları yükseltmenin ve hedef sisteminizde başarılı bir şekilde devam etmenin anahtarıdır. İşleri manuel olarak yapmak yardımcı olsa da, zamandan ve emekten tasarruf etmek için bazı görevler otomatik araçlara atanabilir. Bir sistemi güvenlik açıklarına karşı taramak için en iyi güvenlik araçlarını bilmelisiniz.