KACAK betiği Github kaynağından indirilebilir.
wget https://github.com/galkan/kacak/archive/master.zip
ls
unzip master.zip
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
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
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
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
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
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.
KACAK betiği temel olarak 3 adet parametre almaktadır:
- 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
- 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
- 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
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
İ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
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