<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[TurkTeam | Türk Siber Güvenlik Topluluğu - Active Directory & Kurumsal]]></title>
		<link>https://www.turkteam.org/</link>
		<description><![CDATA[TurkTeam | Türk Siber Güvenlik Topluluğu - https://www.turkteam.org]]></description>
		<pubDate>Sun, 25 Oct 2026 18:48:40 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Unutulan Test Hesapları: PowerShell ile Active Directory'de Pasif Hesap Denetimi]]></title>
			<link>https://www.turkteam.org/konu-unutulan-test-hesaplari-powershell-ile-active-directory-de-pasif-hesap-denetimi.html</link>
			<pubDate>Fri, 23 Oct 2026 11:34:37 +0300</pubDate>
			<dc:creator><![CDATA[<a href="https://www.turkteam.org/member.php?action=profile&uid=3">BilgeKagan</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.turkteam.org/konu-unutulan-test-hesaplari-powershell-ile-active-directory-de-pasif-hesap-denetimi.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=380" loading="lazy"  alt="[Resim: attachment.php?aid=380]" class="mycode_img" /></div>
<br />
Selamlar,<br />
<br />
İngiltere Bilgi Komisyonluğu (ICO) 20 Ekim 2026'da iki Galli kuruluşa, Ogi Networks Limited (ONL) ve Data Cymru'ya kınama verdi. Kasım 2024'teki fidye yazılımı saldırısında, <span style="font-weight: bold;" class="mycode_b">12 yıldan uzun süredir var olan "Test2" adlı bir test hesabı</span> kullanıldı. Hesabın parolası baştan beri "Password1" idi ve bir parola gücü aracına göre bir saniyeden kısa sürede kırılabiliyordu. Saldırıda 182,7 GB veri şifrelendi, 42 GB veri çalındı; çoğu çocuk 3.300 kişinin bilgisi etkilendi. Bu konu, aynı hatayı kendi AD ortamınızda nasıl yakalayacağınızı anlatıyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Konuda anlatılacaklar</span></span><br />
<ol type="1" class="mycode_list"><li>ICO kararından çıkan somut hatalar<br />
</li>
<li>Pasif hesapları bulmak<br />
</li>
<li>Parolası hiç değişmemiş hesaplar<br />
</li>
<li>Test/servis hesabı adlandırma avı<br />
</li>
<li>Güvenli devre dışı bırakma süreci<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">ICO'nun tespitleri</span></span><ul class="mycode_list"><li>Test hesabı Ocak 2012'de "Password1" ile oluşturulmuş, parola karmaşıklığı kuralı uygulanmamış.<br />
</li>
<li>Hesaplar düzenli denetlenmemiş; gereksiz hesap 12 yıl yaşamış.<br />
</li>
<li>Üç sistemde yerel yönetici hesapları 12 yıldan uzun süre aynı parolayı korumuş.<br />
</li>
<li>Data Cymru'nun hesap incelemeleri planlı ve rutin değilmiş, AD'nin tamamını kapsamıyormuş.<br />
</li>
<li>Dış kaynak sağlayıcı ile kurum arasında sorumluluk ve veri işleme sözleşmesi net değilmiş.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1. Pasif hesapları bulmak</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>Import-Module ActiveDirectory
# 90 gundur giris yapmamis, etkin kullanici hesaplari
Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 -UsersOnly |
  Where-Object { &#36;_.Enabled } |
  Select-Object Name,SamAccountName,LastLogonDate,DistinguishedName |
  Sort-Object LastLogonDate | Export-Csv inactive90.csv -NoTypeInformation -Encoding UTF8
# Hic giris yapmamis ama etkin hesaplar
Get-ADUser -Filter { Enabled -eq &#36;true } -Properties LastLogonDate,whenCreated |
  Where-Object { -not &#36;_.LastLogonDate } |
  Select Name,SamAccountName,whenCreated</code></div></div>Not: LastLogonDate, lastLogonTimestamp özniteliğinden gelir ve DC'ler arasında varsayılan olarak 9-14 gün gecikmeyle çoğaltılır. Pasiflik tespiti için yeterli, anlık giriş takibi için değil.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2. Parolası yıllardır değişmeyenler</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>&#36;esik = (Get-Date).AddYears(-1)
Get-ADUser -Filter { Enabled -eq &#36;true } -Properties PasswordLastSet,PasswordNeverExpires |
  Where-Object { &#36;_.PasswordLastSet -lt &#36;esik -or &#36;_.PasswordNeverExpires } |
  Select Name,SamAccountName,PasswordLastSet,PasswordNeverExpires |
  Sort PasswordLastSet</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3. Test ve geçici hesap avı</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>Get-ADUser -Filter { Enabled -eq &#36;true } -Properties Description,LastLogonDate |
  Where-Object { &#36;_.SamAccountName -match '(?i)test|demo|temp|tmp|vendor|setup' -or
                 &#36;_.Description   -match '(?i)test|gecici|deneme' } |
  Select Name,SamAccountName,Description,LastLogonDate</code></div></div>Yerel yönetici parolaları için Windows LAPS kullanın; her makinede benzersiz ve döndürülen parola, ICO kararındaki "12 yıl aynı yerel admin parolası" sorununu kökten çözer.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4. Güvenli devre dışı bırakma</span></span><br />
Hesabı hemen silmeyin. Önerilen süreç:<br />
<ol type="1" class="mycode_list"><li>Sahibini bulun (yönetici, dış kaynak firması). Sahibi yoksa bu zaten bir bulgu.<br />
</li>
<li>Devre dışı bırakın, açıklamaya tarih ve talep numarası yazın, ayrı bir "Disabled" OU'ya taşıyın.<br />
</li>
<li>30-90 gün bekleyin; kimse şikayet etmezse silin.<br />
</li>
</ol>
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>Disable-ADAccount -Identity test2
Set-ADUser test2 -Description "Disabled 2026-10-23 - pasif hesap denetimi"
Move-ADObject (Get-ADUser test2).DistinguishedName -TargetPath "OU=Disabled,DC=lab,DC=local"</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kalıcı çözüm</span></span><br />
ICO'nun önerileriyle uyumlu olarak: zayıf ve yaygın parolaları engelleyen bir parola filtresi (Entra Password Protection gibi), uzaktan erişimde varsayılan MFA, tüm AD'yi kapsayan çeyreklik hesap incelemesi ve dış kaynak sözleşmelerinde hesap yaşam döngüsünün kimde olduğunun yazılı tanımı. Komutları önce lab ortamında deneyin.<br />
<br />
Kendi ortamınızda (veya labınızda) bu komutları çalıştırdığınızda kaç pasif hesap çıktı? Rakam paylaşabilirsiniz, isim değil.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yasal uyarı</span></span><br />
Bu yazı bilgilendirme ve savunma amaçlıdır. Anlatılan kontrolleri yalnızca kendi sistemlerinizde veya yazılı izinle yapın. İzinsiz erişim, tarama ve sömürü girişimleri TCK 243-245 kapsamında suçtur. TurkTeam white-hat bir topluluktur; çalıntı veri, hesap, combo/log paylaşımı ve hack hizmeti talepleri forum kurallarına aykırıdır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kaynaklar</span></span><ul class="mycode_list"><li><a href="https://ico.org.uk/about-the-ico/media-centre/news-and-blogs/2026/10/password1-is-not-an-appropriate-password/" target="_blank" rel="noopener" class="mycode_url">https://ico.org.uk/about-the-ico/media-c...-password/</a><br />
</li>
<li><a href="https://www.theregister.com/cyber-crime/2026/10/20/password1-and-a-forgotten-test-account-land-welsh-outfits-in-hot-water/5304139" target="_blank" rel="noopener" class="mycode_url">https://www.theregister.com/cyber-crime/...er/5304139</a><br />
</li>
<li><a href="https://learn.microsoft.com/en-us/powershell/module/activedirectory/search-adaccount" target="_blank" rel="noopener" class="mycode_url">https://learn.microsoft.com/en-us/powers...-adaccount</a><br />
</li>
</ul>
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://cdn.turkteam.org/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=380" target="_blank" title="">14-b04-ad-pasif-hesap-denetimi.png</a> (Dosya Boyutu: 119.41 KB / İndirme Sayısı: 6)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=380" loading="lazy"  alt="[Resim: attachment.php?aid=380]" class="mycode_img" /></div>
<br />
Selamlar,<br />
<br />
İngiltere Bilgi Komisyonluğu (ICO) 20 Ekim 2026'da iki Galli kuruluşa, Ogi Networks Limited (ONL) ve Data Cymru'ya kınama verdi. Kasım 2024'teki fidye yazılımı saldırısında, <span style="font-weight: bold;" class="mycode_b">12 yıldan uzun süredir var olan "Test2" adlı bir test hesabı</span> kullanıldı. Hesabın parolası baştan beri "Password1" idi ve bir parola gücü aracına göre bir saniyeden kısa sürede kırılabiliyordu. Saldırıda 182,7 GB veri şifrelendi, 42 GB veri çalındı; çoğu çocuk 3.300 kişinin bilgisi etkilendi. Bu konu, aynı hatayı kendi AD ortamınızda nasıl yakalayacağınızı anlatıyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Konuda anlatılacaklar</span></span><br />
<ol type="1" class="mycode_list"><li>ICO kararından çıkan somut hatalar<br />
</li>
<li>Pasif hesapları bulmak<br />
</li>
<li>Parolası hiç değişmemiş hesaplar<br />
</li>
<li>Test/servis hesabı adlandırma avı<br />
</li>
<li>Güvenli devre dışı bırakma süreci<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">ICO'nun tespitleri</span></span><ul class="mycode_list"><li>Test hesabı Ocak 2012'de "Password1" ile oluşturulmuş, parola karmaşıklığı kuralı uygulanmamış.<br />
</li>
<li>Hesaplar düzenli denetlenmemiş; gereksiz hesap 12 yıl yaşamış.<br />
</li>
<li>Üç sistemde yerel yönetici hesapları 12 yıldan uzun süre aynı parolayı korumuş.<br />
</li>
<li>Data Cymru'nun hesap incelemeleri planlı ve rutin değilmiş, AD'nin tamamını kapsamıyormuş.<br />
</li>
<li>Dış kaynak sağlayıcı ile kurum arasında sorumluluk ve veri işleme sözleşmesi net değilmiş.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1. Pasif hesapları bulmak</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>Import-Module ActiveDirectory
# 90 gundur giris yapmamis, etkin kullanici hesaplari
Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 -UsersOnly |
  Where-Object { &#36;_.Enabled } |
  Select-Object Name,SamAccountName,LastLogonDate,DistinguishedName |
  Sort-Object LastLogonDate | Export-Csv inactive90.csv -NoTypeInformation -Encoding UTF8
# Hic giris yapmamis ama etkin hesaplar
Get-ADUser -Filter { Enabled -eq &#36;true } -Properties LastLogonDate,whenCreated |
  Where-Object { -not &#36;_.LastLogonDate } |
  Select Name,SamAccountName,whenCreated</code></div></div>Not: LastLogonDate, lastLogonTimestamp özniteliğinden gelir ve DC'ler arasında varsayılan olarak 9-14 gün gecikmeyle çoğaltılır. Pasiflik tespiti için yeterli, anlık giriş takibi için değil.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2. Parolası yıllardır değişmeyenler</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>&#36;esik = (Get-Date).AddYears(-1)
Get-ADUser -Filter { Enabled -eq &#36;true } -Properties PasswordLastSet,PasswordNeverExpires |
  Where-Object { &#36;_.PasswordLastSet -lt &#36;esik -or &#36;_.PasswordNeverExpires } |
  Select Name,SamAccountName,PasswordLastSet,PasswordNeverExpires |
  Sort PasswordLastSet</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3. Test ve geçici hesap avı</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>Get-ADUser -Filter { Enabled -eq &#36;true } -Properties Description,LastLogonDate |
  Where-Object { &#36;_.SamAccountName -match '(?i)test|demo|temp|tmp|vendor|setup' -or
                 &#36;_.Description   -match '(?i)test|gecici|deneme' } |
  Select Name,SamAccountName,Description,LastLogonDate</code></div></div>Yerel yönetici parolaları için Windows LAPS kullanın; her makinede benzersiz ve döndürülen parola, ICO kararındaki "12 yıl aynı yerel admin parolası" sorununu kökten çözer.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4. Güvenli devre dışı bırakma</span></span><br />
Hesabı hemen silmeyin. Önerilen süreç:<br />
<ol type="1" class="mycode_list"><li>Sahibini bulun (yönetici, dış kaynak firması). Sahibi yoksa bu zaten bir bulgu.<br />
</li>
<li>Devre dışı bırakın, açıklamaya tarih ve talep numarası yazın, ayrı bir "Disabled" OU'ya taşıyın.<br />
</li>
<li>30-90 gün bekleyin; kimse şikayet etmezse silin.<br />
</li>
</ol>
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>Disable-ADAccount -Identity test2
Set-ADUser test2 -Description "Disabled 2026-10-23 - pasif hesap denetimi"
Move-ADObject (Get-ADUser test2).DistinguishedName -TargetPath "OU=Disabled,DC=lab,DC=local"</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kalıcı çözüm</span></span><br />
ICO'nun önerileriyle uyumlu olarak: zayıf ve yaygın parolaları engelleyen bir parola filtresi (Entra Password Protection gibi), uzaktan erişimde varsayılan MFA, tüm AD'yi kapsayan çeyreklik hesap incelemesi ve dış kaynak sözleşmelerinde hesap yaşam döngüsünün kimde olduğunun yazılı tanımı. Komutları önce lab ortamında deneyin.<br />
<br />
Kendi ortamınızda (veya labınızda) bu komutları çalıştırdığınızda kaç pasif hesap çıktı? Rakam paylaşabilirsiniz, isim değil.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yasal uyarı</span></span><br />
Bu yazı bilgilendirme ve savunma amaçlıdır. Anlatılan kontrolleri yalnızca kendi sistemlerinizde veya yazılı izinle yapın. İzinsiz erişim, tarama ve sömürü girişimleri TCK 243-245 kapsamında suçtur. TurkTeam white-hat bir topluluktur; çalıntı veri, hesap, combo/log paylaşımı ve hack hizmeti talepleri forum kurallarına aykırıdır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kaynaklar</span></span><ul class="mycode_list"><li><a href="https://ico.org.uk/about-the-ico/media-centre/news-and-blogs/2026/10/password1-is-not-an-appropriate-password/" target="_blank" rel="noopener" class="mycode_url">https://ico.org.uk/about-the-ico/media-c...-password/</a><br />
</li>
<li><a href="https://www.theregister.com/cyber-crime/2026/10/20/password1-and-a-forgotten-test-account-land-welsh-outfits-in-hot-water/5304139" target="_blank" rel="noopener" class="mycode_url">https://www.theregister.com/cyber-crime/...er/5304139</a><br />
</li>
<li><a href="https://learn.microsoft.com/en-us/powershell/module/activedirectory/search-adaccount" target="_blank" rel="noopener" class="mycode_url">https://learn.microsoft.com/en-us/powers...-adaccount</a><br />
</li>
</ul>
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://cdn.turkteam.org/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=380" target="_blank" title="">14-b04-ad-pasif-hesap-denetimi.png</a> (Dosya Boyutu: 119.41 KB / İndirme Sayısı: 6)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[BloodHound CE Lab Kurulumu: Docker ile İlk Attack Path Görselleştirme]]></title>
			<link>https://www.turkteam.org/konu-bloodhound-ce-lab-kurulumu-docker-ile-ilk-attack-path-gorsellestirme.html</link>
			<pubDate>Wed, 21 Oct 2026 11:26:08 +0300</pubDate>
			<dc:creator><![CDATA[<a href="https://www.turkteam.org/member.php?action=profile&uid=3">BilgeKagan</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.turkteam.org/konu-bloodhound-ce-lab-kurulumu-docker-ile-ilk-attack-path-gorsellestirme.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=329" loading="lazy"  alt="[Resim: attachment.php?aid=329]" class="mycode_img" /></div>
<br />
Merhaba,<br />
<br />
BloodHound Community Edition, Active Directory ve Entra ID saldırı yollarını graf olarak gösterir. SpecterOps'un resmi quickstart'ına göre BH-CLI + Docker Compose ile ayağa kaldırıp örnek veri veya SharpHound çıktısı yutturabilirsiniz. Bu yazı <span style="font-weight: bold;" class="mycode_b">yalnızca kendi lab AD'niz</span> içindir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Gereksinimler</span></span><ul class="mycode_list"><li>~8 GB RAM, 4 çekirdek, 10 GB disk (küçük lab)<br />
</li>
<li>Docker Desktop / Docker Engine<br />
</li>
<li>EDR'nin BloodHound bileşenlerini engellemesine karşı allowlist (mümkünse ayrı lab makinesi)<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kurulum özeti</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>wget https://github.com/SpecterOps/bloodhound-cli/releases/latest/download/bloodhound-cli-linux-amd64.tar.gz
tar -xvzf bloodhound-cli-linux-amd64.tar.gz
./bloodhound-cli install
# Çıktıdaki admin parolasını kaydedin
# UI: http://localhost:8080/ui/login</code></div></div>İlk girişte parola sıfırlanır. Parolayı kaybederseniz: <div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>./bloodhound-cli resetpwd</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Veri alma</span></span><ul class="mycode_list"><li>Hızlı keşif: resmi sample AD/Azure ZIP'lerini Quick Upload ile yükleyin<br />
</li>
<li>Gerçekçi lab: domain-joined Windows'ta SharpHound.exe (yalnızca kendi domain'iniz)<br />
</li>
<li>Entra: AzureHound; SaaS: OpenHound (GitHub/Okta/Jamf)<br />
</li>
</ul>
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code># SharpHound örneği (lab domain admin oturumu, izinli)
SharpHound.exe -c All --zipfilename lab.zip</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Explore</span></span><br />
Search'te user:bob (sample) gibi nesneler; Pathfinding ile BOB -&gt; Administrators yolu; Cypher sekmesinde hazır sorgular. Amaç: fazla yetki, kerberoastable hesap, ACL kısayollarını görüp <span style="font-weight: bold;" class="mycode_b">düzeltmek</span>.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yasal uyarı</span></span><br />
BloodHound'u sahip olmadığınız / yazılı izniniz olmayan ağlarda çalıştırmayın. TCK 243-245. Kurumsal ağda SOC/CISO bilgilendirmesi şart.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kaynaklar</span></span><ul class="mycode_list"><li><a href="https://bloodhound.specterops.io/get-started/quickstart/community-edition-quickstart" target="_blank" rel="noopener" class="mycode_url">https://bloodhound.specterops.io/get-sta...quickstart</a><br />
</li>
<li>SharpHound / AzureHound GitHub sürüm sayfaları<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yorumlama disiplini</span></span><br />
BloodHound'ta kırmızı yol görmek "yarın Domino" demek değildir; önceliklendirme gerekir. Önce internete açık + high privilege path, sonra kerberoastable, sonra ACL birikimi. Remediation ticket'larına ekran görüntüsü değil, nesne DN ve önerilen ACE değişikliği yazın.<br />
<br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Uygulamada sık gördüğüm hatalar</span></span><br />
Birçok ekip yamayı "planlandı" diye işaretleyip internete açık yüzeyde günlerce bekletiyor. İkinci sık hata: yalnızca CVE numarasına bakıp zincir etkisini görmemek. Üçüncü hata: yama sonrası log ve dosya bütünlüğüne bakmamak; oysa yama öncesi sömürü olmuş olabilir. Bu üç noktayı kendi kontrol listenize eklemenizi öneririm.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Ekip içi iletişim şablonu</span></span><br />
Yönetime veya müşteriye yazarken teknik jargonu azaltın: hangi varlık etkilendi, internete açık mı, yama var mı, geçici azaltma ne, doğrulama nasıl yapılacak. Tek paragrafta risk + eylem + sahiplik yazmak, uzun CVE özetinden daha hızlı karar aldırır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Lab not defteri</span></span><br />
Bu konuyu kendi defterime şu başlıklarla işliyorum: tarih, kaynak URL, etkilenen ürün/sürüm, internete açık mı, yama komutu, geri alma planı, IOC listesi, kime haber verildi. Siz de benzer basit bir şablon tutarsanız bir ay sonra "ne yapmıştık?" sorusu cevapsız kalmaz.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İzleme ve doğrulama</span></span><br />
Değişiklikten sonra en az bir negatif ve bir pozitif kontrol tanımlayın. Negatif: alarm boş yere düşmemeli. Pozitif: bilinen kötü örneği veya beklenen log satırını yakalamalı. İkisini de kaydedin; aksi halde "sanırım düzeldi" ile yetinirsiniz.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sonuç</span></span><br />
Özetle: kaynağı okuyun, kendi envanterinize bağlayın, yama veya azaltmayı uygulayın, sonra doğrulayın. TurkTeam'de yorumlarda kendi ortamınızdan (ürün adı ve sürüm yeter, hassas IP yazmayın) kısa deneyim paylaşırsanız herkes faydalanır.<br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Adım adım kontrol listesi (kopyala-yapıştır)</span></span><br />
<ol type="1" class="mycode_list"><li>Kaynak duyuruyu ve varsa üretici güvenlik sayfasını arşivleyin (PDF/HTML).<br />
</li>
<li>Envanterde etkilenen ürün var mı diye CMDB / agent raporu / netscan ile bakın.<br />
</li>
<li>İnternete açık mı, yoksa yalnızca iç ağda mı? Buna göre SLA seçin.<br />
</li>
<li>Yama veya yapılandırma azaltmasını stagingde deneyin.<br />
</li>
<li>Üretim penceresinde uygulayın; değişiklik kaydı açın.<br />
</li>
<li>Servis sağlık kontrolü + log doğrulaması yapın.<br />
</li>
<li>Gerekliyse IOC avı veya compromise assessment planlayın.<br />
</li>
<li>Kapanış notunu yazın: sürüm, tarih, kim onayladı.<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sık sorulanlar</span></span><br />
<span style="font-weight: bold;" class="mycode_b">Sadece okumak yeter mi?</span> Hayır. Okuduktan sonra envanter satırına bağlanmayan bilgi operasyonel değildir.<br />
<span style="font-weight: bold;" class="mycode_b">PoC çalıştırmalı mıyım?</span> Yalnızca izole lab ve yazılı izinle. İnternette rastgele deneme hem etik dışı hem yasadışı olabilir.<br />
<span style="font-weight: bold;" class="mycode_b">WAF / EDR tek başına kurtarır mı?</span> Katmanlı savunma işe yarar ama yamanın yerini tutmaz; özellikle kimlik doğrulamasız RCE sınıflarında.<br />
<span style="font-weight: bold;" class="mycode_b">Ne zaman yönetime çıkmalıyım?</span> İnternete açık kritik yüzey, aktif sömürü istihbaratı veya veri sızıntısı şüphesi varsa gecikmeden.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Örnek komut defteri</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code># Tarih damgası ve ortam notu
date -Is
hostnamectl 2&gt;/dev/null | head -5 || true
# Ağ dinleme özeti (lab)
ss -lntp | head -30
# Son reboot / güncelleme ipucu (systemd)
who -b 2&gt;/dev/null || true</code></div></div>Bu komutlar tanı koymaz; değişiklik öncesi/sonrası basline almak için kullanın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İlgili TurkTeam bölümleri</span></span><br />
Bu yazıyı okuduktan sonra aynı kategorideki komşu konulara ve Soru-Cevap bölümüne kendi lab çıktınızı (hassas veri olmadan) taşıyabilirsiniz. Kısa ekran görüntüsü veya komut çıktısı, uzun teoriden daha çok işe yarar.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kapanış ve yasal çerçeve</span></span><br />
TurkTeam white-hat bir topluluktur. Anlatılan teknikler eğitim, savunma ve izinli test içindir. Başkalarının sistemlerinde izinsiz tarama, sömürü, veri çalma veya "hack hizmeti" sunmak forum kurallarına ve TCK 243, 244, 245 maddelerine aykırıdır. Kendi laboratuvarınızı izolasyonla kurun; üretim verisi kullanmayın. Kaynaklardaki bağlantıları birincil referans kabul edin; bu yazı özet ve yol göstericidir, üretici duyurusunun yerini tutmaz.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kişisel deneyim notu</span></span><br />
Ben benzer konuları işlerken önce resmi duyuruyu iki kez okuyup sonra labda en küçük yeniden üretilebilir adımı arıyorum. Yeniden üretemiyorsam bile envanter ve yama doğrulamasını aynı gün bitirmeye çalışıyorum. Siz de "bugün tek iş" diye bir satır seçin: ya yamayı uygulayın ya da etkilenen varlık olmadığını kanıtlayın. İkisi de geçerli kapanıştır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Okuma listesi</span></span><ul class="mycode_list"><li>Üretici / araştırmacı birincil yazısı (kaynakçada)<br />
</li>
<li>CISA KEV veya CERT duyurusu varsa o<br />
</li>
<li>Kendi iç runbook'unuzun ilgili maddesi<br />
</li>
</ul>
Üçünden fazlasını aynı anda açmak yerine birini bitirip not alın; aksi halde tab kaybı başlar.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://cdn.turkteam.org/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=329" target="_blank" title="">12-b02-bloodhound.png</a> (Dosya Boyutu: 109.77 KB / İndirme Sayısı: 10)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=329" loading="lazy"  alt="[Resim: attachment.php?aid=329]" class="mycode_img" /></div>
<br />
Merhaba,<br />
<br />
BloodHound Community Edition, Active Directory ve Entra ID saldırı yollarını graf olarak gösterir. SpecterOps'un resmi quickstart'ına göre BH-CLI + Docker Compose ile ayağa kaldırıp örnek veri veya SharpHound çıktısı yutturabilirsiniz. Bu yazı <span style="font-weight: bold;" class="mycode_b">yalnızca kendi lab AD'niz</span> içindir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Gereksinimler</span></span><ul class="mycode_list"><li>~8 GB RAM, 4 çekirdek, 10 GB disk (küçük lab)<br />
</li>
<li>Docker Desktop / Docker Engine<br />
</li>
<li>EDR'nin BloodHound bileşenlerini engellemesine karşı allowlist (mümkünse ayrı lab makinesi)<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kurulum özeti</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>wget https://github.com/SpecterOps/bloodhound-cli/releases/latest/download/bloodhound-cli-linux-amd64.tar.gz
tar -xvzf bloodhound-cli-linux-amd64.tar.gz
./bloodhound-cli install
# Çıktıdaki admin parolasını kaydedin
# UI: http://localhost:8080/ui/login</code></div></div>İlk girişte parola sıfırlanır. Parolayı kaybederseniz: <div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>./bloodhound-cli resetpwd</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Veri alma</span></span><ul class="mycode_list"><li>Hızlı keşif: resmi sample AD/Azure ZIP'lerini Quick Upload ile yükleyin<br />
</li>
<li>Gerçekçi lab: domain-joined Windows'ta SharpHound.exe (yalnızca kendi domain'iniz)<br />
</li>
<li>Entra: AzureHound; SaaS: OpenHound (GitHub/Okta/Jamf)<br />
</li>
</ul>
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code># SharpHound örneği (lab domain admin oturumu, izinli)
SharpHound.exe -c All --zipfilename lab.zip</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Explore</span></span><br />
Search'te user:bob (sample) gibi nesneler; Pathfinding ile BOB -&gt; Administrators yolu; Cypher sekmesinde hazır sorgular. Amaç: fazla yetki, kerberoastable hesap, ACL kısayollarını görüp <span style="font-weight: bold;" class="mycode_b">düzeltmek</span>.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yasal uyarı</span></span><br />
BloodHound'u sahip olmadığınız / yazılı izniniz olmayan ağlarda çalıştırmayın. TCK 243-245. Kurumsal ağda SOC/CISO bilgilendirmesi şart.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kaynaklar</span></span><ul class="mycode_list"><li><a href="https://bloodhound.specterops.io/get-started/quickstart/community-edition-quickstart" target="_blank" rel="noopener" class="mycode_url">https://bloodhound.specterops.io/get-sta...quickstart</a><br />
</li>
<li>SharpHound / AzureHound GitHub sürüm sayfaları<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yorumlama disiplini</span></span><br />
BloodHound'ta kırmızı yol görmek "yarın Domino" demek değildir; önceliklendirme gerekir. Önce internete açık + high privilege path, sonra kerberoastable, sonra ACL birikimi. Remediation ticket'larına ekran görüntüsü değil, nesne DN ve önerilen ACE değişikliği yazın.<br />
<br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Uygulamada sık gördüğüm hatalar</span></span><br />
Birçok ekip yamayı "planlandı" diye işaretleyip internete açık yüzeyde günlerce bekletiyor. İkinci sık hata: yalnızca CVE numarasına bakıp zincir etkisini görmemek. Üçüncü hata: yama sonrası log ve dosya bütünlüğüne bakmamak; oysa yama öncesi sömürü olmuş olabilir. Bu üç noktayı kendi kontrol listenize eklemenizi öneririm.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Ekip içi iletişim şablonu</span></span><br />
Yönetime veya müşteriye yazarken teknik jargonu azaltın: hangi varlık etkilendi, internete açık mı, yama var mı, geçici azaltma ne, doğrulama nasıl yapılacak. Tek paragrafta risk + eylem + sahiplik yazmak, uzun CVE özetinden daha hızlı karar aldırır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Lab not defteri</span></span><br />
Bu konuyu kendi defterime şu başlıklarla işliyorum: tarih, kaynak URL, etkilenen ürün/sürüm, internete açık mı, yama komutu, geri alma planı, IOC listesi, kime haber verildi. Siz de benzer basit bir şablon tutarsanız bir ay sonra "ne yapmıştık?" sorusu cevapsız kalmaz.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İzleme ve doğrulama</span></span><br />
Değişiklikten sonra en az bir negatif ve bir pozitif kontrol tanımlayın. Negatif: alarm boş yere düşmemeli. Pozitif: bilinen kötü örneği veya beklenen log satırını yakalamalı. İkisini de kaydedin; aksi halde "sanırım düzeldi" ile yetinirsiniz.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sonuç</span></span><br />
Özetle: kaynağı okuyun, kendi envanterinize bağlayın, yama veya azaltmayı uygulayın, sonra doğrulayın. TurkTeam'de yorumlarda kendi ortamınızdan (ürün adı ve sürüm yeter, hassas IP yazmayın) kısa deneyim paylaşırsanız herkes faydalanır.<br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Adım adım kontrol listesi (kopyala-yapıştır)</span></span><br />
<ol type="1" class="mycode_list"><li>Kaynak duyuruyu ve varsa üretici güvenlik sayfasını arşivleyin (PDF/HTML).<br />
</li>
<li>Envanterde etkilenen ürün var mı diye CMDB / agent raporu / netscan ile bakın.<br />
</li>
<li>İnternete açık mı, yoksa yalnızca iç ağda mı? Buna göre SLA seçin.<br />
</li>
<li>Yama veya yapılandırma azaltmasını stagingde deneyin.<br />
</li>
<li>Üretim penceresinde uygulayın; değişiklik kaydı açın.<br />
</li>
<li>Servis sağlık kontrolü + log doğrulaması yapın.<br />
</li>
<li>Gerekliyse IOC avı veya compromise assessment planlayın.<br />
</li>
<li>Kapanış notunu yazın: sürüm, tarih, kim onayladı.<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sık sorulanlar</span></span><br />
<span style="font-weight: bold;" class="mycode_b">Sadece okumak yeter mi?</span> Hayır. Okuduktan sonra envanter satırına bağlanmayan bilgi operasyonel değildir.<br />
<span style="font-weight: bold;" class="mycode_b">PoC çalıştırmalı mıyım?</span> Yalnızca izole lab ve yazılı izinle. İnternette rastgele deneme hem etik dışı hem yasadışı olabilir.<br />
<span style="font-weight: bold;" class="mycode_b">WAF / EDR tek başına kurtarır mı?</span> Katmanlı savunma işe yarar ama yamanın yerini tutmaz; özellikle kimlik doğrulamasız RCE sınıflarında.<br />
<span style="font-weight: bold;" class="mycode_b">Ne zaman yönetime çıkmalıyım?</span> İnternete açık kritik yüzey, aktif sömürü istihbaratı veya veri sızıntısı şüphesi varsa gecikmeden.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Örnek komut defteri</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code># Tarih damgası ve ortam notu
date -Is
hostnamectl 2&gt;/dev/null | head -5 || true
# Ağ dinleme özeti (lab)
ss -lntp | head -30
# Son reboot / güncelleme ipucu (systemd)
who -b 2&gt;/dev/null || true</code></div></div>Bu komutlar tanı koymaz; değişiklik öncesi/sonrası basline almak için kullanın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İlgili TurkTeam bölümleri</span></span><br />
Bu yazıyı okuduktan sonra aynı kategorideki komşu konulara ve Soru-Cevap bölümüne kendi lab çıktınızı (hassas veri olmadan) taşıyabilirsiniz. Kısa ekran görüntüsü veya komut çıktısı, uzun teoriden daha çok işe yarar.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kapanış ve yasal çerçeve</span></span><br />
TurkTeam white-hat bir topluluktur. Anlatılan teknikler eğitim, savunma ve izinli test içindir. Başkalarının sistemlerinde izinsiz tarama, sömürü, veri çalma veya "hack hizmeti" sunmak forum kurallarına ve TCK 243, 244, 245 maddelerine aykırıdır. Kendi laboratuvarınızı izolasyonla kurun; üretim verisi kullanmayın. Kaynaklardaki bağlantıları birincil referans kabul edin; bu yazı özet ve yol göstericidir, üretici duyurusunun yerini tutmaz.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kişisel deneyim notu</span></span><br />
Ben benzer konuları işlerken önce resmi duyuruyu iki kez okuyup sonra labda en küçük yeniden üretilebilir adımı arıyorum. Yeniden üretemiyorsam bile envanter ve yama doğrulamasını aynı gün bitirmeye çalışıyorum. Siz de "bugün tek iş" diye bir satır seçin: ya yamayı uygulayın ya da etkilenen varlık olmadığını kanıtlayın. İkisi de geçerli kapanıştır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Okuma listesi</span></span><ul class="mycode_list"><li>Üretici / araştırmacı birincil yazısı (kaynakçada)<br />
</li>
<li>CISA KEV veya CERT duyurusu varsa o<br />
</li>
<li>Kendi iç runbook'unuzun ilgili maddesi<br />
</li>
</ul>
Üçünden fazlasını aynı anda açmak yerine birini bitirip not alın; aksi halde tab kaybı başlar.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://cdn.turkteam.org/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=329" target="_blank" title="">12-b02-bloodhound.png</a> (Dosya Boyutu: 109.77 KB / İndirme Sayısı: 10)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Kerberoasting Nedir? Servis Biletlerinden Hash Avı ve Savunma]]></title>
			<link>https://www.turkteam.org/konu-kerberoasting-nedir-servis-biletlerinden-hash-avi-ve-savunma.html</link>
			<pubDate>Sun, 18 Oct 2026 11:21:49 +0300</pubDate>
			<dc:creator><![CDATA[<a href="https://www.turkteam.org/member.php?action=profile&uid=2">Tonyukuk</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.turkteam.org/konu-kerberoasting-nedir-servis-biletlerinden-hash-avi-ve-savunma.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=159" loading="lazy"  alt="[Resim: attachment.php?aid=159]" class="mycode_img" /></div>
<br />
Merhaba,<br />
<br />
Kerberoasting, Active Directory'de servis hesaplarının TGS biletlerinden offline parola kırma saldırısıdır. Bu yazıda nasıl çalıştığını, labda nasıl görüldüğünü ve savunma kontrollerini anlatıyorum. Yalnızca kendi AD lab'ınızda deneyin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Mantık</span></span><br />
SPN (Service Principal Name) kayıtlı hesaplar için herhangi bir domain kullanıcısı TGS isteyebilir. Biletin bir kısmı servis hesabı anahtarıyla şifrilidir; zayıf parolada offline Hashcat/John ile kırma denemesi yapılır. Hedefe sürekli online brute force değildir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Savunmacı bakış: kim risk altında?</span></span><ul class="mycode_list"><li>Uzun ömürlü, insan tarafından seçilmiş parolalı servis hesapları<br />
</li>
<li>Eski SQL / IIS / monitör hesapları<br />
</li>
<li>Gereksiz SPN'ler<br />
</li>
</ul>
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code># Labda SPN listesi (PowerView / yerleşik)
setspn -Q */*</code></div></div><br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Tespit sinyalleri</span></span><ul class="mycode_list"><li>Kısa sürede çok sayıda TGS-REQ (anormal)<br />
</li>
<li>RC4 (0x17) kullanan isteklerin artması (ortama göre)<br />
</li>
<li>Servis hesabıyla alışılmadık istemcilerden erişim<br />
</li>
</ul>
Windows Security log ve RGEF / Azure Sentinel / Splunk kuralları bu pattern için yazılır. Yanlış pozitif olabilir; baseline alın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Savunma</span></span><br />
<ol type="1" class="mycode_list"><li>Servis hesaplarında uzun rastgele parola (25+ karakter) veya gMSA<br />
</li>
<li>Gereksiz SPN temizliği<br />
</li>
<li>AES kullanımını teşvik, eski şifreleme türlerini kısıtlama (dikkatli pilot)<br />
</li>
<li>Yönetici hesaplarına rastgele SPN eklemeyin<br />
</li>
<li>Tier model: krıtık sunuculara yolu daraltın<br />
</li>
</ol>
gMSA (Group Managed Service Account) parolayı Windows'un yönetmesini sağlar; Kerberoasting yüzeyini ciddi azaltır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kaynaklar</span></span><ul class="mycode_list"><li>MITRE ATT&amp;CK T1558.003 Steal or Forge Kerberos Tickets: Kerberoasting<br />
</li>
<li>Microsoft Docs: gMSA<br />
</li>
<li>ADSecurity.org arşiv yazıları (tarihsel referans)<br />
</li>
</ul>
<br />
Siz gMSA'ya geçerken hangi uygulama direnç gösterdi? Deneyimleri duymak isterim.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Honey SPN</span></span><br />
Sahte SPN'li tuzak hesap, Kerberoast denemelerini alarm olarak yakalamak için kullanılır. Parolası imkânsız uzunlukta olsun; TGS isteği gelince SIEM alarm. Labda deneyin, production'da legal/etik çerçevede uygulayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Raporlama dili</span></span><br />
Yönetime "Kerberoasting mümkün" yerine "zayıf parolalı 12 servis hesabı offline kırmaya açık; gMSA ile kapatılabilir" deyin. Sayı ve düzeltme yolu olmadan bulgu yaşamaz.<br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Doğrulama senaryosu</span></span><br />
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Lab disiplini</span></span><br />
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Runbook'a taşımak</span></span><br />
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Ölçüm ve alarm sağlığı</span></span><br />
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kapsam ve izin hatırlatması</span></span><br />
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yedekleme ve geri dönüş</span></span><br />
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Log saklama süresi</span></span><br />
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yanlış pozitif yönetimi</span></span><br />
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Değişiklik yönetimi ile ilişki</span></span><br />
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Eğitim tatbikatı</span></span><br />
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Doğrulama senaryosu</span></span><br />
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Lab disiplini</span></span><br />
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Runbook'a taşımak</span></span><br />
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Ölçüm ve alarm sağlığı</span></span><br />
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kapsam ve izin hatırlatması</span></span><br />
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yedekleme ve geri dönüş</span></span><br />
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Log saklama süresi</span></span><br />
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yanlış pozitif yönetimi</span></span><br />
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Değişiklik yönetimi ile ilişki</span></span><br />
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Eğitim tatbikatı</span></span><br />
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Uygulama notu</span></span><br />
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.<br />
<span style="font-style: italic;" class="mycode_i">Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.</span><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://cdn.turkteam.org/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=159" target="_blank" title="">100-n28-8818c5.png</a> (Dosya Boyutu: 67.8 KB / İndirme Sayısı: 6)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=159" loading="lazy"  alt="[Resim: attachment.php?aid=159]" class="mycode_img" /></div>
<br />
Merhaba,<br />
<br />
Kerberoasting, Active Directory'de servis hesaplarının TGS biletlerinden offline parola kırma saldırısıdır. Bu yazıda nasıl çalıştığını, labda nasıl görüldüğünü ve savunma kontrollerini anlatıyorum. Yalnızca kendi AD lab'ınızda deneyin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Mantık</span></span><br />
SPN (Service Principal Name) kayıtlı hesaplar için herhangi bir domain kullanıcısı TGS isteyebilir. Biletin bir kısmı servis hesabı anahtarıyla şifrilidir; zayıf parolada offline Hashcat/John ile kırma denemesi yapılır. Hedefe sürekli online brute force değildir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Savunmacı bakış: kim risk altında?</span></span><ul class="mycode_list"><li>Uzun ömürlü, insan tarafından seçilmiş parolalı servis hesapları<br />
</li>
<li>Eski SQL / IIS / monitör hesapları<br />
</li>
<li>Gereksiz SPN'ler<br />
</li>
</ul>
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code># Labda SPN listesi (PowerView / yerleşik)
setspn -Q */*</code></div></div><br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Tespit sinyalleri</span></span><ul class="mycode_list"><li>Kısa sürede çok sayıda TGS-REQ (anormal)<br />
</li>
<li>RC4 (0x17) kullanan isteklerin artması (ortama göre)<br />
</li>
<li>Servis hesabıyla alışılmadık istemcilerden erişim<br />
</li>
</ul>
Windows Security log ve RGEF / Azure Sentinel / Splunk kuralları bu pattern için yazılır. Yanlış pozitif olabilir; baseline alın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Savunma</span></span><br />
<ol type="1" class="mycode_list"><li>Servis hesaplarında uzun rastgele parola (25+ karakter) veya gMSA<br />
</li>
<li>Gereksiz SPN temizliği<br />
</li>
<li>AES kullanımını teşvik, eski şifreleme türlerini kısıtlama (dikkatli pilot)<br />
</li>
<li>Yönetici hesaplarına rastgele SPN eklemeyin<br />
</li>
<li>Tier model: krıtık sunuculara yolu daraltın<br />
</li>
</ol>
gMSA (Group Managed Service Account) parolayı Windows'un yönetmesini sağlar; Kerberoasting yüzeyini ciddi azaltır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kaynaklar</span></span><ul class="mycode_list"><li>MITRE ATT&amp;CK T1558.003 Steal or Forge Kerberos Tickets: Kerberoasting<br />
</li>
<li>Microsoft Docs: gMSA<br />
</li>
<li>ADSecurity.org arşiv yazıları (tarihsel referans)<br />
</li>
</ul>
<br />
Siz gMSA'ya geçerken hangi uygulama direnç gösterdi? Deneyimleri duymak isterim.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Honey SPN</span></span><br />
Sahte SPN'li tuzak hesap, Kerberoast denemelerini alarm olarak yakalamak için kullanılır. Parolası imkânsız uzunlukta olsun; TGS isteği gelince SIEM alarm. Labda deneyin, production'da legal/etik çerçevede uygulayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Raporlama dili</span></span><br />
Yönetime "Kerberoasting mümkün" yerine "zayıf parolalı 12 servis hesabı offline kırmaya açık; gMSA ile kapatılabilir" deyin. Sayı ve düzeltme yolu olmadan bulgu yaşamaz.<br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Doğrulama senaryosu</span></span><br />
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Lab disiplini</span></span><br />
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Runbook'a taşımak</span></span><br />
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Ölçüm ve alarm sağlığı</span></span><br />
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kapsam ve izin hatırlatması</span></span><br />
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yedekleme ve geri dönüş</span></span><br />
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Log saklama süresi</span></span><br />
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yanlış pozitif yönetimi</span></span><br />
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Değişiklik yönetimi ile ilişki</span></span><br />
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Eğitim tatbikatı</span></span><br />
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Doğrulama senaryosu</span></span><br />
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Lab disiplini</span></span><br />
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Runbook'a taşımak</span></span><br />
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Ölçüm ve alarm sağlığı</span></span><br />
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kapsam ve izin hatırlatması</span></span><br />
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yedekleme ve geri dönüş</span></span><br />
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Log saklama süresi</span></span><br />
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yanlış pozitif yönetimi</span></span><br />
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Değişiklik yönetimi ile ilişki</span></span><br />
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Eğitim tatbikatı</span></span><br />
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Uygulama notu</span></span><br />
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.<br />
<span style="font-style: italic;" class="mycode_i">Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.</span><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://cdn.turkteam.org/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=159" target="_blank" title="">100-n28-8818c5.png</a> (Dosya Boyutu: 67.8 KB / İndirme Sayısı: 6)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[LLMNR ve NBT-NS Zehirlenmesi: Neden Kapatılmalı ve Nasıl Tespit Edilir]]></title>
			<link>https://www.turkteam.org/konu-llmnr-ve-nbt-ns-zehirlenmesi-neden-kapatilmali-ve-nasil-tespit-edilir.html</link>
			<pubDate>Sun, 18 Oct 2026 11:02:18 +0300</pubDate>
			<dc:creator><![CDATA[<a href="https://www.turkteam.org/member.php?action=profile&uid=2">Tonyukuk</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.turkteam.org/konu-llmnr-ve-nbt-ns-zehirlenmesi-neden-kapatilmali-ve-nasil-tespit-edilir.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=138" loading="lazy"  alt="[Resim: attachment.php?aid=138]" class="mycode_img" /></div>
<br />
Selam,<br />
<br />
LLMNR ve NBT-NS, isim çözümlemesi başarısız olunca Windows'un yerel ağda "bu isim kimde?" diye bağırdığı protokoller. Saldırgan Responder benzeri araçlarla cevap verip kimlik bilgisi yakalayabilir. Bu yazıda neden kapatılacağını ve nasıl tespit edileceğini anlatıyorum. Lab ve kendi ağınız için.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sorun özeti</span></span><br />
Kullanıcı \\dosyaadi yazınca DNS bulamazsa LLMNR/NBT-NS devreye girer. Sahte yanıtla kurban saldırgana bağlanır; NTLMv2 challenge/response yakalanabilir. İç ağda hâlâ en sık lateral movement başlangıçlarından biri.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kapatma (GPO)</span></span><ul class="mycode_list"><li>LLMNR: Computer Configuration &gt; Administrative Templates &gt; Network &gt; DNS Client &gt; Turn off Multicast Name Resolution = Enabled<br />
</li>
<li>NBT-NS: arayüz özelliklerinden NetBIOS over TCP/IP disable veya PowerShell/GPO ile<br />
</li>
</ul>
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code># Lab örneği: belirli arayüzde NetBIOS kapatma (indeks ortama göre)
Get-CimInstance Win32_NetworkAdapterConfiguration | Where-Object {&#36;_.IPEnabled} |
  Select Description, TcpipNetbiosOptions</code></div></div><br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Tespit</span></span><ul class="mycode_list"><li>Ağda LLMNR/NBT-NS sorgularını IDS ile görün (Zeek/Suricata kuralları)<br />
</li>
<li>Windows'ta şüpheli logon Type 3 + kaynak IP olarak bilinmeyen cihaz<br />
</li>
<li>Honey- cred / decoy hesap ile Responder avı (kontrollü tatbikat)<br />
</li>
</ul>
Savunma tatbikatında kendi Responder'ınızı lab VLAN'ında çalıştırıp kapatma politikasının işe yaradığını doğrulayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Tamamlayıcı kontroller</span></span><ul class="mycode_list"><li>SMB imzalama zorunlu<br />
</li>
<li>LDAP signing / channel binding<br />
</li>
<li>Yerel yönetici parolası rastgele (LAPS)<br />
</li>
<li>Tiering: günlük kullanıcıda local admin yok<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kaynaklar</span></span><ul class="mycode_list"><li>Microsoft Docs: LLMNR<br />
</li>
<li>MITRE ATT&amp;CK: Adversary-in-the-Middle, LLMNR/NBT-NS poisoning<br />
</li>
<li>SANS / çeşitli red team blogları (savunma odaklı okuyun)<br />
</li>
</ul>
<br />
Siz LLMNR'yi kurum genelinde kapattığınızda kırılan eski uygulamanız oldu mu?<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">DNS doğru mu?</span></span><br />
LLMNR'yi kapatmadan önce iç DNS'in düzgün çalıştığından emin olun. Yanlış DNS + kapalı LLMNR = paylaşım ve yazıcı erişimi kırılır; kullanıcılar politikayı geri açtırır. Önce DNS sağlığı, sonra kapatma.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">IPv6 komşuluk</span></span><br />
Benzer zehirleme IPv6'da da mümkün (mitm6 senaryoları). IPv6'yı "kullanmıyoruz" diye açık bırakmayın; ya yönetin ya da bilinçli kapatın (kurum politikasına göre).<br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Doğrulama senaryosu</span></span><br />
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Lab disiplini</span></span><br />
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Runbook'a taşımak</span></span><br />
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Ölçüm ve alarm sağlığı</span></span><br />
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kapsam ve izin hatırlatması</span></span><br />
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yedekleme ve geri dönüş</span></span><br />
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Log saklama süresi</span></span><br />
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yanlış pozitif yönetimi</span></span><br />
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Değişiklik yönetimi ile ilişki</span></span><br />
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Eğitim tatbikatı</span></span><br />
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Doğrulama senaryosu</span></span><br />
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Lab disiplini</span></span><br />
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Runbook'a taşımak</span></span><br />
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Ölçüm ve alarm sağlığı</span></span><br />
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kapsam ve izin hatırlatması</span></span><br />
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yedekleme ve geri dönüş</span></span><br />
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Log saklama süresi</span></span><br />
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yanlış pozitif yönetimi</span></span><br />
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Değişiklik yönetimi ile ilişki</span></span><br />
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Eğitim tatbikatı</span></span><br />
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Uygulama notu</span></span><br />
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.<br />
<span style="font-style: italic;" class="mycode_i">Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.</span><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://cdn.turkteam.org/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=138" target="_blank" title="">100-n27-7a18d6.png</a> (Dosya Boyutu: 65.3 KB / İndirme Sayısı: 7)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=138" loading="lazy"  alt="[Resim: attachment.php?aid=138]" class="mycode_img" /></div>
<br />
Selam,<br />
<br />
LLMNR ve NBT-NS, isim çözümlemesi başarısız olunca Windows'un yerel ağda "bu isim kimde?" diye bağırdığı protokoller. Saldırgan Responder benzeri araçlarla cevap verip kimlik bilgisi yakalayabilir. Bu yazıda neden kapatılacağını ve nasıl tespit edileceğini anlatıyorum. Lab ve kendi ağınız için.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sorun özeti</span></span><br />
Kullanıcı \\dosyaadi yazınca DNS bulamazsa LLMNR/NBT-NS devreye girer. Sahte yanıtla kurban saldırgana bağlanır; NTLMv2 challenge/response yakalanabilir. İç ağda hâlâ en sık lateral movement başlangıçlarından biri.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kapatma (GPO)</span></span><ul class="mycode_list"><li>LLMNR: Computer Configuration &gt; Administrative Templates &gt; Network &gt; DNS Client &gt; Turn off Multicast Name Resolution = Enabled<br />
</li>
<li>NBT-NS: arayüz özelliklerinden NetBIOS over TCP/IP disable veya PowerShell/GPO ile<br />
</li>
</ul>
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code># Lab örneği: belirli arayüzde NetBIOS kapatma (indeks ortama göre)
Get-CimInstance Win32_NetworkAdapterConfiguration | Where-Object {&#36;_.IPEnabled} |
  Select Description, TcpipNetbiosOptions</code></div></div><br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Tespit</span></span><ul class="mycode_list"><li>Ağda LLMNR/NBT-NS sorgularını IDS ile görün (Zeek/Suricata kuralları)<br />
</li>
<li>Windows'ta şüpheli logon Type 3 + kaynak IP olarak bilinmeyen cihaz<br />
</li>
<li>Honey- cred / decoy hesap ile Responder avı (kontrollü tatbikat)<br />
</li>
</ul>
Savunma tatbikatında kendi Responder'ınızı lab VLAN'ında çalıştırıp kapatma politikasının işe yaradığını doğrulayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Tamamlayıcı kontroller</span></span><ul class="mycode_list"><li>SMB imzalama zorunlu<br />
</li>
<li>LDAP signing / channel binding<br />
</li>
<li>Yerel yönetici parolası rastgele (LAPS)<br />
</li>
<li>Tiering: günlük kullanıcıda local admin yok<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kaynaklar</span></span><ul class="mycode_list"><li>Microsoft Docs: LLMNR<br />
</li>
<li>MITRE ATT&amp;CK: Adversary-in-the-Middle, LLMNR/NBT-NS poisoning<br />
</li>
<li>SANS / çeşitli red team blogları (savunma odaklı okuyun)<br />
</li>
</ul>
<br />
Siz LLMNR'yi kurum genelinde kapattığınızda kırılan eski uygulamanız oldu mu?<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">DNS doğru mu?</span></span><br />
LLMNR'yi kapatmadan önce iç DNS'in düzgün çalıştığından emin olun. Yanlış DNS + kapalı LLMNR = paylaşım ve yazıcı erişimi kırılır; kullanıcılar politikayı geri açtırır. Önce DNS sağlığı, sonra kapatma.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">IPv6 komşuluk</span></span><br />
Benzer zehirleme IPv6'da da mümkün (mitm6 senaryoları). IPv6'yı "kullanmıyoruz" diye açık bırakmayın; ya yönetin ya da bilinçli kapatın (kurum politikasına göre).<br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Doğrulama senaryosu</span></span><br />
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Lab disiplini</span></span><br />
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Runbook'a taşımak</span></span><br />
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Ölçüm ve alarm sağlığı</span></span><br />
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kapsam ve izin hatırlatması</span></span><br />
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yedekleme ve geri dönüş</span></span><br />
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Log saklama süresi</span></span><br />
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yanlış pozitif yönetimi</span></span><br />
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Değişiklik yönetimi ile ilişki</span></span><br />
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Eğitim tatbikatı</span></span><br />
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Doğrulama senaryosu</span></span><br />
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Lab disiplini</span></span><br />
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Runbook'a taşımak</span></span><br />
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Ölçüm ve alarm sağlığı</span></span><br />
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kapsam ve izin hatırlatması</span></span><br />
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yedekleme ve geri dönüş</span></span><br />
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Log saklama süresi</span></span><br />
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yanlış pozitif yönetimi</span></span><br />
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Değişiklik yönetimi ile ilişki</span></span><br />
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Eğitim tatbikatı</span></span><br />
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Uygulama notu</span></span><br />
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.<br />
<span style="font-style: italic;" class="mycode_i">Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.</span><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://cdn.turkteam.org/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=138" target="_blank" title="">100-n27-7a18d6.png</a> (Dosya Boyutu: 65.3 KB / İndirme Sayısı: 7)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Active Directory Temelleri: Kerberos Biletleri ve Savunma]]></title>
			<link>https://www.turkteam.org/konu-active-directory-temelleri-kerberos-biletleri-ve-savunma.html</link>
			<pubDate>Fri, 16 Oct 2026 11:19:35 +0300</pubDate>
			<dc:creator><![CDATA[<a href="https://www.turkteam.org/member.php?action=profile&uid=2">Tonyukuk</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.turkteam.org/konu-active-directory-temelleri-kerberos-biletleri-ve-savunma.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=29" loading="lazy"  alt="[Resim: attachment.php?aid=29]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Active Directory Temelleri: Kerberos ve Savunmacı Bakış</span></span><br />
<br />
Selamlar,<br />
<br />
Kurumsal Windows ağlarının kalbi Active Directory'dir. Bu rehber saldırı tarifleri vermez; <span style="font-weight: bold;" class="mycode_b">Kerberos bilet modelini</span> ve mavi takımın izlemesi gereken noktaları anlatır. Tüm denemeler yalnızca kendi lab AD'nizde yapılmalıdır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Konuda Anlatılacaklar</span></span><br />
<ol type="1" class="mycode_list"><li>AD bileşenleri (kısa)<br />
</li>
<li>Kerberos: TGT ve servis bileti<br />
</li>
<li>Olay günlükleri (Event ID)<br />
</li>
<li>Savunma kontrol listesi<br />
</li>
<li>Kaynakça<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1) Temel Bileşenler</span></span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Domain Controller (DC):</span> Kimlik doğrulama ve dizin<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Domain User / Computer hesapları</span><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Group Policy (GPO)</span><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Kerberos / NTLM</span> kimlik doğrulama protokolleri<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2) Kerberos Biletleri (Kavram)</span></span><ul class="mycode_list"><li>Kullanıcı kimlik doğrular -&gt; <span style="font-weight: bold;" class="mycode_b">TGT</span> (Ticket Granting Ticket) alır<br />
</li>
<li>Bir servise erişmek için TGT ile <span style="font-weight: bold;" class="mycode_b">servis bileti (TGS)</span> ister<br />
</li>
<li>Servis bileti ilgili servis hesabının anahtarıyla korunur<br />
</li>
</ul>
Bu model yüzünden servis hesaplarının zayıf parolası veya aşırı yetkili hesaplar tüm ormanı riske atar.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3) İzlenmesi Gereken Olaylar</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code># DC Security loglarında (kavramsal)
# 4768: TGT isteği
# 4769: Servis bileti isteği
# 4624 / 4625: Oturum açma başarı / başarısız
# 4720: Kullanıcı hesabı oluşturma
# 4732: Güvenlik grubuna üye ekleme</code></div></div>SIEM'inizde "mesai dışı TGT + hassas gruba üye ekleme" gibi zincir kurallar kurun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4) Savunma Kontrol Listesi</span></span><ul class="mycode_list"><li>Tiering: Admin iş istasyonlarını günlük kullanıcı PC'lerinden ayırın<br />
</li>
<li>Servis hesaplarında uzun, rastgele parola veya gMSA<br />
</li>
<li>Krbtgt parolasını düzenli ve güvenli şekilde döndürün<br />
</li>
<li>Legacy NTLM'i mümkün olduğunca kısıtlayın<br />
</li>
<li>LDAP imzalama / kanal bağlama<br />
</li>
<li>Privileged Group değişikliklerini alarmlayın<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kaynakça</span></span><ul class="mycode_list"><li><a href="https://learn.microsoft.com/en-us/windows-server/security/kerberos/kerberos-authentication-overview" target="_blank" rel="noopener" class="mycode_url">Microsoft - Kerberos Authentication Overview</a><br />
</li>
<li><a href="https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/best-practices-for-securing-active-directory" target="_blank" rel="noopener" class="mycode_url">Microsoft - Best Practices for Securing AD</a><br />
</li>
<li><a href="https://attack.mitre.org/matrices/enterprise/windows/" target="_blank" rel="noopener" class="mycode_url">MITRE ATT&amp;CK - Windows</a><br />
</li>
</ul>
<br />
Görsel: TurkTeam özgün kapak görseli.<br />
<br />
<blockquote class="mycode_quote"><cite>Alıntı:</cite><span style="font-weight: bold;" class="mycode_b">Yasal Uyarı:</span> AD testlerini yalnızca kendi lab ortamınızda veya yazılı yetkili pentest kapsamında yapın. TCK 243-245 geçerlidir.</blockquote>
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://cdn.turkteam.org/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=29" target="_blank" title="">tonyukuk-18.jpg</a> (Dosya Boyutu: 98.92 KB / İndirme Sayısı: 16)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=29" loading="lazy"  alt="[Resim: attachment.php?aid=29]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Active Directory Temelleri: Kerberos ve Savunmacı Bakış</span></span><br />
<br />
Selamlar,<br />
<br />
Kurumsal Windows ağlarının kalbi Active Directory'dir. Bu rehber saldırı tarifleri vermez; <span style="font-weight: bold;" class="mycode_b">Kerberos bilet modelini</span> ve mavi takımın izlemesi gereken noktaları anlatır. Tüm denemeler yalnızca kendi lab AD'nizde yapılmalıdır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Konuda Anlatılacaklar</span></span><br />
<ol type="1" class="mycode_list"><li>AD bileşenleri (kısa)<br />
</li>
<li>Kerberos: TGT ve servis bileti<br />
</li>
<li>Olay günlükleri (Event ID)<br />
</li>
<li>Savunma kontrol listesi<br />
</li>
<li>Kaynakça<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1) Temel Bileşenler</span></span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Domain Controller (DC):</span> Kimlik doğrulama ve dizin<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Domain User / Computer hesapları</span><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Group Policy (GPO)</span><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Kerberos / NTLM</span> kimlik doğrulama protokolleri<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2) Kerberos Biletleri (Kavram)</span></span><ul class="mycode_list"><li>Kullanıcı kimlik doğrular -&gt; <span style="font-weight: bold;" class="mycode_b">TGT</span> (Ticket Granting Ticket) alır<br />
</li>
<li>Bir servise erişmek için TGT ile <span style="font-weight: bold;" class="mycode_b">servis bileti (TGS)</span> ister<br />
</li>
<li>Servis bileti ilgili servis hesabının anahtarıyla korunur<br />
</li>
</ul>
Bu model yüzünden servis hesaplarının zayıf parolası veya aşırı yetkili hesaplar tüm ormanı riske atar.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3) İzlenmesi Gereken Olaylar</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code># DC Security loglarında (kavramsal)
# 4768: TGT isteği
# 4769: Servis bileti isteği
# 4624 / 4625: Oturum açma başarı / başarısız
# 4720: Kullanıcı hesabı oluşturma
# 4732: Güvenlik grubuna üye ekleme</code></div></div>SIEM'inizde "mesai dışı TGT + hassas gruba üye ekleme" gibi zincir kurallar kurun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4) Savunma Kontrol Listesi</span></span><ul class="mycode_list"><li>Tiering: Admin iş istasyonlarını günlük kullanıcı PC'lerinden ayırın<br />
</li>
<li>Servis hesaplarında uzun, rastgele parola veya gMSA<br />
</li>
<li>Krbtgt parolasını düzenli ve güvenli şekilde döndürün<br />
</li>
<li>Legacy NTLM'i mümkün olduğunca kısıtlayın<br />
</li>
<li>LDAP imzalama / kanal bağlama<br />
</li>
<li>Privileged Group değişikliklerini alarmlayın<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kaynakça</span></span><ul class="mycode_list"><li><a href="https://learn.microsoft.com/en-us/windows-server/security/kerberos/kerberos-authentication-overview" target="_blank" rel="noopener" class="mycode_url">Microsoft - Kerberos Authentication Overview</a><br />
</li>
<li><a href="https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/best-practices-for-securing-active-directory" target="_blank" rel="noopener" class="mycode_url">Microsoft - Best Practices for Securing AD</a><br />
</li>
<li><a href="https://attack.mitre.org/matrices/enterprise/windows/" target="_blank" rel="noopener" class="mycode_url">MITRE ATT&amp;CK - Windows</a><br />
</li>
</ul>
<br />
Görsel: TurkTeam özgün kapak görseli.<br />
<br />
<blockquote class="mycode_quote"><cite>Alıntı:</cite><span style="font-weight: bold;" class="mycode_b">Yasal Uyarı:</span> AD testlerini yalnızca kendi lab ortamınızda veya yazılı yetkili pentest kapsamında yapın. TCK 243-245 geçerlidir.</blockquote>
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://cdn.turkteam.org/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=29" target="_blank" title="">tonyukuk-18.jpg</a> (Dosya Boyutu: 98.92 KB / İndirme Sayısı: 16)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
	</channel>
</rss>