← Tüm Yazılar
IOC RAPORUHIGH22 Ekim 2026 · 8 dk okuma

Bülten 12-22 Ekim: Sensör Yansıtıcı Oldu, PHP2Shell Kapıya Gelmedi

15-22 Ekim 2026 honeypot ölçümü: 20 Ekim 19:24 UTC'de başlayan 19 saatlik bir SYN-ACK yansıtma saldırısı, sahte kaynak adreslerle 163 Türkiye barındırma bloğunu hedef aldı ve haftanın dış olaylarının yüzde 63,8'ini üretti. Aynı saatlerde sızan PHP2Shell açıkları (CVE-2026-109618, CVE-2026-109619) için sensörde tek bir sömürü izi görülmedi; eski PHP saldırıları ise sürdü.

Analiz: Erdem Özyurt · SiberKale Tellal

İçindekiler 9

SYN-ACK yansıtma, sahte kaynak adresli SYN paketleriyle üçüncü taraf sunucuları kurbana cevap yağdırmaya zorlayan bir hizmet dışı bırakma tekniğidir. 20 Ekim 2026 19:24 UTC’de honeypot’umuz böyle bir saldırının yansıtıcısı oldu: 19 saat boyunca 163 Türkiye barındırma bloğunun adresleri taklit edildi ve sensör kurbanlara gelen trafiğin 4,8 katı yanıt bastı. Aynı saatlerde sızan PHP2Shell açıkları için sensörde iz yok.

📅Veri dönemi: 15 Ekim 00:00 - 22 Ekim 09:08 UTC 2026 (ham sensör, retention penceresinin tamamı) · IoC veritabanı: 12-22 Ekim · OPSEC-filtreli

Yönetici Özeti

%63,8dış olayların yansıtma payı
163taklit edilen /24 blok
4,8xbayt yansıtma oranı
0PHP2Shell sömürü izi

12 Ekim bülteni sessiz bir haftayı ve bayrak değiştiren bir filoyu anlatmıştı. Bu hafta sessizlik iki kez bozuldu. İlki bir saldırıydı, ama hedef biz değildik. İkincisi bir haberdi ve sensörümüze hiç ulaşmadı. Dönemin beş bulgusu:

  1. Sensör bir DDoS saldırısının yansıtıcısı oldu. 20 Ekim 19:24 ile 21 Ekim 14:14 UTC arasında 15.133 kaynak adresten 443/TCP’ye yalnız SYN paketi geldi. El sıkışma hiç tamamlanmadı, sensör her birine beş kez daha SYN-ACK yolladı.
  2. Adresler sahte, hedef Türkiye barındırıcıları. Kaynaklar 163 tam /24 bloğa yayıldı ve bunların neredeyse tamamı Türkiye’deki küçük barındırma şirketlerine kayıtlı. Desen, bir barındırıcının bütün adres alanını aynı anda boğan “carpet bombing” saldırısıyla uyuşuyor.
  3. Kurban adresleri beslemeye girmedi. 11.514 yeni kaydın hiçbiri feed’e alınmadı, hiçbiri için abuse bildirimi gitmedi. Skorlama eşiği doğru çalıştı.
  4. PHP2Shell kapıya gelmedi, eski PHP saldırıları sürdü. Sızıntı ve yama arasındaki pencerede bir WordPress webshell yükleme denemesi ve 2012’den kalma bir php-cgi enjeksiyonu gördük, ama yeni açıkların bilinen tetiğine hiç rastlamadık.
  5. Banatsync yerinde, ajan adları üç katına çıktı. claude 27 denemeden 105’e yükseldi.
ℹ️ Veri Notu

Ham sensör rakamları 15 Ekim 00:00 ile 22 Ekim 09:08 UTC arasını kapsar (7,38 gün); bu, ölçüm anında Elasticsearch retention penceresinin tamamıdır. İç ve yönetim trafiği (RFC1918 kaynaklar) tüm sayımlardan çıkarılmıştır: pencerede 20.663 dış kaynaktan 3.982.680 olay var. IoC veritabanı her adresin ilk görülme zamanını kesin tutar; "yeni adres" bu alana dayanır. Yansıtma bölümündeki kaynak adreslerin sahte olduğu bir çıkarımdır, kanıtları aşağıda tek tek verildi.


20 Ekim akşamı sensörde ne oldu?

Bir saat içinde normal bir günün iki katı yeni adres göründü ve bu hız 19 saat boyunca neredeyse hiç değişmedi. IoC veritabanında günde ortalama 200-250 yeni adres kaydedilir; 20 Ekim 20:00 ile 21 Ekim 14:00 UTC arasındaki 18 saatin her birinde 398 ile 769 arasında yeni adres geldi ve akış 14:00-15:00 arasında tek seferde kesildi.

Gün (UTC)Yeni adres (first_seen)Ham sensörde tekil dış kaynak
15-17 Ekim (gün ortalaması)198729
18 Ekim9782.414
19 Ekim217762
20 Ekim3.12915.770
21 Ekim8.64715.751
22 Ekim (09:08’e kadar)114386

Patlama penceresinde 443/TCP’ye gelen pasif parmak izi (P0f) ve ağ alarmı (Suricata) olayları 2.542.328’e ulaştı. Bu, haftanın bütün dış olaylarının yüzde 63,8’i ve tek bir 19 saatlik olay. Toplam IoC sayısı 12 Ekim’de 111.472 iken 22 Ekim’de 125.926 oldu; aradaki 14.454 kaydın 11.776’sı 20-21 Ekim’de girdi.

18 Ekim’deki 978 yeni adres aynı desenin küçük bir ön dalgası: o gün 1.699 kaynak 443/TCP’ye 51.148 tek paketlik akış bıraktı ve yeni adreslerin çoğu iki Türkiye barındırıcısına (NETVAY AS215567, EKİPHOST AS209474) kayıtlı.

Neden bu adreslerin saldırgan değil kurban olduğunu düşünüyoruz?

Beş ölçüm aynı yönü gösteriyor. Hiçbiri tek başına kanıt değil, birlikte güçlü bir işaret.

ÖlçümDeğerNe anlama geliyor
Sunucuya tek paket gönderen akış458.897 akışın 436.138’i (%95,0)Kaynak yalnız SYN yolladı, ACK da RST de gelmedi
Akış başına sensörden giden paket6 (1 SYN-ACK + 5 yeniden deneme)Linux’un varsayılan tcp_synack_retries=5 değeri
Gelen ve giden hacim520.845 / 2.688.400 paket · 41,1 / 198,6 MBSensör gelen her baytı yaklaşık 4,8 kat büyüterek kurbana yolladı
P0f işletim sistemi parmak iziMac OS X 152.404 · Windows NT 5.x 152.366 · Linux 3.11+ 152.219Üç kimliğe eşit dağılım doğal trafikte görülmez, paket üretim aracının döngüsüdür
Adres yerleşimi163 /24 blokta 11.514 adres; 31 blokta 200’den fazla, birinde 256’nın 253’üGerçek bir botnet bir bloğun neredeyse tüm adreslerinden aynı anda bağlanmaz

Gerçek bir tarama aracı SYN-ACK aldığında RST yollar ve sensörün yeniden denemesi o anda biter. Burada hiçbir akışta karşılık gelmedi, yani paketlerin yazdığı kaynak adreste bu bağlantıdan haberdar bir makine yoktu. En tutarlı açıklama, saldırganın kurbanların adreslerini kaynak gibi yazıp internetteki çok sayıda sunucuyu yansıtıcı olarak kullanmasıdır.

Patlama adreslerinin IoC tarafındaki görünümü de aynı hikâyeyi anlatıyor: 11.776 yeni kaydın yüzde 97,8’i yalnız P0f ve Suricata olayı üretti, hiçbir tuzağa (SSH, web, posta) dokunmadı. Yüzde 97,4’ü AbuseIPDB’de 0 puanlı.

Hangi barındırıcıların adresleri taklit edildi?

20-21 Ekim’de kaydedilen 11.776 yeni adresin 8.494’ü (yüzde 72,1) Türkiye etiketli. İlk beş operatör:

ASNOperatör (kayıt adı)Yeni adres
AS211422OnlineInternet2.897
AS47516DEHOST2.236
AS44547NetundWeb1.404
AS215411VeruniX950
AS209658MEOHOST920

Listenin devamında VOXNET, SENKRONET, ESA LIVA ve ETERNAL-GROUP gibi on kadar küçük operatör daha var. Ortak noktaları, Türkiye’de oyun sunucusu ve VDS hizmeti veren küçük barındırıcılar olmaları. Etiketler zenginleştirme anındaki ASN kaydıdır; bir bloğun bugün kim tarafından duyurulduğunu ayrıca doğrulamak gerekir (bayrak değişimi dersi). Saldırının kim tarafından ve hangi amaçla yapıldığını bilmiyoruz. Bu tarihlerde kamuya yansımış bir kesinti duyurusu da bulamadık.

⚠️ Kurban verisini yayımlamıyoruz

Bu bültende blok listesi yerine operatör özeti veriyoruz. Taklit edilen adresleri bir "saldırgan" listesine koymak, saldırının hedefine ikinci bir zarar verir: o adreslerden gelen meşru trafik engellenir. Tellal skorlaması bu kayıtlara ortalama 10,9 puan verdi ve 11.514 adresin hiçbiri besleme akışına, AbuseIPDB veya OTX paylaşımına ya da abuse bildirimine girmedi.

PHP2Shell sızıntısı sırasında sensöre ne geldi?

PHP2Shell, PHP çekirdeğindeki iki kritik açığın (CVE-2026-109618 ve CVE-2026-109619) ortak adıdır; ikisi de kimlik doğrulaması olmadan uzaktan kod çalıştırmaya izin verir ve 21 Ekim 2026 14:00 UTC’de PHP 8.5.12, 8.4.27, 8.3.36 ve 8.2.35 ile kapatıldı. PHP Foundation’ın zaman çizelgesine göre CVE numaraları 20 Ekim 15:00 UTC civarında sızdı ve bir kavram kanıtı videosu 20:00 UTC civarında yanlışlıkla yayımlandı.

Bizim sensörde bu pencerede yeni açıklara ait bir iz yok:

Arama15-22 Ekim sonucu
PHP_SESSION_UPLOAD_PROGRESS alanı (CVE-2026-109619’un belgelenmiş tetik yollarından biri)0 olay
İç içe alan adlı multipart gövde (CVE-2026-109618’in OOM yollarından biri)0 olay
Tüm multipart POST istekleri60 olay, 2 kaynak; ikisi de PHP2Shell değil (aşağıda)
Suricata’nın PHP etiketli alarmları514 alarm; günlük 34-115 arasında, yamadan önce ve sonra aynı düzeyde

Sızıntı penceresinde görülen iki PHP saldırısı eski tekniklerdir:

  • WordPress webshell yükleme denemesi. 21 Ekim 00:07-00:56 UTC arasında AS51167 (Contabo) üzerindeki tek bir adres, /wp-admin/admin-ajax.php ucuna action=img_upload ile 25 kez dosya yüklemeyi denedi. Yüklenen dosya .php uzantılı, başında GIF89a; imzası olan bir görüntü kılığında ve ?c= parametresiyle komut çalıştıran bir webshell. Bu, bir eklentinin dosya türü denetimini atlatma girişimidir, PHP çekirdeğiyle ilgisi yoktur. Adresin AbuseIPDB puanı 100.
  • On dört yıllık php-cgi enjeksiyonu. 22 Ekim 04:40 UTC’de AS8075 (Microsoft) üzerindeki bir adres, URL kodlamasıyla gizlenmiş -d allow_url_include=on -d auto_prepend_file=php://input argümanlarını php-cgi’ye geçirmeyi denedi (CVE-2012-1823 kalıbı). Aynı adres o gün ilk kez görüldü ve 44.487 olay üretti.

Arka planda Suricata, yama öncesinde ve sonrasında aynı tempoda PHP-CGI soft hyphen enjeksiyonu (CVE-2024-4577, 13 kaynaktan 25 alarm), ThinkPHP RCE (11 kaynaktan 22 alarm) ve allow_url_include yoklamaları gördü. Kök dizine gelen diğer 9 multipart istek ise PHP değil, Next.js’i hedefleyen React2Shell (CVE-2025-55182) yoklamalarıydı.

ℹ️ "Görmedik" ne kadar güçlü bir ifade?

Sınırlı. Suricata yalnız şifresiz HTTP gövdelerini okuyabilir; 443 portundaki istekler için yalnız web tuzağının kaydettiği istek satırı elimizde. CVE-2026-109618 için kamuya açık bir saldırı imzası henüz yok. Cloudflare yama öncesinde erken saldırılar gördüğünü açıkladı; CISA ise 21 Ekim'deki uyarısında o ana kadar sömürü gözlemediğini yazdı. Bizim sıfırımız, kitlesel taramanın en azından 22 Ekim sabahına kadar bu sensöre ulaşmadığını gösterir. Sizin sunucunuzun güvende olduğunu göstermez.

Yamanın ne anlama geldiği, sunucuda nasıl tespit edileceği ve kapatılamıyorsa hangi geçici önlemlerin işe yaradığı, gerçek çıktılarla Erdem Özyurt’un yazısında anlatıldı.

Web tuzağındaki 21 Ekim sıçraması neydi?

Tek bir tarayıcıydı ve PHP değil, bulut kimlik bilgisi arıyordu. 21 Ekim’de HTTPS web tuzağının 6.789 olayının 6.393’ü, AS4213 (Krypt) üzerindeki tek bir adresten 01:20-01:41 UTC arasındaki 21 dakikada geldi. İstekler endpoint, fetch ve file adlı parametrelere iç adresler yazarak sunucu taraflı istek sahteciliği (SSRF) arıyordu:

  • http://169.254.169.254/latest/meta-data/iam/security-credentials/ (AWS örnek kimliği)
  • http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token (GCP servis hesabı belirteci)
  • file:///proc/self/environ ve http://127.0.0.1:80/.env (ortam değişkenleri ve uygulama sırları)

Adresin AbuseIPDB puanı 0. Hedef bir uygulama açığı değil, URL alıp sunucu tarafında çağıran herhangi bir uçtur. Bulutta çalışan bir uygulamada bu, tek istekle hesap anahtarı kaybı demektir; AWS’de IMDSv2 zorunluluğu bu sınıfı büyük ölçüde kapatır.

Banatsync ve ajan adları nerede?

Yerinde. 109.160.32.0/24 bloğu 22 Ekim’de RIPEstat’a göre hâlâ AS198364 (Banatsync) adına duyuruluyor. Blok 15-22 Ekim’de 33 adresten 284.066 olay üretti (dış olayların yüzde 7,1’i, yansıtma hariç tutulursa yüzde 19,7’si) ve SSH potundaki olayların yüzde 29,7’si bu bloktan geldi.

Ajan kullanıcı adı5-12 Ekim15-22 Ekim
claude27105
openclaw1662
ai1028
codex1222
n8n1320
agent / cursor10 / 711 / 11
jupyter / ollama5 / 89 / 4
Toplam109272

272 denemenin 201’i (yüzde 73,9) yine 109.160.32.0/24’ten geldi; en çok deneyen üç adres de bu blokta. Farklı kullanıcı adı sayısı 3.306’dan 3.490’a çıktı. Sözlük büyümeye devam ediyor, ama artık yeni bir şey eklemekten çok eskiyi daha sık denemeye geçmiş görünüyor.


Savunma için ne değişti?

Dört şey.

Sunucunuzun başkasına saldırı aracı olmasını engelleyin. SYN-ACK yansıtmada yansıtıcı olmak için açık bir 443 portu yeter. Linux’ta net.ipv4.tcp_synack_retries=2 ayarı akış başına yansıyan paketi 6’dan 3’e indirir. Docker kullanıyorsanız ayarı 80 ve 443’ü dinleyen ters vekil konteynerine ayrıca verin; host değeri bridge ağındaki konteynerlere geçmez. Ölçüm ve betik Erdem Özyurt’un yazısında.

ℹ️ Düzeltme (22 Ekim 2026)

Bu bültenin ilk halinde iki öneri daha vardı: tcp_syncookies=1 ve /24 başına hız sınırı. İkisini de kaldırdık. tcp_syncookies=1 Linux'ta zaten varsayılandır ve yalnız SYN kuyruğu taştığında devreye girer; bu saldırıda sensöre saniyede 7,7 SYN geldi, kuyruk taşmadı. Hız sınırı ise yakalayacak bir şey bulamaz: 520.845 gelen paket 163 bloğa ve 18 saat 50 dakikaya yayılınca, blok başına ortalama saniyede 0,05 paket düşer.

Taklit edilen adresleri engellemeyin. Bir barındırıcıdan gelen ani bir SYN seli, o barındırıcının saldırgan olduğunu değil, büyük ihtimalle kendisinin saldırı altında olduğunu gösterir. Otomatik engelleme kuralını tamamlanmış el sıkışmalara ve uygulama katmanı davranışına bağlayın.

PHP’yi bugün yamalayın, sensör sessizliğine güvenmeyin. PHP 8.5.12, 8.4.27, 8.3.36 veya 8.2.35’e geçin; 8.1 ve öncesi için dağıtım backport’unu doğrulayın. Bizim sıfırımız sizin sunucunuzun durumunu göstermez.

URL alan uçları iç adreslere kapatın. SSRF tarayıcısı bir uygulama açığı aramıyor, URL parametresi olan her ucu deniyor. Bulutta IMDSv2’yi zorunlu kılın ve sunucu taraflı isteklerde 169.254.169.254, localhost ve file:// şemasını engelleyin.


Yöntem ve Kapsam

Ham sensör rakamları T-Pot honeypot kümesinin Elasticsearch dizinlerinden, 15 Ekim 00:00 ile 22 Ekim 09:08 UTC arasında alındı ve tüm sayımlarda iç ağ kaynakları (RFC1918) hariç tutuldu. Önceki pencereye ait karşılaştırma rakamları 12 Ekim bülteninde yayımlanan değerlerdir; o pencerenin ham verisi retention dışında kaldığı için yeniden ölçülemez. Yeni adres sayıları IoC veritabanındaki ilk görülme alanından gelir ve kesindir.

Yansıtma analizi Suricata akış kayıtlarının paket ve bayt sayaçlarına, TCP durum alanına ve P0f parmak izi kayıtlarına dayanır. “Patlama penceresi”, IoC kayıtlarında 20 Ekim 19:00 ile 21 Ekim 14:30 UTC arası; ham sensörde ilk ve son olay 19:24:47 ve 14:14:45 UTC’dir. Kaynak adreslerin sahte olduğu doğrudan gözlem değil, yukarıdaki beş ölçümden çıkarılan sonuçtur. ASN ve ülke etiketleri zenginleştirme anındaki kayıttır; ASN sahibi trafiği üreten ya da hedef alınan aktörün kendisi olmayabilir.

PHP aramaları ham olayların tüm metin alanlarında yapıldı. PHP2Shell’in teknik ayrıntıları GHSA-w8hw-w9fx-j79w ve GHSA-6wmf-4rv5-p3rp danışma notlarından okundu. Sensör adresleri, yönetim portları ve iç altyapı bilgisi tüm çıktılardan çıkarılmıştır.

Bu bültendeki göstergelerin tam listesi, adres bazlı zenginleştirme ve makine okunur besleme paket aboneliği kapsamındadır: erişim talebi.

Önceki pencereler: 12 Ekim bülteni, 23 Eylül bülteni, 31 Ağustos bülteni ve React2Shell’in ilk görüldüğü 14 Temmuz bülteni.

SiberKale Tellal · Threat Intelligence · tellal.net