SOC Toolkit v3.0 : BugHunter’dan Incident Response Tavsiyeleri

Alican Kiraz
3 min readApr 2, 2020

Selamlar, değerli meslektaşlarım ve ileride meslektaşım olacak kardeşlerim. Bu makalemde sektöre ilk adım attığım Bug Hunter ünvanım ile son yıllarımda kariyerimi şekillendiren Blue Team Member olarak Web Incident’larını nasıl ele alabileceğimize değineceğim. Öncesinde belki göz attığınız Web olaylarını ele alan MindMap’imi incelemenizi tavsiye ederim;

Bu Mindmap’imi açıklayarak Sizlerle Web alanındaki bilgilerimi paylaşıyor olacağım. Bu Mindmap’imin geliştirilmesinde bana değerli feedback’lerini katan Okan Hazırcı, Emrah Savaş, Ömer Sefa Umay, Caner Ertem, Taylan Barışık, Caner Hamze Canbaz, Hilal Ateş, Halis Baş, Esra Nur Soylu, Burak Özdörtdivanlı, Semra Durna, Onur Can’a sonsuz teşekkürlerimi sunarım. Adımlarımızı şimdi sıralıyor olalım;

  1. SIEM’de Query’i kontrol etme

Ilk adımda Siem’de varsayın Cloumn’lara yansıyan ve anlam veremediğiniz yada Query’de Note kısmına yansıyan değişkeni decode etmeniz gerekmekte, bu değer genelde hedeflenen ana saldırı vektörünü içerebilir. Bunu decode edip ilerleyen aşamalarda araştırmanıza dahil etmelisiniz.

2. Hedeflenen Path’in Analizi

Bu adımda önemli olan incelenen Query’de hedeflenen birimin bir değişken (parametre) “?alican” veya bir dizin mi olduğu “..\alican\…” olduğu kanısına varılmasıdır. Bu adımda hedeflenin bir parametre olması bizi XSS, SQLi veya parametre bazlı hedeflenen bir web atağına götürebileceğidir. Path bazlı denemelerde alarm ya hedef dışı yada path bazlı alarm kaynaklı olacaktır.

Via: https://portswigger.net/web

3. Result Code Kontrolü

Hedeflenen Request’in Sunucu taraflı dönen responce’u incelenip dönen yanıt ele alınmalıdır. Bu yanıtlardan;

  • 2xx
  • 3xx

Türevleri bizim için saldırı adımlarının devam niteleği taşıdığı ve incident incelemesinin devam ettiği anlamına gelmektedir.

Via: https://www.steveschoger.com/status-code-poster/

4. HTTP Request Type Check

Ilerleyen adımlarda hedeflenen ilk request’in ardından süre gelen HTTP Request tiplerinin incelemesi sağlanmalı ve Post, Options, Delete ve benzeri sorun teşkil edebilecek request’lerin takibi sağlanmalıdır.

Via: https://www.computing.dcu.ie/~humphrys/Notes/Networks/tanenbaum/7-41.jpg

Ve yine aynı şekilde GET metodu ile aktarım olsada hassas bilgi vea unique hash bilgisi paylaşımları kontrol edilip, olası hash değer paylasımları yazılım ekibine bildirilmelidir.

Örneğin: “ …./?auth=123123321…”

5. Decode edilen ifade Analizi

ilgili URL’de geçen ifadeleri decode ettiğinizde < , > ,” , “ , (, ), gibi ifadeler ve JS’in temel komut ifadeleri script, onload benzeri ifadeler veya yarım ifadeciklere “ ononloadload” benzeri ifadelere rastlıyorsanız yüzleştiğiniz saldırının XSS olma ihtimali oldukça yüksektir. Burda özellikle Stored ce Reflected olmak üzere XSS türevlerine odaklanmalısınız. Ilgili hedeflenen bölge “ ?search=…” gibi parametrelerse Reflected XSS olma olasılığı fazla olduğu gibi “?form=..” benzeri ifadelerle form doldurma niteliği taşıyan stored nitelik oluşturabilecek yapıda ise Stored XSS’i göz ardı etmemelisiniz.

Via: imperva.com

Query’de SELECT, ONION, veya çeşitli eşitlik niteliği taşıyabilecek tanımlamalar “ ‘1=1’=1'’ “ gibi ifadeler içeriyorsa SQLi olma ihtimali kuvvetlenecektir. Komplike SQLi ve XSS veya Command Injection ifadeleri içeren Query’lere rastlıyorsanız SQLMap benzeri tool tarafından komplike bir saldırı denemesi olduğunu varsayabilirsiniz.

Atak vektörunde “ ../../../ “ benzeri dizin tabirleri yer alıyorsa Path Traversal yada LFI erişimi denemesi olduğunu varsayabilirsiniz. Bu durumda Query ve path’den yola çıkarak kendinizde Web browser’ınızdan deneme yaparak teyit edebilirsiniz.

6. Temel SQLi’de hedef yönetim ve giriş panelleridir, gelişmiş attack vektörlerinde hedeflenen search yeteneğine sahip parametrelerdir. “ ?as=123..” bu parametrelere yapılan denemelerde SQL sorgulamada sanatizasyon yapılmadıysa backend’de etki bulacak ve bypass edecektir. Burda önemli olan Result Code’un önemsiz oluşudur. 500 veya 400 serisinde dönüşler Blind SQLi’de ve Error Based SQL’de kullanılabilecek Responce’lar olduğundan göz ardı edilmemelidir. Ve yine aynı şekilde Time Based, Error Based SQLi denemeleride göz ardı edilmemelidir.

--

--

Alican Kiraz
Alican Kiraz

Written by Alican Kiraz

Head of Cyber Defense Center @Trendyol | CSIE | CSAE | CCISO | CASP+ | OSCP | eCIR | CPENT | eWPTXv2 | eCDFP | eCTHPv2 | OSWP | CEH Master | Pentest+ | CySA+

Responses (1)