Tarafımızca verilen Siber Güvenlik Eğitiminde 4. Haftadan itibaren Dos, DDoS, Dork, SQLMap, Nikto, Nmap nedir konularına eğilim gösterilmekte. Bu eğitimin amacı genel olarak Linux araçlarının kullanımı ve öğrenimini sağlamaktır.
Dos: Kısaca “Hizmet Engelleme Saldırısı” olarak tanımlanan bu saldırı türünde terminal üzerinden sürekli paket gönderilmesi ile gerçekleştirilmektedir.
DDoS: Bu saldırı türü ise daha çok “Dağıtılmış Hizmet Engelleme Saldırısı” olarak tanımlanmaktadır. Dos saldırısı tek kullanıcı ile yapılırken DDoS saldırısı birçok kullanıcı tarafından yapılmaktadır ve iki saldırı türünün arasındaki en büyük fark budur.
Dork: Siber Saldırı türü değildir daha çok arama motorları üzerinden yapılan filtreleme işlemidir. Arama motoru üzerinden yapacağımız aramaları doğru bir şekilde sonuç almak için kullandığımız belirli filtre kodları sayesinde uygun hale getirilmesi ile meydana gelir.
Dork içerikli aramalara örnek olarak;
S.No. |
Dork |
Açıklama |
Örnek |
1 |
intitle: |
Bir internet sayfasının başlığında bulunan kelime ya da cümle. |
intitle:”Başlık” |
2 |
allintext: |
Bir internet sayfasının içerisinde bulunan kelime ya da kelime öbekleri. |
allintext:”Kelime” |
3 |
inurl: |
Bir internet sayfasının URL adresinde bulunan dizinleri bulmaya yarar. |
inurl:”dizin.php?id=” |
4 |
site: |
Aramayı belirli bir site ya da alan adları ile sınırlamaya yarar. |
site:e-cloud.web.tr “Açıklama” |
5 |
filetype: |
Dosya uzantısına göre belirli dosya türlerini (doc, pdf, mp3 vb.) bulmaya yarar. |
filetype:pdf “Kriptografi” |
6 |
link: |
Bir siteye veya URL'ye giden tüm bağlantıları aramaya yarar. |
link:”site.com” |
7 |
cache: |
Google'ın bir sayfanın önbelleğe alınmış kopyasını görüntülemeye yarar. |
cache:e-cloud.web.tr |
8 |
info: |
Bir sayfa hakkında özet bilgileri görüntülemeye yarar. |
info:www.e-cloud.web.tr |
SQLMap: SQL Injection saldırılarında kullanılan bu araç sayesinde içerisinde bulunan hazır Scriptler ile hızlı bir şekilde Pentest işlemleri yapılabilmekte. Windows, Linux, MacOS işletim sistemlerinde Python ortamı sayesinde kullanılan bu araç hızlı bir şekilde zafiyette testler uygulamak için kullanılır. SQLMap içerisinde çok sayıda hazır script bulundurması sebebi ile çokça kullanılan bir uygulamadır. Bu uygulama sayesinde SQL Injection saldırıları, güvenlik testleri yapılmakla birlikte uzman kişiler tarafından geliştirilmesi de sağlanmaktadır. Uygulama içerisinde bulunan Scriptler Tamper olarak sınıflandırılmakta ve geliştirilmesi mümkün kod yapıları bulunmaktadır, aynı kodları manuel bir şekilde kullanmaktansa otomatik bir şekilde kullanmak daha mantıklı olacağından bu araç kullanılmaktadır.
SQLMap sadece içerisinde birçok Script bulundurmanın ötesinde belli başlı önemli özellikleri de barındırmaktadır. Bunlara örnek olarak;
Forms Parametresi: sqlmap -u http://site.com/index.php?action=login --forms
Yukarıda yer alan parametreden sonra sqlmap, sizden formu test etmek isteyip istemediğinizi soracak ve olumlu cevap verdiğiniz takdirde POST verisini düzenlemenizi isteyecek. Test edilmesini istemediğiniz formlar için olumsuz cevap verdiğinizde bir sonraki form için aynı soruyu soracaktır.
URL Rewrite’ın Aktif Olma Durumu: sqlmap -u http://site.com/blog/makale/1*
Yukarıda yer alan parametre URI path’lerine karşı otomatik olarak herhangi bir test gerçekleştirmemesine rağmen bu path’leri manuel olarak işaretleyerek sqlmap’in test edebilmesini sağlamak mümkündür. Bu yöntem özellikle URL Rewrite özelliğinin aktif olduğu durumlarda yarar sağlamaktadır.
URL Rewrite’sız Hali İse Böyle Görünmekte: sqlmap -u http://site.com/makale.php?yazi=1
Level - Risk Parametreleri: SQLMap üzerinden yapılan işlemlerde bazen çeşitli hatalar görebilmekteyiz, bu hataların doğal olarak haklı sebepleri bulunmakta örnek olarak Level ve Risk hatası buna örnek olabilir. Level ve Risk parametresi bizlere pentest sürecinde belirli kolaylıklar sağlayan parametrelerdir. Level 1 ila 5 arasında Risk ise 1 ila 3 arasında numaralandırır. Bu numaralandırma işlemi Level’da prefix, suffix, payload çeşitlerini belirlemeye, Risk’de SQL sorgu denemelerini çeşitlendirmeye yaramaktadır.
Örnek Kullanımı: sqlmap -u "http://site.com/kullanici.php?id=test" --dbs --risk=3 --level=3
Risk ve level değerlerini artırdığınızda yapılan testlerin sayısı artar. Bu testleri hızlandırabilmek için --threads parametresini kullanırız. Bu parametreyle eş zamanlı bağlantı sayısını değiştirmemiz mümkün. Varsayılan değeri 1 iken daha fazla payload’un eş zamanlı olarak test edilmesini sağlamak için 10 değerini verebiliriz. Ek olarak --eta parametresiyle, yapılan işlemler için tahmini bitiş süresi bir progress satırı şeklinde ekrana yansıtılmaktadır.
Tamper Parametresi Kullanımı: Tamper parametresi aslında yukarıda bahsettiğimiz Scriptler bütünüdür SQLMap içerisinde kullanımı sayesinde WAF/IPS/IDS Bypass işlemlerini test etmek amacıyla kullanılır. Özel olarak da hazırlayabileceğiniz bu scriptler açık kaynak kodlara sahiptir.
Örnek Kullanımı: sqlmap -u "http://site.com/makale.php?id=test" --tamper="space2mysqlblank.py" şeklindedir. Ayrıca birden fazla tamper dosyasını kullanmak için dosya isimlerinin arasına virgül koymak yeterli.
NİKTO: Nikto aracı Perl ortamının yüklü olduğu her işletim sisteminde kullanılabilen bir web güvenlik test aracıdır. Sunucular, Web siteleri ve daha bir çok şeyi Nikto ile test edebilirsiniz. Nikto 6700’den fazla potansiyel dosya / program dahil olmak üzere birden çok öğe için web sunucularına karşı kapsamlı testler yapan, 1250’den fazla sunucunun eski sürümlerini kontrol eden ve 270’den fazla sunucudaki sürüme özgü sorunları içeren bir Açık Kaynak (GPL) web sunucusu tarayıcısıdır. İçerisinde bulundurduğu bir çok parametre sayesinde özelleştirilmiş bir tarama imkanı sunar.
Kullanılan bazı Parametreler ve Örnekleri;
-CgiDirs+: Kısa Komutu -C’dir. (Büyük C) - Bu Komut CGI Klasörünü Tarar
Kullandığı Parametreler;
none: Hiç bir cgi klasörünü taramaz.
all : Tüm cgi klasörlerini tarar.
/cgi/ : Sadece cgi veya cgi yerine yazdığımız herhangi bir klasör altında tarama yapar.
Örnek verecek olursak;
perl nikto.pl -h www.site.com -C all
perl nikto.pl -h www.site.com -C none
perl nikto.pl -h www.site.com -C /taranacakklasor
-cookie: Bulunan Cookie’leri (çerezleri) ekrana yansıtır.
Kısa Komutu -c’dir. (Küçük c)
Parametreleri Yoktur.
-evasion+: Evasion tekniklerini kullanmamıza yarar.
Örnek verecek olursak;
nikto.pl -h www.site.com -e 1
nikto.pl -h www.site.com -e 168 (1,6,8 numaralı evasion’lar aktif)
-mutate+: Kısa komutu -m’dir, Mutation tekniklerini kullanmanızı sağlar. Birden fazla mutation tekniği kullanabilirsiniz.
Örnek verecek olursak;
perl nikto.pl -h www.site.com -m 1234
-nolookup: Kısa Komutu -n’dir, Nolookup anlamında, tarama öncesi lookup yapmaz (Server’a whois çekmeden tarama yapar. Yani IP almaz, Name Server’ları kontrol etmez.
-port+: Kısa Komutu -p’dir, tarama yapılırken kullanılacak Port’u seçer. Default Port 80’dir.
Yukardaki parametreler için örnek çoklu kullanım;
nikto.pl -h www.site.com -c -e 158 -u -p 80,443
Bilgi : Komutu açıklamak gerekirse; Cookie’leri uyar, evasion 1,5,8 kullan, proxy kullan ve 80, 443 portlar üzerinden çalış.
-ssl: Kısa komutu -ssl’dir, serverda SSL desteği var ise (Secure Socket Layer (Güvenli Socket Katmanı) yani serverın SSL desteği olup olmadığını araştırır. Ayrıca “-p” parametresiyle de belirttiğimiz porta Secure Socket Layera göre (SSL) Attack yapar. (Secure Socket Layer bir çeşit Firewall olarak da sayılabilir)
Örnek verecek olursak;
perl nikto.pl -h www.site.com -ssl
NMAP: Genel olarak ağ tarama ve zafiyet tespiti için kullanılan bu araç güvenlik kameralarının tespiti, internet siteleri, sunucular ve daha birçok alan da bizlere hizmet vermektedir. Nmap, yüz binlerce cihazı ve alt ağı kapsayan geniş ağların yanı sıra tek ana bilgisayarı izlemek için kullanılabilir. Nmap’i başlatmak için terminale nmap yazmanız yeterlidir (Linux tabanlı ortamlarda yönetici ayrıcalığı ile çalıştırmanız gerekmektedir. Örn: “sudo nmap”)
nmap X.X.X.X |
Sadece tek bir IP adresi için tarama yapar. |
nmap X.X.X.X-20 |
x ve 20 dahil olmak üzere arasında ki IP'leri tarar |
nmap x.x.x.0/24 |
256 adet IP tarar |
nmap e-cloud.web.tr |
Alan adı taraması yapar |
nmap -sP x.x.x.0/24 |
Ping ile tarama |
nmap - -PS x.x.x.0/24 |
TCP-Syn ile tarama |
nmap - -PA x.x.x.0/24 |
TCP-ACK ile tarama |
nmap - -PE x.x.x.0/24 |
ICMP Echo Reguest ile tarama |
nmap - -PU x.x.x.0/24 |
UDP ping ile tarama |
nmap - PR x.x.x.0/24 |
ARP ping ile tarama |
nmap -traceroute X.X.X. 0/24 |
Paketin yol analizini yapar |
nmap - -R x.x.x.0/24 |
IP adreslerinden hostname kesfi gerçekleştirir |
nmap - -system-dns X.X.X. 0/24 |
İşletim sistemindeki DNS serverleri kullanır |
Port Belirleme ve Keşif Taramaları: Port taraması yapmak için NMAP idealdir, hangi portun açık olduğunu ve detaylı bilgiler öğrenmenizi sağlar.
nmap -sS-p50 X.X.X.X |
50 portunu tarar |
nmap - -sS-p1-80 X.X.X.X |
1 ve 80 arasındaki tüm portları tarar |
nmap - -sS-p2,44,65 X.X.X.X |
2,44 ve 65 portlarını tarar |
nmap -sS-p-X.X.X.X - |
Ağdaki tüm IP'leri tarar |
nmap -SS X.X.X.X |
SYN port analizi |
nmap - -sU X.X.X.X |
UDP port analizi |
nmap - -ST X.X.X.X |
TCP Connect port analizi |
nmap -SS X.X.X.X |
Servis versiyon taraması |
nmap - -SS-O - X.X.X.X |
İşletim sistemi analizi |
nmap - -SS - A X.X.X.X |
İşletim sistemi versiyon taraması |
Script Motoru: Nmap içerisinde yer alan tüm scriptleri kullanmak için bu parametre kullanılır.
nmap - -Sc X.X.X.X |
Tarama esnasında tüm scriptler kullanılır |
nmap - -script "http*" |
HTTP ile başlayan scriptler kullanılır |
Çıktı Ayarlamaları: Nmap kullanarak yapılan taramanın sonuçlarını bir çıktı olarak almanız mümkün.
nmap-sS-oN cikti.txt |
Normal nmap çıktısı olarak aktarır |
nmap -sS-oX - ciktl.xml |
XML çıktısı olarak aktarır |
nmap sS - -oG cikti.txt |
Düzenlenebilir nmap çıktısı olarak aktarır |
nmap - -SS - -AA cikti |
Tüm formatlarda çıktı olarak aktarır |
Temel Siber Güvenlik Eğitimi 4. Hafta süreci bu şekilde sonuçlanır.