<?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 - CTF Genel]]></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:59 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[CTF'de Forensics: Wireshark ile Flag Avı Pratik Notlarım]]></title>
			<link>https://www.turkteam.org/konu-ctf-de-forensics-wireshark-ile-flag-avi-pratik-notlarim.html</link>
			<pubDate>Mon, 19 Oct 2026 00:46:55 +0300</pubDate>
			<dc:creator><![CDATA[<a href="https://www.turkteam.org/member.php?action=profile&uid=4">KulTigin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.turkteam.org/konu-ctf-de-forensics-wireshark-ile-flag-avi-pratik-notlarim.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=269" loading="lazy"  alt="[Resim: attachment.php?aid=269]" class="mycode_img" /></div>
<br />
CTF forensics sorularında en çok pcap geliyor. Bu yazıda Wireshark ile flag avında izlediğim yolu, filtreleri ve sık görülen tuzakları kendi pratik notlarımdan derledim. Örnekler genel teknik; spesifik yarışma sorusu spoiler'ı yok.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İlk 60 saniye kontrol listesi</span></span><br />
<ol type="1" class="mycode_list"><li>Capture Options değil; File &gt; Open ile pcap'i aç<br />
</li>
<li>Statistics &gt; Protocol Hierarchy: hangi protokoller var?<br />
</li>
<li>Statistics &gt; Conversations / Endpoints: kim kiminle konuşmuş?<br />
</li>
<li>File &gt; Export Objects: HTTP, SMB, IMF... dosya sızmış mı?<br />
</li>
</ol>
Protocol Hierarchy'de birdenbire "Data" şişmesi, tünel veya özel protokol ipucu olabilir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Display filter vs capture filter</span></span><br />
Capture filter BPF'dir (tcpdump ile aynı aile). Display filter Wireshark'a özgüdür ve daha ifade gücüdür. CTF'de dosya zaten kaydedilmiş olduğu için display filter kullanırsınız.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>http.request
dns.qry.name contains "flag"
tcp.stream eq 3
frame contains "CTF{"</code></div></div><br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=270" loading="lazy"  alt="[Resim: attachment.php?aid=270]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">HTTP üzerinden dosya çıkarmak</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code># Display filter
http.request.method == "GET"</code></div></div>Sonra Export Objects &gt; HTTP. İndirilen PNG/JPEG içinde stego olabilir; strings + binwalk laboratuvarı ayrı hikâye.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>strings -n 8 indirdigim.bin | head
binwalk indirdigim.bin</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">TCP stream takip</span></span><br />
Şüpheli pakette sağ tık &gt; Follow &gt; TCP Stream. Aynı bağlantının uygulama verisini birleşik görürsünüz. "Show data as" seçeneğini ASCII / Hex / UTF-8 arasında değiştirin; flag bazen Base64'tür.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>echo 'Q1RGe2V4YW1wbGV9' | base64 -d</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">DNS tüneli ve şüpheli sorgular</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>dns.qry.name</code></div></div>Uzun, rastgele alt alan adları veya TXT kayıtları tünel olabilir. Statistics &gt; DNS ile sorgu dağılımına bakın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">USB / diğer link katmanı</span></span><br />
Bazı CTF pcap'leri USBPcap ile alınmıştır. Protocol Hierarchy'de USB görürseniz korkmayın; Wireshark USB dekoratörleriyle cihaz tanımlayıcılarını ve interrupt transferlerini gösterebilir. Flag bazen HID tuş vuruşu olarak gelir (keystroke reconstruction).<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Zaman ve parçalama</span></span><ul class="mycode_list"><li>View &gt; Time Display Format &gt; Seconds Since Beginning — akışı görmek kolaylaşır<br />
</li>
<li>Parçalanmış IP / yeniden montaj: tercihlerde reassembly açık olsun<br />
</li>
<li>VLAN etiketleri: vlan.id filtresi<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sık tuzaklar</span></span><ul class="mycode_list"><li>Yalnızca http.filter ile bakıp HTTPS içine flag aramak (şifreli; anahtar yoksa göremezsiniz)<br />
</li>
<li>Export Objects'te "saved" sanıp aslında boş dosya kaydetmek<br />
</li>
<li>Wrong stream numarası: Conversations'dan stream index doğrulayın<br />
</li>
<li>Flag formatını okumamak (bazen flag{...} değil TEAM{...})<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>Wireshark User's Guide<br />
</li>
<li>pcap challenge arşivleri (yasal CTF setleri)<br />
</li>
<li>tshark -Y ile aynı filtreleri CLI'da koşturma<br />
</li>
</ul>
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>tshark -r challenge.pcap -Y 'frame contains "flag"' -T fields -e frame.number</code></div></div><br />
Sizin forensics CTF'de "ilk baktığım yer" neresi? USB keystroke sorusu çözenler yorumda ipucu (spoiler etiketiyle) bırakabilir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">TLS trafiğinde flag aramak</span></span><br />
Şifreli trafikte düz metin flag yoksa anahtar materyali (SSLKEYLOGFILE) verilmiş olabilir; CTF yazarları bazen bunu ayrı dosyada sunar. Wireshark'ta Preferences &gt; Protocols &gt; TLS &gt; (Pre)-Master-Secret log filename. Key olmadan "HTTPS içinde ara" zaman kaybıdır; başka kanala (DNS, dosya export) bakın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">tshark ile otomasyon</span></span><br />
Birden fazla pcap gelen CTF'de bash döngüsü:<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>for f in *.pcap; do echo "== &#36;f"; tshark -r "&#36;f" -Y 'http.request' -T fields -e http.host -e http.request.uri; done</code></div></div>İlk eleme böyle biter; derin Follow Stream'i GUI'de yaparsınız.<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">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=269" target="_blank" title="">100-n08-e61b22.png</a> (Dosya Boyutu: 57.58 KB / İndirme Sayısı: 10)
<!-- end: postbit_attachments_attachment --><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=270" target="_blank" title="">n08-inner.png</a> (Dosya Boyutu: 21.21 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=269" loading="lazy"  alt="[Resim: attachment.php?aid=269]" class="mycode_img" /></div>
<br />
CTF forensics sorularında en çok pcap geliyor. Bu yazıda Wireshark ile flag avında izlediğim yolu, filtreleri ve sık görülen tuzakları kendi pratik notlarımdan derledim. Örnekler genel teknik; spesifik yarışma sorusu spoiler'ı yok.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İlk 60 saniye kontrol listesi</span></span><br />
<ol type="1" class="mycode_list"><li>Capture Options değil; File &gt; Open ile pcap'i aç<br />
</li>
<li>Statistics &gt; Protocol Hierarchy: hangi protokoller var?<br />
</li>
<li>Statistics &gt; Conversations / Endpoints: kim kiminle konuşmuş?<br />
</li>
<li>File &gt; Export Objects: HTTP, SMB, IMF... dosya sızmış mı?<br />
</li>
</ol>
Protocol Hierarchy'de birdenbire "Data" şişmesi, tünel veya özel protokol ipucu olabilir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Display filter vs capture filter</span></span><br />
Capture filter BPF'dir (tcpdump ile aynı aile). Display filter Wireshark'a özgüdür ve daha ifade gücüdür. CTF'de dosya zaten kaydedilmiş olduğu için display filter kullanırsınız.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>http.request
dns.qry.name contains "flag"
tcp.stream eq 3
frame contains "CTF{"</code></div></div><br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=270" loading="lazy"  alt="[Resim: attachment.php?aid=270]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">HTTP üzerinden dosya çıkarmak</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code># Display filter
http.request.method == "GET"</code></div></div>Sonra Export Objects &gt; HTTP. İndirilen PNG/JPEG içinde stego olabilir; strings + binwalk laboratuvarı ayrı hikâye.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>strings -n 8 indirdigim.bin | head
binwalk indirdigim.bin</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">TCP stream takip</span></span><br />
Şüpheli pakette sağ tık &gt; Follow &gt; TCP Stream. Aynı bağlantının uygulama verisini birleşik görürsünüz. "Show data as" seçeneğini ASCII / Hex / UTF-8 arasında değiştirin; flag bazen Base64'tür.<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>echo 'Q1RGe2V4YW1wbGV9' | base64 -d</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">DNS tüneli ve şüpheli sorgular</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>dns.qry.name</code></div></div>Uzun, rastgele alt alan adları veya TXT kayıtları tünel olabilir. Statistics &gt; DNS ile sorgu dağılımına bakın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">USB / diğer link katmanı</span></span><br />
Bazı CTF pcap'leri USBPcap ile alınmıştır. Protocol Hierarchy'de USB görürseniz korkmayın; Wireshark USB dekoratörleriyle cihaz tanımlayıcılarını ve interrupt transferlerini gösterebilir. Flag bazen HID tuş vuruşu olarak gelir (keystroke reconstruction).<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Zaman ve parçalama</span></span><ul class="mycode_list"><li>View &gt; Time Display Format &gt; Seconds Since Beginning — akışı görmek kolaylaşır<br />
</li>
<li>Parçalanmış IP / yeniden montaj: tercihlerde reassembly açık olsun<br />
</li>
<li>VLAN etiketleri: vlan.id filtresi<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sık tuzaklar</span></span><ul class="mycode_list"><li>Yalnızca http.filter ile bakıp HTTPS içine flag aramak (şifreli; anahtar yoksa göremezsiniz)<br />
</li>
<li>Export Objects'te "saved" sanıp aslında boş dosya kaydetmek<br />
</li>
<li>Wrong stream numarası: Conversations'dan stream index doğrulayın<br />
</li>
<li>Flag formatını okumamak (bazen flag{...} değil TEAM{...})<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>Wireshark User's Guide<br />
</li>
<li>pcap challenge arşivleri (yasal CTF setleri)<br />
</li>
<li>tshark -Y ile aynı filtreleri CLI'da koşturma<br />
</li>
</ul>
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>tshark -r challenge.pcap -Y 'frame contains "flag"' -T fields -e frame.number</code></div></div><br />
Sizin forensics CTF'de "ilk baktığım yer" neresi? USB keystroke sorusu çözenler yorumda ipucu (spoiler etiketiyle) bırakabilir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">TLS trafiğinde flag aramak</span></span><br />
Şifreli trafikte düz metin flag yoksa anahtar materyali (SSLKEYLOGFILE) verilmiş olabilir; CTF yazarları bazen bunu ayrı dosyada sunar. Wireshark'ta Preferences &gt; Protocols &gt; TLS &gt; (Pre)-Master-Secret log filename. Key olmadan "HTTPS içinde ara" zaman kaybıdır; başka kanala (DNS, dosya export) bakın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">tshark ile otomasyon</span></span><br />
Birden fazla pcap gelen CTF'de bash döngüsü:<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>for f in *.pcap; do echo "== &#36;f"; tshark -r "&#36;f" -Y 'http.request' -T fields -e http.host -e http.request.uri; done</code></div></div>İlk eleme böyle biter; derin Follow Stream'i GUI'de yaparsınız.<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">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=269" target="_blank" title="">100-n08-e61b22.png</a> (Dosya Boyutu: 57.58 KB / İndirme Sayısı: 10)
<!-- end: postbit_attachments_attachment --><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=270" target="_blank" title="">n08-inner.png</a> (Dosya Boyutu: 21.21 KB / İndirme Sayısı: 10)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[picoCTF mi pwn.college mi? Yeni Baslayan Icin CTF Platformu Secimi]]></title>
			<link>https://www.turkteam.org/konu-picoctf-mi-pwn-college-mi-yeni-baslayan-icin-ctf-platformu-secimi.html</link>
			<pubDate>Sat, 17 Oct 2026 11:25:17 +0300</pubDate>
			<dc:creator><![CDATA[<a href="https://www.turkteam.org/member.php?action=profile&uid=4">KulTigin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.turkteam.org/konu-picoctf-mi-pwn-college-mi-yeni-baslayan-icin-ctf-platformu-secimi.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=97" loading="lazy"  alt="[Resim: attachment.php?aid=97]" class="mycode_img" /></div>
<br />
Selam arkadaslar,<br />
<br />
"CTF'e baslamak istiyorum, nereden?" sorusunu cok aliyorum. Iki populer ucretsiz secenek var ama ikisi ayni kitleye hitap etmiyor: picoCTF ve pwn.college. Kendi deneyimime dayanarak hangisiyle baslamak gerektigini anlatayim.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Konuda Anlatilacaklar</span></span><br />
<ol type="1" class="mycode_list"><li>CTF turleri kisaca<br />
</li>
<li>picoCTF kime uygun?<br />
</li>
<li>pwn.college kime uygun?<br />
</li>
<li>Onerdigim sira<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1) CTF Turleri</span></span><br />
Jeopardy tarzinda kategoriler vardir: web, kripto, tersine muhendislik, pwn (binary exploitation), forensics, OSINT. Yeni baslayan icin en kolay giris web ve kriptodur; pwn en dik ogrenme egrisine sahiptir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2) picoCTF</span></span><br />
picoCTF (artik CyLab Security Academy altinda) tam bir baslangic platformu: ucretsiz, tarayici tabanli, kategorilere ayrilmis, ipuclu ve cozumlu. Yil boyu acik pratik alani var, ayrica donemsel yarismalar duzenleniyor. Hic terminal bilmeyen biri bile buradan baslayabilir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3) pwn.college</span></span><br />
pwn.college ise Linux komut satirinda rahat olduktan sonra parlar. Rehberli terminal, VS Code, masaustu ve SSH ortamlari sunar; yapilandirilmis ogrenme yollari ve giderek zorlasan challenge'lari vardir. Ozellikle binary exploitation ve derinlemesine bilgisayar bilgisi icin bicilmis kaftan ama cig bir baslangic noktasi degil.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4) Onerdigim Sira</span></span><br />
<ol type="1" class="mycode_list"><li>Once picoCTF: genis bir giris, cok kategori, moral icin hizli cozumler.<br />
</li>
<li>Paralelde temel Linux (bir onceki "25 komut" konusu ise yarar).<br />
</li>
<li>Rahatlayinca pwn.college: pwn ve sistem tarafinda derinlesme.<br />
</li>
</ol>
En buyuk hata, dogrudan pwn'e dalip tikanip birakmak. Once momentum kazanin, sonra zorlasin.<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://picoctf.org/" target="_blank" rel="noopener" class="mycode_url">picoCTF / CyLab Security Academy</a><br />
</li>
<li><a href="https://pwn.college/" target="_blank" rel="noopener" class="mycode_url">pwn.college</a><br />
</li>
</ul>
<br />
<blockquote class="mycode_quote"><cite>Alıntı:</cite><span style="font-weight: bold;" class="mycode_b">Yasal not:</span> CTF becerilerini yalnizca bu platformlarda ve izinli lab ortamlarinda kullanin.</blockquote>
<br />
Siz hangisiyle basladiniz, ilk cozdugunuz challenge neydi?<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=97" target="_blank" title="">kultigin-k04.png</a> (Dosya Boyutu: 81.68 KB / İndirme Sayısı: 9)
<!-- 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=97" loading="lazy"  alt="[Resim: attachment.php?aid=97]" class="mycode_img" /></div>
<br />
Selam arkadaslar,<br />
<br />
"CTF'e baslamak istiyorum, nereden?" sorusunu cok aliyorum. Iki populer ucretsiz secenek var ama ikisi ayni kitleye hitap etmiyor: picoCTF ve pwn.college. Kendi deneyimime dayanarak hangisiyle baslamak gerektigini anlatayim.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Konuda Anlatilacaklar</span></span><br />
<ol type="1" class="mycode_list"><li>CTF turleri kisaca<br />
</li>
<li>picoCTF kime uygun?<br />
</li>
<li>pwn.college kime uygun?<br />
</li>
<li>Onerdigim sira<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1) CTF Turleri</span></span><br />
Jeopardy tarzinda kategoriler vardir: web, kripto, tersine muhendislik, pwn (binary exploitation), forensics, OSINT. Yeni baslayan icin en kolay giris web ve kriptodur; pwn en dik ogrenme egrisine sahiptir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2) picoCTF</span></span><br />
picoCTF (artik CyLab Security Academy altinda) tam bir baslangic platformu: ucretsiz, tarayici tabanli, kategorilere ayrilmis, ipuclu ve cozumlu. Yil boyu acik pratik alani var, ayrica donemsel yarismalar duzenleniyor. Hic terminal bilmeyen biri bile buradan baslayabilir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3) pwn.college</span></span><br />
pwn.college ise Linux komut satirinda rahat olduktan sonra parlar. Rehberli terminal, VS Code, masaustu ve SSH ortamlari sunar; yapilandirilmis ogrenme yollari ve giderek zorlasan challenge'lari vardir. Ozellikle binary exploitation ve derinlemesine bilgisayar bilgisi icin bicilmis kaftan ama cig bir baslangic noktasi degil.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4) Onerdigim Sira</span></span><br />
<ol type="1" class="mycode_list"><li>Once picoCTF: genis bir giris, cok kategori, moral icin hizli cozumler.<br />
</li>
<li>Paralelde temel Linux (bir onceki "25 komut" konusu ise yarar).<br />
</li>
<li>Rahatlayinca pwn.college: pwn ve sistem tarafinda derinlesme.<br />
</li>
</ol>
En buyuk hata, dogrudan pwn'e dalip tikanip birakmak. Once momentum kazanin, sonra zorlasin.<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://picoctf.org/" target="_blank" rel="noopener" class="mycode_url">picoCTF / CyLab Security Academy</a><br />
</li>
<li><a href="https://pwn.college/" target="_blank" rel="noopener" class="mycode_url">pwn.college</a><br />
</li>
</ul>
<br />
<blockquote class="mycode_quote"><cite>Alıntı:</cite><span style="font-weight: bold;" class="mycode_b">Yasal not:</span> CTF becerilerini yalnizca bu platformlarda ve izinli lab ortamlarinda kullanin.</blockquote>
<br />
Siz hangisiyle basladiniz, ilk cozdugunuz challenge neydi?<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=97" target="_blank" title="">kultigin-k04.png</a> (Dosya Boyutu: 81.68 KB / İndirme Sayısı: 9)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[CTF Metodolojisi: Takılmadan İlerlemek İçin Kişisel Kontrol Listem]]></title>
			<link>https://www.turkteam.org/konu-ctf-metodolojisi-takilmadan-ilerlemek-icin-kisisel-kontrol-listem.html</link>
			<pubDate>Fri, 16 Oct 2026 11:24:05 +0300</pubDate>
			<dc:creator><![CDATA[<a href="https://www.turkteam.org/member.php?action=profile&uid=4">KulTigin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.turkteam.org/konu-ctf-metodolojisi-takilmadan-ilerlemek-icin-kisisel-kontrol-listem.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=37" loading="lazy"  alt="[Resim: attachment.php?aid=37]" class="mycode_img" /></div>
<br />
Selam millet!<br />
<br />
CTF'de puan değil öğrenme hedefleyenler için kendi kontrol listemi paylaşıyorum. Jeopardy veya HTB makinesi fark etmez; sıra aynı: enum, exploit, stabilize, escalate, dokümante et.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1) Keşif (asla atlama)</span></span><ul class="mycode_list"><li>Port tarama (önce hızlı, sonra full)<br />
</li>
<li>Servis versiyonları + web başlıkları<br />
</li>
<li>robots.txt, kaynak kodu yorumları, gizli parametreler<br />
</li>
<li>Varsayılan kimlik bilgileri (lab'da!)<br />
</li>
</ul>
"Hemen exploit ara" refleksi Easy makinelerde bile zaman kaybettiriyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2) Ayak Basma</span></span><br />
Bir şey bulduğunuzda hemen shell peşine düşmeyin; önce kanıtlayın (ör. dosya okuma). Sonra reverse shell / web shell. Shell alınca: whoami, id, uname -a, ip a.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3) Yetki Yükseltme Kontrol Listesi (Linux)</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>sudo -l
find / -perm -4000 -type f 2&gt;/dev/null
ls -la /etc/cron*
getcap -r / 2&gt;/dev/null
env | grep -iE 'pass|key|token'</code></div></div>Windows'ta: whoami /priv, net user, AlwaysInstallElevated, yazılabilir servis yolları.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4) Zaman Kutusu</span></span><br />
90 dakika takıldıysanız writeup'tan tek ipucu alın (retired/bitmiş CTF). Aktif yarışmada spoiler yasak; takım arkadaşınıza sorun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">5) Sonra</span></span><br />
Bayrağı teslim etmek bitiş değil. Not: hangi yanlış varsayım zaman kaybettirdi? Bir dahaki sefere ilk bakılacak yer neresi?<br />
<br />
Sizin listenizde olmazsa olmaz bir madde var mı? Alta yazın, listeyi büyütelim.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Kaynak:</span> <a href="https://book.hacktricks.xyz/" target="_blank" rel="noopener" class="mycode_url">HackTricks</a> (referans, körlemesine kopyalamayın), <a href="https://gtfobins.github.io/" target="_blank" rel="noopener" class="mycode_url">GTFOBins</a><br />
<br />
<blockquote class="mycode_quote"><cite>Alıntı:</cite>Yalnızca CTF/lab ve izinli sistemler. TCK 243-245.</blockquote>
<br />
Kapak: özgün TurkTeam görseli.<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=37" target="_blank" title="">kultigin-07.png</a> (Dosya Boyutu: 78.31 KB / İndirme Sayısı: 12)
<!-- 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=37" loading="lazy"  alt="[Resim: attachment.php?aid=37]" class="mycode_img" /></div>
<br />
Selam millet!<br />
<br />
CTF'de puan değil öğrenme hedefleyenler için kendi kontrol listemi paylaşıyorum. Jeopardy veya HTB makinesi fark etmez; sıra aynı: enum, exploit, stabilize, escalate, dokümante et.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1) Keşif (asla atlama)</span></span><ul class="mycode_list"><li>Port tarama (önce hızlı, sonra full)<br />
</li>
<li>Servis versiyonları + web başlıkları<br />
</li>
<li>robots.txt, kaynak kodu yorumları, gizli parametreler<br />
</li>
<li>Varsayılan kimlik bilgileri (lab'da!)<br />
</li>
</ul>
"Hemen exploit ara" refleksi Easy makinelerde bile zaman kaybettiriyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2) Ayak Basma</span></span><br />
Bir şey bulduğunuzda hemen shell peşine düşmeyin; önce kanıtlayın (ör. dosya okuma). Sonra reverse shell / web shell. Shell alınca: whoami, id, uname -a, ip a.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3) Yetki Yükseltme Kontrol Listesi (Linux)</span></span><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>sudo -l
find / -perm -4000 -type f 2&gt;/dev/null
ls -la /etc/cron*
getcap -r / 2&gt;/dev/null
env | grep -iE 'pass|key|token'</code></div></div>Windows'ta: whoami /priv, net user, AlwaysInstallElevated, yazılabilir servis yolları.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4) Zaman Kutusu</span></span><br />
90 dakika takıldıysanız writeup'tan tek ipucu alın (retired/bitmiş CTF). Aktif yarışmada spoiler yasak; takım arkadaşınıza sorun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">5) Sonra</span></span><br />
Bayrağı teslim etmek bitiş değil. Not: hangi yanlış varsayım zaman kaybettirdi? Bir dahaki sefere ilk bakılacak yer neresi?<br />
<br />
Sizin listenizde olmazsa olmaz bir madde var mı? Alta yazın, listeyi büyütelim.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Kaynak:</span> <a href="https://book.hacktricks.xyz/" target="_blank" rel="noopener" class="mycode_url">HackTricks</a> (referans, körlemesine kopyalamayın), <a href="https://gtfobins.github.io/" target="_blank" rel="noopener" class="mycode_url">GTFOBins</a><br />
<br />
<blockquote class="mycode_quote"><cite>Alıntı:</cite>Yalnızca CTF/lab ve izinli sistemler. TCK 243-245.</blockquote>
<br />
Kapak: özgün TurkTeam görseli.<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=37" target="_blank" title="">kultigin-07.png</a> (Dosya Boyutu: 78.31 KB / İndirme Sayısı: 12)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
	</channel>
</rss>