Proje İncelemesi: KACAK Betiği ve Elde Edilen Kimlik Bilgileri ile Erişim Sağlanabilecek Windows Bilgisayarlarda Jetonu Bulunan Hesapların Tespit Edilmesi

0
173
views
Sızma testleri sırasında, bir şekilde elde edilen kimlik bilgileri (kullanıcı adı ve parola / parola özeti) kullanılarak erişim sağlanabilecek bilgisayarlarda oturumu açık olan veya bir şekilde prosesi olan hesapların listesi elde edilebilir. Kurum içinde gerçekleştirilen sızma testleri sırasında – kurum ağındaki Windows makinelerin (TCP/445. portu açık olan) IP listesi, elde edilen bir hesabın kullanıcı adı ve bu hesabın parolaları (veya parola özetleri) elde edilmişse; kritik kullanıcı hesaplarının (Domain Admins grubu üyeleri, Veritabanı yöneticileri, ağ ve sistem yöneticileri,… gibi) hangi Windows bilgisayarlarda oturum açtığı (jetonunun bulunduğu) KACAK adlı bir betik ile tespit edilecektir.

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

KACAK betiği Github kaynağından indirilebilir.

wget https://github.com/galkan/kacak/archive/master.zip
ls
unzip master.zip

obtaining-user-list-that-are-currently-logged-on-by-using-obtained-authentication-informations-via-kacak-script-01

Sıkıştırılmış dosya açıldığında “kacak-master” adlı bir klasör oluştuğu ve bu klasör içerisinde kaynak kodları bulunduğu görülmektedir.

ls
ls kacak-master

obtaining-user-list-that-are-currently-logged-on-by-using-obtained-authentication-informations-via-kacak-script-02

KACAK betiği çalıştırılmadan önce, betiğin ihtiyaç duyduğu paketler indirilmeli ve yüklenmelidir. KACAK betiğinin ihtiyaç duyduğu paketlerden ilki msgpack-python adlı pakettir.

apt-get install msgpack-python

obtaining-user-list-that-are-currently-logged-on-by-using-obtained-authentication-informations-via-kacak-script-03

Not: Bu paket yeni Kali sürümlerinde yüklü olarak gelmektedir.

KACAK betiği, arka planda MSF smb_enumusers_domain auxiliary modülünü çağırdığı için, Metasploit Framework çağrılarını gerçekleştirmeye ihtiyaç duyar. Bu çağrılar için de msfrpcd servisini kullanır. Bu sebeple, msfrpcd servis kütüphanesi Github bağlantısından indirilir ve indirilen olan paket, sıkıştırılmış dosyadan çıkarılır.

rm master.zip
wget https://github.com/SpiderLabs/msfrpc/archive/master.zip
ls
unzip master.zip

obtaining-user-list-that-are-currently-logged-on-by-using-obtained-authentication-informations-via-kacak-script-04

Sıkıştırılmış dosya açıldığında “msfrpc-master” adlı bir klasör oluştuğu ve bu klasör içerisinde servise ait kaynak kodların bulunduğu görülmektedir. Kodlar içerisindeki setup.py betiği çalıştırılarak, msfrpcd servis kurulumu gerçekleştirilir.

ls
cd msfrpc-master/
ls
cd python-msfrpc/
python setup.py install

obtaining-user-list-that-are-currently-logged-on-by-using-obtained-authentication-informations-via-kacak-script-05

KACAK betiğinin kullanımı ile ilgili paketlerin indirilmesi ve yüklenmesi tamamlandıktan sonra, KACAK betiğinin bulunduğu dizindeki msfrpcd.sh betiği çalıştırılarak, msfrpcd servisi başlatılmalıdır.

cd /root/Desktop/kacak-master
ls
cd scripts
ls -la
chmod 744 msfrpcd.sh
./msfrpcd.sh status
netstat -nlput | grep 55552
./msfrpcd.sh start
./msfrpcd.sh status
netstat -nlput | grep 55552

obtaining-user-list-that-are-currently-logged-on-by-using-obtained-authentication-informations-via-kacak-script-06

Servis, varsayılan olarak 55552. portta çalışmakta ve betik içerisindeki kimlik bilgisi ile (msf:msf) kimlik doğrulatmaktadır. Eğer kimlik bilgileri değiştirilmiş ise, servis başlayamayacaktır.

obtaining-user-list-that-are-currently-logged-on-by-using-obtained-authentication-informations-via-kacak-script-07

KACAK betiği temel olarak 3 adet parametre almaktadır:

  1. Kritik kullanıcıların listesi: Araması yapılacak olan kritik hesapların listesidir. Kullanıcı adının önünde etki alanı adı bulunmalıdır. Örneğin;
    • Sirket\Ahmet
    • Workgroup\Administrator
    • Ornek\Administrator
    • Workgroup\Murat
  2. IP listesi: Arama yapılacak bilgisayarların listesidir. Tam bir blok koymak yerine, ağ tarama sonucunda 445. portu açık olan Windows bilgisayarlarına ait IP bilgilerinin bu listeye eklenmesi tarama sonucunu hızlandıracaktır. Örneğin;
    • 192.168.83.15
  3. Kimlik bilgileri: Arama işlemi sırasında kullanılacak olan kimlik doğrulama bilgileriniiçeren XML formatında dosyadır. Etki alanı, kullanıcı adı, kullanıcı parolası ve arama işlemi için gerçekleştirilecek paralel thread adedi bu konfigürasyon dosyasına yazılır. Örneğin;

<?xml version=”1.0″?>

<domain-admin>

<domain>

<name>WORKGROUP</name>
<username>Administrator</username>
<password>Test123</password>
<threads>10</threads>

</domain>

<domain>

<name>Sirket</name>
<username>Saldirgan</username>
<password>Aa123456</password>
<threads>10</threads>

</domain>

</domain-admin>

 

Uyarı: İlk 2 parametre için (Kritik kullanıcı listesi ve IP listesi) için dosyaların tam yolunun belirtilmesi gereklidir. Konfigürasyon dosyası için böyle bir zorunluluk yoktur.

Kullanıcı oturum açma tespit etme özelliği için “–domain” opsiyonu ile çalıştırılmalıdır. Örnek bir kullanım aşağıda gösterildiği gibi olmaktadır.

./kacak.py –domain /root/Desktop/kacak/data/users.txt config/config.xml /root/Desktop/kacak/data/ip_file.txt

obtaining-user-list-that-are-currently-logged-on-by-using-obtained-authentication-informations-via-kacak-script-08

Betik hata ayıklama seçeneği amaçlı “-v” opsiyonu ile çaıştırılarak debug mesajları verebilmektedir. Hata ayıklama modu olarak 3 seviye bulunmaktadır. 1 en düşük 3 ise en yüksek seviye olarak belirtilmektedir. Örnek bir kullanım aşağıda gösterildiği gibi olmaktadır. [-] ile başlayan satırlar hata ayıklama mesajlarına ilişkin satırlardır.

./kacak.py –domain /root/Desktop/kacak/data/users.txt config/config.xml /root/Desktop/kacak/data/ip_file.txt -v 1

obtaining-user-list-that-are-currently-logged-on-by-using-obtained-authentication-informations-via-kacak-script-09

İpucu: KACAK betiğinin bulunduğu dizinde bulunan test dizininin altında hata ayıklama ve kontrol amaçli olarak “bash script” ile geliştirilmiş aynı işi gerçekleştirien bir betik bulunmaktadır. Olası durumlarda bu betik yardımı ilede aynı işlem gerçekleştirilebilmektedir.

./test_kacak.sh /root/Desktop/kacak/data/ip_file.txt /root/Desktop/kacak/data/users.txt Sirket EaParolasi2 EaYoneticisi2 5

./test_kacak.sh /root/Desktop/kacak/data/ip_file.txt /root/Desktop/kacak/data/users.txt Workgroup Aa123456 Administrator 5

obtaining-user-list-that-are-currently-logged-on-by-using-obtained-authentication-informations-via-kacak-script-10

 

Kaynaklar:

http://www.galkan.net/2014/01/enumerate-users-for-windows-based-networks.html
http://blog.bga.com.tr/2013/12/windows-aglarinda-domain-admin.html

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.