/etc/passwd konfigürasyonu ile root değişimi

Belvando

Üye
3 Haz 2017
249
15
Mantı V2


Hepinize merhabalar
Uzun bir ara sonrasında aklıma aniden esmesi ile birlikte bu konuyu açmaya karar verdim :)

Fazla uzatmadan direk konuya giriş yapalım.




/etc/passwd Nedir?

Konum itibari ile kök dizinin altındaki konfigürasyon dosyalarının tutulduğu yer olan etc klasörünün altında bulunur.
İçerisinde sistemde ki kullanıcılar hakkında önemli bilgileri barındırır ve sistemin kullanıcıları yorumlayabilmesini sağlar.

W6BYK1.png


Değiştirilmemiş hali buna benzer.
Her bir satır bir kullanıcı için ayrılmış ve orginize bilgiler içerir.

root:x:0:0:root:/root:/bin/bash

: (iki nokta) ifadesini bilgileri ayıran bir ayraç olarak kabul edersek kullanıcı adına 7 adet bilgi mevcut.

1- Kullanıcının adı. (root)
2- Kullanıcının parolasının şifrelenmiş hali. Güvenlik sebebi ile x ifadesi /etc/shadow dosyasından verinin alınması gerektiğini ifade eder. (x)
3- Kullanıcının id numarası. (0)
4- Kullanıcının grup id numarası. (0)
5- Kullanıcıya ait bilgiler. (root)
6- Kullanıcıya ait home dizini. (/root)
7- Kullanıcıda default çalışan terminal kabuğu. (/bin/bash)

İnceleyeceğiniz üzere diğer tüm satırlarda bu organizasyona sahiptir.
Sistemlerde 0 id numarasına sahip olan kullanıcı süperkullanıcı (admin) yetkilerine sahip olmaktadır.





Passwd Dosyasının Kasıtlı Değişikliği

İlk kısımda da belirttiğim gibi, sistem kullanıcılar hakkında bilgi alacağı zaman passwd dosyasına başvurur.
passwd dosyası kasıtlı olarak değiştirilmesi durumunda farklı sonuçlar meydana gelebilir.
Ben sizler için spesifik olarak bir senaryo seçtim ve onun üzerinden anlatmak istiyorum.

eKogzr.png



Baktığımız zaman passwd dosyasında iki değişiklik söz konusu:
1- Normal şartlarda 0 id'sine sahip olması gereken kullanıcı root olması gerekirken r00t adında farklı bir isim yazılmış.
2- 1001 id numarasından daha sonradan oluşturulmuş olduğunu anladığımız root adında bir kullanıcı eklenmiş.

Bu değişiklik beraberinde şu sıkıntıyı meydana getirecektir:
Bir yazılım root bilgisini 0 id değerinden değilde root kullanıcı adından çeker ise, yazılım başarılı bir şekilde süperkullanıcı yetkisinde olamayacaktır.


Örnek verelim.

mx3PZb.png


su komutu kullanıcı değiştirmek için kullanılan bir komuttur.
Eğer herhangi bir kullanıcı adı verilmemesi durumunda otomatik olarak root kullanıcısına geçiş işlemini başlatacaktır.
[https://github.com/freebsd/freebsd-src/blob/de1aa3dab23c06fec962a14da3e7b4755c5880cf/usr.bin/su/su.c]

sudo komutu bir komutu başka bir kullanıcı üzerinden çalıştırmak için kullanılan bir komuttur.
Eğer herhangi bir kullanıcı verilmemesi durumda root kullanıcı yetkisi ile belirtilen komutu çalıştırır.
sudo komutunun -s paramteresi belirtilen kullanıcının terminaline erişim için kullanılır.
[https://github.com/sudo-project/sudo/blob/master/src/sudo.c]


uw5IUR.png


Görüldüğü üzere normal şartlar altında bu komutular girildiğinde süperkullanıcı yetkisinde olmamız gerekir iken, yapılan değişiklik sebebi ile herhangi bir şekilde süperkullanıcı yetkisine geçiş yapılamıyor.
Sadece görünürde root olduğu algısı yaratıyor.




Peki Böyle Bir Durumda Nasıl Süper Kullanıcıya Geçiş Yapılabilir?

passwd dosyası üzerinden süperkullanıcının id bilgisi ile süper kullanıcıya geçiş yapılabilir.

xfpPfL.png


Başarılı bir biçimde süperkullanıcı yetkisine sahip olabildik.

İyi forumlar dilerim.
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.