TOR Networku Uzerinden Port Tarama

nmapp Port taramalari guvenlik testlerinin en onemli bolumlerindendir. Eger hedef sistemi tarama izniniz yoksa ve taramaniz gerekiyorsa bunu Firewall ve IDS/IPS sistemlerine yakalanmadan yapmaniz gerekir. IDS/IPS atlatarak port taramanin cesitli yontemleri var(bkz. Network Pentest Egitimi*)fakat en kolay ve ise yarar yontemlerden birisi Acik Proxyler uzerinden port tarama.

Tor gibi herkese acik ve guvenilir(!) aglar kullanicilarin gercek ip adreslerini gizleyerek ulastiklari sistemlerde daha az iz birakmalarini saglar. Her bir baglanti farkli bir cikis noktasindan hedefe ulasacagi icin arka plandaki kullanicinin gercek bilgileri gozukmez.

Port tarama icin bu konudaki en yetkin program olan Nmap’i kullandigimiz dusunulurse Nmap’in guncel surumlerinde bu tip taramalari yapabilecegimiz proxy ozelligi yok. Yani Nmap port taramalarini herhangi bir proxy uzerinden geciremez. Ileriki surumlerde bu ozelligin eklenecegini dusunuyorum.

Simdilik isimizi Linux uzerinde proxy destegi olmayan uygulamalari Proxy uzerinden kullanilabilmesiin saglayan Tsocks ile halledelim.(Benzeri isi yapan farkli uygulamarda mevcut, bunlardan birisi de Proxychains uygulamasidir)

Tsocks, uygulamayi calistiracak kullanicinin LD_PRELOAD degiskenini tsocks uygulamasi olarak degistirerek uygulamayi transparan olarak proxy ozelligi ekleyen bir wrapper uygulamasi.

TSOCKS(1)

NAME tsocks – Shell wrapper to simplify the use of the tsocks(8) library to transparently allow an application to use a SOCKS proxy

[email protected]:~# env|grep -i LD LD_PRELOAD=/usr/lib/libtsocks.so

Proxy uzerinden hangi tur port taramalar mumkundur.

Port taramalari cesit cesitdir . Yogun kullanilan port taramalari UDP ve TCP kullanilarak yapilir. Bu ikili arasindan da en gercekci sonuclara TCP taramalari ile erisilebilir. TCP kullanilarak yapilacak taramalarda da bayraklar on plana cikar. Bayrak kavrami bir TCP baglantisi icin iletisimin her adimini belirler. Yani baglantinin baslamasi, veri aktarimi, aniden kesilmesi ve sonlandirilmasi tamamen bayraklar araciligi ile yapilir.

Port taramalari da bu bayraklari kullanarak gerceklestirilir. Proxy’lerin calisma mantigi dusunuldugunde oncelikle istemci ile proxy arasinda bir tcp baglantisi kurulur ve sonrasinda Proxy’e ilgili hedefe ulasilacak istek gonderilir.

Normal bir baglanti

I:3050—-SYN————->google.com:80

I:3050<—-SYN/ACK——–google.com>80

I:3050——ACK———–>google.com:80

ve TCP baglanti kanali kurulmustur artik ilgili protokole ait komutlar calistirilabilir.

I——GET / HTTP/1/1 ——>google.com:80 ….

Araya Proxy girdikten sonraki baglanti durumu

I:3050—-SYN————->Proxy_IP:8080

I:3050<—-SYN/ACK——–Proxy_IP:8080

I:3050——ACK———–>Proxy_IP:8080

I======Proxy_IP——> CONNECT mail.google.com:25 HTTP/1.1 —–>mail.google.com:25

Benzer sekilde istemciler Proxy’lerin CONNECT(HTTP1.1 ‘de bulunan bir methoddur) ozelligini kullanarak uzaktaki sunucularin herhangi bir portuna baglanarak veri iletisiminde bulunabilirler.

Burada dikkat edilmesi gereken nokta TCP 3 way handshake isleminin proxy tarafindan tamamlanmasi ve sonrasinda ilgili verilern iletilmesi icin kanal kuruldugudur. Dolayisi ile PRoxy uzerinden SYN taramasi ya da diger bayraklarla yapilacak taramalar basarili olamayacaktir. Sadece TCP Connect Scan ya da buna dayanan tarama turleri proxy uzerinden yapilabilir.

Ornek:TOR uzerinden Servis Versiyonlarinin Belirlenmesi

Normal Port tarama icin kullanacagimiz komut asagidaki gibidir.

# nmap -P0 -n -sV vpn.lifeoverip.net -p 22,80,443

Starting Nmap 4.76 ( http://nmap.org ) at 2009-02-16 10:59 EET Interesting ports on 80.93.212.86: PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 4.5p1 (FreeBSD 20061110; protocol 2.0) 80/tcp open http Apache httpd 5.2.0 ((Fedora)) 443/tcp open ssl OpenSSL 80/tcp open mysql MySQL (unauthorized)

Tarama yapilan sunucuda IDS loglarina bakilirsa ya da tcpdump ile dinleme yapilirsa tarama yapan IP adresi gorunecektir.

[[email protected] ~]# tcpdump -ttnn tcp port 80

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on rl0, link-type EN10MB (Ethernet), capture size 96 bytes 1234774220.900855 IP 1.1.1.1.22481 > 80.93.212.86.80: S 3140092660:3140092660(0) win 1024 1234774220.900874 IP 80.93.212.86.80 > 1.1.1.1.22481: S 1425084160:1425084160(0) ack 3140092661 win 65535 1234774220.903685 IP 1.1.1.1.22481 > 80.93.212.86.80: R 3140092661:3140092661(0) win 0

Ciktilardan gorulecegu izere tarama yapan IP Adresi 1.1.1.1 (Orjinal IP degistirilmistir)

Tsocks +Nmap ve TOR uzerinden yapilan tarama

[email protected]:~# tsocks nmap -P0 -n -sV vpn.lifeoverip.net -p 80

Starting Nmap 4.76 ( http://nmap.org ) at 2009-02-16 11:15 EET 11:15:21 libtsocks(8937): IP (0.0.0.0) & 11:15:21 libtsocks(8937): SUBNET (255.0.0.0) != IP on line 20 in configuration file, ignored

Interesting ports on 80.93.212.86: PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 5.2.0 ((Fedora))

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 8.52 seconds

Ve Tarama yapilan sunucudaki loglar

# tcpdump -ttnn tcp port 80 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on rl0, link-type EN10MB (Ethernet), capture size 96 bytes

1234775091.125584 IP 69.39.49.199.49258 > 80.93.212.86.80: S 3877762938:3877762938(0) win 32768 1234775091.125607 IP 80.93.212.86.80 > 69.39.49.199.49258: S 3916248154:3916248154(0) ack 3877762939 win 65535 1234775091.321998 IP 69.39.49.199.49258 > 80.93.212.86.80: . ack 1 win 33304 1234775091.810724 IP 80.93.212.86.80 > 69.39.49.199.49258: P 1:79(78) ack 1 win 33304 1234775091.810745 IP 80.93.212.86.80 > 69.39.49.199.49258: F 79:79(0) ack 1 win 33304 1234775092.007005 IP 69.39.49.199.49258 > 80.93.212.86.80: . ack 79 win 33226 1234775092.007014 IP 69.39.49.199.49258 > 80.93.212.86.80: . ack 80 win 33304 1234775092.007709 IP 69.39.49.199.49258 > 80.93.212.86.80: F 1:1(0) ack 80 win 33304 1234775092.007743 IP 80.93.212.86.80 > 69.39.49.199.49258: . ack 2 win 33303

Taramalarin kaynak ip adreslerine bakilirsa(69.39.49.199)tor networkune ait oldugu gorulecektir. Benzer sekilde diger guvenlik taramalari da Tor ve benzeri networkler uzerinden yapilabilir.

Bir sonraki yazida TOR networkunden gelen baglantilarin nasil anlasilabilecegi ve engellenebilecegi uzerine yazmaya calisacagim.

*www.guvenlikegitimleri.com/bootcamps/netsec.html

This entry was posted in Network Security, Network Tools, Penetration. Bookmark the permalink.

5 Responses to TOR Networku Uzerinden Port Tarama

  1. Ali Kapucu says:

    Eline sağlık Huzeyfe Hocam gayet güzel olmuş

  2. black spy says:

    bunda hedef belirleyebiliyormuyuz? mesela static IP ye açık port taraması yapılıyor mu ? yapılıyorsa Nasıl ? Tor networku rastgele açık portmu tarıyor yoksa bizim belirledigimiz bir IP yide taratabiliyormuyuz ?

  3. Huzeyfe ONAL says:

    TOR networku nmap’i kullanmanizi kisitlamiyor. Sadece belirli tur port taramalari yapmaniza izin verir. Bunun haricindeki parametreler(hedef secme vs) aynen kullanılabilir.

  4. black spy says:

    peki bir bilgisayarın IP sindeki açık portları taradık diyelim. Bu açık portları kullanarak kişinin bilgisayarının içini görebilirmiyiz. Yani açık porttan bilgisayar içinde ne var ne yok bakabilir miyiz ?

  5. volkan KURUM says:

    balack spy kardeşim açık port olsa bile ona ulaşmak için yonlendirilmesi yapılması lazım günümüzde adsl modemler nat ozelligi
    var yani ulaşabilsen bile anca modeme giresin modemded de gelen port orn 3389 portunu içeri gönder diye yönlendirme yapabilirsin ama yapılmazsa sadece moıdeme kadar girersin 😉

Leave a Reply

Your email address will not be published. Required fields are marked *

18 − fifteen =