Sizler bu konuyu okurken, duygularınıza tercüman olarak bir sanat eserini de paylaşmak istedim. Bu sanat eseri çalarken konuyu okuyun, okurken yaşayın.
Hadi biraz maviye gidelim dostlar, o görkemli saf ve merak uyandıran yıllara, bilginin yapay zekada değil insanın ruhuna işlemiş yıllarına. O internet kafe klavyelerinin cızırtısını, 56k modem sesinden sonra gelen zafer hissini hatırlayanlar bilir. 2002-2006 arası bir siteyi hacklemek bir teknik değil, bir sabır işiydi. O yıllarda hazır framework yoktu. Her site custom PHP, her forum phpBB, her içerik sistemi PHP-Nuke'tu. Google'da inurl:view.php?id= aratırdın ve sabaha kadar dork listesi kasardın.SQL Injection manueldi. Tool yoktu. Hata mesajını okumak bir sanattı. magic_quotes_gpc açık mı, kolon sayısı kaç, hangi tabloda admin var, hepsini tek tek elle deneye yanıla bulurdun. Bir mysql_error() görmek, bugün bir 0day bulmak kadar heyecan verirdi.
Ve sonra o an: upload buldun. Ama *.php engelli. İşte orada gif89a efsanesi başlardı. Bir gif dosyasının kafasına saklanmış mini shell. Sunucu onu resim sanırdı, ama sen çağırdığında o sana bir kapı açardı. r57, c99... O shell'lerin içindeki o Rusça-İngilizce karışık arayüz, bütün bir sunucuyu root hissettirirdi. Aslında root değildin çoğu zaman, ama safe_mode off yazısını görmek yeterliydi. Şartlar neydi? Savunma yoktu. WAF yoktu. Log tutan yoktu. Çoğu host, hacklendiğini sen deface edene kadar anlamazdı.
Sonra her şey hızlandı. Havij, Acunetix, SQLMap çıktı. 3 saatte elle bulduğun açığı tool 30 saniyede döker oldu. Bu hem iyi hem kötüydü. Herkes hacker oldu, ama kimse ne yaptığını bilmemeye başladı. Bu dönemde savunma da uyandı. PHP mysql_* fonksiyonlarını bıraktı, PDO ve prepared statement geldi. Upload filtreleri sadece uzantıya değil, MIME type'a ve içeriğe bakmaya başladı. Cloudflare gibi WAF'lar, en basit manuel denemeyi bile bloklamaya başladı. O eski or 1=1 hikayeleri tarih oldu. Hackerlık forumdan şirkete taşındı. Eskiden zone-h'de gösteriş için yapılan deface, artık HackerOne'da rapor olup para kazandırmaya başladı.
Artık mesele bir siteyi düşürmek değildi. Mesele para ve veriydi. Hedef WordPress sitesi değil, AWS S3 bucket'ı, API endpoint'i, JWT token'ı oldu. Yöntemler ölmedi, şekil değiştirdi. SQL injection hala OWASP Top 10'da, ama artık blind, time-based, WAF bypass'lı versiyonları konuşuluyor. Upload zafiyeti hala var, ama artık gif89a ile değil, polyglot dosyalarla, ImageTragick gibi kütüphane zafiyetleriyle yapılıyor. En büyük değişiklik: Artık iz bırakmadan iş yapamıyorsun. Her istek loglanıyor, her IP skorlanıyor, her davranış AI tarafından izleniyor.
Peki soruna gelelim. Yöntemlerin yerini yapay zekalar mı aldı?
Hayır. Yapay zeka yeni bir yöntem değil, tüm yöntemlerin kaldıracı oldu. Eskiden 100 siteyi tek tek elle test ederdin. Şimdi bir yapay zeka modeline "bu GitHub reposunu incele, gözden kaçan bir logic hatası var mı" diyorsun ve o senin 3 günde göreceğini 3 dakikada özetliyor. Eskiden shell'i gizlemek için kafa yorardın, şimdi savunma tarafındaki AI, o gif'in içindeki en ufak anormalliği entropi analizinden yakalıyor. Saldırı tarafında AI, payload üretmiyor sadece. Kodun niyetini anlıyor. Savunma tarafında ise artık imza tabanlı değil, niyet tabanlı çalışıyor. Yani senin gif89a'nın içindeki eval niyetini, dosya daha sunucuya yazılmadan anlıyor. Yani olan şu: 2002'de avantaj saldırgandaydı çünkü savunma yoktu. 2015'de denge savunmaya geçti. Bugün ise hem saldırı hem savunma aynı silaha, yapay zekaya sarılmış durumda. O eski yılların ruhu ölmedi. O manuel SQL injection'da öğrendiğin sabır, o shell'i çalıştırdığında gelen o saf merak duygusu... Bugün bug bounty'de, CTF'de, kaynak kod denetiminde aynen duruyor. Sadece araçlar değişti. Eskiden elimizde not defteri ve bir gif dosyası vardı. Şimdi elimizde dil modelleri ve milyon satırlık loglar var.
Biz rootlamıyorduk aslında, internetin nasıl çalıştığını söküp takıyorduk, bir sayfayı kendine düşman ediyorduk. Şimdi de aynı şeyi yapıyoruz, sadece tornavidamız daha akıllı. #YABANCY
Hadi biraz maviye gidelim dostlar, o görkemli saf ve merak uyandıran yıllara, bilginin yapay zekada değil insanın ruhuna işlemiş yıllarına. O internet kafe klavyelerinin cızırtısını, 56k modem sesinden sonra gelen zafer hissini hatırlayanlar bilir. 2002-2006 arası bir siteyi hacklemek bir teknik değil, bir sabır işiydi. O yıllarda hazır framework yoktu. Her site custom PHP, her forum phpBB, her içerik sistemi PHP-Nuke'tu. Google'da inurl:view.php?id= aratırdın ve sabaha kadar dork listesi kasardın.SQL Injection manueldi. Tool yoktu. Hata mesajını okumak bir sanattı. magic_quotes_gpc açık mı, kolon sayısı kaç, hangi tabloda admin var, hepsini tek tek elle deneye yanıla bulurdun. Bir mysql_error() görmek, bugün bir 0day bulmak kadar heyecan verirdi.
Ve sonra o an: upload buldun. Ama *.php engelli. İşte orada gif89a efsanesi başlardı. Bir gif dosyasının kafasına saklanmış mini shell. Sunucu onu resim sanırdı, ama sen çağırdığında o sana bir kapı açardı. r57, c99... O shell'lerin içindeki o Rusça-İngilizce karışık arayüz, bütün bir sunucuyu root hissettirirdi. Aslında root değildin çoğu zaman, ama safe_mode off yazısını görmek yeterliydi. Şartlar neydi? Savunma yoktu. WAF yoktu. Log tutan yoktu. Çoğu host, hacklendiğini sen deface edene kadar anlamazdı.
Sonra her şey hızlandı. Havij, Acunetix, SQLMap çıktı. 3 saatte elle bulduğun açığı tool 30 saniyede döker oldu. Bu hem iyi hem kötüydü. Herkes hacker oldu, ama kimse ne yaptığını bilmemeye başladı. Bu dönemde savunma da uyandı. PHP mysql_* fonksiyonlarını bıraktı, PDO ve prepared statement geldi. Upload filtreleri sadece uzantıya değil, MIME type'a ve içeriğe bakmaya başladı. Cloudflare gibi WAF'lar, en basit manuel denemeyi bile bloklamaya başladı. O eski or 1=1 hikayeleri tarih oldu. Hackerlık forumdan şirkete taşındı. Eskiden zone-h'de gösteriş için yapılan deface, artık HackerOne'da rapor olup para kazandırmaya başladı.
Artık mesele bir siteyi düşürmek değildi. Mesele para ve veriydi. Hedef WordPress sitesi değil, AWS S3 bucket'ı, API endpoint'i, JWT token'ı oldu. Yöntemler ölmedi, şekil değiştirdi. SQL injection hala OWASP Top 10'da, ama artık blind, time-based, WAF bypass'lı versiyonları konuşuluyor. Upload zafiyeti hala var, ama artık gif89a ile değil, polyglot dosyalarla, ImageTragick gibi kütüphane zafiyetleriyle yapılıyor. En büyük değişiklik: Artık iz bırakmadan iş yapamıyorsun. Her istek loglanıyor, her IP skorlanıyor, her davranış AI tarafından izleniyor.
Peki soruna gelelim. Yöntemlerin yerini yapay zekalar mı aldı?
Hayır. Yapay zeka yeni bir yöntem değil, tüm yöntemlerin kaldıracı oldu. Eskiden 100 siteyi tek tek elle test ederdin. Şimdi bir yapay zeka modeline "bu GitHub reposunu incele, gözden kaçan bir logic hatası var mı" diyorsun ve o senin 3 günde göreceğini 3 dakikada özetliyor. Eskiden shell'i gizlemek için kafa yorardın, şimdi savunma tarafındaki AI, o gif'in içindeki en ufak anormalliği entropi analizinden yakalıyor. Saldırı tarafında AI, payload üretmiyor sadece. Kodun niyetini anlıyor. Savunma tarafında ise artık imza tabanlı değil, niyet tabanlı çalışıyor. Yani senin gif89a'nın içindeki eval niyetini, dosya daha sunucuya yazılmadan anlıyor. Yani olan şu: 2002'de avantaj saldırgandaydı çünkü savunma yoktu. 2015'de denge savunmaya geçti. Bugün ise hem saldırı hem savunma aynı silaha, yapay zekaya sarılmış durumda. O eski yılların ruhu ölmedi. O manuel SQL injection'da öğrendiğin sabır, o shell'i çalıştırdığında gelen o saf merak duygusu... Bugün bug bounty'de, CTF'de, kaynak kod denetiminde aynen duruyor. Sadece araçlar değişti. Eskiden elimizde not defteri ve bir gif dosyası vardı. Şimdi elimizde dil modelleri ve milyon satırlık loglar var.
Biz rootlamıyorduk aslında, internetin nasıl çalıştığını söküp takıyorduk, bir sayfayı kendine düşman ediyorduk. Şimdi de aynı şeyi yapıyoruz, sadece tornavidamız daha akıllı. #YABANCY




