SlideShare a Scribd company logo
Metasploit
Exploit Nedir?
Exploit bir sistemin açığından yararlanarak sistemi ele
geçirmeyi sağlayan yazılımlardır. Hack ve güvenlik için
vazgeçilmezdir. Siyah şapkalı hackerlar hack için
kullanır beyaz şapkalı hackerlar ise pentest
(Penetration Test) yapmak için kullanırlar. Exploitler
genel olarak public ve private olmak üzere 2 gruba
ayrılırlar. Public olanlar herkesin erişim sağlayabileceği
exploitlerdir. Private olanlar ise ücretli olup belli başlı
exploit sitelerinde veya deebwep’te satılırlar. Örneğin
0day gibi
Exploit Nedir?
Örneğin burada Twitter reset account Private Method 0day Exploit private
ücretli bir exploittir. Exploitler genel anlamda c,python,perl,ruby gibi dillerle
yazılamaktadır.
Exploit Çeşitleri?
Exploitler kullanım amacına göre 3’e ayrılırlar.
● Remote Exploits
● Local Exploits
● 0day Exploits (Private)
Exploit Çeşitleri?
1 – Remote Exploits
Remote adından da anlaşılacağı gibi uzaktan
sistemi exploit eder. Kısaca çevremizde
olmayan bir sistemi exploit etmeye yarayan
yazılımlara remote exploit denir. Burada sadece
hedef kişi olmakta sınırlı değildir. Hedefimiz bir
sunucu da bir kişi ve sistemde olabilir.
Exploit Çeşitleri?
Exploit Çeşitleri?
● 2 – Local Exploits
Sistemde direk olarak çalışan exploitlerdir.
Genellikle sistemde yetki yükseltmek amacıyla
kullanılır. Örneğin bir linux servere girdiniz fakat
işlem yapmak için gerekli olan yetkileriniz olmadığını
varsayalım yani root değilsiniz. Bu durumda local
exploitler devreye girmektedir. Serveri rootlamak,
tüm yetkilere sahip olmak için serverin kurulu olan
versiyonuna göre sistemi exploit edersiniz.
Exploit Çeşitleri?
Exploit Çeşitleri?
3 – 0day Exploits
En tehlikeli olan exploitlerdir. Bir sistemde açık bulunduğu
anda koda dökülüp paylaşılan exploitlerdir. Tehlikeli olma
sebebi ise sistemde veya yazılımda bulunan açığın sistem
yöneticisi tarafından haberi olmamasıdır.
Örnek exploit Siteleri
● 0day.today
● Exploit-db.com
Metasploit
● Metasploit güvenlik testleri için ruby dili ile
kodlanmış exploit kütüphanesidir. Kimi testler
için kullanır kimileri ise sömürmek için
kullanmaktadır. Bünyesinde 1400’den fazla
exploit bulunmaktadır. Bunun yanında auxiliary
(Bilgi Toplama) ve Encoder mevcuttur.
● Kullanımı ve arayüzü gayet sadedir. Consol
tabanlı metasploit üzerinden ilerleyeceğiz.
● Sistem parametreler mantığı ile çalışmaktadır.
Metasploit
Metasploit Kurulumu
●
Metasploit kurulumu linux makinalar için 1-2 komut ile gerçekleştirilebilir. 2 farklı yöntemi vardır.
1- Kendi sitesine girip indirerek normal paket kurulu gibi kurulum gerçekleştirebilirsiniz.
Download: https://github.com/rapid7/metasploit-framework/wiki/Nightly-Installers
●
2- Kali Linux kaynaklarından kurulumu gerçekleştirerek bunu yapabilmek için sources.liste
kalinin kaynak depoları eklenmiş olması gerekmektedir. Ekledikten sonra apt-get install
metasploit komutunu terminale girmeniz yeterlidir. Bununla uğraşmak istemiyorum diyenler ise
katolin veya RenOS Kali Toolbox aracı ile paket kurulumunu gerçekleştirebilirsiniz.
Metasploit Kurulumu
● RenOs Kali Toolbox’ı
https://github.com/Kali-LinuxTR-NeT/RenOS-Kali-Toolbox-v1.git
bu adresten indirebilirsiniz. İlk önce depoları ekleyip daha sonra
araçlar kısmından metasploiti veya diğer araçları kurabilirsiniz.
Genel Komut ve Kavramlar
Metasploit’te exploit kullanımı için genel olarak kullanılan komut ve
parametreler vardır.
● 1 – Metasploit Başlatma
Kurulu olan sistemlerde metasploiti başlatmak için terminale msfconsole
yazmanız yeterlidir.
● 2 – Exploit Seçme
Exploit seçmek için use parametresi kullanılmamaktadır.
Genel Komut ve Kavramlar
3 – Paylod Görüntüleme ve Seçme
Payload exploit edilme işleminden sonra kullanılacak modüllerdir.
Yapacağınız işlemlere göre uygun olan payload seçilir. Kullanılacak
payloadları görüntüleyebilmek için show payloads komutu kullanılır.
Genel Komut ve Kavramlar
Uygun olan payloadı seçmek önemlidir. Örneğin seçtiğiniz sistem android
ise seçtiğiniz payload’da android olması gerekmektedir. Payloadı seçmek
için set PAYLOAD komutu kullanılmaktadır.
Genel Komut ve Kavramlar
4 – Parametre Tanımlama
Sistemi exploit edebilmek için exploit’e sistemi tanımlamak gerekir. Bunu show options kodu ile gerçekleştireceğiz.
Name: Parametre İsmi
Current Setting: Girilen Değer
Required : Girilmesi zorunlu olup olmadığıdır.
Description : Açıklama
Genel Komut ve Kavramlar
Örneğin burada bizden lhost ve lport istemektedir. Bunlara değer girmek için set
parametresi kullanılmaktadır.
Örneğin set LHOST 192.168.10.56 gibi
LHOST: Local ip
LPORT: Local Port
RHOST: Remote Host
RPORT: Remote Port
Genel Komut ve Kavramlar
5 – Exploit Kontrol Etme
Exploiti çalıştırmadan önce hedef sistemde açığın bulunup
bulunmadağını test etmek için check parametresi kullanılır. Var
ise The target is Vulnerable şeklinde bir sonuç alırsınız yoksa
aşağıdaki gibi hatalar alırsınız.
Genel Komutlar ve Kavramlar
6 – Exploit Hakkında Bilgi Alma
Exploit hakkında temel olarak bilgi ve referans kaynakları
görüntülemek için info komutu kullanılır.
Genel Komut ve Kavramlar
7 – Exploit Çalıştırma
Gerekli parametreleri doldurduktan sonra exploit etmek için exploit parametresini
vermeniz yeterlidir.
8 – Exploit Arama
Exploit arama işlemi belirli kriterlere göre gerçekleşmektedir.
Genel Komut ve Kavramlar
Search keywords şeklinde kullanılır.
● App: Modül istemci tabanlımı sunucu tabanlımı
● Author: Exploit yazarına göre
● Bid: Bugtraq id’sine göre
● Cve: CVE ID numarasına göre arama
● Edb:Exploit Db numarasına göre
● Name:Modülün ismine göre
● Osvdb: OSVDB ID numarasına göre
● Platform:Platforma uygun olan
● Ref:Referansa göre
● Type:Modülün tipine göre (exploit,auxiliary gibi)
Auxiliary
Auxiliary sistemi exploit etmeden önce hedef
sistemde bilgi toplama yazılımlarıdır.
Bünyesinde 800’den fazla auxiliary mevcuttur.
Auxiliary
Sistemdeki bulunan tüm auxiliary modüllerini
listelemek için show auxiliary parametresini
kullanmanız gerekmektedir. Eğer özel arama
yapacaksanız search parametresiyle beraber
kullanabilirsiniz.
Auxiliary
Auxiliary modülleride tıpkı exploitler gibi çeşitleri vardır. Bunlar Scannerlar,
Dos, Bruteforce, Fuzzer gibi çeşitleri mevcuttur.
1 – Scanner
Sistem üzerinde açık tarama, port tarama, firewall tespiti gibi. Kısaca sistem
hakkında bilgi toplarlar. Scannerleri görüntülemek için search scanner
parametresini kullanırız.
Auxiliary
2 – Dos
Denial of Servise diye adlandırılan dos
saldırıları için gerekli ve etliki modüllerdir.
Auxiliary
3 – Bruteforce
Bruteforce kaba kuvvet saldırısı yani deneme yanılma
mantığı olan bir saldırı çeşididir. Metasploitte bruteforce
modülleri çeşitli servislere şifre denemesi yapmak için
kullanılır. Örneğin ssh,ftp,hazır sistemler gibi..
Auxiliary
4 – Fuzzer
Bir yazılıma, platforma, protokole vb. Yapılan
düzenli, düzensiz, belirsiz sorgular göndererek
alma, çökme gibi işlemlere fuzzer denir.
Auxiliary
Auxiliary’nin diğer modüllerini siz kendiniz
inceleyip kullanabilirsiniz.
Not: Auxiliary her zaman sadece bilgi toplamak
için kullanılmaz bazende exploit görevini
üstlenir.
Msfvenom
● Msfpayload,msfencode modüllerinin
birleştirilmiş halidir. Önceden yapılan payload
ve işlemleri için ayrı ayrı işlem yapılması
gerekirken msfvenom ile tek yazılım altında
gerçekleştirilebilmektedir.
● -Msfpayload: Payload oluşturma
● -Msfencode: Encode işlemleri
Msfvenom
Örnek payload oluşturma,
● Kod: msfvenom -p windows/meterpreter/reverse_tcp -f exe >
dosya.exe
Burada örnek bir payload oluşturulmuştur.
Meterpreter
Meterpreter ileri derceli bir payload’tır. Bu payload sayasinde
bir çok işlem yapılabilir, sistemde kalıcılık sağlayabilir, arka
planda vs. ihtiyaç bulunan işlevleri yerine getirebilmektedir.
Bir sistemi meterpreter payloadı ile exploit ettiğinizde
yukarıdaki gibi bir ekran gelmektedir.
Meterpreter
Yukarıda kullanabileceğimiz bazı komutlar gösterilmiştir.
Ayrıyeten görünen komutların dışında ek olarak linux komutları
ilede sistemde işlevler gerçekleştirilebilir.
Searchsploit
Searchsploit exploit-db tarafından sistemde bulunan exploitleri kolayca
konumu bulunabilmesi için kodlamıştır. Örnek olarak android ile ilgili
modüllerin konumunu inceleyelim.
Komut: searchsploit android
Burada örnek exploitler listelendi tam konumu tespit için locate [exploit_adi]
şeklinde bir komut kullanabilir.
Uygulama
1 – Windows 7 exploit etme
modül : (windows/meterpreter/reverse_tcp)
2 - Port Scanner
modül : (auxiliary/scanner/portscan/tcp)

More Related Content

Bilgi Sistemleri Güvenliği Metasploit

  • 2. Exploit Nedir? Exploit bir sistemin açığından yararlanarak sistemi ele geçirmeyi sağlayan yazılımlardır. Hack ve güvenlik için vazgeçilmezdir. Siyah şapkalı hackerlar hack için kullanır beyaz şapkalı hackerlar ise pentest (Penetration Test) yapmak için kullanırlar. Exploitler genel olarak public ve private olmak üzere 2 gruba ayrılırlar. Public olanlar herkesin erişim sağlayabileceği exploitlerdir. Private olanlar ise ücretli olup belli başlı exploit sitelerinde veya deebwep’te satılırlar. Örneğin 0day gibi
  • 3. Exploit Nedir? Örneğin burada Twitter reset account Private Method 0day Exploit private ücretli bir exploittir. Exploitler genel anlamda c,python,perl,ruby gibi dillerle yazılamaktadır.
  • 4. Exploit Çeşitleri? Exploitler kullanım amacına göre 3’e ayrılırlar. ● Remote Exploits ● Local Exploits ● 0day Exploits (Private)
  • 5. Exploit Çeşitleri? 1 – Remote Exploits Remote adından da anlaşılacağı gibi uzaktan sistemi exploit eder. Kısaca çevremizde olmayan bir sistemi exploit etmeye yarayan yazılımlara remote exploit denir. Burada sadece hedef kişi olmakta sınırlı değildir. Hedefimiz bir sunucu da bir kişi ve sistemde olabilir.
  • 7. Exploit Çeşitleri? ● 2 – Local Exploits Sistemde direk olarak çalışan exploitlerdir. Genellikle sistemde yetki yükseltmek amacıyla kullanılır. Örneğin bir linux servere girdiniz fakat işlem yapmak için gerekli olan yetkileriniz olmadığını varsayalım yani root değilsiniz. Bu durumda local exploitler devreye girmektedir. Serveri rootlamak, tüm yetkilere sahip olmak için serverin kurulu olan versiyonuna göre sistemi exploit edersiniz.
  • 9. Exploit Çeşitleri? 3 – 0day Exploits En tehlikeli olan exploitlerdir. Bir sistemde açık bulunduğu anda koda dökülüp paylaşılan exploitlerdir. Tehlikeli olma sebebi ise sistemde veya yazılımda bulunan açığın sistem yöneticisi tarafından haberi olmamasıdır. Örnek exploit Siteleri ● 0day.today ● Exploit-db.com
  • 10. Metasploit ● Metasploit güvenlik testleri için ruby dili ile kodlanmış exploit kütüphanesidir. Kimi testler için kullanır kimileri ise sömürmek için kullanmaktadır. Bünyesinde 1400’den fazla exploit bulunmaktadır. Bunun yanında auxiliary (Bilgi Toplama) ve Encoder mevcuttur. ● Kullanımı ve arayüzü gayet sadedir. Consol tabanlı metasploit üzerinden ilerleyeceğiz. ● Sistem parametreler mantığı ile çalışmaktadır.
  • 12. Metasploit Kurulumu ● Metasploit kurulumu linux makinalar için 1-2 komut ile gerçekleştirilebilir. 2 farklı yöntemi vardır. 1- Kendi sitesine girip indirerek normal paket kurulu gibi kurulum gerçekleştirebilirsiniz. Download: https://github.com/rapid7/metasploit-framework/wiki/Nightly-Installers ● 2- Kali Linux kaynaklarından kurulumu gerçekleştirerek bunu yapabilmek için sources.liste kalinin kaynak depoları eklenmiş olması gerekmektedir. Ekledikten sonra apt-get install metasploit komutunu terminale girmeniz yeterlidir. Bununla uğraşmak istemiyorum diyenler ise katolin veya RenOS Kali Toolbox aracı ile paket kurulumunu gerçekleştirebilirsiniz.
  • 13. Metasploit Kurulumu ● RenOs Kali Toolbox’ı https://github.com/Kali-LinuxTR-NeT/RenOS-Kali-Toolbox-v1.git bu adresten indirebilirsiniz. İlk önce depoları ekleyip daha sonra araçlar kısmından metasploiti veya diğer araçları kurabilirsiniz.
  • 14. Genel Komut ve Kavramlar Metasploit’te exploit kullanımı için genel olarak kullanılan komut ve parametreler vardır. ● 1 – Metasploit Başlatma Kurulu olan sistemlerde metasploiti başlatmak için terminale msfconsole yazmanız yeterlidir. ● 2 – Exploit Seçme Exploit seçmek için use parametresi kullanılmamaktadır.
  • 15. Genel Komut ve Kavramlar 3 – Paylod Görüntüleme ve Seçme Payload exploit edilme işleminden sonra kullanılacak modüllerdir. Yapacağınız işlemlere göre uygun olan payload seçilir. Kullanılacak payloadları görüntüleyebilmek için show payloads komutu kullanılır.
  • 16. Genel Komut ve Kavramlar Uygun olan payloadı seçmek önemlidir. Örneğin seçtiğiniz sistem android ise seçtiğiniz payload’da android olması gerekmektedir. Payloadı seçmek için set PAYLOAD komutu kullanılmaktadır.
  • 17. Genel Komut ve Kavramlar 4 – Parametre Tanımlama Sistemi exploit edebilmek için exploit’e sistemi tanımlamak gerekir. Bunu show options kodu ile gerçekleştireceğiz. Name: Parametre İsmi Current Setting: Girilen Değer Required : Girilmesi zorunlu olup olmadığıdır. Description : Açıklama
  • 18. Genel Komut ve Kavramlar Örneğin burada bizden lhost ve lport istemektedir. Bunlara değer girmek için set parametresi kullanılmaktadır. Örneğin set LHOST 192.168.10.56 gibi LHOST: Local ip LPORT: Local Port RHOST: Remote Host RPORT: Remote Port
  • 19. Genel Komut ve Kavramlar 5 – Exploit Kontrol Etme Exploiti çalıştırmadan önce hedef sistemde açığın bulunup bulunmadağını test etmek için check parametresi kullanılır. Var ise The target is Vulnerable şeklinde bir sonuç alırsınız yoksa aşağıdaki gibi hatalar alırsınız.
  • 20. Genel Komutlar ve Kavramlar 6 – Exploit Hakkında Bilgi Alma Exploit hakkında temel olarak bilgi ve referans kaynakları görüntülemek için info komutu kullanılır.
  • 21. Genel Komut ve Kavramlar 7 – Exploit Çalıştırma Gerekli parametreleri doldurduktan sonra exploit etmek için exploit parametresini vermeniz yeterlidir. 8 – Exploit Arama Exploit arama işlemi belirli kriterlere göre gerçekleşmektedir.
  • 22. Genel Komut ve Kavramlar Search keywords şeklinde kullanılır. ● App: Modül istemci tabanlımı sunucu tabanlımı ● Author: Exploit yazarına göre ● Bid: Bugtraq id’sine göre ● Cve: CVE ID numarasına göre arama ● Edb:Exploit Db numarasına göre ● Name:Modülün ismine göre ● Osvdb: OSVDB ID numarasına göre ● Platform:Platforma uygun olan ● Ref:Referansa göre ● Type:Modülün tipine göre (exploit,auxiliary gibi)
  • 23. Auxiliary Auxiliary sistemi exploit etmeden önce hedef sistemde bilgi toplama yazılımlarıdır. Bünyesinde 800’den fazla auxiliary mevcuttur.
  • 24. Auxiliary Sistemdeki bulunan tüm auxiliary modüllerini listelemek için show auxiliary parametresini kullanmanız gerekmektedir. Eğer özel arama yapacaksanız search parametresiyle beraber kullanabilirsiniz.
  • 25. Auxiliary Auxiliary modülleride tıpkı exploitler gibi çeşitleri vardır. Bunlar Scannerlar, Dos, Bruteforce, Fuzzer gibi çeşitleri mevcuttur. 1 – Scanner Sistem üzerinde açık tarama, port tarama, firewall tespiti gibi. Kısaca sistem hakkında bilgi toplarlar. Scannerleri görüntülemek için search scanner parametresini kullanırız.
  • 26. Auxiliary 2 – Dos Denial of Servise diye adlandırılan dos saldırıları için gerekli ve etliki modüllerdir.
  • 27. Auxiliary 3 – Bruteforce Bruteforce kaba kuvvet saldırısı yani deneme yanılma mantığı olan bir saldırı çeşididir. Metasploitte bruteforce modülleri çeşitli servislere şifre denemesi yapmak için kullanılır. Örneğin ssh,ftp,hazır sistemler gibi..
  • 28. Auxiliary 4 – Fuzzer Bir yazılıma, platforma, protokole vb. Yapılan düzenli, düzensiz, belirsiz sorgular göndererek alma, çökme gibi işlemlere fuzzer denir.
  • 29. Auxiliary Auxiliary’nin diğer modüllerini siz kendiniz inceleyip kullanabilirsiniz. Not: Auxiliary her zaman sadece bilgi toplamak için kullanılmaz bazende exploit görevini üstlenir.
  • 30. Msfvenom ● Msfpayload,msfencode modüllerinin birleştirilmiş halidir. Önceden yapılan payload ve işlemleri için ayrı ayrı işlem yapılması gerekirken msfvenom ile tek yazılım altında gerçekleştirilebilmektedir. ● -Msfpayload: Payload oluşturma ● -Msfencode: Encode işlemleri
  • 31. Msfvenom Örnek payload oluşturma, ● Kod: msfvenom -p windows/meterpreter/reverse_tcp -f exe > dosya.exe Burada örnek bir payload oluşturulmuştur.
  • 32. Meterpreter Meterpreter ileri derceli bir payload’tır. Bu payload sayasinde bir çok işlem yapılabilir, sistemde kalıcılık sağlayabilir, arka planda vs. ihtiyaç bulunan işlevleri yerine getirebilmektedir. Bir sistemi meterpreter payloadı ile exploit ettiğinizde yukarıdaki gibi bir ekran gelmektedir.
  • 33. Meterpreter Yukarıda kullanabileceğimiz bazı komutlar gösterilmiştir. Ayrıyeten görünen komutların dışında ek olarak linux komutları ilede sistemde işlevler gerçekleştirilebilir.
  • 34. Searchsploit Searchsploit exploit-db tarafından sistemde bulunan exploitleri kolayca konumu bulunabilmesi için kodlamıştır. Örnek olarak android ile ilgili modüllerin konumunu inceleyelim. Komut: searchsploit android Burada örnek exploitler listelendi tam konumu tespit için locate [exploit_adi] şeklinde bir komut kullanabilir.
  • 35. Uygulama 1 – Windows 7 exploit etme modül : (windows/meterpreter/reverse_tcp) 2 - Port Scanner modül : (auxiliary/scanner/portscan/tcp)