<?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 - Mobil Güvenlik]]></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:39 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Signal RingRTC Açığı CVE-2026-113380: Kapattığınız Arama Neden Bitmiyor?]]></title>
			<link>https://www.turkteam.org/konu-signal-ringrtc-acigi-cve-2026-113380-kapattiginiz-arama-neden-bitmiyor.html</link>
			<pubDate>Sun, 25 Oct 2026 11:43:11 +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-signal-ringrtc-acigi-cve-2026-113380-kapattiginiz-arama-neden-bitmiyor.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=427" loading="lazy"  alt="[Resim: attachment.php?aid=427]" class="mycode_img" /></div>
<br />
Selamlar,<br />
<br />
Signal, kötü niyetli bir arayanın, kullanıcı aramayı kapattıktan sonra bile ses ve video akışını açık tutmasına izin verebilen kritik bir açığı kapattı. <span style="font-weight: bold;" class="mycode_b">CVE-2026-113380</span> (CVSS 9.3) olarak izlenen açık, Signal'in sesli/görüntülü aramalarda kullandığı açık kaynaklı <span style="font-weight: bold;" class="mycode_b">RingRTC</span> kütüphanesini etkiliyor. SecurityWeek konuyu aktardı. Bu, "kapat" düğmesinin neden her zaman garanti olmadığını gösteren öğretici bir örnek. Burada açığı ve kullanıcı önlemlerini ele alıyorum.<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>Açık ne yapıyor?<br />
</li>
<li>Teknik neden: FSM kuyruğu<br />
</li>
<li>Etkilenen ve düzeltilmiş sürümler<br />
</li>
<li>Gerçek dünya riski<br />
</li>
<li>Kullanıcı önlemleri<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1. Açık ne yapıyor?</span></span><br />
Normalde aramayı kapattığınızda mikrofon ve kamera kapanır. Bu açıkta uzaktaki bir katılımcı, aramanın olay kuyruğunu doldurarak <span style="font-weight: bold;" class="mycode_b">kapatma işlemini sonsuza dek bekletebiliyor</span>. Sonuç: kullanıcı aramayı bitirdiğini sanırken ses (ve muhtemelen video) akmaya devam ediyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2. Teknik neden</span></span><br />
RingRTC, aramayı WebRTC tabanlı bir <span style="font-weight: bold;" class="mycode_b">Sonlu Durum Makinesi</span> (Finite State Machine, FSM) ile yönetiyor. GitHub yazısına göre sorun üç eksiklikten kaynaklanıyor:<ul class="mycode_list"><li>Kapatma (hangup), bir "öldür" anahtarı gibi değil, <span style="font-weight: bold;" class="mycode_b">FSM olay kuyruğuna eklenen sıradan bir olay</span> olarak ele alınıyordu.<br />
</li>
<li>Uzak taraftan gelen olaylar için <span style="font-weight: bold;" class="mycode_b">hız sınırı (rate limit) yoktu</span>.<br />
</li>
<li>Kapatma olayının <span style="font-weight: bold;" class="mycode_b">önceliği yoktu</span>.<br />
</li>
</ul>
Araştırmacının ifadesiyle: kuyruğu doldurun, kapatma saldırganın gürültüsünün arkasında sonsuza dek bekler; böylece arama (mikrofon, belki kamera) hiç sonlandırılmaz.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3. Etkilenen ve düzeltilmiş sürümler</span></span><br />
Açık <span style="font-weight: bold;" class="mycode_b">RingRTC 2.72.0</span> ile (4 Eylül'de yayımlandı) giderildi. GHSA kaydına ve haberlere göre etkilenen uygulama sürümleri:<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>Android : 8.27.0 öncesi
iOS     : 8.30.0 öncesi
Desktop : 8.29.0 öncesi</code></div></div>Signal, çözümü, arama sonlandırma isteklerinin FSM kuyruğunda takılı kalmamasını ve bağımsız olarak algılanmasını sağlayarak uyguladı. NIST, CVE'yi NVD'ye ekledi. Vahşi doğada sömürü raporu yok.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4. Gerçek dünya riski</span></span><br />
Saldırganın, aramayı kabul ettiğiniz bir kişi olması gerektiği için risk, rastgele herkese açık değil. Ancak hedefli gözetim senaryolarında ciddi bir gizlilik tehdidi: kurban aramayı bitirdiğini düşünürken ortam sesi dinlenmeye devam edebilir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">5. Kullanıcı önlemleri</span></span><br />
<ol type="1" class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Signal'i tüm cihazlarınızda hemen güncelleyin.</span> Android 8.27.0+, iOS 8.30.0+, Desktop 8.29.0+ hedefleyin.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Arama göstergesini kontrol edin.</span> Güncelleyemiyorsanız, kapattıktan sonra aramanın gerçekten bittiğini (gösterge, mikrofon ikonu) doğrulayın.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Şüpheli kişilerden arama kabul etmeyin.</span> Saldırı, karşı tarafın aramada olmasını gerektiriyor.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Hassas görüşmelerde</span> uygulama tamamen kapanana kadar ortam güvenliğine dikkat edin.<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sonuç</span></span><br />
Bu açık, "kullanıcı kapattı" ile "sistem gerçekten kapattı" arasındaki farkın güvenlik açısından ne kadar kritik olabileceğini gösteriyor. Kapatma, bir olay değil, öncelikli bir kesme (interrupt) olmalıydı. Signal uygulamalarınızı güncel tutuyor musunuz?<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://www.securityweek.com/signal-vulnerability-lets-malicious-callers-block-hang-ups/" target="_blank" rel="noopener" class="mycode_url">https://www.securityweek.com/signal-vuln...-hang-ups/</a><br />
</li>
<li><a href="https://github.com/advisories/GHSA-5c63-xm6f-r368" target="_blank" rel="noopener" class="mycode_url">https://github.com/advisories/GHSA-5c63-xm6f-r368</a><br />
</li>
<li><a href="https://securityaffairs.com/201490/security/signal-vulnerability-could-keep-calls-alive-after-users-hang-up.html" target="_blank" rel="noopener" class="mycode_url">https://securityaffairs.com/201490/secur...ng-up.html</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=427" target="_blank" title="">11-t11-signal-ringrtc-cve.png</a> (Dosya Boyutu: 115.85 KB / İndirme Sayısı: 1)
<!-- 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=427" loading="lazy"  alt="[Resim: attachment.php?aid=427]" class="mycode_img" /></div>
<br />
Selamlar,<br />
<br />
Signal, kötü niyetli bir arayanın, kullanıcı aramayı kapattıktan sonra bile ses ve video akışını açık tutmasına izin verebilen kritik bir açığı kapattı. <span style="font-weight: bold;" class="mycode_b">CVE-2026-113380</span> (CVSS 9.3) olarak izlenen açık, Signal'in sesli/görüntülü aramalarda kullandığı açık kaynaklı <span style="font-weight: bold;" class="mycode_b">RingRTC</span> kütüphanesini etkiliyor. SecurityWeek konuyu aktardı. Bu, "kapat" düğmesinin neden her zaman garanti olmadığını gösteren öğretici bir örnek. Burada açığı ve kullanıcı önlemlerini ele alıyorum.<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>Açık ne yapıyor?<br />
</li>
<li>Teknik neden: FSM kuyruğu<br />
</li>
<li>Etkilenen ve düzeltilmiş sürümler<br />
</li>
<li>Gerçek dünya riski<br />
</li>
<li>Kullanıcı önlemleri<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">1. Açık ne yapıyor?</span></span><br />
Normalde aramayı kapattığınızda mikrofon ve kamera kapanır. Bu açıkta uzaktaki bir katılımcı, aramanın olay kuyruğunu doldurarak <span style="font-weight: bold;" class="mycode_b">kapatma işlemini sonsuza dek bekletebiliyor</span>. Sonuç: kullanıcı aramayı bitirdiğini sanırken ses (ve muhtemelen video) akmaya devam ediyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2. Teknik neden</span></span><br />
RingRTC, aramayı WebRTC tabanlı bir <span style="font-weight: bold;" class="mycode_b">Sonlu Durum Makinesi</span> (Finite State Machine, FSM) ile yönetiyor. GitHub yazısına göre sorun üç eksiklikten kaynaklanıyor:<ul class="mycode_list"><li>Kapatma (hangup), bir "öldür" anahtarı gibi değil, <span style="font-weight: bold;" class="mycode_b">FSM olay kuyruğuna eklenen sıradan bir olay</span> olarak ele alınıyordu.<br />
</li>
<li>Uzak taraftan gelen olaylar için <span style="font-weight: bold;" class="mycode_b">hız sınırı (rate limit) yoktu</span>.<br />
</li>
<li>Kapatma olayının <span style="font-weight: bold;" class="mycode_b">önceliği yoktu</span>.<br />
</li>
</ul>
Araştırmacının ifadesiyle: kuyruğu doldurun, kapatma saldırganın gürültüsünün arkasında sonsuza dek bekler; böylece arama (mikrofon, belki kamera) hiç sonlandırılmaz.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3. Etkilenen ve düzeltilmiş sürümler</span></span><br />
Açık <span style="font-weight: bold;" class="mycode_b">RingRTC 2.72.0</span> ile (4 Eylül'de yayımlandı) giderildi. GHSA kaydına ve haberlere göre etkilenen uygulama sürümleri:<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>Android : 8.27.0 öncesi
iOS     : 8.30.0 öncesi
Desktop : 8.29.0 öncesi</code></div></div>Signal, çözümü, arama sonlandırma isteklerinin FSM kuyruğunda takılı kalmamasını ve bağımsız olarak algılanmasını sağlayarak uyguladı. NIST, CVE'yi NVD'ye ekledi. Vahşi doğada sömürü raporu yok.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4. Gerçek dünya riski</span></span><br />
Saldırganın, aramayı kabul ettiğiniz bir kişi olması gerektiği için risk, rastgele herkese açık değil. Ancak hedefli gözetim senaryolarında ciddi bir gizlilik tehdidi: kurban aramayı bitirdiğini düşünürken ortam sesi dinlenmeye devam edebilir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">5. Kullanıcı önlemleri</span></span><br />
<ol type="1" class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Signal'i tüm cihazlarınızda hemen güncelleyin.</span> Android 8.27.0+, iOS 8.30.0+, Desktop 8.29.0+ hedefleyin.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Arama göstergesini kontrol edin.</span> Güncelleyemiyorsanız, kapattıktan sonra aramanın gerçekten bittiğini (gösterge, mikrofon ikonu) doğrulayın.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Şüpheli kişilerden arama kabul etmeyin.</span> Saldırı, karşı tarafın aramada olmasını gerektiriyor.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Hassas görüşmelerde</span> uygulama tamamen kapanana kadar ortam güvenliğine dikkat edin.<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sonuç</span></span><br />
Bu açık, "kullanıcı kapattı" ile "sistem gerçekten kapattı" arasındaki farkın güvenlik açısından ne kadar kritik olabileceğini gösteriyor. Kapatma, bir olay değil, öncelikli bir kesme (interrupt) olmalıydı. Signal uygulamalarınızı güncel tutuyor musunuz?<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://www.securityweek.com/signal-vulnerability-lets-malicious-callers-block-hang-ups/" target="_blank" rel="noopener" class="mycode_url">https://www.securityweek.com/signal-vuln...-hang-ups/</a><br />
</li>
<li><a href="https://github.com/advisories/GHSA-5c63-xm6f-r368" target="_blank" rel="noopener" class="mycode_url">https://github.com/advisories/GHSA-5c63-xm6f-r368</a><br />
</li>
<li><a href="https://securityaffairs.com/201490/security/signal-vulnerability-could-keep-calls-alive-after-users-hang-up.html" target="_blank" rel="noopener" class="mycode_url">https://securityaffairs.com/201490/secur...ng-up.html</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=427" target="_blank" title="">11-t11-signal-ringrtc-cve.png</a> (Dosya Boyutu: 115.85 KB / İndirme Sayısı: 1)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Frida ile Android Dinamik Analiz 2026: Lab Uygulamanızda Çalışma Zamanı İnceleme]]></title>
			<link>https://www.turkteam.org/konu-frida-ile-android-dinamik-analiz-2026-lab-uygulamanizda-calisma-zamani-inceleme.html</link>
			<pubDate>Sun, 18 Oct 2026 20:11:14 +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-frida-ile-android-dinamik-analiz-2026-lab-uygulamanizda-calisma-zamani-inceleme.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=220" loading="lazy"  alt="[Resim: attachment.php?aid=220]" class="mycode_img" /></div>
<br />
Merhaba arkadaşlar,<br />
<br />
Statik analiz bir uygulamanın kodunu çalıştırmadan inceler; ama bazı davranışlar ancak uygulama çalışırken ortaya çıkar: hangi fonksiyonun ne değer döndürdüğü, SSL doğrulamasının gerçekte yapılıp yapılmadığı, bir kök kontrolünün nasıl çalıştığı. İşte burada dinamik analiz ve Frida devreye girer. Frida, çalışan bir sürece kod enjekte ederek fonksiyonları canlı izlemenizi (hooking) sağlayan açık kaynak bir araçtır. Bu rehberde Frida'yı resmi belgelerine dayanarak kurmayı ve yalnızca <span style="font-weight: bold;" class="mycode_b">kendi geliştirdiğiniz, kendi cihazınızdaki</span> bir lab uygulaması üzerinde temel dinamik analizi anlatıyorum. Başkasına ait uygulamalarda kullanmak yasa ve lisans ihlalidir.<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>Dinamik analiz ve hooking nedir?<br />
</li>
<li>Lab ortamı: emülatör ve kendi uygulamanız<br />
</li>
<li>Frida kurulumu (host ve cihaz)<br />
</li>
<li>Süreçleri listeleme ve bağlanma<br />
</li>
<li>İlk hook: bir fonksiyonu izleme<br />
</li>
<li>Örnek: kendi kök kontrolünüzü gözlemleme<br />
</li>
<li>Etik sınırlar ve savunma dersleri<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Dinamik Analiz ve Hooking Nedir?</span></span><br />
<br />
Dinamik analiz, uygulamayı gerçek/sanal bir cihazda çalıştırırken davranışını inceler. <span style="font-weight: bold;" class="mycode_b">Hooking</span>, bir fonksiyonun çağrılmasını araya girerek yakalamak; argümanlarını, dönüş değerini görmek ve isterseniz değiştirmektir. Frida bunu, hedef sürece bir ajan (JavaScript ile yazılmış) enjekte ederek yapar. Bu teknik hem saldırı hem savunma tarafında kullanılır; biz savunma ve kendi kodunu anlama amacıyla ele alıyoruz.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=221" loading="lazy"  alt="[Resim: attachment.php?aid=221]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Lab Ortamı: Emülatör ve Kendi Uygulamanız</span></span><br />
<br />
Güvenli ve yasal bir lab için:<ul class="mycode_list"><li>Android Studio ile bir <span style="font-weight: bold;" class="mycode_b">Android Emülatör</span> (tercihen Google APIs imajı, root erişimi kolay olan) kurun.<br />
</li>
<li>Analiz edeceğiniz uygulama <span style="font-weight: bold;" class="mycode_b">sizin yazdığınız</span> basit bir test uygulaması olsun. OWASP'ın MASTG projesi, tam da bu amaç için savunmasız örnek uygulamalar (MAS Test Apps) sağlar.<br />
</li>
<li>Asla Play Store'dan indirdiğiniz üçüncü taraf bir uygulamaya müdahale etmeyin.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Frida Kurulumu (Host ve Cihaz)</span></span><br />
<br />
Frida iki parçadan oluşur: bilgisayarınızdaki komut satırı araçları ve cihazdaki frida-server. Resmi belgelere göre host tarafı:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>pip install frida-tools
frida --version</code></div></div><br />
frida-tools; frida, frida-ps, frida-trace gibi komutları içerir. Cihaz tarafı için cihazın mimarisine uygun frida-server sürümünü resmi GitHub sürümlerinden indirip (yalnızca kendi root'lu emülatörünüze) yükleyin:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>adb push frida-server /data/local/tmp/
adb shell "su -c 'chmod 755 /data/local/tmp/frida-server'"
adb shell "su -c '/data/local/tmp/frida-server &amp;'"</code></div></div><br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=222" loading="lazy"  alt="[Resim: attachment.php?aid=222]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Süreçleri Listeleme ve Bağlanma</span></span><br />
<br />
frida-server çalışırken, USB üzerinden bağlı cihazdaki uygulamaları listeleyin. Resmi belgelere göre -U USB cihazını, -a yüklü uygulamaları, -i ise ek bilgiyi gösterir:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>frida-ps -U
frida-ps -Uai</code></div></div><br />
İkinci komut, yüklü uygulamaları paket adlarıyla birlikte listeler. Kendi test uygulamanızın paket adını (örneğin org.benim.lab) buradan not alın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İlk Hook: Bir Fonksiyonu İzleme</span></span><br />
<br />
Basit bir Frida ajanı JavaScript ile yazılır. Aşağıdaki script, kendi uygulamanızdaki bir Java metodunu yakalayıp argüman ve dönüş değerini yazdırır. Java.perform ve Java.use, Frida'nın resmi JavaScript API'sinin parçasıdır:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>// izle.js
Java.perform(function () {
  var Hesap = Java.use("org.benim.lab.Hesaplayici");
  Hesap.topla.implementation = function (a, b) {
    console.log("[+] topla cagrildi: a=" + a + " b=" + b);
    var sonuc = this.topla(a, b);
    console.log("[+] donen deger: " + sonuc);
    return sonuc;
  };
});</code></div></div><br />
Scripti kendi uygulamanıza enjekte ederek çalıştırın:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>frida -U -l izle.js -f org.benim.lab</code></div></div><br />
-f uygulamayı Frida'nın başlatmasını sağlar (spawn), böylece en baştan izlersiniz. Konsola, uygulama o metodu her çağırdığında argümanlar ve dönüş değeri düşer.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Örnek: Kendi Kök Kontrolünüzü Gözlemleme</span></span><br />
<br />
Birçok uygulama cihazın root'lu olup olmadığını kontrol eder. Kendi lab uygulamanıza basit bir kök kontrolü fonksiyonu yazıp, Frida ile bu fonksiyonun ne döndürdüğünü gözlemleyin:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>// kok-gozlem.js
Java.perform(function () {
  var G = Java.use("org.benim.lab.GuvenlikKontrol");
  G.rootluMu.implementation = function () {
    var r = this.rootluMu();
    console.log("[*] rootluMu() -&gt; " + r);
    return r;   // sadece gozlem; degeri degistirmiyoruz
  };
});</code></div></div><br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=223" loading="lazy"  alt="[Resim: attachment.php?aid=223]" class="mycode_img" /></div>
<br />
Buradaki önemli savunma dersi: Dinamik analizle kök kontrolü gibi istemci tarafı korumaların değiştirilebildiğini görürsünüz. Bu yüzden güvenlik kararlarını yalnızca istemciye bırakmayın; kritik doğrulamaları sunucu tarafında da yapın. Kendi uygulamanızda bu zafiyeti görmek, onu nasıl sertleştireceğinizi öğretir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İleri Seviye: Etik Sınırlar ve Savunma Dersleri</span></span><br />
<br />
Frida çok güçlü bir araçtır ve bu güç sorumluluk getirir:<ul class="mycode_list"><li>Yalnızca kendi uygulamalarınızda veya yazılı izinli (bug bounty kapsamı dahilinde) hedeflerde kullanın.<br />
</li>
<li>İstemci tarafı korumalar (kök tespiti, SSL pinning, kurcalama tespiti) saldırganı yavaşlatır ama tek başına yeterli değildir.<br />
</li>
<li>Savunma için: kritik iş mantığını ve yetkilendirmeyi sunucuda tutun, hassas verileri istemcide tutmayın, obfuscation ve bütünlük kontrolleri ekleyin.<br />
</li>
<li>Dinamik analiz bulgularınızı OWASP MASTG testleriyle eşleştirerek raporlayın.<br />
</li>
</ul>
<br />
Frida ayrıca iOS, Windows, Linux ve macOS süreçlerinde de çalışır; mantık her yerde aynıdır: çalışan koda araya girip davranışı gözlemlemek.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sonuç</span></span><br />
<br />
Frida, bir uygulamanın çalışırken gerçekte ne yaptığını görmenin en etkili yollarından biri. Kendi lab uygulamanızda frida-tools ve frida-server ile kurulum yapın, frida-ps ile süreçleri bulun, basit bir Java.perform hook'u ile fonksiyonları izleyin ve istemci tarafı korumaların neden tek başına yetmediğini kendi gözünüzle görün. Bu bilgiyi yalnızca kendi kodunuzu güçlendirmek için kullanın. Siz Frida ile hangi senaryoları test ettiniz? Yorumlarda paylaşın.<br />
<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>Frida, Installation: <a href="https://frida.re/docs/installation/" target="_blank" rel="noopener" class="mycode_url">https://frida.re/docs/installation/</a><br />
</li>
<li>Frida, Android kurulum: <a href="https://frida.re/docs/android/" target="_blank" rel="noopener" class="mycode_url">https://frida.re/docs/android/</a><br />
</li>
<li>Frida, JavaScript API (Java): <a href="https://frida.re/docs/javascript-api/" target="_blank" rel="noopener" class="mycode_url">https://frida.re/docs/javascript-api/</a><br />
</li>
<li>Frida, frida-ps: <a href="https://frida.re/docs/frida-ps/" target="_blank" rel="noopener" class="mycode_url">https://frida.re/docs/frida-ps/</a><br />
</li>
<li>OWASP MASTG, Dynamic Analysis: <a href="https://mas.owasp.org/MASTG/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/MASTG/</a><br />
</li>
<li>OWASP MAS Test Apps: <a href="https://mas.owasp.org/MASTG/apps/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/MASTG/apps/</a><br />
</li>
<li>Android Studio Emulator: <a href="https://developer.android.com/studio/run/emulator" target="_blank" rel="noopener" class="mycode_url">https://developer.android.com/studio/run/emulator</a><br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yasal Uyarı</span></span><br />
<br />
Frida ve dinamik analiz teknikleri yalnızca kendinize ait uygulamalar, kendi cihazınız veya sahibinden yazılı izin aldığınız (ör. bug bounty kapsamındaki) hedefler üzerinde kullanılmalıdır. Başkasına ait uygulama veya cihazlara izinsiz müdahale, lisans ihlaline ve 5237 sayılı Türk Ceza Kanunu'nun 243, 244 ve 245. maddeleri kapsamında suça yol açar. TurkTeam yalnızca savunma ve eğitim amaçlı paylaşımları destekler.<br />
<br />
Görsel: TurkTeam özgün kapak ve diyagramları<br />
<br />
<span style="font-style: italic;" class="mycode_i">Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).</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=220" target="_blank" title="">11-cover.png</a> (Dosya Boyutu: 231.44 KB / İndirme Sayısı: 9)
<!-- end: postbit_attachments_attachment --><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=221" target="_blank" title="">11-a.jpg</a> (Dosya Boyutu: 57.35 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="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=222" target="_blank" title="">11-b.jpg</a> (Dosya Boyutu: 59.76 KB / İndirme Sayısı: 9)
<!-- end: postbit_attachments_attachment --><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=223" target="_blank" title="">11-c.jpg</a> (Dosya Boyutu: 54.72 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=220" loading="lazy"  alt="[Resim: attachment.php?aid=220]" class="mycode_img" /></div>
<br />
Merhaba arkadaşlar,<br />
<br />
Statik analiz bir uygulamanın kodunu çalıştırmadan inceler; ama bazı davranışlar ancak uygulama çalışırken ortaya çıkar: hangi fonksiyonun ne değer döndürdüğü, SSL doğrulamasının gerçekte yapılıp yapılmadığı, bir kök kontrolünün nasıl çalıştığı. İşte burada dinamik analiz ve Frida devreye girer. Frida, çalışan bir sürece kod enjekte ederek fonksiyonları canlı izlemenizi (hooking) sağlayan açık kaynak bir araçtır. Bu rehberde Frida'yı resmi belgelerine dayanarak kurmayı ve yalnızca <span style="font-weight: bold;" class="mycode_b">kendi geliştirdiğiniz, kendi cihazınızdaki</span> bir lab uygulaması üzerinde temel dinamik analizi anlatıyorum. Başkasına ait uygulamalarda kullanmak yasa ve lisans ihlalidir.<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>Dinamik analiz ve hooking nedir?<br />
</li>
<li>Lab ortamı: emülatör ve kendi uygulamanız<br />
</li>
<li>Frida kurulumu (host ve cihaz)<br />
</li>
<li>Süreçleri listeleme ve bağlanma<br />
</li>
<li>İlk hook: bir fonksiyonu izleme<br />
</li>
<li>Örnek: kendi kök kontrolünüzü gözlemleme<br />
</li>
<li>Etik sınırlar ve savunma dersleri<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Dinamik Analiz ve Hooking Nedir?</span></span><br />
<br />
Dinamik analiz, uygulamayı gerçek/sanal bir cihazda çalıştırırken davranışını inceler. <span style="font-weight: bold;" class="mycode_b">Hooking</span>, bir fonksiyonun çağrılmasını araya girerek yakalamak; argümanlarını, dönüş değerini görmek ve isterseniz değiştirmektir. Frida bunu, hedef sürece bir ajan (JavaScript ile yazılmış) enjekte ederek yapar. Bu teknik hem saldırı hem savunma tarafında kullanılır; biz savunma ve kendi kodunu anlama amacıyla ele alıyoruz.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=221" loading="lazy"  alt="[Resim: attachment.php?aid=221]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Lab Ortamı: Emülatör ve Kendi Uygulamanız</span></span><br />
<br />
Güvenli ve yasal bir lab için:<ul class="mycode_list"><li>Android Studio ile bir <span style="font-weight: bold;" class="mycode_b">Android Emülatör</span> (tercihen Google APIs imajı, root erişimi kolay olan) kurun.<br />
</li>
<li>Analiz edeceğiniz uygulama <span style="font-weight: bold;" class="mycode_b">sizin yazdığınız</span> basit bir test uygulaması olsun. OWASP'ın MASTG projesi, tam da bu amaç için savunmasız örnek uygulamalar (MAS Test Apps) sağlar.<br />
</li>
<li>Asla Play Store'dan indirdiğiniz üçüncü taraf bir uygulamaya müdahale etmeyin.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Frida Kurulumu (Host ve Cihaz)</span></span><br />
<br />
Frida iki parçadan oluşur: bilgisayarınızdaki komut satırı araçları ve cihazdaki frida-server. Resmi belgelere göre host tarafı:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>pip install frida-tools
frida --version</code></div></div><br />
frida-tools; frida, frida-ps, frida-trace gibi komutları içerir. Cihaz tarafı için cihazın mimarisine uygun frida-server sürümünü resmi GitHub sürümlerinden indirip (yalnızca kendi root'lu emülatörünüze) yükleyin:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>adb push frida-server /data/local/tmp/
adb shell "su -c 'chmod 755 /data/local/tmp/frida-server'"
adb shell "su -c '/data/local/tmp/frida-server &amp;'"</code></div></div><br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=222" loading="lazy"  alt="[Resim: attachment.php?aid=222]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Süreçleri Listeleme ve Bağlanma</span></span><br />
<br />
frida-server çalışırken, USB üzerinden bağlı cihazdaki uygulamaları listeleyin. Resmi belgelere göre -U USB cihazını, -a yüklü uygulamaları, -i ise ek bilgiyi gösterir:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>frida-ps -U
frida-ps -Uai</code></div></div><br />
İkinci komut, yüklü uygulamaları paket adlarıyla birlikte listeler. Kendi test uygulamanızın paket adını (örneğin org.benim.lab) buradan not alın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İlk Hook: Bir Fonksiyonu İzleme</span></span><br />
<br />
Basit bir Frida ajanı JavaScript ile yazılır. Aşağıdaki script, kendi uygulamanızdaki bir Java metodunu yakalayıp argüman ve dönüş değerini yazdırır. Java.perform ve Java.use, Frida'nın resmi JavaScript API'sinin parçasıdır:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>// izle.js
Java.perform(function () {
  var Hesap = Java.use("org.benim.lab.Hesaplayici");
  Hesap.topla.implementation = function (a, b) {
    console.log("[+] topla cagrildi: a=" + a + " b=" + b);
    var sonuc = this.topla(a, b);
    console.log("[+] donen deger: " + sonuc);
    return sonuc;
  };
});</code></div></div><br />
Scripti kendi uygulamanıza enjekte ederek çalıştırın:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>frida -U -l izle.js -f org.benim.lab</code></div></div><br />
-f uygulamayı Frida'nın başlatmasını sağlar (spawn), böylece en baştan izlersiniz. Konsola, uygulama o metodu her çağırdığında argümanlar ve dönüş değeri düşer.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Örnek: Kendi Kök Kontrolünüzü Gözlemleme</span></span><br />
<br />
Birçok uygulama cihazın root'lu olup olmadığını kontrol eder. Kendi lab uygulamanıza basit bir kök kontrolü fonksiyonu yazıp, Frida ile bu fonksiyonun ne döndürdüğünü gözlemleyin:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>// kok-gozlem.js
Java.perform(function () {
  var G = Java.use("org.benim.lab.GuvenlikKontrol");
  G.rootluMu.implementation = function () {
    var r = this.rootluMu();
    console.log("[*] rootluMu() -&gt; " + r);
    return r;   // sadece gozlem; degeri degistirmiyoruz
  };
});</code></div></div><br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=223" loading="lazy"  alt="[Resim: attachment.php?aid=223]" class="mycode_img" /></div>
<br />
Buradaki önemli savunma dersi: Dinamik analizle kök kontrolü gibi istemci tarafı korumaların değiştirilebildiğini görürsünüz. Bu yüzden güvenlik kararlarını yalnızca istemciye bırakmayın; kritik doğrulamaları sunucu tarafında da yapın. Kendi uygulamanızda bu zafiyeti görmek, onu nasıl sertleştireceğinizi öğretir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İleri Seviye: Etik Sınırlar ve Savunma Dersleri</span></span><br />
<br />
Frida çok güçlü bir araçtır ve bu güç sorumluluk getirir:<ul class="mycode_list"><li>Yalnızca kendi uygulamalarınızda veya yazılı izinli (bug bounty kapsamı dahilinde) hedeflerde kullanın.<br />
</li>
<li>İstemci tarafı korumalar (kök tespiti, SSL pinning, kurcalama tespiti) saldırganı yavaşlatır ama tek başına yeterli değildir.<br />
</li>
<li>Savunma için: kritik iş mantığını ve yetkilendirmeyi sunucuda tutun, hassas verileri istemcide tutmayın, obfuscation ve bütünlük kontrolleri ekleyin.<br />
</li>
<li>Dinamik analiz bulgularınızı OWASP MASTG testleriyle eşleştirerek raporlayın.<br />
</li>
</ul>
<br />
Frida ayrıca iOS, Windows, Linux ve macOS süreçlerinde de çalışır; mantık her yerde aynıdır: çalışan koda araya girip davranışı gözlemlemek.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sonuç</span></span><br />
<br />
Frida, bir uygulamanın çalışırken gerçekte ne yaptığını görmenin en etkili yollarından biri. Kendi lab uygulamanızda frida-tools ve frida-server ile kurulum yapın, frida-ps ile süreçleri bulun, basit bir Java.perform hook'u ile fonksiyonları izleyin ve istemci tarafı korumaların neden tek başına yetmediğini kendi gözünüzle görün. Bu bilgiyi yalnızca kendi kodunuzu güçlendirmek için kullanın. Siz Frida ile hangi senaryoları test ettiniz? Yorumlarda paylaşın.<br />
<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>Frida, Installation: <a href="https://frida.re/docs/installation/" target="_blank" rel="noopener" class="mycode_url">https://frida.re/docs/installation/</a><br />
</li>
<li>Frida, Android kurulum: <a href="https://frida.re/docs/android/" target="_blank" rel="noopener" class="mycode_url">https://frida.re/docs/android/</a><br />
</li>
<li>Frida, JavaScript API (Java): <a href="https://frida.re/docs/javascript-api/" target="_blank" rel="noopener" class="mycode_url">https://frida.re/docs/javascript-api/</a><br />
</li>
<li>Frida, frida-ps: <a href="https://frida.re/docs/frida-ps/" target="_blank" rel="noopener" class="mycode_url">https://frida.re/docs/frida-ps/</a><br />
</li>
<li>OWASP MASTG, Dynamic Analysis: <a href="https://mas.owasp.org/MASTG/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/MASTG/</a><br />
</li>
<li>OWASP MAS Test Apps: <a href="https://mas.owasp.org/MASTG/apps/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/MASTG/apps/</a><br />
</li>
<li>Android Studio Emulator: <a href="https://developer.android.com/studio/run/emulator" target="_blank" rel="noopener" class="mycode_url">https://developer.android.com/studio/run/emulator</a><br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yasal Uyarı</span></span><br />
<br />
Frida ve dinamik analiz teknikleri yalnızca kendinize ait uygulamalar, kendi cihazınız veya sahibinden yazılı izin aldığınız (ör. bug bounty kapsamındaki) hedefler üzerinde kullanılmalıdır. Başkasına ait uygulama veya cihazlara izinsiz müdahale, lisans ihlaline ve 5237 sayılı Türk Ceza Kanunu'nun 243, 244 ve 245. maddeleri kapsamında suça yol açar. TurkTeam yalnızca savunma ve eğitim amaçlı paylaşımları destekler.<br />
<br />
Görsel: TurkTeam özgün kapak ve diyagramları<br />
<br />
<span style="font-style: italic;" class="mycode_i">Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).</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=220" target="_blank" title="">11-cover.png</a> (Dosya Boyutu: 231.44 KB / İndirme Sayısı: 9)
<!-- end: postbit_attachments_attachment --><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=221" target="_blank" title="">11-a.jpg</a> (Dosya Boyutu: 57.35 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="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=222" target="_blank" title="">11-b.jpg</a> (Dosya Boyutu: 59.76 KB / İndirme Sayısı: 9)
<!-- end: postbit_attachments_attachment --><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=223" target="_blank" title="">11-c.jpg</a> (Dosya Boyutu: 54.72 KB / İndirme Sayısı: 9)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[OWASP MASVS ve MASTG 2026: Mobil Uygulama Güvenliği Standardı ve Test Rehberi]]></title>
			<link>https://www.turkteam.org/konu-owasp-masvs-ve-mastg-2026-mobil-uygulama-guvenligi-standardi-ve-test-rehberi.html</link>
			<pubDate>Sun, 18 Oct 2026 19:41:50 +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-owasp-masvs-ve-mastg-2026-mobil-uygulama-guvenligi-standardi-ve-test-rehberi.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=207" loading="lazy"  alt="[Resim: attachment.php?aid=207]" class="mycode_img" /></div>
<br />
Merhaba arkadaşlar,<br />
<br />
Mobil uygulama güvenliği test ederken "nereye bakmalıyım, bir uygulama ne zaman yeterince güvenli?" sorusunun standart bir cevabı var: OWASP Mobile Application Security (MAS) projesi. Bu proje; neyin test edileceğini söyleyen MASVS'yi, nasıl test edileceğini anlatan MASTG'yi ve ikisini birbirine bağlayan MASWE zayıflık kataloğunu içerir. 2026, bu proje için büyük bir yıl oldu: MASTG v2.0.0 (Haziran 2026) ve MASWE v1.0.0 (Ağustos 2026) ilk kararlı sürümleriyle yayımlandı. Bu rehberde bu üç bileşeni resmi kaynaklara dayanarak açıklıyor ve kendi uygulamanız için nasıl bir test planı kuracağınızı gösteriyorum.<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>OWASP MAS projesi nedir?<br />
</li>
<li>MASVS: kontrol kategorileri<br />
</li>
<li>MASTG v2.0.0: atomik test yapısı<br />
</li>
<li>MASWE v1.0.0: zayıflık kataloğu<br />
</li>
<li>İzlenebilirlik zinciri<br />
</li>
<li>Test profilleri (L1, L2, R)<br />
</li>
<li>Kendi uygulamanız için test planı<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">OWASP MAS Projesi Nedir?</span></span><br />
<br />
OWASP MAS, mobil uygulama güvenliği için fiili dünya standardıdır. Google'ın MASA programı (App Defense Alliance), CREST OVS, NIST SP 800-163r1 ve 800-218 gibi birçok program bu projeyi referans alır. Üç ana bileşeni vardır: MASVS (standart), MASTG (test rehberi) ve MASWE (zayıflık numaralandırması). 2022'de proje adı MSTG'den MAS'a değişti ve o zamandan beri modüler, izlenebilir bir yapıya dönüştü.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=208" loading="lazy"  alt="[Resim: attachment.php?aid=208]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">MASVS: Kontrol Kategorileri</span></span><br />
<br />
Mobile Application Security Verification Standard (MASVS, güncel sürüm v2.1.0), platformdan bağımsız kontrolleri kategoriler halinde tanımlar:<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">MASVS-STORAGE:</span> Hassas verinin cihazda güvenli saklanması.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-CRYPTO:</span> Güncel ve doğru kriptografi kullanımı.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-AUTH:</span> Kimlik doğrulama ve yetkilendirme.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-NETWORK:</span> Güvenli ağ iletişimi (TLS vb.).<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-PLATFORM:</span> Platform (IPC, WebView, ekran) etkileşimleri.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-CODE:</span> Kod kalitesi ve güncel bağımlılıklar.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-RESILIENCE:</span> Tersine mühendisliğe ve kurcalamaya karşı dayanıklılık.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-PRIVACY:</span> Kullanıcı mahremiyeti (v2.1.0 ile eklendi).<br />
</li>
</ul>
MASVS "ne" sorusunu yanıtlar; her kontrol soyuttur ve bilinçli olarak platform belirtmez.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">MASTG v2.0.0: Atomik Test Yapısı</span></span><br />
<br />
Mobile Application Security Testing Guide (MASTG), kontrolleri nasıl test edeceğinizi gösterir. Resmi duyuruya göre v2.0.0 (Haziran 2026) ilk kararlı, tamamen yeniden yapılandırılmış sürümdür. Eski "kitap bölümü" formatı yerini modüler, kimlikli bileşenlere bıraktı:<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">MASTG-TEST-****:</span> Atomik testler (285 adet).<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASTG-DEMO-****:</span> Çalışan kod örnekleriyle gösterimler (152 adet).<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASTG-TECH-****:</span> Teknikler (167 adet).<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASTG-TOOL-****:</span> Araçlar (135 adet).<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASTG-BEST-****:</span> En iyi uygulamalar (72 adet).<br />
</li>
</ul>
Her v2 testi atomik bir kontrol içerir ve sabit bir yapıya sahiptir: üst veri (platform, tür, zayıflık), Overview, Steps, Observation ve Evaluation (geçti/kaldı ölçütü). Bu yapı, testi otomatikleştirmeyi ve raporda kesin biçimde atıf vermeyi mümkün kılar.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=209" loading="lazy"  alt="[Resim: attachment.php?aid=209]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">MASWE v1.0.0: Zayıflık Kataloğu</span></span><br />
<br />
Mobile Application Security Weakness Enumeration (MASWE), soyut MASVS kontrolleri ile somut MASTG testleri arasındaki boşluğu doldurur; tıpkı yazılım dünyasında CWE'nin yaptığı gibi. Resmi duyuruya göre v1.0.0 (Ağustos 2026) ilk kararlı sürümdür ve <span style="font-weight: bold;" class="mycode_b">78 zayıflık</span> içerir (MASWE-0001'den MASWE-0078'e, kategorilere göre gruplu). Her zayıflık; tek cümlelik tanım, ortaya çıkma biçimleri (modes of introduction), etki ve azaltma (mitigations) bölümleriyle standart bir yapıdadır. Örneğin MASWE-0001'den 0006'ya kadar MASVS-STORAGE zayıflıkları yer alır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İzlenebilirlik Zinciri</span></span><br />
<br />
Üç bileşen tek bir zincir oluşturur:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>MASVS kontrolü  -&gt;  MASWE zayifligi  -&gt;  MASTG testi  -&gt;  MASTG demo
   (ne)              (hangi zayiflik)     (nasil test)    (calisir ornek)</code></div></div><br />
Örnek: "Uygulama güncel güçlü kriptografi kullanır" (MASVS-CRYPTO-1) kontrolü, "öngörülebilir rastgele sayı üretimi" (MASWE) zayıflığına, oradan "Android'de güvensiz random API kullanımı" testine (MASTG-TEST), oradan da Random() yerine SecureRandom() kullanımını gösteren bir demoya bağlanır. Bu zincir sayesinde "MASVS-STORAGE-2 başarısız" gibi belirsiz bir ifade yerine, "MASWE-0005 başarısız, ortaya çıkma biçimi: üretimde ayrıntılı loglama" gibi aksiyon alınabilir bir bulgu yazabilirsiniz.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=210" loading="lazy"  alt="[Resim: attachment.php?aid=210]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Test Profilleri (L1, L2, R)</span></span><br />
<br />
MASVS v2'de eski L1/L2/R doğrulama seviyeleri, MASTG'ye "test profilleri" olarak taşındı:<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">L1:</span> Tüm uygulamalar için temel güvenlik.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">L2:</span> Hassas veri işleyen uygulamalar (bankacılık, sağlık) için savunma derinliği.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">R (Resilience):</span> Tersine mühendislik ve kurcalamaya karşı ek dayanıklılık (ör. DRM, fikri mülkiyet koruması).<br />
</li>
</ul>
Uygulamanızın risk düzeyine göre uygun profili seçip o profildeki testleri çalıştırırsınız. Bir not uygulaması için L1 yeterliyken, bir mobil bankacılık uygulaması L2+R gerektirir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İleri Seviye: Kendi Uygulamanız İçin Test Planı</span></span><br />
<br />
Pratik bir yol haritası:<br />
<ol type="1" class="mycode_list"><li>Uygulamanızın risk düzeyine göre bir profil seçin (L1/L2/R).<br />
</li>
<li>İlgili MASVS kategorilerini belirleyin (örneğin veri saklayan bir uygulama için STORAGE, CRYPTO, NETWORK öncelikli).<br />
</li>
<li>Her kategori için MASTG testlerini uygulayın; statik bulgular için MobSF, dinamik için Frida kullanabilirsiniz.<br />
</li>
<li>Her bulguyu ilgili MASWE kimliğiyle etiketleyin ve MASTG-BEST maddesiyle düzeltme önerisi verin.<br />
</li>
<li>Sonuçları bir kontrol listesi olarak raporlayın.<br />
</li>
</ol>
<br />
OWASP, bu amaçla indirilebilir MAS kontrol listeleri (checklist) de yayımlar; testlerinizi bu listeyle takip etmek, hiçbir kontrolü atlamamanızı sağlar. Tüm testleri yalnızca kendi uygulamanızda veya izinli hedeflerde çalıştırın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sonuç</span></span><br />
<br />
OWASP MAS, mobil güvenlikte "ne, nasıl ve hangi zayıflık" sorularının tamamına standart cevap veren bir çerçeve. 2026'da MASTG v2.0.0 ve MASWE v1.0.0 ile olgunlaştı. Uygulamanızın risk profilini belirleyin, MASVS kategorilerini MASTG testleriyle sınayın ve bulgularınızı MASWE kimlikleriyle raporlayın. Böylece testleriniz tekrarlanabilir, otomatikleştirilebilir ve savunulabilir olur. Siz hangi MASVS kategorisini en kritik görüyorsunuz? Yorumlarda tartışalım.<br />
<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>OWASP MAS projesi: <a href="https://mas.owasp.org/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/</a><br />
</li>
<li>OWASP MASVS: <a href="https://mas.owasp.org/MASVS/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/MASVS/</a><br />
</li>
<li>OWASP MASTG: <a href="https://mas.owasp.org/MASTG/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/MASTG/</a><br />
</li>
<li>OWASP MASTG v2.0.0 duyurusu: <a href="https://mas.owasp.org/news/2026/07/04/mastg-v200-release/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/news/2026/07/04/ma...0-release/</a><br />
</li>
<li>OWASP MASWE v1.0.0 duyurusu: <a href="https://mas.owasp.org/news/2026/08/17/maswe-v100-release/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/news/2026/08/17/ma...0-release/</a><br />
</li>
<li>OWASP MAS Checklists: <a href="https://mas.owasp.org/checklists/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/checklists/</a><br />
</li>
<li>MASVS v2.1.0 sürüm notu: <a href="https://github.com/OWASP/masvs/releases/tag/v2.1.0" target="_blank" rel="noopener" class="mycode_url">https://github.com/OWASP/masvs/releases/tag/v2.1.0</a><br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yasal Uyarı</span></span><br />
<br />
Bu rehberdeki test teknikleri yalnızca kendinize ait veya sahibinden yazılı izin aldığınız uygulamalar üzerinde uygulanmalıdır. Başkasına ait uygulamaları izinsiz test etmek, lisans ihlaline ve 5237 sayılı Türk Ceza Kanunu'nun 243, 244 ve 245. maddeleri kapsamında sorumluluğa yol açar. TurkTeam yalnızca savunma ve eğitim amaçlı paylaşımları destekler.<br />
<br />
Görsel: TurkTeam özgün kapak ve diyagramları<br />
<br />
<span style="font-style: italic;" class="mycode_i">Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).</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=207" target="_blank" title="">12-cover.png</a> (Dosya Boyutu: 248.97 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="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=208" target="_blank" title="">12-a.jpg</a> (Dosya Boyutu: 80.63 KB / İndirme Sayısı: 9)
<!-- end: postbit_attachments_attachment --><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=209" target="_blank" title="">12-b.jpg</a> (Dosya Boyutu: 47.85 KB / İndirme Sayısı: 11)
<!-- end: postbit_attachments_attachment --><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=210" target="_blank" title="">12-c.jpg</a> (Dosya Boyutu: 82.65 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=207" loading="lazy"  alt="[Resim: attachment.php?aid=207]" class="mycode_img" /></div>
<br />
Merhaba arkadaşlar,<br />
<br />
Mobil uygulama güvenliği test ederken "nereye bakmalıyım, bir uygulama ne zaman yeterince güvenli?" sorusunun standart bir cevabı var: OWASP Mobile Application Security (MAS) projesi. Bu proje; neyin test edileceğini söyleyen MASVS'yi, nasıl test edileceğini anlatan MASTG'yi ve ikisini birbirine bağlayan MASWE zayıflık kataloğunu içerir. 2026, bu proje için büyük bir yıl oldu: MASTG v2.0.0 (Haziran 2026) ve MASWE v1.0.0 (Ağustos 2026) ilk kararlı sürümleriyle yayımlandı. Bu rehberde bu üç bileşeni resmi kaynaklara dayanarak açıklıyor ve kendi uygulamanız için nasıl bir test planı kuracağınızı gösteriyorum.<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>OWASP MAS projesi nedir?<br />
</li>
<li>MASVS: kontrol kategorileri<br />
</li>
<li>MASTG v2.0.0: atomik test yapısı<br />
</li>
<li>MASWE v1.0.0: zayıflık kataloğu<br />
</li>
<li>İzlenebilirlik zinciri<br />
</li>
<li>Test profilleri (L1, L2, R)<br />
</li>
<li>Kendi uygulamanız için test planı<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">OWASP MAS Projesi Nedir?</span></span><br />
<br />
OWASP MAS, mobil uygulama güvenliği için fiili dünya standardıdır. Google'ın MASA programı (App Defense Alliance), CREST OVS, NIST SP 800-163r1 ve 800-218 gibi birçok program bu projeyi referans alır. Üç ana bileşeni vardır: MASVS (standart), MASTG (test rehberi) ve MASWE (zayıflık numaralandırması). 2022'de proje adı MSTG'den MAS'a değişti ve o zamandan beri modüler, izlenebilir bir yapıya dönüştü.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=208" loading="lazy"  alt="[Resim: attachment.php?aid=208]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">MASVS: Kontrol Kategorileri</span></span><br />
<br />
Mobile Application Security Verification Standard (MASVS, güncel sürüm v2.1.0), platformdan bağımsız kontrolleri kategoriler halinde tanımlar:<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">MASVS-STORAGE:</span> Hassas verinin cihazda güvenli saklanması.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-CRYPTO:</span> Güncel ve doğru kriptografi kullanımı.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-AUTH:</span> Kimlik doğrulama ve yetkilendirme.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-NETWORK:</span> Güvenli ağ iletişimi (TLS vb.).<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-PLATFORM:</span> Platform (IPC, WebView, ekran) etkileşimleri.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-CODE:</span> Kod kalitesi ve güncel bağımlılıklar.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-RESILIENCE:</span> Tersine mühendisliğe ve kurcalamaya karşı dayanıklılık.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASVS-PRIVACY:</span> Kullanıcı mahremiyeti (v2.1.0 ile eklendi).<br />
</li>
</ul>
MASVS "ne" sorusunu yanıtlar; her kontrol soyuttur ve bilinçli olarak platform belirtmez.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">MASTG v2.0.0: Atomik Test Yapısı</span></span><br />
<br />
Mobile Application Security Testing Guide (MASTG), kontrolleri nasıl test edeceğinizi gösterir. Resmi duyuruya göre v2.0.0 (Haziran 2026) ilk kararlı, tamamen yeniden yapılandırılmış sürümdür. Eski "kitap bölümü" formatı yerini modüler, kimlikli bileşenlere bıraktı:<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">MASTG-TEST-****:</span> Atomik testler (285 adet).<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASTG-DEMO-****:</span> Çalışan kod örnekleriyle gösterimler (152 adet).<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASTG-TECH-****:</span> Teknikler (167 adet).<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASTG-TOOL-****:</span> Araçlar (135 adet).<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">MASTG-BEST-****:</span> En iyi uygulamalar (72 adet).<br />
</li>
</ul>
Her v2 testi atomik bir kontrol içerir ve sabit bir yapıya sahiptir: üst veri (platform, tür, zayıflık), Overview, Steps, Observation ve Evaluation (geçti/kaldı ölçütü). Bu yapı, testi otomatikleştirmeyi ve raporda kesin biçimde atıf vermeyi mümkün kılar.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=209" loading="lazy"  alt="[Resim: attachment.php?aid=209]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">MASWE v1.0.0: Zayıflık Kataloğu</span></span><br />
<br />
Mobile Application Security Weakness Enumeration (MASWE), soyut MASVS kontrolleri ile somut MASTG testleri arasındaki boşluğu doldurur; tıpkı yazılım dünyasında CWE'nin yaptığı gibi. Resmi duyuruya göre v1.0.0 (Ağustos 2026) ilk kararlı sürümdür ve <span style="font-weight: bold;" class="mycode_b">78 zayıflık</span> içerir (MASWE-0001'den MASWE-0078'e, kategorilere göre gruplu). Her zayıflık; tek cümlelik tanım, ortaya çıkma biçimleri (modes of introduction), etki ve azaltma (mitigations) bölümleriyle standart bir yapıdadır. Örneğin MASWE-0001'den 0006'ya kadar MASVS-STORAGE zayıflıkları yer alır.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İzlenebilirlik Zinciri</span></span><br />
<br />
Üç bileşen tek bir zincir oluşturur:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>MASVS kontrolü  -&gt;  MASWE zayifligi  -&gt;  MASTG testi  -&gt;  MASTG demo
   (ne)              (hangi zayiflik)     (nasil test)    (calisir ornek)</code></div></div><br />
Örnek: "Uygulama güncel güçlü kriptografi kullanır" (MASVS-CRYPTO-1) kontrolü, "öngörülebilir rastgele sayı üretimi" (MASWE) zayıflığına, oradan "Android'de güvensiz random API kullanımı" testine (MASTG-TEST), oradan da Random() yerine SecureRandom() kullanımını gösteren bir demoya bağlanır. Bu zincir sayesinde "MASVS-STORAGE-2 başarısız" gibi belirsiz bir ifade yerine, "MASWE-0005 başarısız, ortaya çıkma biçimi: üretimde ayrıntılı loglama" gibi aksiyon alınabilir bir bulgu yazabilirsiniz.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=210" loading="lazy"  alt="[Resim: attachment.php?aid=210]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Test Profilleri (L1, L2, R)</span></span><br />
<br />
MASVS v2'de eski L1/L2/R doğrulama seviyeleri, MASTG'ye "test profilleri" olarak taşındı:<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">L1:</span> Tüm uygulamalar için temel güvenlik.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">L2:</span> Hassas veri işleyen uygulamalar (bankacılık, sağlık) için savunma derinliği.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">R (Resilience):</span> Tersine mühendislik ve kurcalamaya karşı ek dayanıklılık (ör. DRM, fikri mülkiyet koruması).<br />
</li>
</ul>
Uygulamanızın risk düzeyine göre uygun profili seçip o profildeki testleri çalıştırırsınız. Bir not uygulaması için L1 yeterliyken, bir mobil bankacılık uygulaması L2+R gerektirir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İleri Seviye: Kendi Uygulamanız İçin Test Planı</span></span><br />
<br />
Pratik bir yol haritası:<br />
<ol type="1" class="mycode_list"><li>Uygulamanızın risk düzeyine göre bir profil seçin (L1/L2/R).<br />
</li>
<li>İlgili MASVS kategorilerini belirleyin (örneğin veri saklayan bir uygulama için STORAGE, CRYPTO, NETWORK öncelikli).<br />
</li>
<li>Her kategori için MASTG testlerini uygulayın; statik bulgular için MobSF, dinamik için Frida kullanabilirsiniz.<br />
</li>
<li>Her bulguyu ilgili MASWE kimliğiyle etiketleyin ve MASTG-BEST maddesiyle düzeltme önerisi verin.<br />
</li>
<li>Sonuçları bir kontrol listesi olarak raporlayın.<br />
</li>
</ol>
<br />
OWASP, bu amaçla indirilebilir MAS kontrol listeleri (checklist) de yayımlar; testlerinizi bu listeyle takip etmek, hiçbir kontrolü atlamamanızı sağlar. Tüm testleri yalnızca kendi uygulamanızda veya izinli hedeflerde çalıştırın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sonuç</span></span><br />
<br />
OWASP MAS, mobil güvenlikte "ne, nasıl ve hangi zayıflık" sorularının tamamına standart cevap veren bir çerçeve. 2026'da MASTG v2.0.0 ve MASWE v1.0.0 ile olgunlaştı. Uygulamanızın risk profilini belirleyin, MASVS kategorilerini MASTG testleriyle sınayın ve bulgularınızı MASWE kimlikleriyle raporlayın. Böylece testleriniz tekrarlanabilir, otomatikleştirilebilir ve savunulabilir olur. Siz hangi MASVS kategorisini en kritik görüyorsunuz? Yorumlarda tartışalım.<br />
<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>OWASP MAS projesi: <a href="https://mas.owasp.org/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/</a><br />
</li>
<li>OWASP MASVS: <a href="https://mas.owasp.org/MASVS/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/MASVS/</a><br />
</li>
<li>OWASP MASTG: <a href="https://mas.owasp.org/MASTG/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/MASTG/</a><br />
</li>
<li>OWASP MASTG v2.0.0 duyurusu: <a href="https://mas.owasp.org/news/2026/07/04/mastg-v200-release/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/news/2026/07/04/ma...0-release/</a><br />
</li>
<li>OWASP MASWE v1.0.0 duyurusu: <a href="https://mas.owasp.org/news/2026/08/17/maswe-v100-release/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/news/2026/08/17/ma...0-release/</a><br />
</li>
<li>OWASP MAS Checklists: <a href="https://mas.owasp.org/checklists/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/checklists/</a><br />
</li>
<li>MASVS v2.1.0 sürüm notu: <a href="https://github.com/OWASP/masvs/releases/tag/v2.1.0" target="_blank" rel="noopener" class="mycode_url">https://github.com/OWASP/masvs/releases/tag/v2.1.0</a><br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yasal Uyarı</span></span><br />
<br />
Bu rehberdeki test teknikleri yalnızca kendinize ait veya sahibinden yazılı izin aldığınız uygulamalar üzerinde uygulanmalıdır. Başkasına ait uygulamaları izinsiz test etmek, lisans ihlaline ve 5237 sayılı Türk Ceza Kanunu'nun 243, 244 ve 245. maddeleri kapsamında sorumluluğa yol açar. TurkTeam yalnızca savunma ve eğitim amaçlı paylaşımları destekler.<br />
<br />
Görsel: TurkTeam özgün kapak ve diyagramları<br />
<br />
<span style="font-style: italic;" class="mycode_i">Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).</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=207" target="_blank" title="">12-cover.png</a> (Dosya Boyutu: 248.97 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="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=208" target="_blank" title="">12-a.jpg</a> (Dosya Boyutu: 80.63 KB / İndirme Sayısı: 9)
<!-- end: postbit_attachments_attachment --><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=209" target="_blank" title="">12-b.jpg</a> (Dosya Boyutu: 47.85 KB / İndirme Sayısı: 11)
<!-- end: postbit_attachments_attachment --><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=210" target="_blank" title="">12-c.jpg</a> (Dosya Boyutu: 82.65 KB / İndirme Sayısı: 9)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[MobSF ile Android APK Statik Analizi 2026: Kurulum, Tarama ve Rapor Okuma Rehberi]]></title>
			<link>https://www.turkteam.org/konu-mobsf-ile-android-apk-statik-analizi-2026-kurulum-tarama-ve-rapor-okuma-rehberi.html</link>
			<pubDate>Sun, 18 Oct 2026 11:31:26 +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-mobsf-ile-android-apk-statik-analizi-2026-kurulum-tarama-ve-rapor-okuma-rehberi.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=163" loading="lazy"  alt="[Resim: attachment.php?aid=163]" class="mycode_img" /></div>
<br />
Merhaba arkadaşlar,<br />
<br />
Bir Android uygulamasının güvenli olup olmadığını anlamanın en hızlı yollarından biri statik analizdir: uygulamayı çalıştırmadan, paketinin içindeki kodu, izinleri ve yapılandırmayı incelemek. Mobile Security Framework (MobSF), açık kaynak ve ücretsiz bir mobil uygulama güvenlik analiz çerçevesidir; APK dosyalarını sürükle-bırak kolaylığında tarar. Bu rehberde MobSF'i resmi belgelerine dayanarak Docker ile kurup, kendi geliştirdiğiniz veya analiz izniniz olan bir APK'yı nasıl statik analiz edeceğinizi ve raporu OWASP MASVS çerçevesiyle nasıl okuyacağınızı anlatıyorum. Yalnızca kendi uygulamalarınızı veya yazılı izin aldığınız uygulamaları analiz edin.<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>Statik analiz nedir, MobSF ne yapar?<br />
</li>
<li>Docker ile kurulum<br />
</li>
<li>APK yapısı ve analize hazırlık<br />
</li>
<li>Statik tarama adımları<br />
</li>
<li>Raporu okuma: izinler, sertifika, kod<br />
</li>
<li>OWASP MASVS/MASTG ile eşleştirme<br />
</li>
<li>Komut satırı ve CI entegrasyonu<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Statik Analiz Nedir, MobSF Ne Yapar?</span></span><br />
<br />
Statik analiz, uygulamayı çalıştırmadan paketini inceler. MobSF bir APK'yı açar; AndroidManifest.xml'den izinleri ve bileşenleri çıkarır, imza sertifikasını kontrol eder, sabit kodlanmış sırları (API anahtarı, parola) arar, güvensiz kod desenlerini işaretler ve bir güvenlik skoru üretir. Dinamik analiz (çalışırken inceleme) de destekler ama bu rehberde statik tarafa odaklanıyoruz.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=164" loading="lazy"  alt="[Resim: attachment.php?aid=164]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Docker ile Kurulum</span></span><br />
<br />
MobSF'i çalıştırmanın en temiz yolu Docker'dır. Resmi belgelerdeki komutlar:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>docker pull opensecurity/mobile-security-framework-mobsf:latest
docker run -it --rm -p 8000:8000 &#92;
  opensecurity/mobile-security-framework-mobsf:latest</code></div></div><br />
Ardından tarayıcıda <a href="http://127.0.0.1:8000" target="_blank" rel="noopener" class="mycode_url">http://127.0.0.1:8000</a> adresini açın. Resmi belgelere göre Docker imajı yönetici kullanıcı bilgilerini <span style="font-weight: bold;" class="mycode_b">mobsf / mobsf</span> olarak ayarlar; ilk girişten sonra bu parolayı değiştirin. MobSF'i kendi bilgisayarınızda, yerel ağa kapalı biçimde çalıştırın; internete açmayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">APK Yapısı ve Analize Hazırlık</span></span><br />
<br />
Bir APK aslında bir ZIP arşividir. İçinde classes.dex (derlenmiş kod), AndroidManifest.xml, kaynaklar ve imza bulunur. MobSF bunları sizin için çözer, ama yapıyı bilmek raporu okumayı kolaylaştırır. Kendi test APK'nızın imzasını komut satırından da inceleyebilirsiniz (Android SDK'nın resmi aracı apksigner ile):<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>apksigner verify --print-certs uygulamam.apk</code></div></div><br />
Analiz edeceğiniz APK yalnızca kendinize ait olmalı ya da sahibinden yazılı izin almış olmalısınız. Mağazadan indirdiğiniz üçüncü taraf bir uygulamayı tersine mühendislik yapmak, uygulamanın lisans koşullarını ve yasaları ihlal edebilir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Statik Tarama Adımları</span></span><br />
<br />
MobSF arayüzünde analiz çok basittir:<br />
<ol type="1" class="mycode_list"><li>Ana sayfadaki yükleme alanına APK dosyasını sürükleyip bırakın.<br />
</li>
<li>MobSF otomatik olarak statik analizi başlatır ve birkaç dakika içinde rapor üretir.<br />
</li>
<li>Rapor üstünde bir güvenlik skoru ve özet görürsünüz.<br />
</li>
<li>Sol menüden izinler, manifest analizi, kod analizi gibi bölümlere geçersiniz.<br />
</li>
</ol>
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=165" loading="lazy"  alt="[Resim: attachment.php?aid=165]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Raporu Okuma: İzinler, Sertifika, Kod</span></span><br />
<br />
Raporun en önemli bölümleri:<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">İzinler (Permissions):</span> Uygulamanın istediği izinler. SMS okuma, konum, kişiler gibi "tehlikeli" izinler işlevle orantısızsa dikkat edin. İşlevi dosya not tutmak olan bir uygulamanın SMS iznine ihtiyacı yoktur.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Sertifika (Signer):</span> İmza algoritması ve geçerlilik. Zayıf imza şeması (yalnızca v1) veya hata ayıklama (debug) sertifikasıyla imzalı bir sürüm üretim için risklidir.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Manifest analizi:</span> exported=true olan bileşenler (activity, service, receiver, provider) dışarıdan erişilebilir; gereksizse kapatılmalıdır. android:debuggable="true" ve izin veren clear-text trafik ayarları da burada işaretlenir.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Kod analizi:</span> Sabit kodlanmış API anahtarları, zayıf kriptografi (ECB modu, sabit IV), güvensiz rastgelelik, SSL doğrulamasını atlayan kod gibi desenler.<br />
</li>
</ul>
<br />
MobSF her bulguyu bir açıklama ve genellikle ilgili OWASP referansıyla sunar; raporu baştan sona değil, önce yüksek önemli bulgulardan okuyun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">OWASP MASVS/MASTG ile Eşleştirme</span></span><br />
<br />
MobSF bulgularını bir çerçeveye oturtmak için OWASP Mobile Application Security projesini kullanın. <span style="font-weight: bold;" class="mycode_b">MASVS</span> (güncel sürüm v2.1.0) kontrolleri tanımlar; <span style="font-weight: bold;" class="mycode_b">MASTG</span> (güncel sürüm v2.0.0) bu kontrolleri sınayan testleri içerir. 2026'da yayımlanan <span style="font-weight: bold;" class="mycode_b">MASWE v1.0.0</span> ise MASVS kontrolleri ile MASTG testleri arasındaki belirli zayıflıkları numaralandırır (78 zayıflık). Örneğin MobSF'in bulduğu "hassas veri korumasız depolanıyor" bulgusu MASVS-STORAGE kategorisine, oradan ilgili MASWE zayıflığına ve MASTG testine bağlanır. Bu eşleştirme, bulgularınıza standart bir dil ve raporlanabilir bir kimlik kazandırır.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=166" loading="lazy"  alt="[Resim: attachment.php?aid=166]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İleri Seviye: Komut Satırı ve CI Entegrasyonu</span></span><br />
<br />
MobSF bir REST API sunar; bunu CI/CD hattında otomatik tarama için kullanabilirsiniz. MobSF ekibinin açık kaynak aracı <span style="font-weight: bold;" class="mycode_b">mobsfscan</span> ise kaynak kod üzerinde doğrudan statik güvenlik taraması yapar (kod tabanınız elinizdeyse ideal):<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>pip install mobsfscan
mobsfscan ./android-projem</code></div></div><br />
mobsfscan, güvensiz kriptografi, sabit kodlanmış sırlar, SSL pinning eksikliği gibi sorunları kaynak kodda işaretler ve CI'da "fail" döndürecek şekilde yapılandırılabilir. Böylece her kod değişikliğinde mobil güvenlik kontrolü otomatik çalışır. Statik analizi, mümkünse dinamik analiz ve manuel test ile birleştirmek en sağlam sonucu verir; hiçbir otomatik araç tek başına tam güvence vermez.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sonuç</span></span><br />
<br />
MobSF, bir APK'nın güvenlik durumunu dakikalar içinde ortaya koyan güçlü ve ücretsiz bir araç. Docker ile kurun, varsayılan mobsf/mobsf parolasını değiştirin, kendi uygulamanızı tarayın, izin-sertifika-kod bulgularını önceliklendirin ve hepsini OWASP MASVS/MASTG/MASWE çerçevesine oturtun. CI için mobsfscan ile bunu otomatikleştirin. Siz hangi mobil güvenlik aracını kullanıyorsunuz? Yorumlarda paylaşın.<br />
<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>MobSF, Docker ile çalıştırma: <a href="https://github.com/MobSF/Mobile-Security-Framework-MobSF" target="_blank" rel="noopener" class="mycode_url">https://github.com/MobSF/Mobile-Security...work-MobSF</a><br />
</li>
<li>MobSF belgeleri: <a href="https://mobsf.github.io/docs/" target="_blank" rel="noopener" class="mycode_url">https://mobsf.github.io/docs/</a><br />
</li>
<li>mobsfscan: <a href="https://github.com/MobSF/mobsfscan" target="_blank" rel="noopener" class="mycode_url">https://github.com/MobSF/mobsfscan</a><br />
</li>
<li>OWASP MASVS: <a href="https://mas.owasp.org/MASVS/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/MASVS/</a><br />
</li>
<li>OWASP MASTG v2.0.0 duyurusu: <a href="https://mas.owasp.org/news/2026/07/04/mastg-v200-release/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/news/2026/07/04/ma...0-release/</a><br />
</li>
<li>OWASP MASWE v1.0.0 duyurusu: <a href="https://mas.owasp.org/news/2026/08/17/maswe-v100-release/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/news/2026/08/17/ma...0-release/</a><br />
</li>
<li>Android, apksigner: <a href="https://developer.android.com/tools/apksigner" target="_blank" rel="noopener" class="mycode_url">https://developer.android.com/tools/apksigner</a><br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yasal Uyarı</span></span><br />
<br />
Bu rehberdeki analizler yalnızca kendinize ait veya sahibinden yazılı izin aldığınız uygulamalar üzerinde yapılmalıdır. Başkasına ait uygulamaları izinsiz tersine mühendislik veya analiz etmek, lisans ihlaline ve 5237 sayılı Türk Ceza Kanunu'nun 243-245. maddeleri kapsamında sorumluluğa yol açabilir. TurkTeam yalnızca savunma ve eğitim amaçlı paylaşımları destekler.<br />
<br />
Görsel: TurkTeam özgün kapak ve diyagramları<br />
<br />
<span style="font-style: italic;" class="mycode_i">Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).</span><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=163" target="_blank" title="">10-cover.jpg</a> (Dosya Boyutu: 81.6 KB / İndirme Sayısı: 9)
<!-- end: postbit_attachments_attachment --><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=164" target="_blank" title="">10-a.jpg</a> (Dosya Boyutu: 55.21 KB / İndirme Sayısı: 8)
<!-- end: postbit_attachments_attachment --><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=165" target="_blank" title="">10-b.jpg</a> (Dosya Boyutu: 66.15 KB / İndirme Sayısı: 9)
<!-- end: postbit_attachments_attachment --><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=166" target="_blank" title="">10-c.jpg</a> (Dosya Boyutu: 90.11 KB / İndirme Sayısı: 8)
<!-- 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=163" loading="lazy"  alt="[Resim: attachment.php?aid=163]" class="mycode_img" /></div>
<br />
Merhaba arkadaşlar,<br />
<br />
Bir Android uygulamasının güvenli olup olmadığını anlamanın en hızlı yollarından biri statik analizdir: uygulamayı çalıştırmadan, paketinin içindeki kodu, izinleri ve yapılandırmayı incelemek. Mobile Security Framework (MobSF), açık kaynak ve ücretsiz bir mobil uygulama güvenlik analiz çerçevesidir; APK dosyalarını sürükle-bırak kolaylığında tarar. Bu rehberde MobSF'i resmi belgelerine dayanarak Docker ile kurup, kendi geliştirdiğiniz veya analiz izniniz olan bir APK'yı nasıl statik analiz edeceğinizi ve raporu OWASP MASVS çerçevesiyle nasıl okuyacağınızı anlatıyorum. Yalnızca kendi uygulamalarınızı veya yazılı izin aldığınız uygulamaları analiz edin.<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>Statik analiz nedir, MobSF ne yapar?<br />
</li>
<li>Docker ile kurulum<br />
</li>
<li>APK yapısı ve analize hazırlık<br />
</li>
<li>Statik tarama adımları<br />
</li>
<li>Raporu okuma: izinler, sertifika, kod<br />
</li>
<li>OWASP MASVS/MASTG ile eşleştirme<br />
</li>
<li>Komut satırı ve CI entegrasyonu<br />
</li>
</ol>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Statik Analiz Nedir, MobSF Ne Yapar?</span></span><br />
<br />
Statik analiz, uygulamayı çalıştırmadan paketini inceler. MobSF bir APK'yı açar; AndroidManifest.xml'den izinleri ve bileşenleri çıkarır, imza sertifikasını kontrol eder, sabit kodlanmış sırları (API anahtarı, parola) arar, güvensiz kod desenlerini işaretler ve bir güvenlik skoru üretir. Dinamik analiz (çalışırken inceleme) de destekler ama bu rehberde statik tarafa odaklanıyoruz.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=164" loading="lazy"  alt="[Resim: attachment.php?aid=164]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Docker ile Kurulum</span></span><br />
<br />
MobSF'i çalıştırmanın en temiz yolu Docker'dır. Resmi belgelerdeki komutlar:<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>docker pull opensecurity/mobile-security-framework-mobsf:latest
docker run -it --rm -p 8000:8000 &#92;
  opensecurity/mobile-security-framework-mobsf:latest</code></div></div><br />
Ardından tarayıcıda <a href="http://127.0.0.1:8000" target="_blank" rel="noopener" class="mycode_url">http://127.0.0.1:8000</a> adresini açın. Resmi belgelere göre Docker imajı yönetici kullanıcı bilgilerini <span style="font-weight: bold;" class="mycode_b">mobsf / mobsf</span> olarak ayarlar; ilk girişten sonra bu parolayı değiştirin. MobSF'i kendi bilgisayarınızda, yerel ağa kapalı biçimde çalıştırın; internete açmayın.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">APK Yapısı ve Analize Hazırlık</span></span><br />
<br />
Bir APK aslında bir ZIP arşividir. İçinde classes.dex (derlenmiş kod), AndroidManifest.xml, kaynaklar ve imza bulunur. MobSF bunları sizin için çözer, ama yapıyı bilmek raporu okumayı kolaylaştırır. Kendi test APK'nızın imzasını komut satırından da inceleyebilirsiniz (Android SDK'nın resmi aracı apksigner ile):<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>apksigner verify --print-certs uygulamam.apk</code></div></div><br />
Analiz edeceğiniz APK yalnızca kendinize ait olmalı ya da sahibinden yazılı izin almış olmalısınız. Mağazadan indirdiğiniz üçüncü taraf bir uygulamayı tersine mühendislik yapmak, uygulamanın lisans koşullarını ve yasaları ihlal edebilir.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Statik Tarama Adımları</span></span><br />
<br />
MobSF arayüzünde analiz çok basittir:<br />
<ol type="1" class="mycode_list"><li>Ana sayfadaki yükleme alanına APK dosyasını sürükleyip bırakın.<br />
</li>
<li>MobSF otomatik olarak statik analizi başlatır ve birkaç dakika içinde rapor üretir.<br />
</li>
<li>Rapor üstünde bir güvenlik skoru ve özet görürsünüz.<br />
</li>
<li>Sol menüden izinler, manifest analizi, kod analizi gibi bölümlere geçersiniz.<br />
</li>
</ol>
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=165" loading="lazy"  alt="[Resim: attachment.php?aid=165]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Raporu Okuma: İzinler, Sertifika, Kod</span></span><br />
<br />
Raporun en önemli bölümleri:<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">İzinler (Permissions):</span> Uygulamanın istediği izinler. SMS okuma, konum, kişiler gibi "tehlikeli" izinler işlevle orantısızsa dikkat edin. İşlevi dosya not tutmak olan bir uygulamanın SMS iznine ihtiyacı yoktur.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Sertifika (Signer):</span> İmza algoritması ve geçerlilik. Zayıf imza şeması (yalnızca v1) veya hata ayıklama (debug) sertifikasıyla imzalı bir sürüm üretim için risklidir.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Manifest analizi:</span> exported=true olan bileşenler (activity, service, receiver, provider) dışarıdan erişilebilir; gereksizse kapatılmalıdır. android:debuggable="true" ve izin veren clear-text trafik ayarları da burada işaretlenir.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Kod analizi:</span> Sabit kodlanmış API anahtarları, zayıf kriptografi (ECB modu, sabit IV), güvensiz rastgelelik, SSL doğrulamasını atlayan kod gibi desenler.<br />
</li>
</ul>
<br />
MobSF her bulguyu bir açıklama ve genellikle ilgili OWASP referansıyla sunar; raporu baştan sona değil, önce yüksek önemli bulgulardan okuyun.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">OWASP MASVS/MASTG ile Eşleştirme</span></span><br />
<br />
MobSF bulgularını bir çerçeveye oturtmak için OWASP Mobile Application Security projesini kullanın. <span style="font-weight: bold;" class="mycode_b">MASVS</span> (güncel sürüm v2.1.0) kontrolleri tanımlar; <span style="font-weight: bold;" class="mycode_b">MASTG</span> (güncel sürüm v2.0.0) bu kontrolleri sınayan testleri içerir. 2026'da yayımlanan <span style="font-weight: bold;" class="mycode_b">MASWE v1.0.0</span> ise MASVS kontrolleri ile MASTG testleri arasındaki belirli zayıflıkları numaralandırır (78 zayıflık). Örneğin MobSF'in bulduğu "hassas veri korumasız depolanıyor" bulgusu MASVS-STORAGE kategorisine, oradan ilgili MASWE zayıflığına ve MASTG testine bağlanır. Bu eşleştirme, bulgularınıza standart bir dil ve raporlanabilir bir kimlik kazandırır.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=166" loading="lazy"  alt="[Resim: attachment.php?aid=166]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">İleri Seviye: Komut Satırı ve CI Entegrasyonu</span></span><br />
<br />
MobSF bir REST API sunar; bunu CI/CD hattında otomatik tarama için kullanabilirsiniz. MobSF ekibinin açık kaynak aracı <span style="font-weight: bold;" class="mycode_b">mobsfscan</span> ise kaynak kod üzerinde doğrudan statik güvenlik taraması yapar (kod tabanınız elinizdeyse ideal):<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>pip install mobsfscan
mobsfscan ./android-projem</code></div></div><br />
mobsfscan, güvensiz kriptografi, sabit kodlanmış sırlar, SSL pinning eksikliği gibi sorunları kaynak kodda işaretler ve CI'da "fail" döndürecek şekilde yapılandırılabilir. Böylece her kod değişikliğinde mobil güvenlik kontrolü otomatik çalışır. Statik analizi, mümkünse dinamik analiz ve manuel test ile birleştirmek en sağlam sonucu verir; hiçbir otomatik araç tek başına tam güvence vermez.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sonuç</span></span><br />
<br />
MobSF, bir APK'nın güvenlik durumunu dakikalar içinde ortaya koyan güçlü ve ücretsiz bir araç. Docker ile kurun, varsayılan mobsf/mobsf parolasını değiştirin, kendi uygulamanızı tarayın, izin-sertifika-kod bulgularını önceliklendirin ve hepsini OWASP MASVS/MASTG/MASWE çerçevesine oturtun. CI için mobsfscan ile bunu otomatikleştirin. Siz hangi mobil güvenlik aracını kullanıyorsunuz? Yorumlarda paylaşın.<br />
<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>MobSF, Docker ile çalıştırma: <a href="https://github.com/MobSF/Mobile-Security-Framework-MobSF" target="_blank" rel="noopener" class="mycode_url">https://github.com/MobSF/Mobile-Security...work-MobSF</a><br />
</li>
<li>MobSF belgeleri: <a href="https://mobsf.github.io/docs/" target="_blank" rel="noopener" class="mycode_url">https://mobsf.github.io/docs/</a><br />
</li>
<li>mobsfscan: <a href="https://github.com/MobSF/mobsfscan" target="_blank" rel="noopener" class="mycode_url">https://github.com/MobSF/mobsfscan</a><br />
</li>
<li>OWASP MASVS: <a href="https://mas.owasp.org/MASVS/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/MASVS/</a><br />
</li>
<li>OWASP MASTG v2.0.0 duyurusu: <a href="https://mas.owasp.org/news/2026/07/04/mastg-v200-release/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/news/2026/07/04/ma...0-release/</a><br />
</li>
<li>OWASP MASWE v1.0.0 duyurusu: <a href="https://mas.owasp.org/news/2026/08/17/maswe-v100-release/" target="_blank" rel="noopener" class="mycode_url">https://mas.owasp.org/news/2026/08/17/ma...0-release/</a><br />
</li>
<li>Android, apksigner: <a href="https://developer.android.com/tools/apksigner" target="_blank" rel="noopener" class="mycode_url">https://developer.android.com/tools/apksigner</a><br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yasal Uyarı</span></span><br />
<br />
Bu rehberdeki analizler yalnızca kendinize ait veya sahibinden yazılı izin aldığınız uygulamalar üzerinde yapılmalıdır. Başkasına ait uygulamaları izinsiz tersine mühendislik veya analiz etmek, lisans ihlaline ve 5237 sayılı Türk Ceza Kanunu'nun 243-245. maddeleri kapsamında sorumluluğa yol açabilir. TurkTeam yalnızca savunma ve eğitim amaçlı paylaşımları destekler.<br />
<br />
Görsel: TurkTeam özgün kapak ve diyagramları<br />
<br />
<span style="font-style: italic;" class="mycode_i">Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).</span><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=163" target="_blank" title="">10-cover.jpg</a> (Dosya Boyutu: 81.6 KB / İndirme Sayısı: 9)
<!-- end: postbit_attachments_attachment --><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=164" target="_blank" title="">10-a.jpg</a> (Dosya Boyutu: 55.21 KB / İndirme Sayısı: 8)
<!-- end: postbit_attachments_attachment --><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=165" target="_blank" title="">10-b.jpg</a> (Dosya Boyutu: 66.15 KB / İndirme Sayısı: 9)
<!-- end: postbit_attachments_attachment --><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=166" target="_blank" title="">10-c.jpg</a> (Dosya Boyutu: 90.11 KB / İndirme Sayısı: 8)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Mobilde 2FA: Authenticator, Passkey ve SMS Karşılaştırması 2026]]></title>
			<link>https://www.turkteam.org/konu-mobilde-2fa-authenticator-passkey-ve-sms-karsilastirmasi-2026.html</link>
			<pubDate>Sun, 18 Oct 2026 11:28:34 +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-mobilde-2fa-authenticator-passkey-ve-sms-karsilastirmasi-2026.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=161" loading="lazy"  alt="[Resim: attachment.php?aid=161]" class="mycode_img" /></div>
<br />
Selam,<br />
<br />
Mobilde ikinci faktör artık sadece SMS değil. Authenticator uygulamaları (TOTP) ve passkey / platform authenticator seçenekleri olgunlaştı. Bu yazıda 2026 itibarıyla pratik karşılaştırmamı ve neyi ne zaman önerdiğimi yazıyorum.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">SMS OTP</span></span><br />
Artıları: herkes kullanabilir. Eksileri: SIM swap, SS7 riskleri, phishing ile aynı anda çalınabilir (gerçek zamanlı proxy). Hassas hesaplarda tek başına yeterli görmüyorum.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Authenticator (TOTP)</span></span><br />
Zaman tabanlı 6 haneli kod. Çevrimdışı çalışır. Seed'i yedeklemek kritik; telefonu kaybedince hesap kilitlenmesin. Uygulama seçerken açık kaynak / saygın satıcı + cihaz içi şifreleme bakın.<ul class="mycode_list"><li>Kurulumda QR'ı ekran görüntüsü olarak buluta atmayın<br />
</li>
<li>Yedek kodları parola yöneticisine veya offline kasaya<br />
</li>
<li>Aynı TOTP seed'i birden fazla cihaza bilinçli koyun<br />
</li>
</ul>
<br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Passkey</span></span><br />
FIDO2 / WebAuthn tabanlı; phishing'e karşı TOTP'tan daha dirençli (origin bağlı). iOS / Android / masaüstü platform anahtarları ve donanım güvenlik anahtarları. Senkron passkey kolaylık sağlar; tehdit modelinize göre cihaz şifresi + iCloud/Google hesabı güvenliği de dahil olur.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Pratik önerim</span></span><ul class="mycode_list"><li>E-posta ve parola yöneticisi: passkey veya donanım anahtarı + TOTP yedek<br />
</li>
<li>Banka uygulaması: bankanın sunduğu yöntem + SIM PIN + operatördeki ek şifre<br />
</li>
<li>İş hesapları: mümkünse FIDO2 zorunlu, SMS yalnızca break-glass<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kurtarma senaryosu</span></span><br />
Telefon çalındığında: Find My / Google Find ile uzaktan silme, SIM blok, kritik hesaplarda oturum düşürme, TOTP seed yedeklerinden yeni cihaz. Bu tatbikatı yılda bir yapın.<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>FIDO Alliance / WebAuthn spesifikasyon özetleri<br />
</li>
<li>NIST SP 800-63B (authenticator gücü kavramları)<br />
</li>
<li>Platform üreticilerinin passkey belgeleri<br />
</li>
</ul>
<br />
Siz passkey'e geçerken hangi sitede takıldınız? Hâlâ TOTP zorunlu tutan büyük servisler var mı listenizde?<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Donanım anahtarı</span></span><br />
YubiKey / benzeri anahtarlar phishing direnci yüksek ikinci faktördür. Hesap başına en az iki anahtar (asıl + yedek) kaydedin; tek anahtar kaybı hesap kilidi demektir. NFC / USB-C uyumunu telefonunuza göre seçin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kurumsal MDM</span></span><br />
Şirket telefonunda passkey / authenticator politikası MDM ile yönetilir. BYOD'da iş hesaplarını kişisel TOTP uygulamasına koymak veri sınıflandırma politikasını ihlal edebilir; iş profili kullanın.<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=161" target="_blank" title="">100-n25-daa546.png</a> (Dosya Boyutu: 69.36 KB / İndirme Sayısı: 8)
<!-- 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=161" loading="lazy"  alt="[Resim: attachment.php?aid=161]" class="mycode_img" /></div>
<br />
Selam,<br />
<br />
Mobilde ikinci faktör artık sadece SMS değil. Authenticator uygulamaları (TOTP) ve passkey / platform authenticator seçenekleri olgunlaştı. Bu yazıda 2026 itibarıyla pratik karşılaştırmamı ve neyi ne zaman önerdiğimi yazıyorum.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">SMS OTP</span></span><br />
Artıları: herkes kullanabilir. Eksileri: SIM swap, SS7 riskleri, phishing ile aynı anda çalınabilir (gerçek zamanlı proxy). Hassas hesaplarda tek başına yeterli görmüyorum.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Authenticator (TOTP)</span></span><br />
Zaman tabanlı 6 haneli kod. Çevrimdışı çalışır. Seed'i yedeklemek kritik; telefonu kaybedince hesap kilitlenmesin. Uygulama seçerken açık kaynak / saygın satıcı + cihaz içi şifreleme bakın.<ul class="mycode_list"><li>Kurulumda QR'ı ekran görüntüsü olarak buluta atmayın<br />
</li>
<li>Yedek kodları parola yöneticisine veya offline kasaya<br />
</li>
<li>Aynı TOTP seed'i birden fazla cihaza bilinçli koyun<br />
</li>
</ul>
<br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Passkey</span></span><br />
FIDO2 / WebAuthn tabanlı; phishing'e karşı TOTP'tan daha dirençli (origin bağlı). iOS / Android / masaüstü platform anahtarları ve donanım güvenlik anahtarları. Senkron passkey kolaylık sağlar; tehdit modelinize göre cihaz şifresi + iCloud/Google hesabı güvenliği de dahil olur.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Pratik önerim</span></span><ul class="mycode_list"><li>E-posta ve parola yöneticisi: passkey veya donanım anahtarı + TOTP yedek<br />
</li>
<li>Banka uygulaması: bankanın sunduğu yöntem + SIM PIN + operatördeki ek şifre<br />
</li>
<li>İş hesapları: mümkünse FIDO2 zorunlu, SMS yalnızca break-glass<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kurtarma senaryosu</span></span><br />
Telefon çalındığında: Find My / Google Find ile uzaktan silme, SIM blok, kritik hesaplarda oturum düşürme, TOTP seed yedeklerinden yeni cihaz. Bu tatbikatı yılda bir yapın.<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>FIDO Alliance / WebAuthn spesifikasyon özetleri<br />
</li>
<li>NIST SP 800-63B (authenticator gücü kavramları)<br />
</li>
<li>Platform üreticilerinin passkey belgeleri<br />
</li>
</ul>
<br />
Siz passkey'e geçerken hangi sitede takıldınız? Hâlâ TOTP zorunlu tutan büyük servisler var mı listenizde?<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Donanım anahtarı</span></span><br />
YubiKey / benzeri anahtarlar phishing direnci yüksek ikinci faktördür. Hesap başına en az iki anahtar (asıl + yedek) kaydedin; tek anahtar kaybı hesap kilidi demektir. NFC / USB-C uyumunu telefonunuza göre seçin.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Kurumsal MDM</span></span><br />
Şirket telefonunda passkey / authenticator politikası MDM ile yönetilir. BYOD'da iş hesaplarını kişisel TOTP uygulamasına koymak veri sınıflandırma politikasını ihlal edebilir; iş profili kullanın.<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=161" target="_blank" title="">100-n25-daa546.png</a> (Dosya Boyutu: 69.36 KB / İndirme Sayısı: 8)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Midnight Mimosa: Ucuz Android Telefonlara Fabrikadan Gömülü Zararlı Yazılım]]></title>
			<link>https://www.turkteam.org/konu-midnight-mimosa-ucuz-android-telefonlara-fabrikadan-gomulu-zararli-yazilim.html</link>
			<pubDate>Sat, 17 Oct 2026 11:20:34 +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-midnight-mimosa-ucuz-android-telefonlara-fabrikadan-gomulu-zararli-yazilim.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=66" loading="lazy"  alt="[Resim: attachment.php?aid=66]" class="mycode_img" /></div>
<br />
Telefon güvenliğinde çoğu tavsiye "şüpheli uygulama kurma, bilinmeyen kaynaktan APK yükleme" üzerine kuruludur. Peki ya zararlı yazılım siz telefonu ilk kez açmadan önce, fabrikadan çıktığı anda içindeyse? Bitdefender'ın ortaya çıkardığı <span style="font-weight: bold;" class="mycode_b">Midnight Mimosa</span> kampanyası tam olarak bu senaryo.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Olay ne?</span></span><br />
<br />
Araştırmacılar, düşük maliyetli ve MediaTek yonga setli bazı Android telefonların <span style="font-weight: bold;" class="mycode_b">firmware'ine (sistem bölümüne) gömülü</span> zararlı yazılım buldu. Bu yazılım cihaz kullanıcıya ulaştığında zaten kurulu olduğu için normal uygulama kaldırma yöntemiyle silinemiyor. Kampanya yaklaşık iki yılda <span style="font-weight: bold;" class="mycode_b">150'den fazla ülkede binlerce cihazı</span> etkilemiş; en çok vaka Meksika, Fransa, İtalya, ABD, Almanya, Brezilya ve İspanya'da.<br />
<br />
Raporda adı geçen modeller arasında Doogee S200 X, Doogee Fire 3 Max, Cubot KINGKONG X ve Samsung/Apple taklidi sahte cihazlar var. Bir Doogee Fire 3 Max sahibi, resmi bir firmware güncellemesinin cihazı tekrar enfekte ettiğini bildirmiş.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Teknik olarak neden tehlikeli?</span></span><br />
<br />
Zararlının çekirdeği, platform anahtarıyla imzalanmış bir <span style="font-weight: bold;" class="mycode_b">sistem uygulaması</span>. Android bu yüzden ona güveniyor ve yüksek yetki veriyor. Kullandığı sahte paket adları gerçek sistem bileşenlerini taklit ediyor: com.android.system.lite, com.android.sys.prot, com.android.sys.gmsprot gibi.<br />
<br />
Bu yetkilerle yapabildikleri:<ul class="mycode_list"><li>Sessizce uygulama kurup kaldırmak, izin vermek, sunucudan indirdiği kodu çalıştırmak.<br />
</li>
<li>IMEI, Android ID, MAC adresi ve saat dilimini komuta sunucusuna göndermek.<br />
</li>
<li>Erişilebilirlik (Accessibility), bildirim ve SMS izinlerini kendine vermek.<br />
</li>
</ul>
<br />
İlginç kaçınma tekniği: zararlı, uygulama kurmadan hemen önce Google Play Store'u (com.android.vending) geçici olarak devre dışı bırakıyor; böylece Play Protect kurulumu yakalayamıyor. Kurulum bitince Play Store'u tekrar açıyor. Bazı sürümler kurulum kaynağını da manipüle ederek uygulamaları "Google Play'den gelmiş" gibi gösteriyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Amaç ne, para mı casusluk mu?</span></span><br />
<br />
Bitdefender'a göre ana motivasyon reklam dolandırıcılığı. Düşürülen sahte uygulamalar (hava durumu, uygulama kilidi, not alma, OCR araçları gibi) meşru bir reklam SDK'sı ile gizli pencerelerde gerçek reklam yükleyip sahte gösterim ve tıklama üretiyor. Ayrıca bazı cihazlar <span style="font-weight: bold;" class="mycode_b">konut proxy'si (residential proxy)</span> olarak kaydediliyor; yani başkalarının trafiği sizin telefonunuzun internet bağlantısı üzerinden geçirilebiliyor. Araştırmacılar proxy komuta altyapısının çalışır durumda olduğunu doğruladı ancak kendi test cihazlarına aktif bir hedef gelmediği için trafiğin fiilen yönlendirilip yönlendirilmediğini teyit edemedi.<br />
<br />
Burada benim altını çizmek istediğim nokta: SMS ve Erişilebilirlik izinleri şu an reklam için kullanılıyor olabilir, ama bu bir <span style="font-weight: bold;" class="mycode_b">yetenek</span>. Aynı yetki, bir gün bankacılık SMS kodlarını okumak için de kullanılabilir. Bu yüzden bu tip bir cihazı kimlik doğrulama (OTP) cihazı olarak kullanmak çok riskli.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Temizlenebilir mi?</span></span><br />
<br />
Kolay değil. Zararlı yüksek yetkili bir sistem uygulaması olduğu için <span style="font-weight: bold;" class="mycode_b">fabrika ayarlarına döndürmek yetmiyor</span>. Temizlik için firmware'in yeniden yüklenmesi ya da bileşenin ADB (Android Debug Bridge) ile devre dışı bırakılması gerekiyor; bu da ortalama kullanıcı için zor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Pratik öneriler</span></span><br />
<ul class="mycode_list"><li>İş ve kimlik doğrulama için markasız/çok ucuz Android telefonları kullanmayın.<br />
</li>
<li>Kurumsalsanız MDM envanterinde yukarıdaki paket adlarını arayın.<br />
</li>
<li>Telefonu banka veya OTP cihazı yapacaksanız platform bütünlük doğrulamasını (Play Integrity) geçen cihazları tercih edin; yönetilmeyen Android'lerdeki SMS tabanlı OTP'yi zayıf kabul edin.<br />
</li>
<li>Kullanıcılara fabrika sıfırlamasının firmware zararlısını temizlemediğini anlatın.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yasal ve etik not</span></span><br />
<br />
Bu konu bir farkındalık/haber derlemesidir; amaç yalnızca kendi cihazınızı ve kurumunuzun yönettiği cihazları korumaktır. Başkasının cihazına izinsiz erişim ya da müdahale TCK kapsamında suçtur.<br />
<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>BleepingComputer - Low-cost Android phones ship with residential proxy malware: <a href="https://www.bleepingcomputer.com/news/security/low-cost-android-phones-ship-with-residential-proxy-malware/" target="_blank" rel="noopener" class="mycode_url">https://www.bleepingcomputer.com/news/se...y-malware/</a><br />
</li>
<li>Bitdefender Labs - The phone was compromised before the user turned it on: the rise of Midnight Mimosa: <a href="https://www.bitdefender.com/en-us/blog/labs/midnight-mimosa-malware" target="_blank" rel="noopener" class="mycode_url">https://www.bitdefender.com/en-us/blog/l...sa-malware</a><br />
</li>
<li>SecurityWeek - Pre-Baked Firmware Malware Hits Budget Android Devices in 150+ Countries: <a href="https://www.securityweek.com/pre-baked-firmware-malware-hits-budget-android-devices-in-150-countries/" target="_blank" rel="noopener" class="mycode_url">https://www.securityweek.com/pre-baked-f...countries/</a><br />
</li>
</ul>
<br />
Görsel: TurkTeam özgün kapak görseli<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=66" target="_blank" title="">tonyukuk-06-mimosa.jpg</a> (Dosya Boyutu: 85.92 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=66" loading="lazy"  alt="[Resim: attachment.php?aid=66]" class="mycode_img" /></div>
<br />
Telefon güvenliğinde çoğu tavsiye "şüpheli uygulama kurma, bilinmeyen kaynaktan APK yükleme" üzerine kuruludur. Peki ya zararlı yazılım siz telefonu ilk kez açmadan önce, fabrikadan çıktığı anda içindeyse? Bitdefender'ın ortaya çıkardığı <span style="font-weight: bold;" class="mycode_b">Midnight Mimosa</span> kampanyası tam olarak bu senaryo.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Olay ne?</span></span><br />
<br />
Araştırmacılar, düşük maliyetli ve MediaTek yonga setli bazı Android telefonların <span style="font-weight: bold;" class="mycode_b">firmware'ine (sistem bölümüne) gömülü</span> zararlı yazılım buldu. Bu yazılım cihaz kullanıcıya ulaştığında zaten kurulu olduğu için normal uygulama kaldırma yöntemiyle silinemiyor. Kampanya yaklaşık iki yılda <span style="font-weight: bold;" class="mycode_b">150'den fazla ülkede binlerce cihazı</span> etkilemiş; en çok vaka Meksika, Fransa, İtalya, ABD, Almanya, Brezilya ve İspanya'da.<br />
<br />
Raporda adı geçen modeller arasında Doogee S200 X, Doogee Fire 3 Max, Cubot KINGKONG X ve Samsung/Apple taklidi sahte cihazlar var. Bir Doogee Fire 3 Max sahibi, resmi bir firmware güncellemesinin cihazı tekrar enfekte ettiğini bildirmiş.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Teknik olarak neden tehlikeli?</span></span><br />
<br />
Zararlının çekirdeği, platform anahtarıyla imzalanmış bir <span style="font-weight: bold;" class="mycode_b">sistem uygulaması</span>. Android bu yüzden ona güveniyor ve yüksek yetki veriyor. Kullandığı sahte paket adları gerçek sistem bileşenlerini taklit ediyor: com.android.system.lite, com.android.sys.prot, com.android.sys.gmsprot gibi.<br />
<br />
Bu yetkilerle yapabildikleri:<ul class="mycode_list"><li>Sessizce uygulama kurup kaldırmak, izin vermek, sunucudan indirdiği kodu çalıştırmak.<br />
</li>
<li>IMEI, Android ID, MAC adresi ve saat dilimini komuta sunucusuna göndermek.<br />
</li>
<li>Erişilebilirlik (Accessibility), bildirim ve SMS izinlerini kendine vermek.<br />
</li>
</ul>
<br />
İlginç kaçınma tekniği: zararlı, uygulama kurmadan hemen önce Google Play Store'u (com.android.vending) geçici olarak devre dışı bırakıyor; böylece Play Protect kurulumu yakalayamıyor. Kurulum bitince Play Store'u tekrar açıyor. Bazı sürümler kurulum kaynağını da manipüle ederek uygulamaları "Google Play'den gelmiş" gibi gösteriyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Amaç ne, para mı casusluk mu?</span></span><br />
<br />
Bitdefender'a göre ana motivasyon reklam dolandırıcılığı. Düşürülen sahte uygulamalar (hava durumu, uygulama kilidi, not alma, OCR araçları gibi) meşru bir reklam SDK'sı ile gizli pencerelerde gerçek reklam yükleyip sahte gösterim ve tıklama üretiyor. Ayrıca bazı cihazlar <span style="font-weight: bold;" class="mycode_b">konut proxy'si (residential proxy)</span> olarak kaydediliyor; yani başkalarının trafiği sizin telefonunuzun internet bağlantısı üzerinden geçirilebiliyor. Araştırmacılar proxy komuta altyapısının çalışır durumda olduğunu doğruladı ancak kendi test cihazlarına aktif bir hedef gelmediği için trafiğin fiilen yönlendirilip yönlendirilmediğini teyit edemedi.<br />
<br />
Burada benim altını çizmek istediğim nokta: SMS ve Erişilebilirlik izinleri şu an reklam için kullanılıyor olabilir, ama bu bir <span style="font-weight: bold;" class="mycode_b">yetenek</span>. Aynı yetki, bir gün bankacılık SMS kodlarını okumak için de kullanılabilir. Bu yüzden bu tip bir cihazı kimlik doğrulama (OTP) cihazı olarak kullanmak çok riskli.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Temizlenebilir mi?</span></span><br />
<br />
Kolay değil. Zararlı yüksek yetkili bir sistem uygulaması olduğu için <span style="font-weight: bold;" class="mycode_b">fabrika ayarlarına döndürmek yetmiyor</span>. Temizlik için firmware'in yeniden yüklenmesi ya da bileşenin ADB (Android Debug Bridge) ile devre dışı bırakılması gerekiyor; bu da ortalama kullanıcı için zor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Pratik öneriler</span></span><br />
<ul class="mycode_list"><li>İş ve kimlik doğrulama için markasız/çok ucuz Android telefonları kullanmayın.<br />
</li>
<li>Kurumsalsanız MDM envanterinde yukarıdaki paket adlarını arayın.<br />
</li>
<li>Telefonu banka veya OTP cihazı yapacaksanız platform bütünlük doğrulamasını (Play Integrity) geçen cihazları tercih edin; yönetilmeyen Android'lerdeki SMS tabanlı OTP'yi zayıf kabul edin.<br />
</li>
<li>Kullanıcılara fabrika sıfırlamasının firmware zararlısını temizlemediğini anlatın.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Yasal ve etik not</span></span><br />
<br />
Bu konu bir farkındalık/haber derlemesidir; amaç yalnızca kendi cihazınızı ve kurumunuzun yönettiği cihazları korumaktır. Başkasının cihazına izinsiz erişim ya da müdahale TCK kapsamında suçtur.<br />
<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>BleepingComputer - Low-cost Android phones ship with residential proxy malware: <a href="https://www.bleepingcomputer.com/news/security/low-cost-android-phones-ship-with-residential-proxy-malware/" target="_blank" rel="noopener" class="mycode_url">https://www.bleepingcomputer.com/news/se...y-malware/</a><br />
</li>
<li>Bitdefender Labs - The phone was compromised before the user turned it on: the rise of Midnight Mimosa: <a href="https://www.bitdefender.com/en-us/blog/labs/midnight-mimosa-malware" target="_blank" rel="noopener" class="mycode_url">https://www.bitdefender.com/en-us/blog/l...sa-malware</a><br />
</li>
<li>SecurityWeek - Pre-Baked Firmware Malware Hits Budget Android Devices in 150+ Countries: <a href="https://www.securityweek.com/pre-baked-firmware-malware-hits-budget-android-devices-in-150-countries/" target="_blank" rel="noopener" class="mycode_url">https://www.securityweek.com/pre-baked-f...countries/</a><br />
</li>
</ul>
<br />
Görsel: TurkTeam özgün kapak görseli<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=66" target="_blank" title="">tonyukuk-06-mimosa.jpg</a> (Dosya Boyutu: 85.92 KB / İndirme Sayısı: 7)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Hirudo Android Bankacılık Trojanı: Gerçek Uygulamayı Sahte Kopyasıyla Değiştiriyor]]></title>
			<link>https://www.turkteam.org/konu-hirudo-android-bankacilik-trojani-gercek-uygulamayi-sahte-kopyasiyla-degistiriyor.html</link>
			<pubDate>Fri, 16 Oct 2026 11:12:13 +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-hirudo-android-bankacilik-trojani-gercek-uygulamayi-sahte-kopyasiyla-degistiriyor.html</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://www.turkteam.org/attachment.php?aid=7" loading="lazy"  alt="[Resim: attachment.php?aid=7]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Hirudo: Android Bankacılık Trojanları Yeni Seviyeye Çıktı</span></span><br />
<br />
Selamlar,<br />
<br />
Hollandalı mobil güvenlik firması ThreatFabric, 14 Ekim 2026'da <span style="font-weight: bold;" class="mycode_b">Hirudo</span> adlı yeni bir Android bankacılık RAT'ını (Remote Access Trojan) açıkladı. Hirudo klasik "üstüne bir üst katman çiz" yaklaşımının ötesine geçiyor: Hedef banka uygulamasını tespit edip, onu <span style="font-weight: bold;" class="mycode_b">amaçlı olarak yamalanmış bir kopyasıyla değiştiriyor</span> ve uygulamanın kendi imza, erişilebilirlik, ekran koruma ve Play Integrity kontrollerini içeriden kör ediyor. Bu konuda saldırının nasıl çalıştığını ve kullanıcıların / kurumların nasıl korunabileceğini özetliyoruz.<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>Hirudo nedir, kimleri hedefliyor?<br />
</li>
<li>Dağıtım zinciri: Sahte mağaza sayfaları ve dropper uygulamalar<br />
</li>
<li>Bankacılık uygulamasını değiştirme mekanizması<br />
</li>
<li>Play Integrity ve imza kontrollerinin nasıl atlatıldığı<br />
</li>
<li>Kullanıcı ve kurum için koruma önerileri<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) Hirudo Nedir?</span></span><br />
Hirudo; kimlik bilgisi hırsızlığı, cihaz ele geçirme, ekran ve kamera yakalama ile SMS hırsızlığını tek bir arka uçta birleştiren olgun bir operasyon. ThreatFabric, Endonezya'daki <span style="font-weight: bold;" class="mycode_b">sekiz bankacılık uygulamasının</span> özel yamalanmış kopyalarını tespit etti. Kimlik bilgisi hedefleri ise Endonezya, Çin, Hindistan, Meksika, Fas ve Tayland'ı kapsıyor. ThreatFabric'in dolandırıcılık mühendisliği başkan yardımcısı Eward Driehuis'in ifadesiyle operasyon "oldukça olgun bir arka uç" ile cihaz kontrolünü birleştiriyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2) Dağıtım Zinciri</span></span><br />
Kullanıcılar Meta platformlarındaki reklamlardan, Google Play Store gibi görünen sahte web sayfalarına yönlendiriliyor. Bu sayfalar alışveriş, kısa dizi veya futbol uygulamaları gibi görünüyor. Dropper uygulamalar (örnek paket isimleri ThreatFabric raporunda geçiyor: Shopora, 1V1 X, KoiShort, ZoyaTV) gerçek içerik yüklüyor; arka planda ise kampanya yapılandırmasını çekip Hirudo RAT'ının kurulu olup olmadığını kontrol ediyor.<br />
<br />
Kurulu değilse sahte bir "güncelleme" istemi gösteriyor. Hirudo ayrı bir uygulama olarak kuruluyor ve kendi izinlerini (erişilebilirlik, bildirim erişimi) ayrı ayrı istiyor. Yükleme öncesinde StreamRat'ta da görülen bir anti-tespit tekniği kullanılıyor: Bilinçli olarak çalışmayan bir VPN bağlantısı kurarak interneti kesip Google Play Protect'in bulut tabanlı kontrollerini zayıflatmaya çalışıyor. ThreatFabric, Play Protect'in çevrimdışı bilinen zararlı uygulama tespitinin bu yöntemle tamamen kapanmadığını, tekniğin daha çok çevrimiçi itibar ve kod analizi mekanizmalarını zayıflatmayı hedeflediğini değerlendiriyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3) Bankacılık Uygulamasını Değiştirme</span></span><br />
Hirudo'nun asıl farkı burada. RAT, erişilebilirlik servisi üzerinden yüklü banka uygulamasını tespit ediyor, imza sertifikasını saklı bir referansla karşılaştırıyor ve sahte bir "güncelleme" istemi gösteriyor. Gerçek uygulamanın kaldırma ekranını kullanıcıya dokunmasını beklemeden açıyor; aynı anda bankaya özel yamalanmış kopyayı indiriyor. Kopya orijinal paket adını ve sürüm görünümünü koruyor ama test anahtarıyla imzalanmış durumda.<br />
<br />
Bu "önce kaldır, sonra yükle" zorunluluğu saldırgan için bir kısıt; ancak karşılığında uygulama içi güvenlik kontrollerini <span style="font-weight: bold;" class="mycode_b">içeriden</span> kör etme imkanı veriyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4) Play Integrity ve İmza Kontrollerinin Atlatılması</span></span><br />
Yamalanmış kopyanın içine gömülen kanca (hooking) motoru (YAHFA/Dobby) şu yanıtları sahte üretiyor:<ul class="mycode_list"><li>İmza sorgusunda <span style="font-weight: bold;" class="mycode_b">gerçek</span> uygulamanın imza sertifikasını döndürüyor.<br />
</li>
<li>Etkin erişilebilirlik servisleri listesini <span style="font-weight: bold;" class="mycode_b">boş</span> döndürüyor.<br />
</li>
<li>FLAG_SECURE bayrağını kaldırarak ekranın uzaktan izlenmesini ve kaydedilmesini mümkün kılıyor.<br />
</li>
<li>Anahtar onaylama (key attestation) sertifikalarını sızdırılmış bir keybox ile yeniden imzalıyor.<br />
</li>
<li>Play Integrity isteklerini <span style="font-weight: bold;" class="mycode_b">düz HTTP</span> üzerinden saldırganın sunucusuna iletiyor; sunucu uygulama için geçerli görünen bir karar döndürüyor.<br />
</li>
</ul>
ThreatFabric'in altını çizdiği iki savunucu dersi: Birincisi, motorun taşıdığı attestation keybox saldırganın kendi anahtarı değil, <span style="font-weight: bold;" class="mycode_b">kamuya sızmış bir keybox</span>. İkincisi, Integrity yanıtı gerçekten üretilmediği için "geçerli bir Integrity yanıtı" tek başına uygulamanın bozulmamış olduğunun kanıtı değil.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">5) Korunma Önerileri</span></span><br />
<span style="font-weight: bold;" class="mycode_b">Son kullanıcı:</span><ul class="mycode_list"><li>Uygulamaları yalnızca resmi Google Play veya bankanın kendi sitesinden yükleyin; reklamlardan gelen "ücretsiz TV / alışveriş / kısa dizi" uygulamalarına şüpheyle yaklaşın.<br />
</li>
<li>Banka uygulaması birdenbire "güncelleme" diye kaldırma ekranı açarsa işlemi durdurun ve bankayı arayın.<br />
</li>
<li>Bilinmeyen kaynaklardan APK yüklemeyi (Unknown Sources) kapalı tutun.<br />
</li>
<li>Erişilebilirlik izni isteyen uygulamaları çok sıkı denetleyin; bankacılık dışı uygulamaların bu izne ihtiyacı nadirdir.<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Banka ve kurum:</span><ul class="mycode_list"><li>Uygulama imzası, erişilebilirlik listesi ve Play Integrity kararını <span style="font-weight: bold;" class="mycode_b">yalnızca istemci tarafında</span> doğrulamayın; sunucu tarafında yeniden doğrulayın.<br />
</li>
<li>Keybox sızıntılarını ve bilinen yeniden imzalama göstergelerini tehdit istihbaratınızla takip edin.<br />
</li>
<li>Kullanıcı oturumlarında cihaz bütünlüğü sinyallerinin ani değişimini izleyin.<br />
</li>
<li>Müşteri destek kanallarında "banka uygulaması kaldırma / yeniden yükleme" taleplerini olası enfeksiyon göstergesi olarak ele alı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://thehackernews.com/2026/10/hirudo-android-trojan-uses-patched.html" target="_blank" rel="noopener" class="mycode_url">The Hacker News - Hirudo Android Trojan Uses Patched Banking Apps</a><br />
</li>
<li><a href="https://www.threatfabric.com/blogs/hirudo-from-fake-updates-to-patched-banking-apps" target="_blank" rel="noopener" class="mycode_url">ThreatFabric - Hirudo: From Fake Updates to Patched Banking Apps</a><br />
</li>
<li><a href="https://www.bleepingcomputer.com/news/security/hirudo-android-malware-replaces-banking-apps-to-evade-security-checks/" target="_blank" rel="noopener" class="mycode_url">BleepingComputer - Hirudo Android malware replaces banking apps</a><br />
</li>
<li><a href="https://www.securityweek.com/novel-android-banking-rat-hirudo-replaces-banking-apps-with-trojanized-copies/" target="_blank" rel="noopener" class="mycode_url">SecurityWeek - Novel Android RAT Hirudo</a><br />
</li>
</ul>
<br />
Görsel: TurkTeam özgün kapak görseli.<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=7" target="_blank" title="">tonyukuk-04-hirudo.jpg</a> (Dosya Boyutu: 113.61 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=7" loading="lazy"  alt="[Resim: attachment.php?aid=7]" class="mycode_img" /></div>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Hirudo: Android Bankacılık Trojanları Yeni Seviyeye Çıktı</span></span><br />
<br />
Selamlar,<br />
<br />
Hollandalı mobil güvenlik firması ThreatFabric, 14 Ekim 2026'da <span style="font-weight: bold;" class="mycode_b">Hirudo</span> adlı yeni bir Android bankacılık RAT'ını (Remote Access Trojan) açıkladı. Hirudo klasik "üstüne bir üst katman çiz" yaklaşımının ötesine geçiyor: Hedef banka uygulamasını tespit edip, onu <span style="font-weight: bold;" class="mycode_b">amaçlı olarak yamalanmış bir kopyasıyla değiştiriyor</span> ve uygulamanın kendi imza, erişilebilirlik, ekran koruma ve Play Integrity kontrollerini içeriden kör ediyor. Bu konuda saldırının nasıl çalıştığını ve kullanıcıların / kurumların nasıl korunabileceğini özetliyoruz.<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>Hirudo nedir, kimleri hedefliyor?<br />
</li>
<li>Dağıtım zinciri: Sahte mağaza sayfaları ve dropper uygulamalar<br />
</li>
<li>Bankacılık uygulamasını değiştirme mekanizması<br />
</li>
<li>Play Integrity ve imza kontrollerinin nasıl atlatıldığı<br />
</li>
<li>Kullanıcı ve kurum için koruma önerileri<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) Hirudo Nedir?</span></span><br />
Hirudo; kimlik bilgisi hırsızlığı, cihaz ele geçirme, ekran ve kamera yakalama ile SMS hırsızlığını tek bir arka uçta birleştiren olgun bir operasyon. ThreatFabric, Endonezya'daki <span style="font-weight: bold;" class="mycode_b">sekiz bankacılık uygulamasının</span> özel yamalanmış kopyalarını tespit etti. Kimlik bilgisi hedefleri ise Endonezya, Çin, Hindistan, Meksika, Fas ve Tayland'ı kapsıyor. ThreatFabric'in dolandırıcılık mühendisliği başkan yardımcısı Eward Driehuis'in ifadesiyle operasyon "oldukça olgun bir arka uç" ile cihaz kontrolünü birleştiriyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">2) Dağıtım Zinciri</span></span><br />
Kullanıcılar Meta platformlarındaki reklamlardan, Google Play Store gibi görünen sahte web sayfalarına yönlendiriliyor. Bu sayfalar alışveriş, kısa dizi veya futbol uygulamaları gibi görünüyor. Dropper uygulamalar (örnek paket isimleri ThreatFabric raporunda geçiyor: Shopora, 1V1 X, KoiShort, ZoyaTV) gerçek içerik yüklüyor; arka planda ise kampanya yapılandırmasını çekip Hirudo RAT'ının kurulu olup olmadığını kontrol ediyor.<br />
<br />
Kurulu değilse sahte bir "güncelleme" istemi gösteriyor. Hirudo ayrı bir uygulama olarak kuruluyor ve kendi izinlerini (erişilebilirlik, bildirim erişimi) ayrı ayrı istiyor. Yükleme öncesinde StreamRat'ta da görülen bir anti-tespit tekniği kullanılıyor: Bilinçli olarak çalışmayan bir VPN bağlantısı kurarak interneti kesip Google Play Protect'in bulut tabanlı kontrollerini zayıflatmaya çalışıyor. ThreatFabric, Play Protect'in çevrimdışı bilinen zararlı uygulama tespitinin bu yöntemle tamamen kapanmadığını, tekniğin daha çok çevrimiçi itibar ve kod analizi mekanizmalarını zayıflatmayı hedeflediğini değerlendiriyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">3) Bankacılık Uygulamasını Değiştirme</span></span><br />
Hirudo'nun asıl farkı burada. RAT, erişilebilirlik servisi üzerinden yüklü banka uygulamasını tespit ediyor, imza sertifikasını saklı bir referansla karşılaştırıyor ve sahte bir "güncelleme" istemi gösteriyor. Gerçek uygulamanın kaldırma ekranını kullanıcıya dokunmasını beklemeden açıyor; aynı anda bankaya özel yamalanmış kopyayı indiriyor. Kopya orijinal paket adını ve sürüm görünümünü koruyor ama test anahtarıyla imzalanmış durumda.<br />
<br />
Bu "önce kaldır, sonra yükle" zorunluluğu saldırgan için bir kısıt; ancak karşılığında uygulama içi güvenlik kontrollerini <span style="font-weight: bold;" class="mycode_b">içeriden</span> kör etme imkanı veriyor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">4) Play Integrity ve İmza Kontrollerinin Atlatılması</span></span><br />
Yamalanmış kopyanın içine gömülen kanca (hooking) motoru (YAHFA/Dobby) şu yanıtları sahte üretiyor:<ul class="mycode_list"><li>İmza sorgusunda <span style="font-weight: bold;" class="mycode_b">gerçek</span> uygulamanın imza sertifikasını döndürüyor.<br />
</li>
<li>Etkin erişilebilirlik servisleri listesini <span style="font-weight: bold;" class="mycode_b">boş</span> döndürüyor.<br />
</li>
<li>FLAG_SECURE bayrağını kaldırarak ekranın uzaktan izlenmesini ve kaydedilmesini mümkün kılıyor.<br />
</li>
<li>Anahtar onaylama (key attestation) sertifikalarını sızdırılmış bir keybox ile yeniden imzalıyor.<br />
</li>
<li>Play Integrity isteklerini <span style="font-weight: bold;" class="mycode_b">düz HTTP</span> üzerinden saldırganın sunucusuna iletiyor; sunucu uygulama için geçerli görünen bir karar döndürüyor.<br />
</li>
</ul>
ThreatFabric'in altını çizdiği iki savunucu dersi: Birincisi, motorun taşıdığı attestation keybox saldırganın kendi anahtarı değil, <span style="font-weight: bold;" class="mycode_b">kamuya sızmış bir keybox</span>. İkincisi, Integrity yanıtı gerçekten üretilmediği için "geçerli bir Integrity yanıtı" tek başına uygulamanın bozulmamış olduğunun kanıtı değil.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">5) Korunma Önerileri</span></span><br />
<span style="font-weight: bold;" class="mycode_b">Son kullanıcı:</span><ul class="mycode_list"><li>Uygulamaları yalnızca resmi Google Play veya bankanın kendi sitesinden yükleyin; reklamlardan gelen "ücretsiz TV / alışveriş / kısa dizi" uygulamalarına şüpheyle yaklaşın.<br />
</li>
<li>Banka uygulaması birdenbire "güncelleme" diye kaldırma ekranı açarsa işlemi durdurun ve bankayı arayın.<br />
</li>
<li>Bilinmeyen kaynaklardan APK yüklemeyi (Unknown Sources) kapalı tutun.<br />
</li>
<li>Erişilebilirlik izni isteyen uygulamaları çok sıkı denetleyin; bankacılık dışı uygulamaların bu izne ihtiyacı nadirdir.<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Banka ve kurum:</span><ul class="mycode_list"><li>Uygulama imzası, erişilebilirlik listesi ve Play Integrity kararını <span style="font-weight: bold;" class="mycode_b">yalnızca istemci tarafında</span> doğrulamayın; sunucu tarafında yeniden doğrulayın.<br />
</li>
<li>Keybox sızıntılarını ve bilinen yeniden imzalama göstergelerini tehdit istihbaratınızla takip edin.<br />
</li>
<li>Kullanıcı oturumlarında cihaz bütünlüğü sinyallerinin ani değişimini izleyin.<br />
</li>
<li>Müşteri destek kanallarında "banka uygulaması kaldırma / yeniden yükleme" taleplerini olası enfeksiyon göstergesi olarak ele alı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://thehackernews.com/2026/10/hirudo-android-trojan-uses-patched.html" target="_blank" rel="noopener" class="mycode_url">The Hacker News - Hirudo Android Trojan Uses Patched Banking Apps</a><br />
</li>
<li><a href="https://www.threatfabric.com/blogs/hirudo-from-fake-updates-to-patched-banking-apps" target="_blank" rel="noopener" class="mycode_url">ThreatFabric - Hirudo: From Fake Updates to Patched Banking Apps</a><br />
</li>
<li><a href="https://www.bleepingcomputer.com/news/security/hirudo-android-malware-replaces-banking-apps-to-evade-security-checks/" target="_blank" rel="noopener" class="mycode_url">BleepingComputer - Hirudo Android malware replaces banking apps</a><br />
</li>
<li><a href="https://www.securityweek.com/novel-android-banking-rat-hirudo-replaces-banking-apps-with-trojanized-copies/" target="_blank" rel="noopener" class="mycode_url">SecurityWeek - Novel Android RAT Hirudo</a><br />
</li>
</ul>
<br />
Görsel: TurkTeam özgün kapak görseli.<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=7" target="_blank" title="">tonyukuk-04-hirudo.jpg</a> (Dosya Boyutu: 113.61 KB / İndirme Sayısı: 10)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
	</channel>
</rss>