1. Metasploit Framework ile Exploit Gelitirme
Fatih zavc脹 Canberk Bolat
Bilgi G端venii Dan脹man脹 G端venlik Arat脹rmac脹s脹
fatih.ozavci at gamasec.net canberk.bolat at gmail dotcom
gamasec.net/fozavci cbolat.blogspot.com
2. Kapsam
Exploit Gelitirme S端reci
Metasploit Framework Gelitirme Ara巽lar脹
Exploit, Auxiliary ve Post i巽in Haz脹r Fonksiyonlar
Protokol ve Servis Yard脹mc脹lar脹
Fuzzing Ara巽lar脹
Encoder, NOP, Kripto Ara巽lar脹
rnek Exploit ve Mod端ller
Bilinmesi Gerekenler
Ruby Dili ve Yap脹s脹
Metasploit Framework Kullan脹m脹
2
3. Exploit ve Temel Kavramlar
Bir g端venlik a巽脹脹n脹 kullanarak normal-d脹脹 bir ilem yap脹lmas脹n脹
salayan y旦ntem veya yaz脹l脹m
http://sunucu/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir
http://sunucu/login.asp?uid=' OR 1='1
Payload / Shellcode : Exploit sonras脹 巽al脹t脹r脹lacak ve normal-d脹脹
ilemi yapacak i巽erik, kabuk kodu
NOP / NOP際際滷 : Not Operation bitleri, talimat i巽ermeyen ve
bellekte istenen yere ula脹ncaya kadar bellei dolduran bitler
Encoder : al脹t脹r脹lacak Shellcodeu deitiren, Sald脹r脹 nleme
Sistemi veya Anti-Vir端s taraf脹ndan yakalanmas脹n脹 旦nleyen kodlar
3
4. G端venlik A巽脹脹ndan Exploit'e Gidi
Fuzzing Hata Ay脹klama
Sald脹r脹 Vekt旦r端
EIP - 0x41414141
Kararl脹 EIP D旦n端 Adresi
Son Kabuk Kodu K旦t端 Karakterler
Kabuk Kodu al脹t脹rma
al脹an Exploit
Kabuk Kodunu INT 3?
Kar脹lama
4
8. Return Oriented Programming
ROP Gadget
RETN ve t端revleri ile biten instruction'lar
CPU Register'lar脹 ile oynamam脹z脹 salayan bir tak脹m
instruction'lar bar脹nd脹ran "instruction par巽alar脹"
ROP / DEP Bypass
http://cbolat.blogspot.com/2011/07/return-oriented-programming-dep-bypass.html
8
9. Return Oriented Programming
ROP / DEP Bypass
http://cbolat.blogspot.com/2011/07/return-oriented-programming-dep-bypass.html
9
10. ROP Payload Yap脹s脹
ROP / DEP Bypass
http://cbolat.blogspot.com/2011/07/return-oriented-programming-dep-bypass.html
10
11. Genel Exploitlerin zellikleri
ok farkl脹 programlama dillerinde sunulabilirler
(binary,c,c++,perl,lisp,python)
A巽脹脹n tek veya 旦zel bir kullan脹m脹 端zerine gelitirilmi
olabilirler (..%c0%af.. veya ..%c0%qf..)
Payload/Shellcode deeri 旦zelletirilemeyebilir (binary,
a巽脹k hakk脹nda k脹s脹tl脹 bilgi)
Kod kirli veya k旦t端 niyetli yaz脹lm脹 olabilir
Herkes巽e kullan脹ld脹脹 i巽in 旦nlem al脹nm脹 olabilir
Sadece a巽脹脹 kan脹tlamak i巽in yaz脹lm脹 kod 旦rnekleri
olabilir
11
12. Exploit Gelitirme S端reci
G端venlik
A巽脹脹n脹n
Farkl脹 Payload Duyurulmas脹 Teknik Analiz
Kullan脹m脹na Haz脹r ve 旦z端mleme
Hale Getirilmesi
Exploitin A巽脹k Atlama
zelletirilebilir Noktalar脹n脹n
Hale Gelmesi Belirlenmesi
Farkl脹 Platform 旦z端mleme
ve Programlara Yap脹larak
Uyarlanmas脹 Normal-D脹脹 聴lem
Exploitin Yap脹lmas脹
Haz脹rlanmas脹
12
14. Metasploit Framework
Bileenler
~1000 Exploit ~250 Payload ~500 Yard脹mc脹 Ara巽 ~30 Encoder
~150 Exploit Sonras脹 Mod端l/Script
ok farkl脹 t端rde Payloadlar kullan脹labiliyor ve ba脹ms脹z olarak
端retilebiliyor (Binary, Perl, Python, Shell, PHP)
Meterpreter ile Hedef Tamamen Ele Ge巽irilebiliyor
VNC ile Hedef Sisteme Grafik Aray端zle Balan脹labiliyor
ok say脹da farkl脹 encoder kullan脹labiliyor (Shikata Ga Nai vb.)
Konsol, Seri ve Grafik (Armitage) aray端zlerine sahip
En g端巽l端 旦zellii Post-Exploitation yetenekleri (Meterpreter, VNC
DLL Injection, Anti-Forensic, Process Migration vb.)
14
15. Metasploit Framework'端n Avantajlar脹
Exploit ve Payload ayr脹m脹
Varolan Exploit'lerin Gelitirilmesi, Hedef Eklenmesi
Kaynak kodu a巽脹k Exploitler
0 g端n Exploitleri
Haz脹r fonksiyonlar ile daha az Exploit kodu
Sadece Offset ve Ret Deiimi ile Hedef Ekleme
Haz脹r Servisler ve Protokol K端t端phaneleri
Farkl脹 聴lemci Mimarileri i巽in Kodlay脹c脹lar (Encoder)
Haz脹r Kabuk Kodlar脹 ve Yard脹mc脹 ara巽lar
Egg Hunting, Heap Spraying, ROP Destekleri
15
18. Egg Hunting
Yap脹s脹 Payload Decoder'lara 巽ok benzemektedir
Shellcode Memory'de bilmediimiz bir adrestedir
Egg Hunting payload Memory'de belirtilen 旦zel bir string
deeri arar
O string deerin bulunduu yerden itibaren olan
instruction'lar 巽al脹t脹r脹l脹r
Yani Shellcode!
18
19. Egg Hunting
Memory
Egg Hunting Tag Shellcode
0x909090CC
0x3f456602 0x726f41b4 ... 0x43424342
...
IF (DWORD == 0x43424342)
JUMP TO DWORD+4
19
24. Exploit ve Mod端l Ayr脹m脹
Metasploit Framework'e G旦re, Kabuk Kodu
al脹t脹r脹lm脹yorsa Exploit Deildir.
Auxiliary Mod端l端
Post Mod端l端
Yard脹mc脹 Mod端l ile Exploit 聴lemi
Sahte Servis ile Bilgi S脹zd脹rma, Fuzzing, Bilgi Toplama
Dosya 聴letme, Servis Engelleme, Sosyal M端hendislik
Veritaban脹, SAP, VoIP ve VM Analizi
Post Mod端l端
Yetki Y端kseltme, Bilgi Toplama, Y旦netim Ele Ge巽irme
24