Active Directory Ortamı İçin Honeypotların Oluşturulması

Network ortamına honeypotların kurulması ve kullanılmasına ek olarak Active Directory (AD) ortamına da honeypot tuzaklarının oluşturulması mümkün. Öncelikle AD ortamı için bu yazı kapsamında yer almayan daha farklı honeypot senaryoları oluşturmanın mümkün olduğunu dile getirdikten sonra aşağıdaki şekilde yer alan beş farklı honeypot senaryosuna odaklanmaya çalışalım. Bahsettiğim senaryoları aşağıdaki şekilden inceleyebilirsiniz.

Honeypot AD User: Honeypot amaçlı AD user hesaplarının oluşturulmasıyla, saldırganın oluşturulan kullanıcı bilgilerini sorgulaması veya bu kullanıcı bilgileriyle login olması durumunda alertlerin oluşturulması amaçlanabilir(EventID: 4624, 4625, 4768, 4771 vd.). Örneğin aşağıdaki ekran alıntısında honeypot amaçlı oluşturulan “tempadministrator” kullanıcının sorgusu şu şekilde:

Honeypot Computer Account: Farklı ve aslında domain ortamında bulunmayan bilgisayar hesaplarının oluşturulmasıyla, saldırganların bu objeye erişimi kayıt altına alınarak, alertlerin oluşturulması mümkün (EventID: 4663). Örnek tempadminPC1 bilgisayar hesabının oluşturulması ve açıklamasına aşağıdaki ekran alıntısından erişebilirsiniz.

Honeypot Domain Admin Account: Active Directory ortamında hak yükseltme amacıyla saldırganlarının ilk hedeflerinden biri domain admin kullanıcıları oluşturularak, bahse konu domain admin grubuna üye olan kullanıcıların bilgilerine erişilmesine çalışılması halinde uyarılar oluşturabilirsiniz (EventID 4624, 4625, 4767, 4771 vd.)

Honeypot DNS Record: Sahte DNS kayıtları oluşturulduktan sonra bahse konu DNS kayıtlarının sorgulanması halinde alertler oluşturulabilir (Sysmon EventID: 22).

Honeypot SPN Record:

Son olarak kerberoasting ataklarının tespiti için SPN kaydı oluşturulması ve logların toplanmasıyla alertlerin oluşturulması mümkün (EventID: 4769).

Süreci otomatikleştirmek ve farklı testler yapmak adına oluşturduğum scriptin nasıl kullanılacağının detaylarıyla devam edelim. İlgili scripte bu bağlantıdan erişebilirsiniz. Scripti domainde yetkili bir kullanıcının hesabıyla açtıktan sonra aşağıdaki komutlarla indirip çalıştıralım. Scripti sadece test veya lab. ortamında denemenizi ve yazacağınız parolaları en karışık şekilde oluşturmanızı şiddetle tavsiye ederim.

(New-Object System.Net.WebClient).DownloadFile("https://github.com/kaptankojiro/activedirectoryhoneypot/blob/main/activedirectoryhoneypot.ps1", "activedirectoryhoneypot.ps1") 
powershell.exe -executionpolicy bypass -f .\activedirectoryhoneypot.ps1

Script indikten sonra ve hatasız şekilde çalıştıktan sonra oluşturabileceğimiz 5 farklı bal küpü tuzağı var.

Öncelikle “tempadministrator” adında bir kullanıcı oluşturup, parolasını oldukça karışık bir parola verdikten sonra description bölümüne yanlış bir parola girelim.

Sahte “tempadministrator” kullanıcına sahte bir bilgisayar oluşturalım.

“tempadmindoad” adında yeni bir kullanıcı oluşturup, kullanıcıyı disable ettikten sonra bir de Domain Admins grubuna ekleyelim (Dilerseniz sonrasında kullanıcıyı aktif hale getirebilir veya farklı bir gruba ekleyebilirsiniz.)

Sahte bir DNS kaydı oluşturup, DNS kayıtlarına ekleyelim.

Son olarak kerberoasting ataklarının tespiti için SPN kaydı oluşturalım. Scriptin 1. ve 2. menusundeki ayarlarla “testsql” bilgisayar adını ve “testsqluser” kullanıcı adını oluşturalım.

Bilgisayar adını oluşturduktan sonra 1. menuden “testsqluser” adlı kullanıcıyı oluşturalım.

Oluşturulan SPN kaydının kod bloğu:

Setspn -a $computername/$username.$domainname.$domainsuffix:60111 $domainname\$username

SPN kaydı başarıyla oluşturuldu.

Kaynaklar:

1- https://github.com/JavelinNetworks/HoneypotBuster

2- https://github.com/kaptankojiro/activedirectoryhoneypot/blob/main/activedirectoryhoneypot.ps1

3- https://adsecurity.org/?p=3458

4- https://jordanpotti.com/2017/11/06/honey-accounts/

Yorum bırakın

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