Kayıtlar

TR | Code Reuse Saldırıları (ret2libc & rop)

Resim
Merhabalar, bu yazımda sizlere binary exploitationda sıkça kullanılan bir teknikten bahsedeceğim. Diğer bir teknik olan Egg Hunting hakkındaki yazımı okumadıysanız buradan okuyabilirsiniz. Tekniğe giriş yapmadan önce binary exploitation saldırılarının yapısı ve bu tekniğe neden ihtiyaç duyulduğundan biraz bahsetmek istiyorum. Bildiğiniz üzere "program" dediğimiz şey belli bir işi yapmak üzere, belli bir algoritmaya göre bir araya getirilmiş talimatlardan başka birşey değildir. Bu programlar genellikle kullanıcıdan bir girdi verisi alır, bu veriyi işler ve bir çıktı verisi üretir. Örnek vermek gerekirse bir e-ticaret sitesi düşünelim. Bu sitede yer alan ürünlerin her birine atanmış özel bir ID değeri vardır. Kullanıcı bir ürünün özelliklerine bakmak istediğinde, (arkaplanda) ilgili ürünün ID bilgisini sunucu tarafındaki yazılıma girdi olarak verir. Yazılım bu ID bilgisini alır ve sahip olduğu veritabanında bu bilgiyi sorgulatarak o ID'ye sahip...

TR | Stack Overflow'da Egg Hunting Tekniği

Resim
Bu yazımda yığın taşması zafiyetinin istismarında kullanılan Egg Hunting adı verilen bir teknikten bahsedeceğim. Adını bir paskalya bayramı geleneğinden alan bu teknik shellcode'umuzu yerleştireceğimiz buffer'da yeterli alan yoksa kullanılır. "Execve /bin/sh" gibi ufak boyutlu shellcode'larda bu tür sorunlar genelde ortaya çıkmasa da reverse-tcp gibi görece daha büyük shellcode'lar kullanıldığında, bunun üstünede IPS benzeri güvenlik önlemlerini atlatmak için encoding işlemi yapıldığında shellcode'umuz gittikçe daha büyük boyutlara ulaşmaktadır ve şayet yeterli alan bulunmuyorsa Egg hunting gibi tekniklere başvurulmalıdır. Bu tekniğin temel mantığı asıl çalıştırmak istediğimiz shellcode'un önüne etiket görevini üstlenecek bir string ( yabancı kaynaklarda TAG olarak geçer ) koymak ve oluşturulan bu EGG shellcode 'unu istismar edilecek programın erişebileceği bir hafıza alanına yerleştirmek ( örneğin programın aldığı başka bi...

TR | Rom-0 Zafiyeti

Resim
Merhabalar, Bu yazımızda sizlerle Allegro RomPager da bulunan başka bir zafiyeti inceleyeceğiz. Bu zafiyet önceki Misfortune Cookie yazısında incelediğimiz zafiyete benzer şekilde saldırganın yönetim paneline erişimini sağlıyor. Zafiyetin nedeni modem ayarlarının yedeğini aldığınızda oluşan "rom-0" isimli backup dosyasının password protected olmamasıdır. URL üzerinden dosyaya erişmeye çalıştığımız takdirde hiçbir şifre talep edilmeden bu dosya indirilebilecektir. Elde edilen bu dosyanın içeriği LZS algoritmasıyla sıkıştırılmış olup online decoderlar ile çözüldükten sonra içeriğine rahatça erişilebilir. Peki bu dosyanın içerisinde hangi bilgiler var? Router'ın konfigurasyon bilgileri ve daha da önemlisi giriş için kullanılan kullanıcı adı ve parola! Bu bilgileri elde ettikten sonra yönetim paneline erişmemiz ise an meselesi. Gördüğünüz üzere zafiyetin istismarı bu kadar basit. Etki alanını tahmin etmek isterseniz bu shodan raporuna bakmanız yeterli. ...

Hacktrick 2016 sunumum

Resim
Hacktrick '16, pwn101 eğitimi x86 mimarisi ve tersine mühendislik sunumu. x86 Mimarisi ve Tersine Mühendislik from canyoupwn.me

TR | Misfortune Cookie (CVE-2014-9222) Analizi

Resim
Bu yazımızda sizlerle etki alanı oldukça geniş olan ve yüksek risk içeren bir zafiyeti inceleyeceğiz. Misfortune Cookie olarak adlandırılan zafiyet routerlarda web arayüzü sunmak için kullanılan Allegro Rompager adlı gömülü web server uygulamasında bulunuyor. Bu yazılımın birçok marka/model routerda kullanılması zafiyetin etki alanını bir hayli genişletiyor. Zafiyet aracılığıyla saldıgan herhangi bir şifreye ihtiyaç duymadan router'ın web kontrol paneline erişim sağlayabiliyor. Bu da zafiyeti oldukça riskli bir hale getiriyor. Hadi incelemeye başlayalım. NOT: Yazıda kullanılan kod parçaları ve görseller alıntıdır.   0x00: Zafiyet Tespiti Zafiyetimizin istismar vektörü, adından da anlaşılacağı gibi, cookie verisi. Gelin önce sunucuya gönderilen cookie değerine bir bakalım. Gönderilen cookie'nin formatı "CX=value" şeklinde. Bunun sebebini web server'ın cookie'yi parse eden kısmına bakınca daha iyi anlıyoruz. ROM:8010E5B0 loc_8010E5B0: ...

TR | x86 Assembly Cheat Sheet

Resim
Bu yazıyı Canyoupwn.me sitesinden okumak için tıklayın. "There's way too much information to decode the Matrix. You get used to it, though. Your brain does the translating. I don't even see the code. All I see is blonde, brunette, redhead." - Cypher Matrix filminde geçen bu söz bana göre tersine mühendisliğin temelinde yatan mantığı anlatır. RE'in bir ayağı assembly ve OS mimarisini bilmek ise diğer ayağı da disassemble edilmiş bir koddaki pattern'ları görüp bunları programlama dillerindeki soyut yapılarla bağdaştırabilmektir. Bu amaçla Linux/x86 mimarisindeki uygulamalarda karşılaştığım birkaç yapıyı sizlerle paylaşma gereği duydum.   Fonksiyon Argümanları /* ------------------------------------------------------------------ */ // argN = [ebp+0x8 + 0x4*(N-1)] function( . arg1 // [ebp+0x8] . arg2 // [ebp+0xc] . arg3 // [ebp+0x10] ) /* ------------------------------------------------------------------ */     Fonksiyon Çağır...

SmashTheTux v1.0

Resim
Selamlar, Yakın zamanlarda dahil olduğum Canyoupwn.me projesi için hazırladığım sanal makine olan SmashTheTux dosyasını indirmek için  tıklayın. Bu VM, Binary exploitation dünyasına adım atmak isteyenleri hedeflemektedir. Toplamda 9 aşama bulunan SmashTheTux'da her aşama farklı bir zafiyeti veya istismar yöntemini tanıtmaktadır. Sorular temel seviye olup daha gelişmiş istismar teknikleri serinin 2. makinesinde ele alınacaktır. Bu açıdan yeni başlayacaklar için ideal bir alıştırma ortamı olacağını düşünmekteyim.