Table of Contents
Saldırı Yüzeyi Nedir?
Saldırı yüzeyi, bir şirketin, sistemin veya kritik bir alt yapının, saldırganlara açık olan tüm alanıdır. Sistemlerin dijital izleri, dijital varlıkları, kullandıkları teknolojiler, versiyonlar gizli anahtarlar ve uygulama yolları saldırı yüzeyi ve risklerini artırır. Bu dijital varlıklar ve izler ne kadar çoksa tehdit faktörü de bir o kadar çoktur.
Hackerlar Nasıl Yol İzlerler?
Saldırganlar sistemleri ele geçirmek için saldırı yüzeyine odaklanır. Sistemler hakkında edinebileceği her bil bilgi, hackerlar için değerlidir. Aşağıdaki çizimde, basit olarak güncel olmayan bir web sunucusunda açığa çıkan bilgiden dolayı saldırganlar sistemleri nasıl ele geçirebileceğini anlatır.
Basit Senaryo 1
Aşağıdaki örnekte zafiyetli olan onlarca PHP 5.3.6 versiyonu bulunmaktadır.
Açığa çıkan tüm bilgileri değerlendiren saldırganlar, sofistike saldırılar yapmak için sistem ile ilişkili küçük açık kapıları kullanır. Encryption, Ransomware, Phishing kategorilerindeki saldırılar da aslında saldırı yüzeyindeki açığa çıkan verilerden kaynaklanır.
Ayrıca Mitre Attack’da gerçek Dünya’da görülen tüm saldırı metodolojilerine ve tekniklerine bakabilirsiniz (https://attack.mitre.org/matrices/enterprise/).
Javascript’in gücü ile kompleks bir saldırı
Coinhive gibi browser tabanlı mining javascript frameworkleri hackerların iştahlarını kabartmaktadır. 2018 yılında görülen bir saldırı örneği ile saldırganlar bir reklam servisinin sistemlerini ele geçirerek kötü niyetli Javascript kodunu Youtube’da üzerinde bile çalıştırmayı başarmışlardır. Youtube’a girip video izlemek isteyen kişilerin tarayıcıları üzerinden belirli bir süre mining yapıldığı tespit edilmiştir.
Büyük Veri ve OSINT
CommonCrawl ile PT büyüklüğünde veri setleri ile saldırganlar buralardan arama yaparak, hedefe yönelik toplu bilgiler ele geçirebilir.
Parsing 10TB of Metadata, 26M Domain Names and 1.4M SSL Certs for $10 on AWS
Yukarıdaki blogda 26 Milyon alan adı, 1.4 milyon SSL ve metadata analizi yapılmıştır. Saldırganlar geçmişe yönelik bilgi ifşalarından yola çıkarak hedef sistemleri, rastgele hedefleri ele geçirebilir veya phishing hazırlığı için bilgiler toplayabilir. (Mitre Attack T1598: https://attack.mitre.org/techniques/T1598/)
İnternet Cihazları ve Servis Arama Motorları
Arama motorları ilk başta web sitelerinin içeriklerini indexleme ile başladı, daha sonra resimler, videolar ve dosya uzantıları şeklinde evrildi.
Bugünün arama motorları ise IoT, ve internet cihazları, DNS verisi depolama ve alt yapıları arama motorları şeklinde görülmektedir.
Bu arama motorlarından rastgele aramalar yaparak yüzlerce zafiyetli, eksik yapılandırılmış ve yetkisiz erişimli cihazların IP adreslerine ulaşabilirsiniz. Fakat burada en önemli şey, şirketinizin veya kurumunuzun bağlı olduğu alan adının ve o alan adına bağlı alt alan adlarının durumları ve bilgileri. Örneği tesla.com alan adına ait tüm verilere bu gibi arama motorlarından kısıtlı bir şekilde ulaşılabilir. Yani DNS verisi ile Servis verilerini birleştiren çok az sayıda arama motorları var.
Shodan
Censys SSL Search
ZoomEye SSL Search
BinaryEdge SSL Search
SwordEye
SwordEye’ın tesla.com sonucunda, Tesla’ya ait bir sub-domainin açık portunu ve kullanılan servisi çıkarttığını göreceksiniz. Diğer arama motorlarından tesla.com yazarak, DNS servisinde aktif olan bir A kaydında bulunan açık portunu bilgilerine erişmek çok zaman alır. SwordEye DNS ve IP-Port verilerini eşleştirerek saniyeler içerisinde bir alan adına bağlı tüm bilgileri sizlere gösterir.
Saldırı yüzeyini düşürmek için bunun gibi arama motorlarından verilerinizi, SSL bilgilerinizi ve servis ifşalarınızı kaldırabilirsiniz ayrıca arama motorlarının sunucularınızda tarama yapmaması için bazı güvenlik önlemleri alabilirsiniz. (IP Engelleme gibi)
Arama motorlarının IPv4 ve RDNS Bilgileri. Aşağıdaki örnekte BinaryEdge’in IP adreslerini engelleyebilir veya belirli bir düzen şeklinde uygulanan tüm sunucunuza istek gelen IP’lerin RDNS’lerine bakılarak engellemeler yapabilirsiniz.
BinaryEdge IPv4 Adresleri (*.binaryedge.ninja)
Censys IPv4 Adresleri (RDNS: *.censys-scanner.com)
Gereksiz Servis Bilgileri
İnternete açık tüm dijital varlıkların bilgileri, versiyon numaralar, seri numaraları, üreticileri gibi bazı önemli bilgiler, saldırganlar tarafından zafiyetlerin kolay tespiti ve sömürmek için kullanılabilir.
Sistem bilgilerini ifşa etmek, saldırganların sistemleriniz ve kullandığınız teknolojiler hakkında bilgi edinmesine ve bir saldırı planı oluşturmasına yardımcı olur. Kullanıcılarınızın bilmesi için gerekli olanın ötesinde, teknoloji ve mimarileriniz hakkında olabildiğince az açıklama ve bilgi ifşası yapmaya çalışın.
Default portlarda çalışan servisler, saldırganların ilk odağı olacak. Çıkan her bilgiyi ve servis isimlerini değerlendirerek zafiyet bulmaya, servislere özel saldırı senaryoları hazırlamaya bakacaklar. Örneğin, 22 SSH portunda OpenSSH 3.9p1 ‘e ait servisine ait aktif bulunan Exploit’ler saldırganlar için çok basit bir girişim olacak. Tabi ki servisleriniz de HoneyPot yoksa. Eğer saldırgan gerçekten emin olmak isterse HoneyPot detection tekniklerini kullanacak. Servis isimlerini / versiyonlarını değiştirmek ve saldırganları aldatmak bir konuda risklerinizi düşürmeye yardım ediyor olsa da port numaralarını default olarak kullanmamak ve aynı zamanda servis isimlerinizi tamamen kaldırmanız saldırı riskinizi daha da düşürecektir.
IANA’ya ait default port ve servis isimlerini buradan görebilir, dışarıya açık olan servislerinizin portlarını kontrol edebilir ve farklı default olarak tanımlanmayan port numaraları ile değiştirebilirsiniz.
IANA Default Port Number List:
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
DNS Verisi
Saldırganların kullandıkları en prestijli saldırı tiplerinden biri DNS servisine yöneliktir. DNS Hijacking gibi önemli saldırılar, sistemleri ve Network’leri gerçekten çok zor duruma düşürür.
İnternet’e açık alan adınızın ve FQDN’lerinizin DNS bilgilerini CloudFlare gibi DNS tabanlı güvenlik duvarları ile koruyabilirsiniz. Fakat CloudFlare arkasına sakladığınız gerçek IP’lerin sızdırılmamış olması gereklidir. Yani internet arama motorlarınca, SSL bilgileriniz, Direct IP Restriction gibi önlemler almanız gereklidir. Yine de bazı saldırganlar CloudFlare arkasındaki gerçek IP bilgilerini sızdırabilir bulabilir.(https://www.hackread.com/cloudflare-data-leak-expose-ip-addresses-ukraine/)
Ayrıca aşağıda belli başlı DNS Saldırı tiplerinin başlıkları vardır;
- DNS DDoS Amplification
- DNS Hijacking
- DNS Tunneling
- DNS spoofing
- Man-in-the-middle with DNS
- NXDOMAIN attack
Bu saldırı tipleri hariç basit olarak DNS sisteminizi ve buna bağlı çalışan uygulamalarınızı korumak için yapacağınız şeyler var.
Mesela CloudFlare gibi bir sistem kullanıyorsanız ve ASN bilgilerinizdeki WhoIs’ler saldırganlar için dikkat çekecektir ve CF arkasında bulunan sunucu IP’leriniz deşifre edilebilir.
Whois Bilgileri
Bir alan adı aldığınız zaman kayıt kuruluşlarına vermeniz gereken bazı önemli bilgiler vardır. Saldırganlar bu önemli bilgiler içerisinde kuruluşunuz ile ilgili kritik bilgileri toplayabilir ve saldırı öncesi için kullanabilir. (https://attack.mitre.org/techniques/T1596/002/)
Alan adı kayıt ederken admin, tech gibi ilgili kişilerin veya personellerin özel isimlerini yazmamalısınız. İşten ayrıldığı zaman veya hala o şirkette çalışsa bile, bilgi toplama teknikleri ile saldırganlar Phishing veya Sosyal Mühendislik gibi saldırıları ilgili kişilere düzenleyebilir.
Yine ilk kayıt esnasında veya geçmiş Whois bilgilerinde görülen, kendi DNS sunucularınızı kullanmamanız tavsiye edilir. Hem ek maliyet, hem güvenlik için ekstradan risk faktörü oluşturur.
BIND gibi bir açık-kaynaklı bir DNS servisi + Kurulum maliyeti + ISP Bandwith Problemi + 1 Network Personeli = Maliyet + Risk
Bunun yerine CloudFlare veya AWSDNS gibi teknolojiler kullanılabilir.
SSL/TLS
SSL/TLS zafiyetleri son zamanlarda en çok görülen sistemlerden / servislerden biridir.
Ayrıca SSL/TLS’de tehdit avcılığı için kullanılan bir çok teknik vardır. Bunlardan biri SSL Transparency Logs’dır. Her aktif SSL için dağıtıcılar bu logları basarlar ve tehdit avcıları buraları takip edebilirler.
Yukarıdaki örnekte daha önceden alan adına bir SSL aktif edildiğini, Common Name ve Matching Identities alanında farklı FQDN’leri görebiliyorsunuz. X509v3 Subject Alternative Name (https://crt.sh/?id=4501814911) alanında o sertifikayı kullanan ve görülen diğer FQDN’leri görebilirsiniz.
Ayrıca SSL/TLS bitiş sürelerini kontrol etmeyi büyük ölçekli kuruluşlar bile unutmaktadır. Bu yüzden çok kritik hatalar ve zafiyetler çıkabilir. Daha önceden yazdığımız “Microsoft SSL Yenilemeyi Unuttu Mu?” blogumuzu buradan okuyabilirsiniz.
Yine IP adresiniz direk girişler için aktif ve HTTPS Web servisi bulunuyorsa, sertifika Comman Name’iniz görülecek ve arama motorları tarafından indexlenecektir.
IP ile giriş izinleri verilmeyerek SSL Common Name’nizin sunucu / web servis Ip adresiniz görülmesi engellenebilir.
Apache ‘de Direk IP’den Girişleri Engelleme
(https://serverfault.com/questions/607137/restrict-direct-ip-access-to-website)
IIS ‘de Direk IP’den Girişleri Engelleme
Web Teknolojileri & Başlıkları
Web sunucularında çalışan her uygulama, URL, Javascript, Cookie bilgileri saldırganlar için önemli veri toplama yerleridir. Açığa çıkan her bilgi, saldırganları bir adım öne taşır.
Aşağıdaki bazı örnekler ile hangi bilgilerden saldırganlar nasıl sistemleri hackleyebilir bunları değerlendireceğiz.
Javascript İfşaları:
Nuclei Template’lerini kullanarak bir sitedeki Javascript keylerini tokenlerını görebilir, buradan saldırganlar önemli bilgileri toplayabilir.
➜ $ nuclei -l domains.csv -t exposed-panels -t dns -t exposures -t miscellaneous -t misconfiguration -silent
[generic-tokens] [http] [info] https://conf.example.com [token="c4iEGYaCPKbcg,PasswordConfirmation=true,password_link":null,PasswordForPublicLink":false,PasswordByDefault":false,PasswordProtection":false,Password":false]
Tüm javascriptleri obfuscation teknikleri ile karıştırabilir ve sıkıştırabilirsiniz. Ayrıca önemli keylerinizi buralarda tutmamalısınız.
Yine tüm alan adlarınıza bağlı çalışan web servislerinizi düzenli olarak kontrol edebilir, Javascript değişikliklerinde uyarı alabilen open-source sistemler kullanabilirsiniz. (CoinHive ve JS Malware gibi tehditlere karşı)
Eski Ama Güçlü: Basic Auth
Web uygulamalarınızı mutlaka Basic Auth ile korumalısınız. Bilgi ifşasına ve klasik saldırılara karşı sizleri son derece koruma altına alacaktır.
Basic Auth kurmazsanız, saldırganlar tahmin edilebilir alan adlarınıza erişerek web teknolojileri ve sistemleri hakkında bilgiler alabilir.
Meta Meta Meta
Web sitelere yüklenen her bir dosya türünün meta verileri değiştirilmesi gereklidir. Örneğin bir kurumun sitesinden alınan PDF ‘in metada analizi yapılarak, kullandığı teknoloji, PDF’i oluşturan kişinin isim-soyisim bilgileri ve tahminen kurum için kullanılan sicil numarasına ulaşılmıştır.
Çerezler
Saldırganlar çerez bilgilerinde çıkacak ifşaları da kullanmaktadır. Yukarıdaki örnekte go.jetbrains.com adresinde Cookie bilgisinde BIGipServerPOOL ifşası bulunmaktadır. Bu örnekte, CloudFlare kullansalar dahil, backend servis IP’si port bilgileri gibi kritik bilgiler ifşa olabilir.
Ayrıca çerez bilgilerini sürekli izleyerek tarihsel olarak depolayan çok fazla sayıda teknoloji ve hizmet var (SwordEye, RiskIQ, ZoomEye, DigitalPoint vb.) Kullandığınız teknolojilerin versiyonları ve isimlerinin ifşası için çerez isimlerinizi custom, random veya şifreli isimler kullanabilirsiniz.
Örnek;
Saldırı Yüzeyini Düşürün
SwordEye Saldırı Yüzey İzleme ile 7/24 sistemlerinizde oluşan risk tehditlerini izleyebilir, çözüm önerileri ile beraber çıkan hataları gizleyebilirsiniz.
SSL/TLS, Web Teknolojileri, Domain&Whois, DNS, Network, IP İtibarı, Yazılım Güncelleme gibi kategorilerden oluşan 38 siber güvenlik risk kriterlerini internete açık tüm dijital varlıklarınız için izleme yapabilirsiniz.
SOC birimlerinde müşterilerinizin varlıklarınızı izlemede, Sızma Testi & Red-Team hizmetlerinde ve alt şirketlerinizin / tedarik zincilerinizin tüm sistemlerini 0 kurulum ile risk puanlarınızı öğrenmek için kullanabilirsiniz.