Siber Saldırı Trafik Analizleri

Pentester

Özel Üye
8 Eyl 2016
1,646
996
Merhabalar, Blue Team ekibi olarak siber saldırılara ait trafiklerin analizini nasıl gerçekleştirebileceğimizi bazı başlıklar üzerinde hazırladık. Daha önceden hazırladığımız konulara aşağıdaki bağlantılardan erişebilirsiniz.

Port Tarama Trafik/Paket Analizi
Host Keşif Trafik Analizi
Network Trafiğinde Dosya Türlerinin Tespiti
HTTP Trafiğinde Filtreler
Mac Flooding Saldırısı ve Analizi
MSSQL Brute Force Saldırısı, Analizi ve Korunma Yolları
Telnet Brute Force Saldırı Analizi

SQL INJECTİON SALDIRI TRAFİĞİ ANALİZİ

Merhabalar, bu başlığımızda SQL Injection saldırısı gerçekleşmiş ağ trafiğinin kaydını inceleyerek saldırıyı yorumlayacağız. Saldırı trafiğine ait pcap dosyasını Wireshark aracımızda açarak paketleri görüntüleyelim.

LGFhpS.png


Pcap dosyasını açtığım an itibarıyla http protokolü üzerinde GET isteği yapılmış bir kayıt dikkatimi çekti. Listproducts.php sayfasının cat parametresi üzerinde işlem yapılmış, mutlak bir sql injection tespit işlemi olduğunu yorumlayabiliriz. İsterseniz öncelikle o isteği bir inceleyelim. İlgili isteğe sağ tık yapıp follow http stream diyorum.

TarHc2.png


GET isteği yapıldığı, %2A yani * karakterinin URL karşılığının gönderilerek ilgili parametre üzerinde sql injection tespiti denemesi yapıldığını anlıyorum. User-Agent başlık bilgisinde ise sqlmap yazıyor, saldırının otomatize bir araç olan sqlmap ile gerçekleştiğini de buradan çıkarabiliriz. Bir de bu isteğin dönen yanıtına bakalım. İstek yapılmış da yanıt ne dönmüş, saldırgan buradan ne elde etmiş ona bakalım.

Toc0l1.png


http Response içeriğinde web sayfasında sql hata mesajının yer aldığını görüyoruz. Yani saldırgan burada sql injection saldırısını tespit etmiş, hedefine doğru emin adımlarla ilerliyor.
Şimdi saldırının detaylarına geçmeden ben en başa dönüp biraz farklı detaylara değineceğim, hiçbir şey bilmiyormuş gibi devam edelim.
En başa dönüyorum ve menülerden statistics-protocol hierarchy sekmesini takip ediyorum. Burası bize ilgili ağ trafiğine ait protokollerin paket detaylarına ait ayrıntıları veriyor.


YoYvSA.png


Burada HTTP protokolüne odaklandım ben, HTML Form URL Encoded yazan pakete sağ tık yapıp “apply as filter-selected” diyerek filtrenin uygulanarak isteğin detayına gitmek istiyorum.

guXZRa.png


Urlencoded-form adında bir filtre uygulanarak bana bir istek gösterdi. Ben bunun url encode edilmiş bir form datasına ait bir istek olduğunu anladım. http Stream diyerek bir bakalım burada neler dönmüş.

H29oiI.png


Burada listproducts.php?cat=3 adlı sayfada bir post data gönderilmiş, bu data içerisinde bir sql sorgusu var tabii ki. Bu istek sonucunda da 200 değeri dönmüş tabii ama yanıt saldırganı tatmin etmiş mi tüm mevzu o. Şimdi bunu bir geçelim de şu post data olarak gönderilen sql sorgusunun ne olduğunu anlamaya çalışalım. Şöyle bir bakınca url encode edilmiş bir yapı var, içerisinde script, cmdshell bilmemne geçiyor hiçbir şey anlamadım açıkçası ben bu sorgudan biraz anlamlandırmaya çalışacağım inşallah anlarız. İlgili sorguyu kopyalayıp url decode edelim.

44p4wm.png


and 1=1 kısmından sonra bende hatlar karıştı, xss çalıştırma mı dersin, xp_cmdshell komutu mu dersin, ortaya karışık yapalım der gibi bir sql sorgusu gönderilmiş. Gönderilmiş de, ne dönmüş mevzu bu. Response içeriğinde bir bakalım.

b1Ceyd.png


Tabii bu yanıt içerisinde uzunca bir html kod var da ben öylesine göstermek için bir kısmını çektim. İçerisinde tatmin edici hiçbir şey yok. Bir şey gönderilmiş ama sonuç yok yani. Benim şu ana kadar anladığım şey, burada sql sorguları gönderilerek sql injection işlemi yapılmaya çalışılmış.


lhjgZq.png


HTTP filtresi uygulayıp http isteklerine bakıyorum. Buna öyle bir baktım sadece ve biraz daha spesifik bir hale getirip sadece GET isteklerine bakayım, ki zaten sql injection saldırısı mutlak olarak burada GET üzerinden gerçekleşmiş şu ana kadar öyle bir izlenim elde ettim.

8HTY6c.png


İlgili filtreyi uyguladığım zaman bana tüm get isteklerini gösterdi. Burada zaten görüldüğü gibi ilgili sayfanın cat parametresine epey bir sql sorgusu gönderilmiş. Yani biz buraya odaklanacağız. Ondan önce bir de http üzerindeki detaylara bakmak istiyorum. Statistics-http-packet counter yolunu izliyorum ve karşıma çıkan tabloya bakıyorum.

pVMa3m.png


Bu tabloyu yorumlamak gerekirse 200 ok dönen 173 istek olduğunu yani başarılı istek olduğunu, 1119 http isteği olduğunu, bu isteklerin 168 adetinin GET, 1 tanesinin POST olduğunu görüyorum. GET İsteklerine odaklanmadan şu 1 adet yalnız POST isteğine bakmak istiyorum. Ben bir şey tahmin ediyorum ama…

X4jBN4.png


Hani az önce url encode edilmiş bir data bulmuştuk ya, bu aslında o yani POST ile gönderilen data. Şimdi tekrar içeriğine bakmayalım geçelim bunu.

4NEzoX.png


Şu get isteklerine şöyle bir tekrar bakalım, burada gördüğünüz gibi sorgular gönderilmiş ama anlamsız sorgular, aslında anlamlı da şu an bize anlamsız geliyor. Bunlar aslında encode edilmiş istekler. Bir tanesine sağ tık yapıp inceliyorum.

zD0ljP.png


İlgili sorguyu kopyalıyorum, tabii bunu yapmadan önce dönen yanıta da bakıyorum ama tatmin edici bir şey yok. Şimdi şu sorguyu bir anlamlı hale getirelim. Ben bunun base64 olduğunu düşünüyorum ve base64 decode eden herhangi bir online web sitesine girip decode ediyorum.

6ZSNwV.png


Gördüğünüz gibi anlamlı bir şekle büründü. Böyle fasa fiso bir sorgu gönderilmiş. Burada “INFORMATION_SCHEMA.USER_PRIVILEGES” kısmına dikkat edersek burada aslında mysql kullanıcısına ait yetkiler tespit edilmeye çalışılmış. Bununla alakalı referans kaynak: https://dev.mysql.com/doc/refman/5.6/en/information-schema-user-privileges-table.html
Şimdi bu değişik sorgular arasında kayboluyor gibiyiz, ben bu sorgular arasında sadece select geçen sorguları listelemek istiyorum.


4yi1ae.png


Hiçbir şey dönmedi. Zaten saldırının bütününe bakarsak hep base64 encode edilmiş istekler gönderildiğini anlıyoruz.

vBe8tf.png


Sorguyu bu biçimde değiştiriyorum. Oraya ne yazdığıma gelirsek “SELECT” deyiminin base64 karşılığını paketler içerisinde arattım. Gördüğünüz gibi başarılı bir şekilde select geçen istekler bana getirildi. Bu şekilde filtreler uygulayarak saldırı içerisinde tespitler yapabilirsiniz. Bu analiz böyle uzar da gider. İstiyorsanız daha sade bir saldırı analizini de yapabiliriz.

E5EY61.png


Bu sefer daha farklı bir saldırının trafik kaydına baktığımız zaman sorguların apaçık ortada olduğunu görebiliyoruz.
http-requests ayrıntılarına bakarsak yapılan requestleri detaylıca görebiliriz.


Kji4be.png


Bu ağ trafiğini çok kullanışlı olan NetworkMiner üzerinden de inceleyebiliriz.

hONPEp.png


Pcap dosyasını açtığım zaman files sekmesinde hangi dosyalara istekler yapıldığını net bir şekilde görüyorum ki bu saldırı boyunca listproducts.php dosyasına odaklanıldığını görüyorum. Buradan elde edilen bilgiyle aslında Wireshark da incelememizi kolaylaştırabiliriz.

wEEXre.png


Bu şekilde sadece url de listproducts.php geçen istekleri filtreleyebiliriz.

R79V7h.png


Yine NetworkMiner üzerinde Parameters sekmesi üzerinden giden isteklerde HTTP başlığına ait bilgileri elde edebiliriz. Örneğin X-Powered By başlığında sunucunun PHP/5.3 sürümünü çalıştırdığını da öğrenmiş olduk. Aynı zamanda Nginx sunucusu üzerinde çalışıyormuş. Zaten bunları yine http response içeriğinde görebilirdik.


kWngai.png


Aynı zamanda NetworkMiner üzerinde yer alan en güzel kolaylıklardan bir tanesi de files sekmesinde ilgili dosyaya sağ tık yapıp Open File dediğimiz zaman tarayıcımızda sayfanın açılması da güzel bir olay.

BsA2GK.png


Görüldüğü gibi web sayfasında o an çalıştırılan isteğe ait sayfanın görünümü yer alıyor.
Open folder diyerek tüm dosyaları klasörde görüntüleyerek inceleyebilirsiniz.


7cVTdp.png


Bu şekilde bir saldırı trafiğinin Wireshark ve NetworkMiner üzerinde nasıl incelenebileceğini uygulamalı olarak görmüş olduk.
 

layef

Üye
28 Mar 2020
135
46
nowhere
Cevap: Siber Saldırı Trafik Analizleri - Blue Team


MYSQL BRUTE FORCE SALDIRI ANALİZİ

İçerik;

1.MYSQL Nedir?
2.MYSQL'e Brute Force Saldırısı

2.1.Medusa ile Brute Force Saldırısı
2.2.****sploit ile Brute Force Saldırısı
3.Saldırının Analizi
3.1.NetworkMiner ile Analiz
3.2.Tshark ile Analiz
3.3.Wireshark ile Analiz​

1.MYSQL Nedir?

1994 yılında geliştirilmeye başlanan, 23 Mayıs 1995 yılında ise ilk sürümü yayınlanan MYSQL 6 Milyondan fazla sistemde yüklü olduğu söylenmektedir. MYSQL multi-threaded(çoklu iş parçacıklı), multi-user(çok kullanıcılı), robust(hızlı ve sağlam) bir veri tabanı yönetim sistemi olarak kullanıcıların hayatında yer etmiştir. Windows, Unix ve OS/2 gibi gibi sistemlerde kullanılmaktadır.

Ücretsiz sunulmakla birlikte ticari lisanslar için ücretli bir lisans seçeneği de mevcuttur. Açık kaynak kodlu bir sistemdir.

SQL (yapılandırılmış sorgu dili) aracılığıyla kontrol edilebilir. Bağımsız bir grafik kullanıcı ara yüzü yoktur, ancak birçok yardımcı araç bulunmaktadır(Örnek: MYSQL Workbench)

Linux altında daha hızlı olduğu söylenmektedir. Genelde Web programlama dilleri olan ASP, PHP ile çokca kullanılır. Bu yüzden Web sunucularında en çok kullanılan veri tabanı özelliği gösterir.

Ayrıca 2009 yılında, Oracle tarafından satın alınmıştır.

MYSQL varsayılan olarak TCP 3306 portunu kullanmaktadır.

2.MYSQL'e Brute Force Saldırısı

MYSQL servisine bir saldırı gerçekleşmesi için önceki yazımızda belirttiğimiz gibi;
  • SQL sunucumuza uzaktan bağlantı etkinleştirilmiş olması gerekmekte yani internete açık olması gerekiyor. Bir diğer deyiş ile Fiziksel bağlantımız olmak zorunda ve
  • 1433 numaralı portumuzun open(açık) durumda olması gerekmektedir. Close veya filtered durumda, saldırımızı gerçekleştiremeyiz.

Brute Force saldırısını ****sploit ve medusa olmak üzere 2 farklı araçta gerçekleştireceğiz.

2.1.Medusa ile Brute Force Saldırısı

a. tespit ;

Nmap ile port taraması yapalım. 3306 yani MYSQL' in çalıştığı portun durumunu kontrol edelim. Bunun için Nmap aracında kullanacağımız komut;

Kod:
nmap -p 3306 192.168.1.3



Klasik bir tarama yaptık. Yapacağımız saldırı MYSQL üzerine olduğu için spesifik olarak 3306 numaralı portu -p parametresi kullanarak taradık ve 3306 numaralı portumuz açık, çalışan servis ise MYSQL buraya kadar her şey doğru. Şimdi Brute Force atağa geçelim.

b. Saldırı ;

Önceki yazımızda xHydra aracını kullanmıştık. Bu sefer çeşitlilik olması açısından Brute Force saldırısı için kullanacağımız araç Kali Linux'da default olarak gelen medusa aracıdır. Oldukça basit ve kullanışlı bir araçtır.

İşi uzatmamak adına password'u wordlist içerisine başlara yerleştirdim. Username ise root olarak belirtiyorum.



Kod:
medusa -h 192.168.1.3 -u root  -P /root/Desktop/example_layef_pass.lst  -M mysql -F

Yazdığımız komut dizisini açıklayacak olursak;

Kod:
-h 	// Hedef adresi belirttik

-u	// Tekil olarak bir hedef(username) verdik. Eğer elimizde Bir Username listesi olsaydı -U ile belirtebilirdik.

-P	// Bir password listesi yolu gösterdik. Eğer tek bir pass belirtmek istersek -p parametresini kullanmamız gerek.

-M	// Parametresi ile saldırıyı yapacağımız servisin adını küçük harflerle belirtiyoruz.

-F	// Bu parametre ile username ve pass bulunduktan sonra işlemi sonlandırır. 
           Bu parametre verilmezse Brute Force işlemi listedeki birimler bitesiye kadar devam eder.



Görüldüğü üzere Brute Force saldırısını gerçekleştirdik ve şifreyi elde ettik.

2.2.****sploit ile Brute Force Saldırısı

****sploit açıldıktan sonra kullanacağımız modülü seçiyoruz.



Kod:
use auxiliary/scanner/mysql/mysql_login

Bu modül Brute Force saldırısı yaparak oturum açmamıza yardımcı olacak.



show options diyerek gireceğimiz parametreler hakkında bilgi sahibi olabiliriz.

Kod:
set RHOSTS 192.168.1.3 // Hedef ip adresi

set USERNAME root // Kullanıcı adını belirttik

set PASS_FILE /root/Desktop/example_layef_pass.lst // Bir pass listesi yolunu gösterdik

ve run diyerek saldırı işlemine geçelim..



Saldırımızı tamamladık ve şifreye ulaştık. Şimdi bu şifreyi kullanarak giriş yapıp, veri tabanı üzerinde bir saldırgan gibi birkaç işlem yapalım ki trafiği incelerken bir saldırganın veri tabanı üzerindeki işlemlerini de analiz edebilelim...



1 numaralı bölümde Brute Force ile şifresini öğrendiğimiz MYSQL servisine uzaktan bağlantı yapıyoruz.
2 numaralı bölümde show databases; diyerek içerisinde bulunan veri tabanlarını görüntüledik.
3 numaralı bölümde use tikiwiki; diyerek inceleceğimiz veri tabanı ismini seçtik.
4 numaralı bölümde show tables; ile tikiwiki içerisindeki tabloları görüntüledik.​



Görüldüğü üzere tablolar arasında users_groups isminde bir tablo var. Bunun içerisinde önemli bir bilginin olduğunu farz edelim saldırgan;

5 numaralı bölümde select * from users_groups; ile içeriğini görüntüledi, kayıtları ekrana getirdi ve
6 numaralı bölümde drop table users_groups; ile bu bilgileri sildi..​

ve çıkış yaptı. Şimdi analiz bölümünde bu saldırıyı detaylı bir şekilde inceleyeceğiz..

3.Saldırının Analizi

Medusa aracı ile yaptığımız saldırıyı NetworkMiner ve Tshark ile analiz edelim..

3.1.NetworkMiner ile Analiz

Genel bir bakış açısı için NetworkMiner ile saldırının pcap dosyasını(saldırının kaydını) inceleyecek olursak.



3306 numaralı porta bir saldırı var bu anlaşılabiliyor, incoming sessions: 1565 kısmına tıklayarak ya da Session veya DNS bölümünde detaylı olarak paketleri inceleyebiliriz..



Burada görebileceğimiz üzere dar zaman aralıklarında, aynı port üzerine yapılan istekler Brute Force saldırısına kanıttır.

3.2.Tshark ile Analiz

Tshark, Wireshark'ın terminal versiyonu diyebiliriz. Temel manada analiz yapmamıza imkan tanıyacak.

NetworkMiner aracında 3306 numaralı porta yani MYSQL servisine bir saldırı yapıldığını anlamıştık. Burada ise biraz daha özele inelim.

Kod:
tshark -r /root/Desktop/mysql.bf.pcapng -c 1000 mysql.error_code == 1045

Yazdığımız komut dizisini açıklayacak olursak;

Kod:
-r	// Dosya yolu belirttik

-c	// 1000 numaralı pakete kadar olanları göster

mysql.error_code == 1045 // 1045 numaralı error code gönderenleri göster



Komut dizinini kullanarak erişim engeli yiyen yani 1045 numaralı Response Code döndüren paketleri incelemeye alabiliriz. Bunlar bize bir şifre deneme saldırısı yani Brute Force saldırısı olduğunu kanıtlamaktadır.



Ayrıca başarılı girişi bulmak için de

Kod:
mysql.response_code == 0x00

parametresi girilebilir.

****sploit ile yaptığımız saldırıyı ise Wireshark aracı ile inceleyelim.

3.3.Wireshark ile Analiz

Diğer araçlar ile ne tür bir saldırı olduğunu tespit ettik şimdi biraz daha detaya ineceğiz.

Wireshark'ta genelden özele doğru filtreleme işlemi yapalım. İlk olarak MYSQL olarak filtreleme yaparsak MYSQL' e yönelik tüm işlemler görüntülenebilir.



Paketlerden birini incelersek..



Denenmiş olan username ve password bilgisini görebiliyoruz fakat parola şifrelenmiş biçimde..

Bilindiği üzere bir Brute Force saldırısında binlerce başarısız giriş sadece bir tane başarılı giriş bulunur.

Bu yüzden erişim engeli yiyen yani başarısız işlemleri filtreleyeceğim.

Kod:
mysql contains "Access denied"

parametresi ile filtrelenebilir.



Bir paketin üzerine tıkladığımızda alt bölümdeki Error message bölümünden de anlaşılıyor. Bu işlemin aynısını Tshark üzerinden de yapmıştık. Tek fark orada error code üzerinden filtrelemiştik aslında aynı yola çıkıyor. Aynı filtre Wireshark üzerinde de kullanabilir.

Ayrıca bu paketlerin üzerine sağ tık yapılarak Follow > TCP Stream işlemi ile de detaylara bakılabilir.

mysql.response_code == 0x00 filtresi ile de Tshark aracında olduğu gibi başarılı giriş bulunup incelenebilir.

Kod:
mysql.query

parametresi ile MYSQL' de sorgular yapılan paketleri filtreleyebiliriz.



Filtrelediğimiz paketler fark ettiyseniz en yukardaki paketten aşağı indikçe, saldırganın ilk sorgusundan son sorgusuna doğru bir değişim olmaktadır. Görüldüğü gibi en üsteki 2. paket saldırganın ilk sorgusuydu. Request Command Query > Statement kısmında sorguyu görmekteyiz.

Bu arada yukardaki ilk paket girişte verilen versiyon bilgisi falan olması gerek ilk sorgu olarak Wireshark bize bunu vermiş olabilir.



En alttaki sorgunun bir üstündeki paket ise saldırganın son yaptığı işlemlerden olan tablo silme işlemi yani drop table users_groups. İşaretli bölümde görülmektedir. Onun bir altındaki işlem ise show tables yani tabloları tekrardan görüntülemiş silme işlemini kontrol için yapılmış olabilir.

Ayrıca bu paketler Follow > TCP Stream ile daha detaylı incelenebilir.



Not: Bu sıralamanın yukarda anlattığım gibi olabilmesi için No kısmının yani paket numaralarının işlem sırasına göre dizilmiş olması gerekmektedir.


Selam ve Sevgilerle..




 

Bugs Bunny

Uzman üye
29 Tem 2016
1,488
35
MSFVenom
Cevap: Siber Saldırı Trafik Analizleri - Blue Team

HTTP Brute Force Saldırı Analizi

HTTP nedir?

HTTP, 1990 senesinden itibaren dünya çapında ağ üzerinde kullanılmakta olan bir iletişim protokolüdür. Bu protokol ağ üzerinde bulunan web sayfalarının görüntülenmesini sağlar.
HTTP açılımı Hyper Text Transfer Protocol’dur.
HTTP, 80 portunu kullanmaktadır.

oOyjqI.png



Analiz

azp4GN.png


Ben deneme amaçlı bir sitenin login paneline giriş isteğinde bulunacağım ardından bu giriş isteğini analiz edeceğiz.

pFllEd.png


Saldırıyı analiz etmek için wireshark kullanacağım.
Siz isterseniz wireshark gibi ağ trafiğini analiz etmekte kullanılan başka toollarıda kullanabilirsiniz.

Saldırı trafik kaydını açıp incelemeye başlıyorum. Gözüme çarpan ilk şey üçlü el sıkışmanın gerçekleşmiş olması ve hemen ardından http isteğinin gönderilmesi.

YHK9OI.png


İlgili GET isteği / kök dizinine yapılmış hemen üzerine tıklayıp aşağıdan isteğin içeriğine bakalım.

bwJfFZ.png


Testphp.vulnweb.com sayfasına bir GET isteği yapılmış. Buraya kadar herhangi bir anormal durum bulunmamakta. Burada paketler arasında kaybolmadan protokol hiyerarşisine göz atıp bilgi toplamaya başlıyalım.

Syo0tk.png


Protokol hiyerarşisinde elde ettiğim bilgiye göre http protokolünde istekler gerçekleştirildiği, text data ve form tabanlı isteklerin olduğunu görüyorum. Bu sebepten http üzerinden bilgiler elde etmeye devam ediyorum buraya tekrardan geleceğim.

HTTP packet counter bilgisine göz atalım.

QE3fio.png


117 adet http paketi olduğunu görüyoruz. Response paket detaylarında 28 adet başarılı istek, 8 adet not found, 8 adet 302 found şeklinde responseler döndüğünü görüyoruz. Request paketlerinin ayrıntısında ise POST, GET ve SEARCH isteklerinin kullanıldığını görebiliyoruz.

RDlaKl.png


HTTP Requests sekmesinden inceleme yaparsak hangi sayfalara istek yapıldığını net olarak sayısıyla görüyoruz. Administrator, admin, admin/admin.php vb birçok sayfaya istek gönderilmiş bu da açık bir şekilde admin panel tespiti yapılmaya çalışıldığını gösteriyor.

HTTP Request sequences ayrıntılarına da bakalım.

sOw4Wf.png


Burada login.php üzerinde birçok istek yapılmış, buradan anlaşılan saldırgan bu sayfa da epey oyalanmış daha sonra da userinfo, guestbook gibi sayfalara erişim sağlanmış. Login sayfasına yönelik çeşitli brute force ataktan sonra userinfo sayfasına erişim sağlamış olabilir.

Kvmhif.png


Protokol hiyerarşi ayrıntılarına tekrar dönüp text data üzerinde filtre uygulayarak ilgili paketleri görüntülüyorum.

uE3yOM.png


Burada 200, 404, 302 response değerleri dönen birçok paket karşımıza geldi. Buradan http stream ile tüm http paketlerini birleştirip inceliyorum.

MwumbZ.png


Admin sayfasına istek yapılmış 200 ok sonucu dönmüş ve sayfa içerisinde link bağlantısı olarak create.sql adında bir dosya yer alıyor ve hemen ardından bu dosyaya bir get isteği gönderilmiş yani ilgili dosyaya tıklanmış.

KjSkTB.png


İlgili GET isteğinin response içeriği incelenirse sql dosyasının içeriğini görebiliyoruz. Yani saldırgan kardeşimiz bir sql dosyası elde etmiş.

Hemen ardından giden istek ve yanıtları inceleyelim.

iFJbGv.png


ZfX8oD.png


Buradan hareketle anlayacağımız saldırgan çeşitli denemeler yapmış sonuç olarak 404 yani herhangi bir sayfa dönmemiş. Protokol hiyerarşisinde de 404 içeren birçok yanıt görmüştük bunların aslında bir admin panel bulmaya yönelik istekler olduğunu anlayabiliriz.

lENdP5.png


Saldırgan login.php sayfasına istek göndermiş ve 200 ok yanıtını almış yani aslında login sayfasını bulmuş. Buradan sonra saldırgan yüksek ihtimalle login forma kaba kuvvet denemesi yapmış olmalı.

fqzoYb.png


Buradan gördüğümüz gibi post data içerisinde uname ve pass post parametrelerine admin-admin şeklinde deneme yapılmış ve 302 found sonucu dönmüş. Buradan anlayacağımız üzere tahminiz tutuyor yani bir kaba kuvvet denemesi var. Post verilerinin userinfo.php de işlendiğini anladığımıza göre userinfo sayfasına yapılan istekleri filtreleyebiliriz.

pernJe.png


JCIcXL.png


İlk post isteğinin içeriğini görüntülediğimde html form içerisinde post datalarının içeriklerini görüyorum admin admin denemesi yapılmış. Zaten protokol hiyerarşisinde bunu görmüştük.

Wx5tRU.png


Sırasıyla post isteklerinin bu şekilde kaba kuvvet içerdiğini görüyoruz.

9qBMu7.png


İşaretlenen pakette ise giden bilgiler bu şekilde gözüküyor.

TPFZHq.png


Buradan sonra ise bir post isteği daha ve ardından get isteği yapılmış.

B6aZsV.png


Bir sonraki post isteğinde ise farklı parametreler değerler girildiğini görüyoruz yani farklı bir form var. Buradan saldırgan test test bilgilerini girerek panele erişmiş ve farklı bir forma değerler göndermiş.

HmatBW.png


Zaten cookie değerleri içerisinde de test-test verilerinin olduğunu görüyoruz saldırgan bu bilgilerle giriş yaptıktan sonra cookie oluşturulmuş.

YgWV6h.png


POST filtresi yaptığımız zaman comment.php de giden datalara bakalım.

RYd9Vp.png


Kullanıcı burada comment.php sayfasında mesajını bırakmış.

8wcgh8.png


Search sayfasında xss denemesi yapmış. Yani kısacası saldırgan sırasıyla admin panel tespit etmiş, kaba kuvvet saldırısı yapmış ve içeride çeşitli mesajlar bırakmış. Ayrıca http-objects diyerek şu admin sayfasında bulunan create.sql dosyasını da dışarıya aktaralım. Saldırgan bu sql dosyasına erişmişti.

mCISi0.png


tTDF4c.png




Bu konumunda burda sonuna gelmiş bulunmaktayım.

Bugs Bunny iyi günler diler.

oKEKz1.gif
 
Moderatör tarafında düzenlendi:

'Ranger

Blue Team Direktörü
13 Eki 2020
314
468
Cevap: Siber Saldırı Trafik Analizleri - Blue Team

Sevgili Türk Hack Team üyeleri İyi Formlar
Sunucumuza yönelik atılan Shellleri hem ağ tabanlı hem de lokal olarak nasıl tespit edeceğimizi inceleyelim.


Web Shell Ağ Tabanlı Tespit

Protokol hiyerarşisine bakarsak genel olarak tcp ve http protokolleri üzerinde işlem yapılmış. Aynı zamanda HTTP de MIME type üzerinden işlemler yapıldığını görüyoruz. Aşağıdaki gibi bir filtre ile ilgili paketi görebiliriz.

HUeRJn.jpg


statistics-http-packet counter sekmesine gelelim ve http üzerinde yapılan istekleri, dönen yanıtları buradan istatistik olarak görebiliyoruz.

HUexpI.jpg


Örneğin 106 tane GET isteği yapılmış. Yapılan http isteklerinden 3 tanesi 200 döndürmüş yani başarılı istekler gerçekleşmiş. Genel olarak 401 yani yetkisiz erişim cevapları dönmüş. Yine yapılan http requestleri statistics-http-requets sekmesinden görebiliriz.

HUeLks.jpg


Bu şekilde get isteklerini görüyorum.
Yapılan get isteklerini incelemek istersek arama çubuğuna alttaki filtreyi yazmamız yeterli.
* http.request.method==”GET”


HUecxR.jpg


Buradan herhangi bir pakete sağ tıklayıp follow – tcp stream diyerek tcp paketlerini birleştiriyorum.

HUehZN.jpg


401 dönen yanıt görüyorum ki zaten 100 den fazla get isteğinin hep erişim kısıtlamasına düştüğünü görmüştüm.

Bu tip upload sayfalarında uzantı kontrolü yapılmamaktadır. Sistem kontrolu content type değerini kontrol etmektedir. Burp Suite gibi araçlar ile de bu mekanizma kolaylıkla atlatılmaktadır . ( http contains “png” ) diyerek filtre ettiğimizde shell dosyasının ağdaki izine rastlamamız muhtemeldir.
Örnek:


HUeGk0.jpg


Bu tip shell yükleme saldırıları, upload sayfaları üzerindeki dosya kontrollerinin mime typelere göre yapılmasından kaynaklanıyor. Halbuki yüklediği php dosyasıdır, ancak yazılımda uzantısına değil content type değerine göre kontrol olduğundan atlatılır. Php dosyası yüklenirken content type değerini png olarak değiştirerek ilgili dosya kontrolü atlatılmış olur.

HUeqDy.jpg


Paketlerin başında psh ack bayrağının önemi bu bayraklı paketlerin içinde data taşıdığını belirtmektedir. Http Psh ack bayraklı paketleri görüntülemek için
* http contains “\x50\x18”


HUeFKU.jpg



Psh ack paketine ait http streamine çıkan sonucu online editöre yapıştırarak shell in görüntüsünü yakalamaya çalışalım


HUe08S.jpg


Web Shell Tespiti Local

Günümüz APT gruplarının saldırılarını analizlerini incelediğimizde DMZ yani Savunmasız Bölge olarak çevirisi olan Ağımızın dışarıya açık olan kısmından yapılan saldırılardır genellikle Sosyal Mühendislik Uygulamaları ile gerçekleştrilmektedir. Saldırgan Local File Inclusion, Remote File Inclusion veya Unrestricted File Upload güvenlik açıklarını kullanarak sistem içerisine yani DMZ alanına düşecektir. Sisteme düşebilmek için ise “Web Shell” dediğimiz kod dosyasını sistem üzerine yükler veya uzaktan çağırır. Sonra yüklediği kod dosyasını çağırarak sistem üzerinde shell dediğimiz komut ekranını elde eder.

Bir çok web shell kodu vardır Genel olarak PHP, Perl, Python, ASP/ASPX vb programlama dilleri kullanılarak yazılabilir saldırılacak siteye özel . Local, Remote, Root vb. çeşitleri bulunmaktadır. Tabi ki APT grubu kendine özel obfuscate edilmiş web shell yazabilir. Bunları tespit etmek haliyle daha zor olmaktadır.



İnternette görülen shellerin hepsi güvenirlikli değildir shelller de arka kapılar oluşturularak yazarında sizin sayesinde otomatik sızmasına yardımcı olmuşta olabilirsiniz kaynak kodları incelenerek herhangi bir bağlantı isteğinin olup olmadığı incelenmesi gerekmektedir. ( Shell ile sızmak isteyenler için )​
Saldırgan Shell i attıktan sonra iç ağa sızmak isteyecektir diğer sitelere de bulaşmak için veya kritik bilgilere ulaşmak için bu yolu izleyecektir.

Şimdi ise size popiler olan shell tespit araçlarını tanıtacağım düzenli olarak ara ara yapmanızı tavsiye ederim. Ancak temiz çıkmasına pek güvenmeyin saldırganlar bu durumu bildikleri için buna karşı önlemler almaktadırlar. Bu yüzden manual taramayı da göstereceğim ancak otomatize araçları da kullanmayın demiyorum işinizi kolaylaştırmada yardımcı olmaktadır.

Shell tespit edersek eğer yüklenme tarihine bakıp iç ağımızı kontrol etmemiz gerekmektedir herhangi bir yetki yükseltme durumda müdehale etmemiz gerekmektedir. Ancak bu taramalarımızı düzenli olarak yaparak iç ağımıza sızmadan müdehale etme şansımız olacaktır.

Neopi

Link:
https://github.com/Neohapsis/NeoPI
Araca taramak istediğiniz dizini -A ve -a parametreleri ile verdiğinizde tarama işlemi başlayacaktır. Tarama işlemi bittiğinde tespit ettiği web shelleri size listeler.


HXNwUp.jpg


Backdoorman


Bu araç sadece Linux cihazlarda çalışmaktadır. Virustotal vb. apileri kullanarak web shell tespit etmeye çalışmaktadır.

Link:
https://github.com/cys3c/BackdoorMan

Aşağıdaki ekran görüntüsünde gördüğünüz gibi komutu verdiğinizde web shell tespit işlemi başlayacaktır. ( Sadece PHP dosyalarını tespit etmektedir )


HXOIsb.png

Webshell Detector

Bu araç BackdoorMan aracına oranla daha fazla web shell tespit edebilmektedir. Sadece PHP dosyaları değil perl,aspx gibi web shell dosyalarınıda tespit edebilmektedir.

Link:
https://github.com/emposha/Shell-Detector


HXXbsS.png


Manual Tarama

Manual taramanın önemi özellikle .txt .jpg .png uzantılı taramalarında kolaylıkla gerçekleştirmemize olanak sağlamaktadır. Otomatize araçlarda sadece belli bir formatta tarama yapıyorduk buda savunma kısmında kritik bir durum.

Linux sistemlerde terminale aşağıdaki komutu girerseniz son 24 saat içerisinde web sunucu üzerinde değiştirilen veya yeni yüklenen “PHP” uzantılı dosyaları listeler. ( " -mtime -1 " kısmını kaldırarak hepsini görüntüleyebilirsiniz. )

find . -type f -name '*.php' -mtime -1

Aynı komutu perl, python, aspx, asp, txt, jpg vb. uzantılar içinde uygulayabilirsiniz.

HXsxLo.png


Şüpheli Kod Tespiti

Dosyalar içinde php’de kullanımı şüpheli olan kodlar olabilir. Wordpress ya da durupal gibi hazır sistemler kullandığınızda sizi yanıltıcak sonuçlar çıkartabilir.

find . -type f -name '*.php' | xargs egrep -i "(fsockopen|pfsockopen|stream\_socket\_client|exec|system|passthru|eval|base64_decode) *\("

  • fsockopen: DDos için kullanılabilir, uzak soket açmaya yarar.
  • pfsockopen: uzak soket açar fsockopen ile aynıdır.
  • ecex, system ve passthru: sunucularda komut çalıştırmaya yarar.
  • stream_socket_client: Uzak bağlantı oluşturma.
  • Kodu base64 ile şifreleyerek tespit işlemini zorlaştırmak isteyebilirler. Shell’in bir yerlerinde içerisinde “base64” geçen fonksiyonların kullanılmış olabilir.

find . -type f -name '*.php' -mtime -1 | xargs grep -l "fsock"

find . -type f -name '*.php' -mtime -1 | xargs grep -l "shell"

find . -type f -name '*.php' -mtime -1 | xargs grep -l "base64"

Bu şekilde de tek tek yapmak mümkün

HXBnAQ.png


Burada aklınızda bulunması gereken en önemli şey shell dosyalarının sadece PHP olarak atılmadığı için. Saldırganlar shell dosyalarını resim formatları veya TXT formatlarında da yükleyebilmektedirler. O yüzden yukarıdaki komutları resim formatlarına ve TXT formatına görede çalıştırmalıdır.

Peki yukarıda anlatılan komutları Windows üzerinde yapamaz mıyız? Tabi ki yaparız onun içinde Powershell ihtiyacımız var.

Get-ChildItem -recurse -include "*.php" |select-string "(fsock|shell|exec)"|%{"$_.file-name):$($_.line)"}|out-gridview

Yukarı da ki komut ile içerisinde “fsock, shell, exec” kelimeleri geçen dosyaları tespit ettim. Bu anahtar kelimeler dediğim gibi arttırılabilir.


İyi Formlar Başarılar Dilerim...​

bcXJB1.gif
 

Ghost Killer

Harici Saldırı Timleri Koordinatörü
13 Ocak 2019
11,318
7,706
Cevap: Siber Saldırı Trafik Analizleri - Blue Team

elinize emeğinize sağlık.
 

Feqtico

Junior Hunter
24 Haz 2020
639
171
Cevap: Siber Saldırı Trafik Analizleri - Blue Team

Elinize emeğinize sağlık, ciddi emek var. Hepinizi tebrik ediyorum bu güzel konu için teşekkür ederiz :)
 

Heartdarq

Katılımcı Üye
28 Kas 2020
429
1
Cevap: Siber Saldırı Trafik Analizleri - Blue Team

elinize emeğinize sağlık :)
 

RageUnseen

Adanmış Üye
29 Ağu 2015
6,882
240
İstanbul
Cevap: Siber Saldırı Trafik Analizleri - Blue Team

Uzun zamandır daha kaliteli bir konu görmemiştim, merakım da olan bir konuydu. Ellerinize sağlık her birinizin.
 

AXPA

Kıdemli Üye
13 Ocak 2018
2,343
150
New World
Cevap: Siber Saldırı Trafik Analizleri - Blue Team

Konu anlatımı Süper... Kaynaklar Süper... Tebrikler...

Sisteme gelen saldırıları nasıl analiz edeceğimizi ve göze çarpan sonuçları nasıl değerlendireceğimizi anlatan ayrıca saldırı atalarını özetle sıralayan güzel bir konu.

Saygılar,
 

'Ranger

Blue Team Direktörü
13 Eki 2020
314
468
Cevap: Siber Saldırı Trafik Analizleri - Blue Team

Ellerinize sağlık .

elinize emeğinize sağlık.

Elinize emeğinize sağlık, ciddi emek var. Hepinizi tebrik ediyorum bu güzel konu için teşekkür ederiz :)

elinize emeğinize sağlık :)

Elinize ve emeğinize sağlık.


elinize emeğinize sağlık :)

Elinize ve emeğinize sağlık.


Ellerinize sağlık, çok güzel konu olmuş.

Uzun zamandır daha kaliteli bir konu görmemiştim, merakım da olan bir konuydu. Ellerinize sağlık her birinizin.

Konu anlatımı Süper... Kaynaklar Süper... Tebrikler...

Sisteme gelen saldırıları nasıl analiz edeceğimizi ve göze çarpan sonuçları nasıl değerlendireceğimizi anlatan ayrıca saldırı atalarını özetle sıralayan güzel bir konu.

Saygılar,

Değerli Yorumlarınız ve Destekleriniz için Teşekkür Ederiz...
 
Son düzenleme:

Xainn

Katılımcı Üye
8 Ara 2018
357
56
Ellerinize sağlık hocam. Başarılarınızın devamını dilerim. :)
 

GECEGEZEN

Saldırı Timleri Danışmanı
13 Şub 2016
2,518
1,343
Tek kelime ile harikasınız.
Elinize kolunuza sağlık çok yararlı.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.