You are on page 1of 28

Metasploit Framework ile

Güvenlik Denetimi
Fatih Özavcı
Bilgi Güvenliği Danışmanı
fatih.ozavci@gamasec.net
Sunum İçeriği

¾ Exploit Kavramı
¾ Exploit Geliştirme Süreci
¾ Bütünleşik Geliştirme Ortamları
¾ Metasploit Framework
¾ Canlı Uygulama ve Pratikler

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 2


Exploit

Bir güvenlik açığını kullanarak normal-dışı bir


işlem yapılmasını sağlayan yöntem veya yazılım

¾ http://sunucu/scripts/..%c0%af../winnt/syste
m32/cmd.exe?/c+dir

¾ http://sunucu/login.asp?uid=‘ OR 1=1

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 3


Diğer Kavramlar

¾ Payload
¾ Exploit sonrası çalıştırılacak ve normal-dışı işlemi yapacak
içerik
¾ Shellcode
¾ Exploit sonrası çalıştırılacak platforma özel binary’ler
¾ NOP
¾ “Not Operation”, işlevsiz veya bellek yeri öğrenme amaçlı
bellek dolduran bitler
¾ Encoder
¾ Çalıştırılacak Shellcode’u değiştiren ve IDS’ler tarafından
yakalanmasını önleyen yazılımlar

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 4


Exploit Yapısı

Exploit

İşlevsiz veya İşlevli


İşlemler

Decoder
Shellcode/Payload

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 5


Exploit Yaşam Çevrimi
Güvenlik
Açığının
Bulunması
Exploit’in 0 Gün
Özelleştirilebilir Exploit’inin
Hale Gelmesi Hazırlanması

Genel Güvenlik
Exploit’in Açığının
Yayınlanması Duyurulması

Exploit’in Teknik Analiz ve


Hazırlanması Çözümleme

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 6


Genel Exploit’lerin
Özellikleri
¾ Çok farklı programlama dillerinde sunulabilirler
(binary,c,c++,perl,lisp,python)
¾ Açığın tek veya özel bir kullanımı üzerine
geliştirilmiş olabilirler (..%c0%af.. veya
..%c0%qf..)
¾ Payload/Shellcode değeri özelleştirilemeyebilir
(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

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 7


Kim Kendi Exploit’ine
İhtiyaç Duyar
¾ Tetkikçiler

¾ Danışmanlar

¾ Yazılım veya Donanım Testi Yapanlar

¾ Sistem Yöneticileri

¾ Güvenlik Açığı Geliştiricileri

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 8


Exploit Geliştirme Süreci
Güvenlik
Açığının
Farklı Payload Duyurulması Teknik Analiz
Kullanımına Hazır ve Çözümleme
Hale Getirilmesi

Exploit’in Açık Atlama


Özelleştirilebilir Noktalarının
Hale Gelmesi Belirlenmesi

Farklı Platform Çözümleme


ve Programlara Yapılarak
Uyarlanması Normal-Dışı İşlem
Exploit’in Yapılması
Hazırlanması
@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 9
Hangi Araçlar Kullanılır

¾ Açık Bulunan Yazılımın Örneği !?


¾ Fuzzer (Karıştırıcı ve Değiştiriciler)
¾ Encoder (Kodlayıcılar)
¾ HEX Editörler
¾ Binary Analiz Araçları
¾ Debugger (Hata Ayıklayıcılar)
¾ Sniffer (Paket Yakalayıcılar)
¾ Protokol Çözümleyiciler
¾ Yorumlayıcılar / Derleyiciler (Interpreter/Compiler)
¾ Shellcode’lar
¾ SQL Sorguları

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 10


Bütünleşik Geliştirme
Ortamları
¾ Exploit ve Payload ayrımı
¾ Hazır ve kodu açık Exploit’ler
¾ Binary analizi için yardımcı araçlar
¾ Hazır Payload veya Agent’lar
¾ Grafik arabirim ile “tıkla ve gir” kolaylığı
¾ Hazır fonksiyonlar ile daha az Exploit kodu
¾ Kategorizasyon ve analiz arabirimleri
¾ Hazır Recon’lar ile bilgi toplama
¾ Yerel, yetki yükseltimi amaçlı Exploit’ler
¾ 0 gün Exploit’leri

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 11


Neden Exploit Geliştirme
Ortamı ?
¾ Güvenlik açığı tarama yazılımlarının imza kalitesindeki
yetersizlikler
¾ Güvenlik açığının kullanılabilir olduğunun tespiti
¾ Risk boyutunun tam olarak bilinmesi ihtiyacı
¾ Güvenlik önlemlerinin (firewall/ids etc.) aşılması
ihtiyacı
¾ Güvenlik açıklarının kullanımına farklı bakış açıları
getirme ihtiyacı
¾ Hazır kodlar ve fonksiyonlar ile Exploit geliştirme,
kullanma ve kullanım sonrası işlemleri kolayca
uygulayabilme

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 12


Geliştirme Ortamı
Alternatifleri
¾ Core Technologies – Core Impact
¾ Immunity Security – Immunity Canvas
¾ Metasploit Project - Metasploit Framework
¾ Security Forest - Exploitation Framework

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 13


Metasploit Framework

¾ 2.x (GPL/Artistic) ve 3.x (Non-commercial) olarak iki ayrı sürümü


bulunmakta
¾ 138+ istemci/sunucu exploit ve 75+ payload bulunuyor
¾ Çok farklı türde payload’lar kullanılabiliyor
¾ Agent (Meterpreter)
¾ VNC DLL Injection
¾ Shellcode Üretimi (Shell Bind, Reverse, FindTag)
¾ Binary Upload
¾ Çok sayıda farklı encoder kullanılabiliyor
¾ Alpha2, Pex, Shikata Ga Nai, Sparc, OSXPPCLongXOR
¾ Konsol, web ve seri arabirimleri bulunuyor, 3.x grafik arabirime de
sahip olacak
¾ Açık kaynaklı her şeye entegre edilebiliyor (InlineEgg)
¾ En güçlü özelliği Post-Exploitation yetenekleri (Meterpreter, VNC
DLL Injection, Anti-Forensic, Process Migration vb.)

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 14


Ekran Görüntüleri

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 15


Ekran Görüntüleri

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 16


Genel Özellikler

¾ Arabirim
¾ Konsol Arayüzü (msfconsole)
¾ Web Arayüzü (msfweb)
¾ Komut Satırı Arayüzü (msfcli)
¾ Yardımcı Araçlar
¾ Dönüş Adresi Tarayıcı (msfpescan,msfelfscan)
¾ Payload Üretici (msfpayload)
¾ Payload Encoder (msfencode)
¾ Oturum Logları (msflogdump)
¾ Ana Modüller
¾ Exploit’ler
¾ Payload’lar
¾ Encoder’lar
¾ NOP Üreticiler

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 17


Exploit

¾ Çok sayıda, kaynak kodu açık, eski ve yeni exploit


¾ İstemci ve sunucu exploitleri birarada
¾ Farklı işletim sistemleri için yazılmış exploit’ler
¾ Windows, MacOSX, Linux,Irix, AIX, Solaris etc.
¾ Farklı platformlar için yazılmış exploit’ler
¾ PPC, IA32, SPARC, MIPS, etc.
¾ Hazır fonksiyonlar ile yazılacak kod miktarı oldukça az
¾ SSL desteği
¾ Hazır ağ protokolleri (SMB/DCERPC etc.)
¾ Encoding desteği
¾ Kolay payload ve hedef entegrasyonu
¾ Kod yerine güvenlik açığına odaklanmak hedeflenmiş

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 18


Payload

¾ Birçok platform için hazır Shellcode


¾ Windows,Linux,Aix,Solaris,Hp/UX,OS X,BSD,BSDI etc.
¾ Hazır Shellcode (Shell Bind, Reverse, FindTag)
¾ Perl Kodu
¾ Üst düzey payload’lar
¾ PassiveX
¾ InlineEgg (Core Tech.)
¾ Meterpreter
¾ VNC Injection
¾ Belleğe program yükleme ve çalıştırma
¾ Kademeli/Modüler payload yükleme
¾ Hedef üstünden yeni saldırı kapasitesi
¾ Tek başına payload kullanımı
¾ msfpayload PAYLOAD_ADI LHOST=x.x.x.x LPORT=3333 X > test.exe
¾ msfcli payload_handler PAYLOAD=PAYLOAD_ADI LHOST=x.x.x.x
LPORT=3333 E

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 19


Encoder

¾ Hazır encoder’lar ile payload kolayca


değiştirilebilmekte
¾ HIDS/NIDS/IPS Atlatma
¾ Farklı platformlar için encoder’lar
¾ PPC, x86, Sparc etc.
¾ Farklı türlerde 13 encoder

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 20


Meterpreter

¾ Meta-Interpreter
¾ Modül destekli exploit sonrası aracı
¾ Dosya sistemi, Süreç yönetimi, Ağ vb.
¾ DLL olarak yeni modüller eklenebilir
¾ Kodu açık ve kolayca geliştirilebilir
¾ Dinamik modül yükleme
¾ Dahili Kriptolama
¾ Kanal ve VNC Injection desteği
¾ 3.x ile birlikte kapasitesi artıyor
¾ Süreç birleştirme
¾ IRB desteği
¾ Timestomp,SAM HashDump
¾ Yeni bir alt süreç olarak doğrudan bellekte çalışıyor

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 21


PassiveX

¾ Hedefin registry kayıtları değiştirilir ve Internet


Explorer başlatılır
¾ İstenen DLL ActiveX objesi olarak yüklenir
¾ Tüm iletişim HTTP ile yapılır
¾ IE Proxy ayarları ve kimlik özellikleri
¾ DMZ ağlarında kullanışlı
¾ VNC ve Meterpreter Injection için kullanılabilir

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 22


VNC Injection

¾ RealVNC kodunda değişiklikler yapılmış,


gereksiz bölümler çıkartılmış
¾ Dış dosya, kütüphane, servis kurulumu veya
registry anahtarı gerekmiyor
¾ Yeni bir alt süreç olarak doğrudan bellekte
çalışıyor
¾ Kilitli ekranlarda yeni kabuk (command prompt)
açılıyor

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 23


Metasploit 3.x

¾ Ruby ile yazılıyor


¾ Güncel Sürüm : 3.0 Alpha r3
¾ Kod büyük ölçüde tamamlanmış
¾ AUX, Grafik arabirim vb. eksikler bulunuyor
¾ Payload ve Encoder artışı var
¾ Meterpreter kapasitesi arttırılmış
¾ Otomatize edilebilir
¾ “Pivoting” Hedef üstünden saldırı daha kolay
¾ Çok sayıda fonksiyon dökümante edilmiş

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 24


Karşılaştırma Tablosu
Özellikler Core Impact Immunity Canvas Metasploit Framework
İşletim Sistemi Windows Windows / Unix Windows / Unix
Grafik Kullanıcı Arabirimi Var Var 2.x Yok / 3.x Var
Script Dili Python Python 2.x Perl / 3.x Ruby
Ağ Haritalama Var Var 2.x Yok / 3.x Planlanıyor
İstemci Exploit’leri Var Var Var
Yerel Exploit’ler Var Var Yok
Web Exploit’leri Yok Yok Yok
Payload Kullanımı Agent / InlineEgg Agent Meterpreter/Shellcode/VNC
Encoder Kullanımı Yok Yok Var
Exploit Sonrası Bağlantı Bind/Reverse/Re-use Bild/Reverse/Re-use Bild/Reverse/FindSock
Agent Üstünden Saldırı Var Yok Meterpreter / SocketNinja
Otomatize Exploit İşlemi Var Var Yok
Raporlama Var Yok Yok
Diğer Araçlarla Entg. Var Var 2.x Yok / 3.x Planlanıyor
Harici Geliştirme Araçları Yok Yok Var
Anti-Forensic Özellikleri Yok Yok Var
Fiyat ~25.000 USD 10 Kul. ~2.000 USD Ücretsiz
@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 25
Metasploit iş üstünde....

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 26


Bağlantılar ve Referanslar

Metasploit Project
www.metasploit.org
Metasploit Anti-Forensics
www.metasploit.org/projects/antiforensics
Metasploit Documentation
www.metasploit.org/projects/Framework/documentation.html
Metasploit Live Demo
metasploit.com:55555/

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 27


Teşekkürler....

@ 2006 Fatih Özavcı, Her Hakkı Saklıdır 28

You might also like