pivoting ve tunneling

47
Pivoting Kanallar Pivoting ve T¨ unelleme BGM 554 - Sızma Testleri ve G¨ uvenlik Denetlemeleri-II Bilgi G¨ uvenli˘ gi M¨ uhendisli˘ gi uksek Lisans Programı Dr. Ferhat ¨ Ozg¨ ur C ¸ atak [email protected] ˙ Istanbul S ¸ehir ¨ Universitesi 2016/2017 - Bahar Dr. Ferhat ¨ Ozg¨ ur C ¸ atak [email protected] Pivoting ve T¨ unelleme

Upload: dr-ferhat-ozgur-catak

Post on 11-Apr-2017

51 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Pivoting ve Tunneling

Pivoting Kanallar

Pivoting ve TunellemeBGM 554 - Sızma Testleri ve Guvenlik Denetlemeleri-II

Bilgi Guvenligi MuhendisligiYuksek Lisans Programı

Dr. Ferhat Ozgur [email protected]

Istanbul Sehir Universitesi2016/2017 - Bahar

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 2: Pivoting ve Tunneling

Pivoting Kanallar

Icindekiler

1 PivotingRoutingPivotingKullanılan Pivoting KanallarıAraclar

2 Kanallar

Netcat relaySSH Lokal Port YonlendirmeSSH Ters Port YonlendirmeSSH Dinamik PortYonlendirmeMeterpreter SessionsNCat Pivoting

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 3: Pivoting ve Tunneling

Pivoting Kanallar RoutingPivoting

Kullanılan Pivoting KanallarıAraclar

Icindekiler

1 PivotingRoutingPivotingKullanılan Pivoting KanallarıAraclar

2 Kanallar

Netcat relaySSH Lokal Port YonlendirmeSSH Ters Port YonlendirmeSSH Dinamik PortYonlendirmeMeterpreter SessionsNCat Pivoting

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 4: Pivoting ve Tunneling

Pivoting Kanallar RoutingPivoting

Kullanılan Pivoting KanallarıAraclar

Routing I

Routing

I Defense-in-Depth: Hizmetleri koruyabilmek icin cokkatmanlı guvenlik mimarileri gelistirilmektedir.

I Kritik sistemler (veritabanı, uygulama sunucusu gibi) yer aldıgıag, diger sistemlerin bulundugu ag uzerinde olmamalıdır.

I Routing: Farklı ag uzerinde bulunan cihazların nasılhaberlesecegi belirleyen surec

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 5: Pivoting ve Tunneling

Pivoting Kanallar RoutingPivoting

Kullanılan Pivoting KanallarıAraclar

Routing II

Sekil: Routing

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 6: Pivoting ve Tunneling

Pivoting Kanallar RoutingPivoting

Kullanılan Pivoting KanallarıAraclar

Routing III

Sekil: Routing 1

1https://pentest.blog/explore-hidden-networks-with-double-pivoting/Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 7: Pivoting ve Tunneling

Pivoting Kanallar RoutingPivoting

Kullanılan Pivoting KanallarıAraclar

Pivoting

Pivoting

I Tanım: Sızma testi yapılırken ele gecirilen bir bilgisayararacılıgı ile trafigi yonlendirmek icin kullanılan bir yontemdir.

I Pentest gerceklestirilirken ic hedefleri ele gecirmek icin dahaonceden ele gecirilmis bir bilgisayar kullanılması gerekebilir.

I Diger subnet’ler uzerinde yer alan bilgisayarların elegecirilebilmesi icin gerekli araclar sunmaktadır.

I Bilgisayar ele gecirildikten sonra arastırılan bilgilerI kullanıcı hesapları, sifre ozetleri, diger sistemler hakkında

bilgiler, veya bilgisayar tarafından eriselibilir diger aglar.

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 8: Pivoting ve Tunneling

Pivoting Kanallar RoutingPivoting

Kullanılan Pivoting KanallarıAraclar

Kullanılan Pivoting Kanalları

Kullanılan Kanallar

I Netcat relays

I SSH local port forwarding

I SSH dynamic port forwarding (SOCKS proxy)

I Meterpreter sessions

I Ncat HTTP proxy

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 9: Pivoting ve Tunneling

Pivoting Kanallar RoutingPivoting

Kullanılan Pivoting KanallarıAraclar

Kullanılan Araclar

Araclar

I Nmap

I Proxychains

I Netcat

I Ncat

I Web Browser

I Metasploit

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 10: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Icindekiler

1 PivotingRoutingPivotingKullanılan Pivoting KanallarıAraclar

2 Kanallar

Netcat relaySSH Lokal Port YonlendirmeSSH Ters Port YonlendirmeSSH Dinamik PortYonlendirmeMeterpreter SessionsNCat Pivoting

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 11: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Netcat relay I

Listing 1: Netcat relay

$mknod backpipe p

$nc -l -p 12700 0<backpipe|nc tubitak.gov.tr 80 1>backpipe

Netcat Relays

I 12700. port uzerinde bir Netcat listener olusturur.I -l listen for an incoming connection rather than initiate a

connection to a remote host

I Listener gelen butun trafigi tubitak.gov.tr adresi ve 80 portayonlendirilir.

I mknod: ”character/block device” olusturma icin kullanılır.I -p: for fifo (pipe).

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 12: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Netcat relay II

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 13: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Netcat relay III

Sekil: Tarayıcı Gorunumu

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 14: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Netcat relay IV

Sekil: Banner Grabbing

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 15: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Netcat relay V

Sekil: Netcat relay, banner grabbing Wireshark cıktısı

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 16: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Netcat relay VI

Eksik taraflar

I Netcat relay yontemi, HTTP trafigi icin cok uygun degil.I HTTP istegi tamamlandıgı zaman, Netcat relay calısmasını

durdurur.

I Bir dongu kullanılarak Netcat’in yeniden baslatılması seklindebir cozum yapılabilir.

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 17: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Local Port Forwarding I

Local Port Forwarding

I Belli bir sunucuyla baglantıya izin vermeyen ozel bir aguzerinde oldugumuzu kabul edeilim.

I google.com engelleniyor olsun.

I Agımızda olmayan ve dolayısıyla google.com’a erisebilen birsunucu uzerinden bir tunel olusturabilir.

Listing 2: SSH lokal port yonlendirme

$ssh -L 12700: google.com :80 root@192 .168.4.33

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 18: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Local Port Forwarding II

$ssh -L port:destination_host:destination_port

username@pivot_host

Komut satırı

I port: dinlemede olan lokal port

I destination host: hedef IP adresi veya hostname

I destination port: hedef sunucuda dinlemede olan port

I username: pivot sunucuda yer alan kullanıcı adı

I pivot host: pivot sunucunun IP adresi veya hostname

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 19: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Local Port Forwarding III

Sekil: SSH lokal port yonlendirme

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 20: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Local Port Forwarding IV

Sekil: SSH lokal port yonlendirme

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 21: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Local Port Forwarding V

Sekil: SSH lokal port yonlendirme

Sekil: SSH lokal port yonlendirme

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 22: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Firewall Arkasında Yer Alan Veritabanına Baglanmak I

Database Behind Firewall

I localhost (127.0.0.1) uzerinden erisilebilen fakat uzaktanerisilemeyen portlara erisim.

Sekil: MySQL tunel baglantısı

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 23: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Firewall Arkasında Yer Alan Veritabanına Baglanmak II

Sekil: MySQL tunel baglantısı

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 24: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Firewall Arkasında Yer Alan Veritabanına Baglanmak III

Sekil: MySQL lokal port fwd Pcap goruntusu

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 25: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Firewall Arkasında Yer Alan Veritabanına Baglanmak IV

Sekil: MySQL-Workbench kullanıcı baglantıları

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 26: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Firewall Arkasında Yer Alan Veritabanına Baglanmak V

Sekil: NMap port versiyon taraması

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 27: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Firewall Arkasında Yer Alan Veritabanına Baglanmak VI

Sekil: Nmap MySQL Enum betigi

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 28: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Firewall Arkasında Yer Alan Veritabanına Baglanmak VII

Sekil: Nmap MySQL Brute betigi

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 29: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Ters Port Yonlendirme I

Sekil: Kurban tarafı ters ssh yonlendirme

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 30: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Ters Port Yonlendirme II

Sekil: Saldırgan tarafı ters ssh yonlendirme

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 31: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Ters Port Yonlendirme III

Local vs Remote

I ssh -L port:host:hostport: lokal makinede port’u dinler, uzakmakinenin satırında ”host:hostport” trafigini gonderir.

I ssh -R port:host:hostport: uzak makinede port’u dinler, lokalmakinenin satırında ”host:hostport” trafigini gonderir.

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 32: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Dinamik Port Yonlendirme (Socks Proxy) I

SSH Dinamik Port Yonlendirme

I SSH istemcisi ve SSH sunucusu arasında guvenli kanalolusturur.

Listing 3: Dinamik Port komut satırı (saldırgan tarafı)

$ssh -D address:port username@pivot_host

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 33: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Dinamik Port Yonlendirme (Socks Proxy) II

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 34: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Dinamik Port Yonlendirme (Socks Proxy) III

Sekil: Saldırgan tarafı dinamik port yonlendirme

Sekil: Istemci tarafı dinamik port yonlendirme

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 35: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Dinamik Port Yonlendirme (Socks Proxy) IV

Sekil: Istemci tarafı proxy tanımlama

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 36: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Dinamik Port Yonlendirme (Socks Proxy) V

Sekil: Istemci tarafı web tarayıcı

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 37: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

SSH Dinamik Port Yonlendirme (Socks Proxy) VI

Sekil: Sunucu tarafı paket trafigi

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 38: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Meterpreter Sessions I

Meterpreter Sessions

I Metasploit, tunelleme icin farklı bilesenlere sahiptir.

I Metasploit route komutu diger aglara sıcrama yapılabilir.

I Bu sekilde metasploit uzerinde yer alan exploitler diger ag’laruzerinde kullanılabilir hale gelir.

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 39: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Meterpreter Sessions II

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 40: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Meterpreter Sessions III

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 41: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Meterpreter Sessions IV

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 42: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Meterpreter Sessions V

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 43: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Meterpreter Sessions VI

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 44: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Meterpreter Sessions VII

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 45: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Ncat Pivoting I

Ncat Pivoting

I Ncat: Nmap projesi tarafından tekrar tasarlanmıs, ozellikleriartırılmıs Netcat.

I Proxychains kullanılarak Nmap calıstırılabilir.I Allows TCP and DNS tunneling through proxies.I Supports HTTP, SOCKS4 and SOCKS5 proxy servers.

I /etc/proxychains.conf dosyası duzenlenerek http proxytanımlaması girilir.http 192.168.2.3 8080

I Pivot sunucu uzerindencat --listen --proxy-type http 192.168.2.3 8080

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 46: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Ncat Pivoting II

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme

Page 47: Pivoting ve Tunneling

Pivoting KanallarNetcat relaySSH Lokal Port YonlendirmeSSH Ters Port Yonlendirme

SSH Dinamik Port YonlendirmeMeterpreter SessionsNCat Pivoting

Ncat Pivoting III

Dr. Ferhat Ozgur Catak [email protected] Pivoting ve Tunelleme