Framework Güvenlik

Temel Metasploit Kullanımı #5

Metasploit, Analiz ve Saldırı yapabileceğiniz dünyanın en çok kullanılan frameworklerinden birisidir.

Arkadaşlar herkese tekrardan merhaba. Siber güvenlik dizimizin 5. yazısıyla karşınızdayım. Önceki hafta, siber güveniğin en önemli adımı olan bilgi toplamanın araçlarını anlatmıştık. Bugün aslında 5. adımda  “nmap nasıl kullanılır” vardı ancak bu konuyu daha önce ele aldık. Gerçekten önemli bir konu nmap. Öğrenmenizi şiddetle tavsiye ediyorum. Buradan ulaşabilirsiniz.

Böyle olunca artık metasploit kullanımına girmeye karar verdim. Hep duyarız metasploit terimini belki ama bir çoğumuz nasıl bir şey olduğunu pek bilmiyor. Öncelikle tanımdan başlayalım.

Metasploit, içinde exploit, payload, auxiliary ve encoders adı verilen parçacıkların bulunduğu, saldırı ve açıkların algılanması için kullandığımız bir frameworktur.

Exploit, Hedef sistemde çalışan servis yada uygulamaların zayıflıklarını kullanarak amaçlara ulaşmak için kullanılan güvenlik açıklarıdır.

Payload, exploitin bulduğu açıkların sonrasında hedef sisteme sızmaya yarar. Bir nevi exploit açığı kullanarak saldırır, payload bu açığa yerleşerek iş yapmamızı sağlar.

Auxiliary, sistemi taramaya yarayan araçları içerir. Sniffing, Scanning gibi işlemler yapar.

Encoders, exploit içindeki kodların sistem tarafından tanınmasını önlemekten sorumludur.

İçindeki tüm bu sistemler Ruby diliyle yazılmıştır. Metasploit, veri tabanı olarak Postgresql veri tabanını kullanır. Bizim kullandığımız Kali Linux üzerine kurulu olarak gelir. Terminal ekranına “msfconsole” yazarak çalıştırabilirsiniz. Dilerseniz Armitage adlı aracı kullanarak görsel arayüzüne de ulaşabilirsiniz.

İlk yapılacak iş veritabanını açmak “service postgresql start” yazarak veri tabanını başlatıyoruz. ve msfconsole yazarak metasploit’i çalıştırıyoruz. db_status ile seçtiğiniz veri tabanını görüntüleyebilirsiniz. Onun dışında ise db_connect db_disconnect, db_import gibi veri tabanı komutlarıyla veri tabanınıza iş yaptırabilirsiniz.

help komutuyla hangi komutları kullanabileceğimizi görüntüleyebiliyoruz.

search <aranan exploit,payload,cve numarası> komutuyla exploit araması yapabiliyoruz.

show komutu istenen ifadeleri gösterir

“show exploits”, “show payloads”, “show targets” ve “show options”

komutları kullanılır. Biz tüm exploitleri görüntülemek istedik o yüzden show exploits komutunu kullandık.

use komutu istenen exploiti kullanabilmemizi sağlar. show exploits komutundan rastgele bir exploit seçip kullandık.

set komutu bir değişkene değer atamak için kullanılır.

set RHOST <karşımızdakinin ip adresi>,

set LHOST <bizim ip adresimiz>

şeklinde kullanılır.

exploit seçiliyken  show options dersek karşımıza ne yapabileceğimizle alakalı ayarları görüntüleyebiliriz

setg komutu değişkenlere global olarak değişken atamaya yarar.

unset komutu değişkenlere verdiğimiz değerleri iptal eder.

exploit ve run komutları, exploit komutu eğer exploit seçmişsek ve verilen değerlerden sonra exploit komutunu uygularsak exploiti çalıştırmış oluruz. Eğer payload seçmişsek ve değerlerini de belirlemişsek run diyerek payloadı çalıştırmış oluruz. Biz exploit aldığımız için exploit komutu uyguluyoruz. Saldırı makinesi oluşturmadığım için rastgele bir adres verdim tabiki sonucunda da hiç bir makineye exploit yerleştiremediği için hata vermiş oldu.

Sırada en çok kullanılan payloadlardan biri olan meterpreter var. exploiti çalıştırdıktan sonra meterpreter yazarak meterpreter satırına geçiş yapıyoruz. Armitage adlı uygulamaya girdiğinizde görsel olarak hangi makineye exploit yüklemişsiniz bakabilirsiniz. bu girdiğimiz sistemin bilgilerini işte bu meterpreter aracı ile görüntüleyebiliyoruz. Şimdi bu aracın komutlarını tanıyalım.

sysinfo : Sistem hakkında bilgi verir.

getuid : Sisteme hangi yetkilerle erişim sağladığımızı verir.

getpid : Sistemin pid numarasını verir.(pid :Sistemde çalışma görev numarası)

ipconfiga : Sistemin network bilgilerini verir.

run chechvm : Makinanın virtual machine yani sanal makine olup olmadığına bakar.

run keylogrecorder : Hedef sistemde keylogger başlatır.

run getguie : Hedef sistemde Remote Desktop Protocol yani uzaktan erişim protokolünü başlatır.

run getcountermeasure : Hedef sistemdeki güvenlik programları devre dışı bırakır.

background : Aktif oturumu arka plan alır.

ps : Süreçleri gösterir.

kill PID : ps de listelediğimiz süreçlerden pid numarasını verdiğimiz görevi sonlandırır.

download : Verilen hedeften dosya indirmeyi sağlar.

migrate : Güvenilir bir process’e geçiş yapmak için kullanılır.

hashdump : Sistem üzerinde bulunan parola dumplarını çeker.

Shell : sistemin komut satırına geçmenizi sağlayan komuttur.

load mimikatz : Sisteme mimikatz yükler.

clearev : Eventloglarını temizler.

Kronik bir sorundan dolayı hedef makine yükleyemedim arkadaşlar bu sorundan dolayı sizden özür diliyorum. Mümkün olduğunca karşı makineye yapacağınız işlemleri ayrıntılı anlatmaya çalıştım. Önümüzdeki haftaya hedef makine sorununu çözmüş olmayı planlıyorum. Yayınından yararlandığım sayın Ahmet Gürel’e teşekkür ediyorum. Eğer sorularınız olursa yorum yoluyla bize bildirin. Abone olarak her hafta birbirinden güzel yazıları ilk olarak siz okuyabilirsiniz. Herkese iyi çalışmalar ve mutlu Hafta sonları 🙂



Yazar hakkında

Furkan Baycan

Furkan Baycan

Güvenlik ve Web Programcılığı alanında çalışıyorum. Bu alanlarda da
sizler için mutfakta yazılar yazıyorum. Siz de çok değerli projeleriniz ve yorumlarınızla mutfağa katkıda bulunabilirsiniz.

Yorumlar

Bir yorum yaz