Editing /etc/passwd
Last updated
Last updated
/etc/passwd Dosya içeriği iki nokta üstüste (“:”) karakteri ile ayrılmış olarak 7 kolondan oluşur.
kullanıcı ismi oturum açarken kullanılır.
x olan yer kullanıcı hesabının parolasının özetlenmiş halidir. Eski işletim sistemlerinde tutulurdu burada bu dosyayı herkes okuyabildiği için artık burada değil /etc/shadow altında tutuluyor. Diğer türlü bu hasheri alıp brute force yapıyorlar.
Kullanıcı hesabının id değeri. “root” kullanıcı hesabının UID değeri 0 olacak şekilde, bazı ön tanımlı kullanıcı hesaplarınki 1-99 arasında olacak şekilde, yönetimsel/sistemsel hesaplarun ve gruplarınki ise 100-999 arasında olacak şekilde ayrılmıştır. Sonradan oluşturulan kullanıcı tanımlı hesapların UID değeri ise 1000 ve sonrası olacak şekilde otomatik olarak belirlenmektedir.
Kullanıcı hesabının birincil grubuna ait ID değeridir. Bu değer /etc/group dosyasında depolanmaktadır.
Kullanıcının gerçek adı.
/home/kali kullanıcının oturum açtıktan sonra düşeceği ev dizinidir.
Kullanıcının oturum açarken çalışacak komuttur. Bu değer genellikle kabuk verilir ve kullanıcının komut çalıştırabileceği bir ortam hazırlanmış olur. Bunun yanında bin/false, sbin/false, bin/nologin, sbin/nologin, /usr/sbin/nologin,… gibi kabuklar etkileşimli oturum açılması istenmeyen hesaplar için kullanılır.
Görsel de görüldüğü gibi yalnızca root tarafından yazılabilmektedir. Yani izinler 644'dür. Eğer 646 olsaydı kullanıcılar tarafından da yazılabilir durumda olacaktı.
İçeriği her kullanıcı tarafından değiştirilebilir olarak ayarlanmış olan /etc/passwd dosyasına yeni bir kullanıcı hesabı olarak aşağıdaki satır eklenerek, bu kullanıcı ile oturum açılmaya çalışılabilir.
YeniHesap:x:1001:1001:,,,:/home/YeniHesap:/bin/bash
Bu kullanıcının yetkisinin “root” gibi olmasının sağlanması için “root” kullanıcısı ile aynı olacak şekilde kullanıcı ID değeri (“0”), grup ID değeri (“0”), ev dizini bilgisi (“/root”),… ayarlanabilir.
YeniHesap:x:0:0:,,,:/root:/bin/bash
user1:*:1001:1003:,,,:/home/user1:/bin/bash
diye bir kullanıcı var bunu kopyalayıp aşağıda ki gibi yapıştırırsak farklı bir kullanıcı daha olumuş olur.
user2:*:1002:1003:,,,:/home/user2:/bin/bash
Şimdi passwd komutu ile user2 için bir şifre belirleyin ve şifreyi girin.
passwd user2
Ayrıca oturum açma sırasında parola kontrolünün /etc/shadow dosyasından değil, /etc/passwd dosyasından yapılması için (normalde “x” olarak bırakılan) ikinci sütuna özetlenmiş parola bilgisi girilebilecektir. Parolanın saklanacağı metod MD5, SHA-256, SHA-512,… olabilir. Bir kullanıcı oluşturulurken, /etc/shadow dosyasında parolanın nasıl saklanacağı /etc/login.defs dosyasında belirtilmiştir.
cat /etc/login.defs | grep ENCRYPT_METHOD
Hash değerini almak için python kodu kullanılabilir.
python -c ‘import crypt; print crypt.crypt(“Parola123”, “$6$TuzDegeri$”)’
Böylece çıkan değer “x” ile belirtilen yere eklenebilir.
YeniHesap:$6$TuzDegeri$fp2SDDsBrZL1s97kLVqmwbcJukabnRcHpYgD2mJvQd50ppY0K/MUjwz3YKuxLzxyOq/T4J5JnsaCuy7J2u8Ox0:0:0:,,,:/root:/bin/bash
Bunun yanında Python betiği yerine “openssl” aracı ile de yeni bir parola özeti oluşturulabilir. Ayrıca SHA-512 yerine MD5 gibi diğer özetleme algoritmaları da kullanılabilir.
Hashlenmiş şifreyi alacağız, bundan sonra terminalde nano ile /passwd dosyasını açın ve kullanıcı adını manuel olarak ekleyin. Manuel olarak yeni kullanıcı "user3" ekleme adımını izleyin ve parola için * veya X yerine şifrelenmiş değeri yapıştırın.
Not: Daha kısa yöntem olarak tuzsuz da parola oluşturulabilir.
openssl passwd Parola123
Böylece çıkan değer “x” ile belirtilen yere eklenebilir.
YeniHesap:$1$TuzEki$bSynt.S1Rbk7t6MNELmxR0:0:0:,,,:/root:/bin/bash
Paket yüklü ise “mkpasswd” aracı ile de parola özeti oluşturulabilirdi.
Syntax: mkpasswd -m [hash type] {password}
Elde edilen satır /etc/passwd dosyasına eklenmeya hazırdır. Bu amaçla “echo” komutu ve “$” karakterlerini kullanmak için de “\” ayıracı kullanılabilir.
echo “YeniHesap:$1$TuzEki$bSynt.S1Rbk7t6MNELmxR0:0:0:,,,:/root:/bin/bash” echo “YeniHesap:\$1\$TuzEki\$bSynt.S1Rbk7t6MNELmxR0:0:0:,,,:/root:/bin/bash” echo “YeniHesap:\$1\$TuzEki\$bSynt.S1Rbk7t6MNELmxR0:0:0:,,,:/root:/bin/bash” >> /etc/passwd tail -3 /etc/passwd
Not: Bunun yanında “vi” gibi editörler veya SCP ile dosya kopyalama gibi metodlar da kullanılabilirdi.
Böylece yeni oluşturulan kullanıcı hesabı ve “Parola123” parolası ile oturum açılabilir.
su – YeniHesap
Notlar aşağıdaki referanstan alınmıştır. Buraya konma sebebi hem elimin altında olması hem de yaznının silinmesinden ötürüdür.