Kayıtlar

pentesting etiketine sahip yayınlar gösteriliyor

Linux'ta Library Hooking Yöntemi

Resim
Selamlar, Uzun zamandır yazılarımı canyoupwn.me de yazıyorum, burayı çok boşladığımın farkına vardım artık biraz da orayı boşlayayım :P Şaka bir yana canyoupwnme'de gerçekten de çoğu insan için kaynak olacak nitelikte yazılar yayınlanıyor. Henüz bakmadıysanız göz atmanızı tavsiye ederim. Neyse buralar fazla reklam kokmadan konuya girelim :D He bide canım sıkılıyor, biraz boş yapacağım hazırlıklı olun :D Bir sisteme sızdıktan sonra bütün hekır abilerimizin ilk amacı sisteme daha sonradan erişebilmek adına bir arka kapı bırakmak olur. Arka kapı bırakmanın çok çeşitli yolları vardır. Bazı abiler "nc -l -p 31337 -e /bin/bash" şeklinde, çalıştırılacak ilk ps komutunda kabak gibi gözükmek suretiyle bırakanı anında ele verecek bir backdoor kullanmayı tercih etseler de biz onlara uymayalım. Library hook denen olay en basit tabiriyle; bir kütüphanedeki fonksiyonla aynı özellikleri (isim, dönüş tipi, argüman sayısı/türü) taşıyan bir fonksiyon içeren bir shared objec...

HackMETU 16 Macerası

6-7 Şubat tarihleri arasında ikincisi düzenlenen HackMETU etkinliğinde NoName adındaki takımımız yarışmanın sonunda 4. sırada yerini buldu. Bu 30 saatlik maratonda bana yoldaşlık eden arkadaşlarım Hasan Emre Özer ve Hakkı Yüce'ye burdan teşekkürlerimi sunuyorum. Ayrıca yarışmada dereceye giren arkadaşlarımı ve katılma cesaretini gösteren herkesi tebrik etmeden olmaz :) Organizasyon ekibine ve etkinliğe ev sahipliği yapan ODTÜ Enformatik Enstitüsüne ayrıyeten teşekkürlerimi sunuyorum. Soruların cevapları zaten yayımlanacağı için ayrıca açıklamaya gerek görmüyorum. Onun yerine ileriki senelerde yarışmaya katılmayı düşünen arkadaşlar için sorular ve organizasyon hakkında bilgi vermek istiyorum. 30 saat sürecek bir yarışmayı idare etmek kolay değil ama 0xdeffbeef ekibi bunu gayet güzel başardılar diye düşünüyorum. Etkinlik ODTÜ Enformatik Enstitüsü binasında gerçekleşti. Geldiğimizde her takımın masası hazırlanmıştı, masanın üstünde de t-shirt ve hediyelerimiz bizi bekliyordu :D...

Useful Resources

Converting a snapshot file to memory dump using the vmss2core tool (2003941)  Memory forensics: Using Volatility Toolkit to extract malware samples from memory dump  Local Linux Enumeration & Privilege Escalation Cheatsheet Searching code vulnerabilities with MSFrop

Burada Heap'in Borusu Öter!

Resim
Dün nereden çıktıysa bilmiyorum bi heap overflow'a girişesim geldi.  Protostar'ın heap challengeları ile başlayayım dedim. Unutursam diye çözümlerinide buraya yazıyorum. Heap 0 #include <stdlib.h> #include <unistd.h> #include <string.h> #include <stdio.h> #include <sys/types.h> struct data { char name[64]; }; struct fp { int (*fp)(); }; void winner() { printf("level passed\n"); } void nowinner() { printf("level has not been passed\n"); } int main(int argc, char **argv) { struct data *d; struct fp *f; d = malloc(sizeof(struct data)); f = malloc(sizeof(struct fp)); f->fp = nowinner; printf("data is at %p, fp is at %p\n", d, f); strcpy(d->name, argv[1]); f->fp(); } İki adet struct var ve main içerisinde malloc ile bunlara heap'ten yer ayırıldı...

Today's Learning

CTF çözdüğüm sıralarda öğrendiğim ufak tefek ama kritik bilgileri unutmamak maksadıyla burada paylaşıyorum. Bugün neler öğrendim Bir string'in boyutu değiştiğinde bellekteki adresi de değişir.   Debugger ile bir fonksiyonu incelemeye başlamadan önce fonksiyonun stack frame'ini öğren. Bunu bilmek sana stack'i analiz ederken kolaylık sağlar. Bir uygulama, dosya çağıracağı vakit dosyayı aramaya başlayacağı yer uygulamanın çalıştırıldığı dizindir.  Bir uygulamayı analiz ederken _init_ ve _finit_ fonksiyonlarını analiz etmekte fayda var. Böylece program açıldığı ve kapandığı sırada hangi işlemler yapıldığını bilebiliriz..  Bellek taşırma zafiyetini istismar ederken şayet stack'te yeteri kadar buffer alanı yoksa, shelcode'un başına sub esp, 0xN yönergesini yerleştirerek gerekli buffer alanını tahsis edebiliriz. (N: bize gereken byte miktarının hexadecimal karşılığı) Bellek taşırma zafiyetini istismar ederken şayet stack'te yeteri kadar buffer alanı yoksa ...

Exploit Analizi

Zamanında yabancı bir forum için yazdığım bir yazıyı arkadaşım Türkçe'ye çevirip yayımlamıştı. Faydalı bir yazı olduğunu düşündüğümden burada da paylaşmak istiyorum. Bugün sizinle bir exploitin işleyişini anlamak ve kullandığı güvenlik açığı hakkında daha fazla bilgi edinmek amacıyla exploit analizi yapacağız. Exploit analizi yapabilmek en az exploit geliştirmek kadar önemli bir konudur. Bazen exploit geliştiricileri zafiyet hakkında yeterli bilgi vermeyebilir veya siz zafiyet hakkında daha fazlasını bilmek isteyebilirsiniz. Exploit analizi yapabilmek, bu durumlarda yararlı olacaktır. Ayrıca exploitlerin genel anlamda nasıl çalıştığını anlamanıza da katkı sağlayacaktır. Exploit geliştirmede kullanılan en yaygın dillerden bazıları: Python, Perl, Ruby, PHP, C Bu dillerden en az birini bilmekte fayda var. WordPress’i ele geçirmek için PHP dilinde yazılmış basit bir RFU (uzaktan dosya yükleme) exploit’ini inceleyeceğiz. Hadi başlayalım. Analiz edeceğimiz exploit: http://1...