M-e-t-a-s-p-l-o-i-t Kullanımı / ShuJaira

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

ShuJaira

Kıdemli Üye
26 Tem 2010
4,960
17
N-map
****sploit'in Kullanımını Ayrıntılı Bir Şekilde Anlatmaya Başlayalım ;

İÇİNDEKİLER


# Önsöz
# Terminoloji
# MsfConsole Nedir ?
# MsfConsole Kurulumu
# MsfConsole’i Güncel Tutmak
# MsfConsole Arayüzleri
# Msfconsole
# Temel Kullanım
# Msfweb
# Armitage
# Msfcli
# Msfopcode
# Msfpayload
# Msfencode
# Msfd
# Gelişmiş Payload’lar
# Meterpreter
# VNC DLL
# PassiveX
# MsfConsole İle Otomatikleştirilmiş Sızma Testleri
# Son Söz
# Kaynaklar


Terminoloji

Exploit : Kelime anlamı sömürmek ve istismar etmektir.Bilişim güvenliği alanındaki anlamı ise; Sistemin ya da programın zayıflığından faydalanıp sisteme girişi sağlayabilen / zarar veren yöntemler bütünüdür.

Local (Yerel) Exploit : Üzerinde oturum açılmış sistemde bulunan servis veya yazılımların zayıflıklarını sömüren exploit türüdür.
Genel olarak yetki yükseltme amaçlı kullanılırlar.

Remote (Uzak) Exploit : İnternet veya yereldeki network üzerinden uzaktaki sistemin zayıflıklarının sömürülmesi (exploit edilmesi) amaçlı
kullanılırlar.

Payload : Exploit sonrası çalışarak hedef sistemde istenilen eylemi gerçekleştiren bileşendir.

Auxiliary : Modüller için geliştirilen ek programlar, yardımcı araçlardır.
Exploit öncesi sistem hakkında bilgi toplama amaçlı kullanılırlar.

Nop :
"No Operation" İşlemciye birşey yapmamasını söyleyen komuttur.
MsfConsole içindeki kullanımı ise hafıza alanındaki veri ve dönüşü hakkında bilgi sahibi olmayı sağlamaktır.

Shellcode : Makine dilinde oluşturulan exploit sonrası çalışacak olan işletim sistemlerine özel komutlar dizesidir

Encoder : Encoder exploit içerisinde kullanılmış olan shellcode’u çalışmasını bozmadan düzenleyerek arada bulunan IDS,IPS ve antivirüsler tarafından tanınmaz yapan bileşendir.

MsfConsole Nedir ?


MsfConsole içinde pek çok hazır exploit bulunduran aynı zamanda bu exploitleri yerel ve uzak erişim için yapılandırabilen özel bir yazılımdır.MsfConsole sayesinde var olan exploitleri kullanabiliriz ve ek özelliklere sahip olmalarınıda sağlayabiliriz. MsfConsole güvenlik uzmanları ve Hacker’lar için exploit uygulama ve geliştirmede kullanılan bir alt yapıdır.

MsfConsole Arayüzleri





Komut Satırı Aracı



Masaüstü Uygulaması

olarak 3 şekilde kullanılabilir.

Evet gördüğünüz üzere MsfConsole yazılımı birden fazla araç ve arayüz takımı ile kullanımı gayet basit hale getirmiştir.
MsfConsole platformundaki araç çeşitliliği sayesinde exploit gerçekleştirildikten sonra bir veya daha fazla kişi exploitin oluşturmuş olduğu oturuma erişebilmektedir.
MsfConsole bu ve bunun gibi birçok özelliği sayesinde sızma testlerinin (Penetration Testing) en önemli araçlarından biri haline gelmiştir.

MsfConsole Kurulumu

Msf Framework (MSF) Windows 2000/XP/2003/Vista/7,Linux,OpenBSD,FreeBSD ve Mac OS X işletim sistemlerini destekler.
MsfConsole’in kurulumu son derece basittir.
http://www.MsfConsole.com
adresinden en son sürümü bilgisayarınıza indirip kurabilirsiniz.
Kurulumları burada anlatmak istemiyorum çünkü bir çok kaynak bulunmaktadır zaten ..

MsfConsole’i Güncel Tutmak

MsfConsole’e her geçen gün yeni yeni şeyler eklenmektedir.Bunlara güncelleyerek sahip olabiliriz.
Komut satırına
Kod:
Kod:
svn update
yazılarak güncelleme yapabiliriz.

Msfconsole

MsfConsole komut satırı aracıdır.Bu araç ile exploitler,payloadlar,encoderlar,NOP’lar ve auxiliary modüllerini kullanabiliriz.

Konsolda "help" yazılarak kullanılabilecek komutlar ve işlevleri hakkında bilgi sahibi olabiliriz.
Şimdi kullanabileceğimiz temel komutlara bir göz atalım dilerseniz.
Kod:
Komut Açıklama


Kod:
back Mevcut seçenekten bir önceki menüye döner.
banner MsfConsole açılış ekranını gösterir.
cd Dizin atlamak için kullanılır.
Exit Konsoldan çıkışı sağlar.
help Yardım menüsü.
info Bir veya daha fazla modül hakkında bilgi verir.
irb İrb scripting modunu getirir.
jobs Yapılan işleri gösterir ve düzenler.
load Eklenti yüklenmesi için kullanılır.
loadpath Belirtilen yoldan istenilen modülü/exploiti yükler.
quit Konsoldan çıkışı sağlar.
route Oturum trafiğinin yönlendirilmesini sağlar.
save Etkin veriyi kaayıt eder,depolar.
search Modül ismi veya açıklamalarda arama yapar.
sessions Aktif oturumları gösterir ve oturum bilgisi verir.
set Payload seçiminde bir verinin atamasını yapar.
setg Genel bir değer,değişken atar.
show Belirtilen modülü veya tüm modlleri listeler.
sleep Belirtilen zaman zarfında hiçbir işlem yapılmaması gerektiğini belirtir.
unload Framework için mevcut eklentiyi kaldırır.
unset Atanan değeri kaldırır.
unsetg Yapılan genel bir değerideğişkeni kaldırır.
use Modülü seçer.
version Konsol uygulamasının versiyonunu gösterir.

Temel Kullanım


Exploit Seçmek


Şimdi ise msfconsole ile exploit gerçekleştirilirken kullanılacak komutlara
sanki saldırı yapıyormuş gibi bir göz atalım dilerseniz...

Öncelikle hedef sistem üzerinde port tarama,zaaf ve işletim sistemi tespiti yapmak gerekir.Biz bu dediklerimizi burada göstermeyeceğiz,direk atağa geçiceğiz.

Msfconsole’da "show exploits" komutu ile MsfConsole platformu içerisinde bulunan exploitleri listeleyebiliriz.

Msfconsole’da exploit seçmek için "use" yazılır boşluk bırakılır ve exploit adı yazılır.(use exploit_adi)



Evet yukarıda gördüğünüz gibi exploit seçildikten sonra komut satırının değiştiğini görebiliriz.Bu demek oluyor ki seçtiğimiz exploitin içindeyiz.Komut satırına "help" yazarsak exploitleme işlei için kullanılacak komutlar ve açıklamaları görebiliriz.

Exploit Komutları
Kod:
Komut Açıklama


Kod:
check Seçilen zayıflığın sistemde var olduğunu kontrol eder.
exploit Exploiti çalıştırır.
rcheck Hedef sistemdeki zayıflığı tekrar kontrol eder.
rexploit Exploiti tekrar çalıştırır.

Hedef Seçmek


MSF içindeki pek çok exploit birden çok işletim sistemine karşı kullanılmak üzere hazırlanmıştır.Farklı farklı hizmet paketi (service pack) veya düzeltme seviyeleri ile kullanılabilir.Seçilen exploitin hangi sistemleri etkilediğini görmek istiyorsak "show targets" komutunu kullanabiliriz.

Komutumuzu yazdıktan sonra karşımıza işletim sistemleri sürümleri gelir.Bu seçenekler arasında "0 Automatic Targeting" seçildiğinde MsfConsole hedef sistemin sürümüne göre otomatik
davranacaktır.Eğer hedefimizin işletim sistemini ve sürümünü tam olarak bilmiyorsak "0 Automatic Targeting" seçebiliriz.

"set targets hedefno" ile hedefi seçeriz


Payload Seçmek


Msf’de bulunan payloadları "show payloads" komutu ile listeleyebiliriz.



info komutu ile istenilen payload hakkında detaylı bilgi sahibi olabiliriz.
Örnek;



Yukarıda görüldüğü üzere payload’ın işlevinin hedef sistemin komut
satırının saldırganın sistemine getirebildiğini görüyoruz.

Şimdi ise bir payload seçmeliyiz.
"set PAYLOAD payload_adi" şeklinde payload’ımızı seçeriz.



Payload Seçeneklerini Ayarlamak

Evet exploitimizi seçtik,payload’ımızıda seçtik.Bundan sonra ise hedef ip adresi,saldırganın ip adresi,bağlantının hangi port üzerinden yapılacağı gibi bilgileri gireriz.Bu seçenekleri görmek için "show options" yazarak öğrenebiliriz.



Evet yukarıda "show options" komutumuzu verdikten sonra "Required" sütununda yes ile belirtilmiş olan seçeneklerin ayarlanması gerekmektedir.

Şimdi gelin bakalım bu seçeneklere ve açıklamalarına.

Kod:
RHOST : Saldırının yapılacağı sistemin IP adresi.
"set RHOST = HEDEF_IP_ADRESİ" Komutu ile hedef sistem tanımlamasını yaparız.
LHOST : Saldırının yapıldığı sistemin IP adresi.
"set LHOST = SALDIRGAN_IP_ADRESİ" komutu ile kendi sistemimizide tanımlamış oluruz.
RPORT : Uzak sisteme exploitin gönderileceği portun numarası.
LPORT : Yapılan exploitin cevabının sistemimizde ki hangi porttan geceleği.
Exploit İşlemi

Evet son aşamaya geldik burada ise gerekli tüm konfigürasyonlar yapıldıktan sonra saldırı başlatılacaktır.
"exploit" komutu ile hedef sistemi exploitlemiş oluruz.

Msfweb

MsfConsole web ara yüzüdür.
Windows sistemlerde belli bir kısayol bulunmaktadır.
Linux tabanlı sistemlerde çalıştırmak için MsfConsole yazılımının kurulu olduğu dizine "cd" komutuyla geçilir ve daha sonra "./msfweb" komutu
verilir.Tarayıcı açılarak bağlanılır.Web ara yüzü varsayılan olarak "55555"
nolu porttan çalışır.

Kod:
Exploits: MsfConsole’de bulunan tüm exploitleriin listesini verir.
İstenilen exploit seçilerek hedefe uygulanabilir.
Payloads: Tüm payloadlar listelenir ve istenilen payload üzerine tıklanarak
ilgili seçeneklere ulaşılır.
Sessions: Aktif oturumlar görüntülenebilir.
MsfConsole web arayüzünü fazla detaylandırmak istemiyorum ve burada bırakıyorum.Şimdi ise grafiksel kullanıcı arayüzüne bir bakalım.

Armitage

MsfConsole grafiksel kullanıcı arayüzüdür.(GUI)

Msfcli

Bu araç Linux ve Windows sistemler için komut satrından çalışan msfconsole benzeri arayüzdür.Msfconsole’un daha pratik hale dönüştürülmüş halidir.Tek satırda exploitleme işlemi yapılabilir.
Msfcli seçeneklerini görmek için -h parametresini kullanabiliriz.

Şimdi msfcli arayüzünün kullanım parametreleri ve açıklamalarına göz atalım.
Kod:
Parametre Açıklama


Kod:
(H)elp Yardım komutu.
(S)ummary Seçilen exploit hakkında bilgi verir.
(O)ptions Seçilen exploit için gerekli seçenekleri listeler.
(A)dvanced Seçilen exploit için gelişmiş seçenekleri listeler.
(I)DS Evasion Kaçak giriş tespit sistemlerine yakalanmamak için
kullanılabilir seçenekleri listeler.
(P)ayloads Seçilen exploit için kullanılabilir payloadları listeler.
(T)argets Exploitin uygulanabileceği hedefleri listeler.
(AC)tions Seçilen exploit ile birlikte kullanılabilecek yarımcı araçları
listeler.
©heck Exploitin hedef sisteme uygunluğunu kontrol eder.
(E)xecute Seçilen exploiti uygular.

Temel Kullanım Komutları


.msfcli <exploit_adi> <seçenek = değer> [parametre]

Kod:
1) ./msfcli <exploit_adi> S = Seçilen exploit hakkında bilgi verir.
2) ./msfcli <exploit_adi> P = Seçilen exploit için kullanılabilir payloadları listeler.
3) ./msfcli <exploit_adi> Payload = <payload_adi> o = Exploit için gerekli seçenekleri listeler.
4) ./msfcli <exploit_adi> PAYLOAD = <payload_adi> T = Exploitin uygulanabileceği hedefler.
5) Kullanılacak exploitler için seçenekleri ve değerlerini belirttikten sonra E parametresi ile exploit çalıştırılır.

[FONT=Georgia][COLOR=Red]Msfopcode[/COLOR][/FONT]
Msfopcode 14 farklı işletim sistemi için 14 milyonun üzerinde farklı uygulama için opcode barındıran MsfConsole aracıdır.Msfopcode,daha önceden sadece internet üzerinden ulaşılabilen opcode veritabanına yerelden kullanmamızı sağlayan bir araçtır.

.msfopcode platforms komutu ile tüm desteklenen işletim sistemlerini görebiliriz.

Msfpayload

Bu araç,MsfConsole’de kullanılan payloadları derlemek için tasarlanmış ek yazılımdır.Msfpayload aracı exploit geliştiricileri için önemli araçlardan biridir.Msfpayload aracı sayesinde istenilen payload’un çıktısı C,Perl,Ruby,Raw,JavaScript,VBA ve çalıştırılabilir program olarak alınabilir.

./msfpayload -h parametresi ile temel kullanımını,seçenekleri ve payloadları görebiliriz.

Kullanım
Kod:

Kod:
./msf payload <payload> [var = val] < S [ummary] | C | P [erl] | [Rub] y
| R [aw] | J [avascript] | E [x]ecutable | [V]BA>
"S" parametresi ile seçilen payload hakkında bilgi alınabilir.
Msfencode

MsfConsole encoder istediğimiz payload’un içeriğini değiştirerek kaçak giriş tespit ve engelleme sistemleri (IDS/IPS),güvenlik duvarları (Firewall) ve antivirüsler tarafından tanınmasını engellemek için oluşturulmuş bir MsfConsole aracıdır.MsfConsole içerisinde bir çok encoder bulunmaktadır.
Kod:
Kod:
./msfencode -l = Encoder’lar listelenir.
./msfencode -h = Kullanılabilir seçeneklerin listesini verir.
Msfd

Msfd belirtilen ip adresi ve portu dinleyerek gelen bağlantıları kabul eder.Bunun sonucunda uzak sistemden bir veya daha fazla kulllanıcının bağlantı kurup MsfConsolei kullanmasına olanak sağlar.
Seçenekleri görüntülemek için -h parametresini kullanabiliriz.

Gelişmiş Payloadlar

Payloadlar exploitlerin bir parçasıdırlar.Exploit sonrası çalışarak sistemde komut satırını almak,yeni kullanıcı eklemek,uzaktan yönetim gibi işlevleri gerçekleştiririr.

Meterpreter
Ek modül destekli üst düzey bir payloaddur.Açık kaynak kodludur.Özelliklerini geliştirmek mümkündür.
Çalıştığı sistemlerdeki antivirüslerden,kaçak giriş tespit ve engelleme sistemlerinden korunmak için şifreleme özellikleri mevcuttur.
DLL ve VNC enjeksiyon yapılabilir.
Meterpreter doğrudan bellekte çalışır.Bu özelliği sayesinde exploit sonrası hedef sistemde çalıştığına dair iz bırakmaz.

Şimdi Meterpreter komutlarına ve ne işe yaradıklarına bakalım.
Kod:
Komut Açıklama

Kod:
Channel Aktif kanallar hakkında bilgi verir.
Close Kanalı kapatır.
exit Meterpreter oturumundan çıkar.
interect Kanalda aktif bir oturum başlatılır.
irb Irb script moduna geçer.
migrate Server’ı başka bir uygulamaya geçirir.
read Kanal üzerinden veri okur.
run Bir meterpreter betiği çalıştırır.
use Bir veya daha fazla meterpreter eklentisini seçer.
write Kanala veri yazar.

Meterpreter’de kullanılabilecek eklentiler;


Fs Dosya indirmek ve yüklemek için kullanılır.
Net SSH benzeri güvenli iletişim sağlamak için kullanılır.
Process Uzak sistemde çalışan uygulamaları görüntülemek için kullanılır.
Sys Sistem bilgisini almak için kullanılır.

Meterpreter Komutları

Dosya Sistemi Komutları
Kod:
Komut Açıklama


Kod:
cat Dosyanın içeriğini görüntüler.
cd Dizin değiştirir.
download Dosya indirir.
edit Dosya düzenler.
getwd Çalıştığı dizini gösteririr.
ıcd Yerel dizini değiştirir.
ls Dosyaları listeler.
mkdir Dizin oluşturur.
pwd Çalıştığı dizini gösterir.
rmdir Dizin siler.
upload Dosya yükler.

Sistem Komutları

Kod:
Komut Açıklama


Kod:
execute Komut çalıştırır.
getpid Geçerli işlemin tanımlayıcısını gösterir.
getuid Kullanıcı yrtkisi ile çalışan işlemi gösterir.
kill Çalışan işlemi sonlandırır.
ps Çalışan işlemleri listeler.
reboot Uzak bilgisayarı yeniden başlatır.
reg Uzak bilgisayarı kayıtlarında değişiklik yapar yeni kayıt ekler.
rev2self Uzak bilgisayar üzerinde Revert To self() arar.
shutdown Uzak bilgisayarı kapatır.
sysinfo Uzak sistem hakkında bilgi verir.
Ağ Komutları
Kod:
Komut Açıklama


Kod:
ipconfig Ağ ayarlarını görüntüler
portfwd Yerek portu uzak bir servise yönlendirir.
route Yönlendirme tablosunu görüntüler ve değiştirir.
Kullanıcı Arayüzü Komutları
Kod:
Komut Açıklama

Kod:
idletime Sistemin boşta kaldığı zaman dilimini gösterir.
uictl Bazı kullanıcı arabirimi bileşenlerini denetler.
Şifre Veritabanı Komutları
Kod:
Komut Açıklama

Kod:
Hashdump SAM Veritabanının içeriğini görüntüler.
Gördüğünüz üzere meterpreter bir çok özelliğe sahip üdt düzey bir payload’dur.
VNC DLL

Önemli payloaddlardan biri de VNC DLL enjeksiyonudur.
RealVNC kodunda değişiklikler yapılarak oluşturulmuştur.
Dış dosya,kütüphaneiservis kurulumu veya kayıt girişi yapılmadan çalışabilmektedir.

Hedefi exploit ettikten sonra vnc dll hedefe yüklenir ve çalıştırılır. ise hedefimizin ekranı görüntlenerek kontrol edilebilir.

Hedef sisteme bağlanıp işlem tamamlandığında komut saatırından kullanıcı ekleyip bu kullanıcının düzeyini Administrator yapabiliriz.

net user <kullanıcı adı> <şifre> /add -> Kullanıcı ekler.
net local group administrators <kullanıcı adı> /add -> Administrator yapar.


PassiveX

Üst düzey payloadlardan bir diğeride PassiveX’dir.
Hedef sistemle aradaki filtreleme cihazları sadece http protokolünün çıkışına izin veriyorsa burada PassiveX payload’unu kullanarak http protokolü üzerinden ters bağlantı yapılabilir.

PassiveX payload’unun çalışırken kullandığı yöntemler

1) PassiveX hedefin sistem kayıtlarını değiştirir ve internet explorer’ı başlatır.
2) İstenen DLL’yi ActiveX objesi olarak yükler.
3) Tüm iletişim http protokolü üzerinden yapılır.
4) Meterpreter ve VNC DLL’de enjeksiyon için kullanılabilir.


MsfConsole ile Otomatikleştirilmiş Sızma Testleri

MsfConsole farklı sistemler ve platformlar için geliştirilmiş bir çok exploite sahiptir.50 veya 100 sistemin olduğu bir sızma testi gerçekleştireceğimizi düşünelim.
Bu sistemlere teker teker exploit uygulamak oldukça meşşakatli olucaktır.
Ama bunun çözüm de vardır,MsfConsole içinde otomatik olarak exploitleri hedef sistemler üzerinde deneyebilen (db_autopwn) adlı yardımcı araç bulunmaktadır.Uzak sistemlerin güvenlik zaafiyetlerini toplu olarak tarayıpmevcut zaafiyetleri exploit ederek tüm networkün sızma testi gerçekleştirilebilir.
Bu işlemi MsfConsole komut satırı aracı ile yapabiliriz.
Öncelikle sızma testi verilerini tutmak için veritabanı gereklidir.MsfConsole’de 3 farklı veritabanı mevcuttur.
Bunlar; db_postgresdb_sqlite2,db_sqlite3’tür.
Biz db_sqlite3’ü kullanmayı tercih ettik.

Komut satırında; "load db_sqlite3" yazarak eklentimizi yükleriz.

Şimdi ise db_sqlite3’ün komut ve açıklamalarına bakalım.

sqlite3 Veritabanı Komutları

Komut Açıklama


Kod:
db_connect Varolan veritabanına bağlantı kurar.
db_create Yeni bir veritbanı oluşturur.
db_destroy Var olan veritabanını bırakır.
db_disconnect Var olan veritabanıyla bağlantıyı keser.
Şimdi bir veritabanı oluşturalım.
Komutumuz "db_create /tmp/penetrationtesting.db"

Veritabanımız bu komut sonrasında tmp dizininde "penetrationtesting.db" adıyla oluşturulmuş oldu.

Şimdi ise yapacağımız ilk iş network’ü tarayarak açık olan sistemleri bulmak olucaktır.
Bunu; "db_nmap <ıp_adresi>" şeklinde yaparız.
Bu sayede açık olan sistemleri ve portları bulucaktır.

Daha sonrasında ise; "db_hosts" komutu ile Nmap yazılımı ile taradığımız sistemleri görütüleyebiliriz.
Şimdi ise son aşamaya geldik.
Otomatik olarak tüm hostlara exploit saldırısı gerçekleştirmek için "db_autopwn" komutunu kullanırız.
db_autopwn komutunun parametrelerini inceleyelim...

db_autopwn -h yazarsak kullanabileceğimiz parametreler karşımızda olucaktır.autopwn port (-p) ve modül (-x) bazlı exploit denemesi yapabilir.

Şimdi ise atak girişimini başlatacak komutumuzu yazalım.

"db_autopwn -p -t -e" yazarız.

Evet bu yazdığımızdan komut ile tarama işlemini başlatmış oluruz.MsfConsole mevcut exploitleri otomatik olarak hedef sistemde deneyerek başarılı olan exploitler için oturum başlatılıcak hedef sistem ile saldırgan arasında.

Sızma testimiz bittikten sonra; "sessions -l" komutu ile aktif oturumları görüntüleyebiliriz ve "sessions -i [id]" komutu ile oturum sonlandırılabilir.
 
Moderatör tarafında düzenlendi:

€r@y

Kıdemli Üye
20 Nis 2015
3,942
0
Eline sağlık yalnız başlıkta -- yapmaya gerek yok. Söyle yazsan olur; Métasploit
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.