- 8 Eyl 2016
- 1,646
- 998
Merhabalar, şimdi bir sistem üzerinde gerçekleşen siber saldırının ağ tarafındaki aktivitelerini analiz ederek saldırganın yaptığı işlemleri ve elde ettiklerini göreceğiz. Ağ trafiğine ait kaydedilmiş pcap kaydını açarak analizimize başlayalım.
KONUYLA İLGİLİ VİDEO
[ame]https://www.youtube.com/watch?v=Nx3eYWdg1t0[/ame]
Pcap dosyasını açtığım an karşıma birçok arp isteği geldi. Burada tüm ağa broadcast bir yayın yapıldığını görebiliriz. 192.168.127.130 numaralı ip adresi 192.168.127.0 subnetinde tarama işlemi gerçekleştirmiş. Burada gördüğünüz gibi saldırgan şahıs aktif olan sistemleri tespit etmeye çalışıyor. Peki neler tespit etmiş? Bunun için arp paketleri arasında reply dönenleri filtreleyelim.
Burada opcode 2 filtresini uygulayarak tüm reply dönen paketleri filtreledik. Opcode==1 uygulamış olsak yapılan tüm arp isteklerini bize verirdi. Bizim için reply önemli ki bu ayakta olan cihazlar anlamına gelecek. Burada ip adreslerinin MAC adresleri arp tablosuna eklenmiş oluyor.
Yani burada kısaca saldırgan kişi yerel ağ üzerinde haberleşebileceği bilgisayarları tespit etmiş.
Protokol hierarchy bilgilerine göz attığımız zaman trafikte http ağırlıklı bir akışın olduğunu görüyoruz. Yani saldırgan kişi web uygulaması üzerinden hedefe yönelik işlemler gerçekleştirmiş. Http-packet counter bilgilerine göz atarsak 404 not found dönen epey bir sonuç olduğu gözümüze çarpıyor.
Yani saldırgan muhtemel olarak dizin keşfi gerçekleştirmiş olabilir. Hiç normal bir durum değil yoksa bu kadar 404 sonucunun olması.
http requests bilgilerine bakarsak aslında bu düşüncemizi doğruluyor. Bu tarz sayfalara istek yapılması ancak dizin keşfi gerçekleştiren otomatize bir araç ile sağlanabilir.
Ayrıca dikkat ederseniz 192.168.127.129 ip adresli sistem üzerinde bu istekler gerçekleştirilmiş. Yazının başında yoğun bir arp trafiği sonucunda reply dönen sistemlerden biriydi. Yani saldırgan bu sistemi kendine hedef olarak belirlemiş.
Anlaşılan web uygulaması üzerinde işlemler gerçekleştirilmiş, ki bunu anlamakta zor olmamalıydı o kadar http trafiği var neticede. Ben direkt http trafiğine odaklanmadan biraz daha işin hikayesine girmeye çalışacağım. Trafik dosyasını şöyle bir baştan aşağı inceliyorum.
Epey bir tcp trafik akışı gerçekleşmiş, synler uçuyor. Belirli portlara syn paketleri gönderilmiş ve gördüğünüz gibi rst ack cevapları dönmüş. Buradan yola çıkarsak saldırgan arp istekleri ile öncelikle ağ üzerinde sistem keşfi yapmış, kendisine hedef olarak 192.168.127.129 numaralı sistemi seçmiş ve burada port tarama işlemi gerçekleştirerek hedefte açık olan portları tespit etmiş. Burada paket akışına dikkat ederseniz, 129 numaralı ip adresi hedef ip adresi, 130 ise saldırganın ip adresi. Burada 80 portunu görmüş olmalı ve web üzerinden erişip işlemlerine devam etmiş olması gerekiyor saldırganın. Buraya kadar bu yorumları yapmış olduk. Acaba açık olan portlar ne? Saldırgan neticede port taraması yapmış.
Bu şekilde bir filtreyle syn, ack dönen tüm paketleri listelemiş olduk. Bunun açıklaması şu, port tarama işlemlerinde hedef portlara syn gönderilmiş ve hedeften syn+ack yanıtları dönmüş yani hedef port benimle iletişim kurabilirsin sana açığım diyor. Bu da saldırgan kardeşimiz için olumlu oluyor. Normalde port tarama işlemlerinde ack yanıtı gönderilmez çünkü iletişim kurma niyeti yoktur, saldırganın amacı syn+ack bana gelsin port açık olduğunu anlayayım yeterlidir olur.
Burada dikkat ederseniz 80 ve 22 portlarından yanıtlar gelmiş. Yani saldırgan 80 http ve 22 ssh portlarının açık olduğunu tespit etmiş.
Trafikte dikkatimi çeken bir ayrıntı oluyor. 22.port üzerinde üçlü el sıkışma gerçekleşmiş yani burada saldırgan ssh üzerinden iletişim gerçekleştirmiş. Bu çok önemli bir detay, saldırgan SSH servisi üzerinden hedef sisteme bağlanmış ele geçirmiş olabilir. SSH bir kenarda dursun finali onunla yapacağız gibi. Şu http trafiğini bir inceleyelim saldırgan webden neler elde etmiş bulmaya çalışalım.
Protokol hiyerarşisinde yer alan form isteklerini görüntüleyeceğim.
Burada test sayfası üzerinde post datalar gönderilmiş bir inceleyelim. Ayrıca / kök dizinde de bir post isteği gönderilmiş. Burası ana dizin oluyor yani 192.168.127.129 adresine web tarayıcısından erişen saldırgan bir formla karşılaşmış olduğunu anlayabiliriz.
Burada un ve ps post parametrelerine sql injection login bypass işlemi gerçekleştirmek için OR1=1 sorgusunu göndermiş yani zafiyet varsa panele erişim sağlamış olacak.
Sayfada try again mesajı alert vermiş, yani o kadar kolay mı olacak sanıyorsun demek oluyor.
Buradan bir şey elde edememiş anladığımız kadarıyla bu sayfa da başka bir post request de göremedik şimdi test sayfasına giden isteklere bakalım 3 tane istek yapılmış.
İlgili sayfada file adında bir post parametresi varmış ve burada file inclusion zafiyeti olabileceğini düşünerek göndermiş meşhur sorguyu.
Yanıt içerisinde bu sefer try again yerine bildiğiniz welcome mesajı dönmüş etc/passwd dosyası içeriği ekrana dökülmüş. Yani burada file inclusion zafiyeti tespit etmiş saldırgan.
Devamında ise aynı zafiyetten yararlanarak c.php adında bir dosyanın içeriğini çekmek istemiş.
Bu sayfada php ile mysql veritabanına bağlantı işlemi yapan kod parçası yer alıyor. Veritabanı adı, veritabanı kullanıcısı ve parola bilgileri yer alıyor.
Bir sonraki post isteğinde ise görüldüğü gibi ilgili dizinden config.inc.php dosyasının içeriğini elde etmiş. Buradaki bilgileri nasıl kullandı kim bilir şimdi onu bulmaya çalışacağız.
Gördüğünüz gibi bu saldırgan epey bir http isteği yapmıştı değil mi? Acaba hangi sayfaları buldu kontrol edelim. E bulunan sayfalar 200 döndürür değil mi? O zaman 200 dönen cevaplara bakalım.
Bu şekilde filtreleyebiliriz.
Ben http request sequences bilgileri ile istek yapılan sayfaları görebilirim. Phpmy sayfası bulunmakta bu phmyadmin sayfasıdır.
Phpmy içeren urlleri listeliyorum. Burada GET isteği dışında bir işlem yok yani burada post dönmediyse login denemesi yapılmamış diyebiliriz. Yani bu sayfanın sicili temiz geçelim.
Şu /in sayfasında ne var acaba?
Bu sayfanın response içeriğinde gördüğümüz gibi aslında phpinfo fonksiyonun çalıştırıldığı bir sayfa olduğunu görüyoruz. Bir saldırgan için nimettir burası. Buradan elde ettiği dizin yapısı bilgisi ile file inclusion açığını birleştirerek config dosyasını okuduğunu çıkarabiliriz. Zeki bir saldırgan diyebiliriz.
Biz daha sonra bu sayfaları dışarı çıkarıp içeriklerine de bakarız. Hatta şu in sayfasını çıkartalım ya.. http-export-object yoluyla in sayfasını chrome da preview ediyorum.
Bakın /var/www aramasını yaptığımda bununla alakalı sonuçları görüyorum. İn.php dosyası da bu dizin altında, yani web dosyaları burada. Saldırgan bu yolu kullanarak config dosyasını okumuş.
Şu config ve c.php dosyalarını da dışa aktarıp elde edebiliriz. Bunun için networkminer ile pcap dosyasını açıp files sekmesinden dosyalarımı bulup open file diyorum.
Buraya kadar epey yorum yaptık saldırgan finali ssh üzerinden yapmış olması gerekiyor. Daha büyük final olamazdı.
Güzel güzel paket akışları gerçekleşmiş. Peki saldırgan hangi bilgilerle ssh üzerinde bağlantı kurmuş tespit edelim. Config dosyası üzerinde user:root password:roottoor bilgileri elde edilmişti. Bu bilgilerle ssh üzerinden bağlantı kurulmuş olabilir hemen teyit edelim.
Yani saldırgan elde ettiği bilgilerle ssh üzerinden hedef sisteme bağlantı kurup işlemler gerçekleştirmiş. Bu saldırının kısaca özeti; ağ üzerinde aktif sistemler tespit ediliyor, hedef sistem belirlenip açık portlar taranıyor, web uygulamasından dizin keşfi yapılıyor, file inclusion açığı tespit ediliyor ve elde edilen bilgilerle ssh servisi üzerinden hedef sistem ele geçiriliyor.
KONUYLA İLGİLİ VİDEO
[ame]https://www.youtube.com/watch?v=Nx3eYWdg1t0[/ame]
Pcap dosyasını açtığım an karşıma birçok arp isteği geldi. Burada tüm ağa broadcast bir yayın yapıldığını görebiliriz. 192.168.127.130 numaralı ip adresi 192.168.127.0 subnetinde tarama işlemi gerçekleştirmiş. Burada gördüğünüz gibi saldırgan şahıs aktif olan sistemleri tespit etmeye çalışıyor. Peki neler tespit etmiş? Bunun için arp paketleri arasında reply dönenleri filtreleyelim.
Burada opcode 2 filtresini uygulayarak tüm reply dönen paketleri filtreledik. Opcode==1 uygulamış olsak yapılan tüm arp isteklerini bize verirdi. Bizim için reply önemli ki bu ayakta olan cihazlar anlamına gelecek. Burada ip adreslerinin MAC adresleri arp tablosuna eklenmiş oluyor.
Yani burada kısaca saldırgan kişi yerel ağ üzerinde haberleşebileceği bilgisayarları tespit etmiş.
Protokol hierarchy bilgilerine göz attığımız zaman trafikte http ağırlıklı bir akışın olduğunu görüyoruz. Yani saldırgan kişi web uygulaması üzerinden hedefe yönelik işlemler gerçekleştirmiş. Http-packet counter bilgilerine göz atarsak 404 not found dönen epey bir sonuç olduğu gözümüze çarpıyor.
Yani saldırgan muhtemel olarak dizin keşfi gerçekleştirmiş olabilir. Hiç normal bir durum değil yoksa bu kadar 404 sonucunun olması.
http requests bilgilerine bakarsak aslında bu düşüncemizi doğruluyor. Bu tarz sayfalara istek yapılması ancak dizin keşfi gerçekleştiren otomatize bir araç ile sağlanabilir.
Ayrıca dikkat ederseniz 192.168.127.129 ip adresli sistem üzerinde bu istekler gerçekleştirilmiş. Yazının başında yoğun bir arp trafiği sonucunda reply dönen sistemlerden biriydi. Yani saldırgan bu sistemi kendine hedef olarak belirlemiş.
Anlaşılan web uygulaması üzerinde işlemler gerçekleştirilmiş, ki bunu anlamakta zor olmamalıydı o kadar http trafiği var neticede. Ben direkt http trafiğine odaklanmadan biraz daha işin hikayesine girmeye çalışacağım. Trafik dosyasını şöyle bir baştan aşağı inceliyorum.
Epey bir tcp trafik akışı gerçekleşmiş, synler uçuyor. Belirli portlara syn paketleri gönderilmiş ve gördüğünüz gibi rst ack cevapları dönmüş. Buradan yola çıkarsak saldırgan arp istekleri ile öncelikle ağ üzerinde sistem keşfi yapmış, kendisine hedef olarak 192.168.127.129 numaralı sistemi seçmiş ve burada port tarama işlemi gerçekleştirerek hedefte açık olan portları tespit etmiş. Burada paket akışına dikkat ederseniz, 129 numaralı ip adresi hedef ip adresi, 130 ise saldırganın ip adresi. Burada 80 portunu görmüş olmalı ve web üzerinden erişip işlemlerine devam etmiş olması gerekiyor saldırganın. Buraya kadar bu yorumları yapmış olduk. Acaba açık olan portlar ne? Saldırgan neticede port taraması yapmış.
Bu şekilde bir filtreyle syn, ack dönen tüm paketleri listelemiş olduk. Bunun açıklaması şu, port tarama işlemlerinde hedef portlara syn gönderilmiş ve hedeften syn+ack yanıtları dönmüş yani hedef port benimle iletişim kurabilirsin sana açığım diyor. Bu da saldırgan kardeşimiz için olumlu oluyor. Normalde port tarama işlemlerinde ack yanıtı gönderilmez çünkü iletişim kurma niyeti yoktur, saldırganın amacı syn+ack bana gelsin port açık olduğunu anlayayım yeterlidir olur.
Burada dikkat ederseniz 80 ve 22 portlarından yanıtlar gelmiş. Yani saldırgan 80 http ve 22 ssh portlarının açık olduğunu tespit etmiş.
Trafikte dikkatimi çeken bir ayrıntı oluyor. 22.port üzerinde üçlü el sıkışma gerçekleşmiş yani burada saldırgan ssh üzerinden iletişim gerçekleştirmiş. Bu çok önemli bir detay, saldırgan SSH servisi üzerinden hedef sisteme bağlanmış ele geçirmiş olabilir. SSH bir kenarda dursun finali onunla yapacağız gibi. Şu http trafiğini bir inceleyelim saldırgan webden neler elde etmiş bulmaya çalışalım.
Protokol hiyerarşisinde yer alan form isteklerini görüntüleyeceğim.
Burada test sayfası üzerinde post datalar gönderilmiş bir inceleyelim. Ayrıca / kök dizinde de bir post isteği gönderilmiş. Burası ana dizin oluyor yani 192.168.127.129 adresine web tarayıcısından erişen saldırgan bir formla karşılaşmış olduğunu anlayabiliriz.
Burada un ve ps post parametrelerine sql injection login bypass işlemi gerçekleştirmek için OR1=1 sorgusunu göndermiş yani zafiyet varsa panele erişim sağlamış olacak.
Sayfada try again mesajı alert vermiş, yani o kadar kolay mı olacak sanıyorsun demek oluyor.
Buradan bir şey elde edememiş anladığımız kadarıyla bu sayfa da başka bir post request de göremedik şimdi test sayfasına giden isteklere bakalım 3 tane istek yapılmış.
İlgili sayfada file adında bir post parametresi varmış ve burada file inclusion zafiyeti olabileceğini düşünerek göndermiş meşhur sorguyu.
Yanıt içerisinde bu sefer try again yerine bildiğiniz welcome mesajı dönmüş etc/passwd dosyası içeriği ekrana dökülmüş. Yani burada file inclusion zafiyeti tespit etmiş saldırgan.
Devamında ise aynı zafiyetten yararlanarak c.php adında bir dosyanın içeriğini çekmek istemiş.
Bu sayfada php ile mysql veritabanına bağlantı işlemi yapan kod parçası yer alıyor. Veritabanı adı, veritabanı kullanıcısı ve parola bilgileri yer alıyor.
Bir sonraki post isteğinde ise görüldüğü gibi ilgili dizinden config.inc.php dosyasının içeriğini elde etmiş. Buradaki bilgileri nasıl kullandı kim bilir şimdi onu bulmaya çalışacağız.
Gördüğünüz gibi bu saldırgan epey bir http isteği yapmıştı değil mi? Acaba hangi sayfaları buldu kontrol edelim. E bulunan sayfalar 200 döndürür değil mi? O zaman 200 dönen cevaplara bakalım.
Bu şekilde filtreleyebiliriz.
Ben http request sequences bilgileri ile istek yapılan sayfaları görebilirim. Phpmy sayfası bulunmakta bu phmyadmin sayfasıdır.
Phpmy içeren urlleri listeliyorum. Burada GET isteği dışında bir işlem yok yani burada post dönmediyse login denemesi yapılmamış diyebiliriz. Yani bu sayfanın sicili temiz geçelim.
Şu /in sayfasında ne var acaba?
Bu sayfanın response içeriğinde gördüğümüz gibi aslında phpinfo fonksiyonun çalıştırıldığı bir sayfa olduğunu görüyoruz. Bir saldırgan için nimettir burası. Buradan elde ettiği dizin yapısı bilgisi ile file inclusion açığını birleştirerek config dosyasını okuduğunu çıkarabiliriz. Zeki bir saldırgan diyebiliriz.
Biz daha sonra bu sayfaları dışarı çıkarıp içeriklerine de bakarız. Hatta şu in sayfasını çıkartalım ya.. http-export-object yoluyla in sayfasını chrome da preview ediyorum.
Bakın /var/www aramasını yaptığımda bununla alakalı sonuçları görüyorum. İn.php dosyası da bu dizin altında, yani web dosyaları burada. Saldırgan bu yolu kullanarak config dosyasını okumuş.
Şu config ve c.php dosyalarını da dışa aktarıp elde edebiliriz. Bunun için networkminer ile pcap dosyasını açıp files sekmesinden dosyalarımı bulup open file diyorum.
Buraya kadar epey yorum yaptık saldırgan finali ssh üzerinden yapmış olması gerekiyor. Daha büyük final olamazdı.
Güzel güzel paket akışları gerçekleşmiş. Peki saldırgan hangi bilgilerle ssh üzerinde bağlantı kurmuş tespit edelim. Config dosyası üzerinde user:root password:roottoor bilgileri elde edilmişti. Bu bilgilerle ssh üzerinden bağlantı kurulmuş olabilir hemen teyit edelim.
Yani saldırgan elde ettiği bilgilerle ssh üzerinden hedef sisteme bağlantı kurup işlemler gerçekleştirmiş. Bu saldırının kısaca özeti; ağ üzerinde aktif sistemler tespit ediliyor, hedef sistem belirlenip açık portlar taranıyor, web uygulamasından dizin keşfi yapılıyor, file inclusion açığı tespit ediliyor ve elde edilen bilgilerle ssh servisi üzerinden hedef sistem ele geçiriliyor.
Son düzenleme: