İPUCU

Tersine Mühendislik Reverse Engineering ve Cracking ile ilgili dökümanları bulabileceğiniz bölüm.

Seçenekler

pwn #1

02-09-2018 16:49
#1
BackBox - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2007
Mesajlar:
932
Teşekkür (Etti):
156
Teşekkür (Aldı):
244
Konular:
28
Basit bir buffer overflow işlemi
Yapmanız gerekenler,
1-)Dosyayı inceleyip taşmanın olduğu kısmı ve atlama yapacağınız fonksiyonu bulmak
2-)Bu verileri kullanarak uygulamayı sömürecek exploit kodunu yazmak
3-)Verdiğim ip ve portta bu uygulama çalışmakta yazmış olduğunuz exploit kodu ile direk shelle düşüp "/home/ctf/flag" dosyasının içerisindeki flagı okumak...
Herkese kolay gelsin.


Dosya
Virüstotal
Bağlantı adresi ve port

0.tcp.ngrok.io 19297




Çözüm


Kimsenin ilgisini çekmediği için yüzeysel anlatacağım...
Öncelikle bu dosya hakkında bir kaç bilgi edinelim...



32 bit GNU/Linux uygulamasıymış peki ne gibi korumaları var.



Bu korumalar hakkında detaylı bilgiyi google amcadan alabilirsiniz...

Şimdi ise dosyamızı inceleyelim hangi kısma atlamamız gerekli açık nerede oluşuyor falan filan...



Adı üzerinde buffer overflow, örnekte gets ile alınan verinin atanan değişkenin alacağı değerden yüksek olmasından dolayı artan verinin stack'a yazılması. Durum daha kötü anlatılamazdı galiba...Burada register'ın ne işe yaradığını google amcadan öğrenebilirsiniz.Bizim eip register'i ile işimiz eip register'i programın akışını kontrol eder her girdiği fonksiyon da bir önce ki fonksiyona geri dönmek için stack'a adresini yazar, biz de bu kısmı değiştirerek programın akışını istediğimiz gibi şekil vereceğiz.
Bu örnekte shell kodla uğraşmamamıza gerek yok secure fonksiyonun incelediğiniz de beyniniz de simşekler çıkmış gözleriniz parlamış olmalı...



burada direk terminal'i çalıştırdığını göreceksiniz, programın akışını buraya yönlendirip program üzerinden direk shell'e düşeceğiz.



0x0804863a adresine yönlendirmemiz gerekiyor, Bu kısmı halletiğimize göre şimdi fuzzy işlemine geçip taşmanın olduğu boyutu öğrenelim. Bu iş için işi uzatmadan met@sploit reis'ten yardım alacağım, öncelikle pattern_create ile 500 karakter uzunluğunda bir string oluşturacağım.



gdb'yi çalıştırıp ve stringi girelim...




Göründüğü gibi taşma oldu eip registerina yazılan veriyi alıp met@sploit'in reisin pattern_offset'ini kullanıp kaç karakterden sonra eip üzerine yazdığını öğrenelim...



112 karakterden sonra eip üzerine yazıyormuş şimdi python'u kullanıp belirtilen uzunluktan bir string oluşturup little endian'e göre adresi yazalım ve test edelim çalışıyor mu diye...Yine google amca'dan öğrenebilirsiniz little ve big endian nedir diye...



Bu haliyle de sunucuya bağlanıp flag değerini alabiliriz.



Her ne kadar flagı almış olsak ta python ile exploitini yazmadan olmazdı...



Konu Tegin tarafından (08-09-2018 00:00 Saat 00:00 ) değiştirilmiştir.

07-09-2018 23:59
#2
Ultra723 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2013
Nereden:
sitemap.xml
Yaş:
9
Mesajlar:
2.715
Teşekkür (Etti):
250
Teşekkür (Aldı):
503
Konular:
555
Ellerinize sağlık, bilgim olmadığı için hiç soru sorma girişiminde de bulunmadım fakat detaylı bir inceleme fırsatı buldum teşekkürler
Kullanıcı İmzası
к. αтαтüяк

---> “Para ya da mal çaldığınızda birileri onun kaybolduğunu anlarlar. Bilgi çaldığınızda çoğu zaman bunu kimse fark etmez, çünkü bilgi hâlâ ellerindedir.”


- Kevin Mitnick


A8Yxqrk=+K+5
08-09-2018 00:00
#3
xdxd - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
03/2008
Mesajlar:
3
Teşekkür (Etti):
5
Teşekkür (Aldı):
1
Konular:
1
Konuyu ana sayfada görünce bir an başka birisi çözdü sandım
Eline emeğine sağlık hocam.
Konu xdxd tarafından (08-09-2018 00:03 Saat 00:03 ) değiştirilmiştir.
08-09-2018 00:20
#4
BackBox - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2007
Mesajlar:
932
Teşekkür (Etti):
156
Teşekkür (Aldı):
244
Konular:
28
Alıntı:
xdxd´isimli üyeden Alıntı Mesajı göster
Konuyu ana sayfada görünce bir an başka birisi çözdü sandım
Eline emeğine sağlık hocam.
Sağ ol.
Konu da yorum yoktu çözümü atayım da yorum olsun dedim
xdxd Teşekkür etti.
08-09-2018 00:22
#5
THE HACKER 21 - ait Kullanıcı Resmi (Avatar)
Junior Pentester
Üyelik tarihi:
03/2017
Mesajlar:
2.944
Teşekkür (Etti):
199
Teşekkür (Aldı):
909
Konular:
86
Emeğine Sağlık Güzel Konu Olmuş
M3m0ry Teşekkür etti.
08-09-2018 00:30
#6
Hichigo - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
~/
Mesajlar:
932
Teşekkür (Etti):
440
Teşekkür (Aldı):
367
Konular:
122
Hocam üstlerde olsaydı cidden görüp denerdim de ilk kez okuyorum şu an konuyu Ama buffer-overflow çok hoş bir exploit türü birdaha yaparsanız katılmak isterim.
Kullanıcı İmzası
08-09-2018 00:37
#7
ByTiers - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2017
Mesajlar:
184
Teşekkür (Etti):
10
Teşekkür (Aldı):
8
Konular:
41
Emeğinize sağlık
Kullanıcı İmzası
Yenilmezlik savunmayla mümkündür. Zafer saldırıyla...
Kim olduğumuzu merak edenlere;


TurkHackTeam
08-09-2018 09:10
#8
devilraw - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2018
Mesajlar:
165
Teşekkür (Etti):
6
Teşekkür (Aldı):
18
Konular:
17
Eline sağlık
Kullanıcı İmzası
"Türk budur: Yildirimdir, kasirgadir, dünyayi aydinlatan günestir."
08-09-2018 09:15
#9
SeNZeRo - ait Kullanıcı Resmi (Avatar)
Süper Moderatör
Üyelik tarihi:
09/2016
Mesajlar:
4.966
Teşekkür (Etti):
59
Teşekkür (Aldı):
1138
Konular:
430
Eline sağlık. Böyle konuların devamının gelmesini umuyorum.
Kullanıcı İmzası
Nûn kadar suskun,
Vâv kadar edebli olabilmeli,
insan...
10-09-2018 02:57
#10
Hichigo - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
~/
Mesajlar:
932
Teşekkür (Etti):
440
Teşekkür (Aldı):
367
Konular:
122
pwn #2 İsteriz hocam
Kullanıcı İmzası

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı