Eyüp Çelik

Sr. Cyber Security Expert

Sr. Network Security Expert

Sr. Malware Developer

Sr. C# Developer

Eyüp Çelik

Sr. Cyber Security Expert

Sr. Network Security Expert

Sr. Malware Developer

Sr. C# Developer

Blog Post

Sızma Testlerinde Nessus 5-MetaSploit 4 Entegrasyonu

Sızma Testlerinde Nessus 5-MetaSploit 4 Entegrasyonu

Sızma testleri, şirketlerin-kurumların kendi zafiyetlerine karşı önlem almaları için yapılan en önemli çalışmaların başında gelir. Bu testler çeşitli otomatize araçlar kullanılarak gerçekleştirilir. Nessus, şüphesiz bu araçlardan en başarılı olanlarındandır. Nessus ile yaptığımız otomatize zafiyet taramalarını Metasploit ile birleştirerek, tam bir sızma testi (penetration) haline getirebiliriz.

Bu makalemizde, otomatize zafiyet tespit aracı Nessus ile exploit aracı Metasploit’i aynı konsol ekranında nasıl kullanacağımızı, Nessus taramalarının Metasploit ile nasıl yapılabileceği, Metasploit ile Nessus raporlamaları gibi konulara değineceğiz.

Not: Makalenin devamı, Nessus ve Metasploit’in kurulu olduğu varsayılarak anlatılmıştır.

Nessus ve Metasploit servislerinin aktif ve çalışır durumda olduğundan emin olun. Bunun için, Başlat\Çalıştır\Services.msc yazarak “Hizmetler”e erişin.

Resim-01

Eğer Metasploit Framework sürümünü kullanıyorsanız, Resim-01’deki gibi servislerin başlamış olduğundan emin olun.

Resim-02

Eğer Metasploit Pro kullanıyorsanız, Resim-02’deki servislerin çalıştığından emin olun.

Daha sonra Başlat\Tüm Programlar\Metasploit altındaki Metasploit Console’u çalıştırın. Konsol açıldığında, Metasploit’i önce update edin, ardından yeni bir konsol penceresi çalıştırın.

Resim-03

Metasploit çalıştıktan sonra “load nessus” komutu ile Nessus’un Metasploit üzerinden çalışmasını sağlayın. “Successfully loaded plugin: nessus” mesajını aldığınızda, Nessus’u artık Metasploit üzerinden kullanabilirsiniz. Nessus komutlarını öğrenmek için, “nessus_help” yazın.

Resim-04

Nessus komut yardımı Resim-04’teki gibi çalışacaktır.

Resim-05

Tüm Nessus komutları Resim-05’teki gibidir.

Metasploit üzerindeki Nessus komutları:

  • nessus_admin => Login olan kullanıcının admin yetkisine sahip olup olmadığını kontrol eder.
  • nessus_connect => Nessus’a bağlanmak için kullanılır.
  • nessus_find_targets => Nessus taraması sonrasında zafiyet tespit edilen hedefi bulmaya çalışır.
  • nessus_help => Nessus komut yardımını görüntüler.
  • nessus_logout => Nessus oturumunu sonlandırır.
  • nessus_plugin_details => Nessus pluginsleri hakkında detaylı bilgiler verir.
  • nessus_plugin_family => Nessus pluginlerini kategorik olarak listeler.
  • nessus_plugin_list => Nessus pluginlerini kategori ve toplam plugin sayısı şeklinde listeler.
  • nessus_policy_del => Bir Nessus tarama kuralını siler.
  • nessus_policy_list => Nessus tarama kurallarını listeler.
  • nessus_report_get => Nessus tarama raporlarından, bir raporun import edilmesini sağlar.
  • nessus_report_host_detail => Nessus tarama raporu içerisinden bir host ile ilgili detayları gösterir.
  • nessus_report_host_ports => Tarama raporunda, bir hotsa ait açık portları listeler.
  • nessus_report_hosts => Bir tarama raporu içerisinde bulunan hostları listeler.
  • nessus_report_list=> Tarama raporlarını listeler.
  • nessus_save => Nessus oturum bilgilerinin kaydedilmesini sağlar.
  • nessus_scan_new => Yeni bir tarama gerçekleştirir.
  • nessus_scan_pause => Yapılan taramayı duraklatır.
  • nessus_scan_pause_all => Birden çok tarama var ise, tüm bu taramaları duraklatır.
  • nessus_scan_resume => Duraklatılan bir taramayı devam ettirir.
  • nessus_scan_resume_all => Birden çok tarama duraklatılmışsa, hepsini devam ettirir.
  • nessus_scan_status => Çalışan bir taramanın durumunu görüntüler.
  • nessus_scan_stop => Çalışan bir taramayı durdurur.
  • nessus_scan_stop_all => Birden çok tarama çalışıyor ise, hepsini durdurur.
  • nessus_server_feed => Nessus sürüm bilgilerini görüntüler.
  • nessus_server_prefs => Nessus konfigürasyonunu görüntüler.
  • nessus_server_status => Nessus sürüm bilgilerini, kuralları, kullanıcıları ve pluginleri görüntüler.
  • nessus_user_add => Yeni bir kullanıcı ekler.
  • nessus_user_del => Bir kullanıcı hesabını siler.
  • nessus_user_list => Kullanıcıları listeler.
  • nessus_user_passwd => Oturum şifresinin değiştirilmesini sağlar.

Şeklinde olacaktır.

Not: Nessus komutlarını çalıştırmak için, Nessus kurulumunda belirtmiş olduğumuz kullanıcı adı ve şifre ile connect olmamız gerekiyor.

Nessus komutları kullanarak yeni bir zafiyet taraması yapmak:

  1. Nessus_connect komutu:
Resim-06

Nessus’ta oturum açmak için “nessus_connect” komutunu kullanıyoruz. “nessus_connect” komutundan sonra kullanıcı adı: şifre@nessus_sunucu_adresi: port şeklinde bağlanabiliriz. Resim-06’da kendi bilgisayarımızda (127.0.0.1) kurulu olan Nessus 5.0’a EYUP:sifre1@127.0.0.1:8834 şeklinde bağlandığımızı görebiliriz. Buna göre, kullanıcı adımız EYUP, şifremiz sifre1, sunucu adresimiz 127.0.0.1 bağlanılacak portumuz 8834 olarak belirtmiş olduk.

  • Nessus_admin komutu:

Giriş yapmış olduğumuz kullanıcının admin yetkilerine sahip olup olmadığını bu komut ile denetleyebiliriz.

Resim-07

nessus_admin komutu Resim-07’deki gibi olacaktır.

  • Nessus_logout komutu:

Açmış olduğumuz nessus oturumunu sonlandırmak için kullanılır.

Resim-08

Komut çıktısı Resim-08’deki gibi olacaktır.

Nessus komutlarının kullanımı, temel olarak yukarıdaki 3 madde de kullandığım gibidir. Şimdi yeni bir tarama başlatmak için “nessus_scan_new” komutunu kullanacağız.

Nessus_scan_new komutu kural kimliği, tarama adı, taranacak adres şeklinde çalışır. Nessus kural kimliğini öğrenmek için, nessus_policy_list komutunu da ayrıca kullanmamız gerekebilir.

Resim-09

Önce Resim-09’daki gibi nessus_policy_list komutu ile kurallar listesindeki kuralların, kural kimliğini öğrendik. Örn. Şirket içi taramalarda kullanacağımız Internal Network Scan kural kimliğinin -2 olduğunu öğrenmiş olduk. Şimdi yeni bir tarama başlatabiliriz. Bunun için yukarıda belirtmiş olduğum “nessus_scan_new” komutunu kullanacağız.

Resim-10

“nessus_scan_new” komutu ile yeni bir tarama başlatacağımızı, -2 id ye sahip kuralı (internal network scan) kullanacağımızı, tarama adının EYUP_PENTEST olduğunu ve taranacak adresin 192.168.223.134 olduğunu Resim-10’daki gibi belirtmiş olduk. Ardından Resim-10’da işaretlemiş olduğum alana dikkat edecek olursak, taramanın 192.168.223.134 ip adresi için başarılı bir şekilde başladığını ve tarama kimliğimizin 62779c18-f705-5498-0d48-fdff0bd341e856b98b6d8a5e5bc1 olduğunu belirten bir uyarı aldık.

Tarama durumunu öğrenmek için “nessus_scan_status” komutunu kullanacağız.

Resim-11

Nessus_scan_status komutu Resim-11 deki gibi çalışan taramaların o anki durumunu bize bildirecektir. Resim-11 de başlattığımız taramanın halen devam ettiğini “Status” kısmından anlayabiliriz.

Tarama bittikten sonra tarama raporuna “nessus_report_list” komutu ile erişebiliriz.

Resim-12

Taramalar listeleri Resim-12’deki gibi olacaktır.

Bulunan zafiyetleri listelemek için, öncelikle “nessus_report_host_ports” komutunu kullanacağız.

Resim-13

Resim-13’te “nessus_report_list” komutu ile önce tarama raporunu görüntüleyeceğimiz taramanın, tarama kimliğini öğrendik. Daha sonra “nessus_report_host_ports” komutu ile taradığımız bir bilgisayara ait tarama detayına eriştik. “nessus_report_host_ports” komutu host adresi(ip) ve rapor kimliği ile birlikte kullanılmaktadır. Buna göre, 88829c84-4e41-64fc-149a-586d5582acb171ed668101615a77 rapor kimliğine sahip raporda, 192.168.223.134 ip adresine ait açık portların listesini görüntülemesini istedik. Ardından zafiyet bulunan portlar üzerindeki çalışan servisler ve bulunan zafiyetleri “nessus_report_host_detail” komutu ile öğreneceğiz.

Resim-14

Resim-14’te “nessus_report_host_detail 192.168.223.134 445 tcp 88829c84-4e41-64fc-149a-586d5582acb171ed668101615a77” komutu ile 88829c84-4e41-64fc-149a-586d5582acb171ed668101615a77 kimliğine sahip rapordan, 192.168.223.134 ip adresli cihazın, 445 tcp portu ile ilgili detayları istedik. Bulunan zafiyetleri de şeritle belirttim. Bulunan bu zafiyetler Metasploit ile exploit edilerek, sisteme sızma işlemi gerçekleştirilebilir. Metasploit kullanımı bu makalenin dışında bir konu olduğu için sızma konusuna değinmedim.

Nessus’u bu şekilde özelleştirerek, daha hızlı taramalar gerçekleştirebilir, Metasploit’i tam sızma test (penetration test) aracı haline getirebilirsiniz.

Güvenli günler.

Referanslar:

Related Posts
Write a comment