SlideShare una empresa de Scribd logo
1 de 53
HACKLENMİŞ WEB
SUNUCU ANALİZİ
Yazar:Ömer Günal
Baskı:2018
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
İÇİNDEKİLER
1. Giriş..............................................................................................................................3
Log Analizine Giriş.............................................................................................................3
Web Sunucularında Log Analizi..........................................................................................4
Apache..................................................................................................................................... 4
Log Kayıtları .....................................................................................................................................4
Saldırı Nasıl Gerçekleşti? .................................................................................................................5
Nginx ....................................................................................................................................... 7
Log Kayıtları .....................................................................................................................................7
Saldırı Nasıl Gerçekleşti? .................................................................................................................7
IIS ............................................................................................................................................ 8
Web Sunucularına Yönelik Saldırılar ..................................................................................9
Uygulama Sunucuları................................................................................................................ 9
Tomcat.............................................................................................................................................9
GlassFish ........................................................................................................................................12
Jboss ..............................................................................................................................................16
Web Uygulamaları.................................................................................................................. 19
Injection.........................................................................................................................................19
Broken Authentication and Session Management .......................................................................23
Cross-Site Scripting (XSS)...............................................................................................................26
Security Misconfiguration .............................................................................................................29
Cross-Site Request Forgery (CSRF) ................................................................................................29
Sunucu Zafiyetleri...........................................................................................................31
Apache................................................................................................................................... 31
Örnek Saldırı ..................................................................................................................................31
Nginx ..................................................................................................................................... 34
IIS .......................................................................................................................................... 35
Programlama Dili Zafiyetleri............................................................................................39
PHP........................................................................................................................................ 39
Örnek Saldırı ..................................................................................................................................39
Java ....................................................................................................................................... 41
Örnek Saldırı ..................................................................................................................................41
Sunucuya Yüklenmiş Shell’i Bulmak.................................................................................44
Shell Gizleme Yöntemleri........................................................................................................ 46
Uzaktan Çağırma............................................................................................................................46
Şifrelenmiş Kod..............................................................................................................................46
Resim İçerisine Gizleme.................................................................................................................46
Hacklenmiş Web Sunucu Analizi......................................................................................48
Sonuç .............................................................................................................................52
Referanslar .....................................................................................................................52
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
1. Giriş
İnternetin her eve girmesiyle beraber web hizmetleri de hayatın bir parçası haline gelmiştir.
Bu durum saldırganların bu servisleri hedef olarak almasına sebep olmuştur.
Saldırganlar web servislerinden bilgi çalabilmek, çalışmaz duruma getirmek, şöhret vb. illegal
işler için web sunucularına saldırılar düzenlemektedirler. Kitapçık boyunca web sunucularına
yapılan saldırı yöntemleri farklı bakış açılarıyla incelenecektir.
Log Analizine Giriş
Log kaydı, sunucuda meydana gelen olayların kayıt altında tutulmasıdır. Log kayıtları sayesinde
sistem hataları, güvenlik riskleri gibi istenmeyen durumların analizi yapılabilmektedir.
Log analizinde analiz yapan kişinin neyi aradığını bilmesi büyük önem arz etmektedir. Log
dosyalarının içerisinde her türlü aktivite kaydının bulunduğunu düşünürsek filtreleme
yapmadan sonuca ulaşmak epey zahmetli olacaktır.
Sıralayacak olursak log analizi için 3 adıma dikkat etmek gerekmektedir:
1. Log kayıtlarına erişmek
2. Log analizinin hangi amaçla yapılacağını belirlemek
3. Amaç doğrultusunda log kayıtlarını filtreleyerek verileri ayıklamak
Bundan sonraki bölümlerde log analizi yapılırken UNIX araçları kullanılacaktır.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Web Sunucularında Log Analizi
Web sunucularında log kaydı yapılırken POST metoduyla yapılan isteklerin kaydı varsayılan
olarak tutulmayabilir. Bu durumda mod_forensic veya mod_security modülleri kullanılarak
durum telafi edilebilir.
POST metoduyla gönderilen veriler loglar içerisinde bulunmamaktadır. Verilere erişmek için
ağ trafiğinin incelenmesi gerekmektedir.
Yukarıda POST metodu ile gönderilmiş bir isteğin log kaydına ait ekran görüntüsü verilmiştir.
Görüldüğü üzere ilgili istekte hangi adrese istek gönderildiği gözükmektedir. Gönderilen
paketin kendisine bakıldığında istemcinin sunucuya gönderdiği veriler, yönlendiren sayfa gibi
bilgiler de bulunmaktadır. Anlaşılması adına aşağıya örnek bir post isteği eklenmiştir.
Apache
Bu bölümde Apache sunucusunda barındırılan bir web uygulamasının SQL Injection saldırısına
nasıl maruz kaldığını log kayıtlarını inceleyerek görmüş olacağız.
Log Kayıtları
Apache web sunucusunda log kayıtları /var/log/apache2 klasörü altında access.log ve
error.log dosyalarında tutulmaktadır. “access.log” içerisinde sunucuya yapılan isteklerin kaydı
tutulmaktadır.
Yukarıdaki ekran görüntüsünde “192.168.2.232” IP adresinden “/index.php” sayfasına “GET”
metodunda “[18/Aug/2017:15:02:05 +0000]” zaman diliminde, ”Mozilla/5.0 (X11; Linux
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
x86_64) AppleWebKit/537.36 (KHTML, lıke Genco) Chrome/60.0.3112.78 Safari/537.36” User-
Agent başlığı ile istek gönderilmiştir.
“error.log” dosyasında ise sunucunun istekleri işlerken karşılaştığı hatalar bulunmaktadır.
Aşağıdaki ekran görüntüsünde “/test” dizinine gitmeye çalışan istemci başarısız olduğu
görülmektedir.
Saldırı Nasıl Gerçekleşti?
SQL Injection saldırısına maruz kalan sunucunun loglarını incelemek için /var/log/apache2
klasörüne gidilir.
cat access.log
Yukarıdaki komut ile log dosyasına genel olarak bakıldığı zaman aynı IP adresi tarafından çok
sayıda SQL lnjection denemesi yapıldığı açıkça gözükmektedir. Eğer injection denemeleri gözle
görülür derecede çok yapılmış olmasaydı loglar içerisinde sql saldırılarında en çok kullanılan
parametreler aratılırdı.Bunlar union,select,from,or,version gibi parametrelerdir.Bu
parametreler grep komutu ile log dosyaları içerisinde aratılabilir.
cat access.log | grep -E “%27|--|union|select|from|or|@|version|char|varchar|exec
Aşağıda “access.log” dosyası içerisindeki SQL injection kayıtlarına ait ekran görüntüsü
verilmiştir.
Denemelerin başarılı olanlarını görüntüleyebilmek için sunucudan 200 kodu dönen yanıtların
filtrelenmesi gerekmektedir. cat access.log | grep 200 komutu ile filtreleme gerçekleştirilir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Gerçekleştirilen filtrelemeden sonra görülür ki kullanıcı adı ve parolanın çekildiği SQL
sorgusuna 200 yanıtı dönmüştür.
Yukarıdaki istek URL decode edildiğinde /cat.php?id=1 UNION SELECT
1,concat(login,':',password),3,4 FROM users; şeklinde bir injection saldırısı gerçekleştiği
görülür.
Bilgilere erişen saldırganın “admin” paneline giriş yapıp yapmadığını kontrol etmek için cat
access.log | grep 192.168.2.232 | grep admin/index.php komutu kullanabiliriz.
Admin paneline istekte bulunan saldırganın kayıtlarına ait ekran görüntüsü aşağıda verilmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Ekran görüntüsünde saldırganın admin paneline POST metodu ile istek gönderdiği
görülmektedir. Gönderilen POST isteği Wireshark ile incelendiğinde saldırganın panele giriş
yapmış olduğu kesinleşmiştir.
Admin paneline gönderilen POST isteğinin detayları aşağıdaki ekran görüntüsünde verilmiştir.
Nginx
Bu bölümde Nginx sunucuda çalışan uygulamaya gerçekleştirilen sistem üzerindeki dizinlere
izinsiz erişim sağlama saldırısı olan directory traversal (dizin listeleme) denemelerinin log
kayıtları incelenecektir. Bu saldırıda genellikle nokta-nokta-eğik çizgi ( ../ ) ile dizin değiştirerek
farklı dosyalara ulaşılır.
Log Kayıtları
Nginx sunucularda log dosyaları /var/log/nginx dizini altında Apache sunucularda da olduğu
gibi access.log ve error.log dosyaları içerisinde tutulmaktadır.
Saldırı Nasıl Gerçekleşti?
Saldırının tespiti için “../” veya “..” karakterlerini filtrelememiz saldırıyı analiz etmemiz
açısından daha uygun olacaktır. Bunun için cat acess.log | grep ../ komutu kullanılmaktadır.
Yukarıdaki çıktıda da görüldüğü üzere saldırgan passwd dosyasını okumaya çalışmıştır. Üçüncü
denemeden sonra wget komutu ile sayfayı kendine aktarmıştır.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Aktarılan sayfa incelendiğinde “passwd” dosyası içerisindeki bilgilerin ifşa olduğu
görülmektedir. Saldırganın kopyaladığı sayfaya ait ekran görüntüsü aşağıda verilmiştir.
IIS
IIS sunucuda log kayıtları C:inetpublogsLogFilesW3SVC1 klasörü altında tutulmaktadır. IIS
sunucularda bulunan log kayıtların ait örnek ekran görüntüsü aşağıda verilmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Web Sunucularına Yönelik Saldırılar
Web sunuculara yönelik gerçekleştirilen saldırılar genellikle web sunucusunun kendi
barındırdığı zafiyetten, uygulama sunucusunun zafiyetinden veya yeterli güvenlik önlemi
alınmamış web uygulamasından kaynaklanmaktadır.
Uygulama Sunucuları
Bu bölümde uygulama sunucularından olan tomcat, jboss, glassfish gibi sunuculardan
kaynaklanan güvenlik açıklıklarını inceleyeceğiz.
Tomcat
Zafiyet mod_jk kullanan sunucudan ve istemci tarafından gönderilen URL adreslerinin decode
edilmesine izin veren uygulama sunucusundan kaynaklanmaktadır.
Burada amaç directory traversal zafiyetini “..” parametresini 2 kere encode ederek
kullanmaktır.
“..” → “%2e” →“%252e”
Hedef adresin /manager/html uzantısına gidildiğinde sayfaya erişim sağlanamamaktadır.
Ancak “/examples/jps/%252e%252e/%252e%252e/manager/html” uzantısına gidilmeye
çalışıldığında ise giriş paneli ile karşılaşılmaktadır.
Varsayılan kullanıcı adı ve parola denendikten sonra admin paneline erişim sağlanmıştır.
Hazırlanmış olan webshell yüklenmeden önce deploy butonunun action kısmının başına
“/examples/jsp/%252e%252e/%252e%252e/” eklenir. Bunun nedeni webshell i ana dizine
yükleyip giriş paneline ulaşıldığı gibi ana dizin üzerinden webshell e ulaşmaktır. İşlemin
ardından webshell yüklenir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Deploy butonunun action kısmına ait ekran görüntüsü aşağıda verilmiştir.
Ardından /examples/jsp/%252e%252e/%252e%252e/test uzantısına gidilerek istenilen
komutlar çalıştırılabilir.
Webshell’in bulunduğu uzantıya ait ekran görüntüsü aşağıda verilmiştir.
Log Kayıtları
cat access.log | grep manager/html | grep 200 komutu ile giriş paneline ulaşabilen isteklerin
filtrelendiği ve daha sonra URL encode yöntemi ile adrese ulaşıldığı görülmektedir.
İlgili ekran görüntüsü aşağıda verilmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Panele ulaşan saldırganın IP adresi ile loglarda filtreleme yapıldığında; saldırganın gönderdiği
istekler incelenmiştir. Gönderilen POST isteği dikkat çekmektedir.
cat access.log | grep 192.168.68.1 | grep 200 komutu ile hedefe ait tüm 200 kodlu istekler
listelenir.
Wireshark’da ip.src == 192.168.68.1 && http.request.method == POST filtresi ile ilgili istek
bulunur ve incelemeye alınır.
Yukarıdaki ekran görüntüsünde de görüldüğü üzere saldırgan sisteme test.war dosyasını
yüklemiştir.
Korunma Yöntemleri
● “mod_jk” güncellenerek zafiyet önlenebilir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
GlassFish
Bu bölümde CVE-2011-0807 ile uzaktan kod çalıştırma güvenlik açıklığı ele alınacaktır.
Kimlik doğrulama atlatması, varsayılan kullanıcı adı ve parola gibi çeşitli metodlarla panele giriş
yapılır ve sisteme zararlı dosya yüklenerek uzaktan erişim sağlanır. Hedef sistemde Sun
GlassFish Enterprise Server 2.1 ve Java System Application Server 9.1 bulunmaktadır. Bu
durumda Metasploit Framework’de bulunan “exploit/multi/http/glassfish_deployer”
exploiti kullanılarak hedef sistem istismar edilir.
Öncelikle hedef nmap ile taratılarak sistem üzerindeki açık portlar ve portların ne amaçla
kullanıldığı tespit edilmeye çalışılır.
Yukarıdaki görselde görüldüğü gibi hedef sistemde GlassFish 2.1 çalışmaktadır. Msfconsole
yardımı ile GlassFish için oluşturulmuş exploitler aratılır.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Exploit “use” komutu ile seçilir ve gerekli ayarlamaları yapılır. Exploit için geçekleştirilen
ayarlar aşağıdaki ekran görüntüsünde verilmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
“run” komutu verilerek exploit çalıştırılır.
Exploit çalıştırıldıktan sonra meterpreter oturumumuz hazırlanmış ve hedefte komut
çalıştırabilir hale gelmiş oluruz.
Meterpreter oturumunun aktif olduğu ve hedefte komut çalıştırılabilir olduğuna dair ekran
görüntüsü aşağıda verilmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Log Kayıtları
“netstat -an” komutu ile sistemin iletişim kurduğu adresler görüntülenir ve tanınmayan bir
adres ile 4444 portundan haberleştiği görülür.
Ağ trafiği incelendiğinde saldırganın üç farklı GET isteği gönderdiği görülmektedir. İlgili istekler
aşağıdaki ekran görüntüsünde verilmiştir.
GET isteklerinin ardından çok sayıda 4444 portu üzerinden TCP trafiği oluşmaktadır. Fakat
Metasploit verileri AES ile şifrelediğinden dolayı ağ trafiği üzerinden saldırganın hangi
komutları çalıştırdığını öğrenememekteyiz.
Korunma Yöntemleri
● Kullanıcı adı ve parolayı varsayılan olarak bırakmamak.
● Güncellemeleri yüklemek.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Jboss
Bu bölümde Jboss AS 3,4,5, ve 6. versiyonlarında çalışan uzaktan kod çalıştırma zafiyeti
incelenecektir. Hedef sistem Ubuntu 14.04 üzerinde Jboss 6 çalıştırmaktadır. Exploit-db de
bulunan 36575 ID numaralı exploit;
● https://www.exploit-db.com/exploits/36575/
…ile zafiyet istismar edilecektir.
Exploit indirildikten sonra hedef adres ve port numarası belirtilerek python 36575.py
http://192.168.2.105:8080 scripti ile saldırı başlatılır.
Ardından istismar işlemi gerçekleştirilir ve shell ekrana gelir. Bu ekranda whoami ve uname -
a komutları çalıştırılmıştır.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Log Kayıtları
Sunucuya gelen HTTP istekleri incelendiğinde id, whoami, uname -a gibi parametreler dikkat
çekmektedir.
İlgili paketlerin detayları incelendiğinde sunucunun döndürdüğü yanıt ve isteğin yapıldığı adres
görülmektedir.
Kayıtlarda görüldüğü gibi istekler /jbossass/jbossass.jps adresine yapılmaktadır.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
İsteğin yapıldığı dosya sunucuda find /opt/jboss-6.0.0.Final/ -type f -name "jbossass.jsp"
komutu ile aratılır.
Aşağıda bulunan “jbossass.jsp” dosyasının kaynak koduna ait ekran görüntüsü verilmiştir. İlgili
dosya incelemeye alındığında bir webshell olduğu görülmektedir.
Korunma Yöntemleri
● JBoss EAP 7 ye yükseltme yapmak.
● Yazılımları yetkisiz bir kullanıcı ile çalıştırmak.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Web Uygulamaları
OWASP’ın 2017 yılında yayınladığı verilere göre web uygulamalarında en çok karşılaşılan
güvenlik zafiyetleri şunlardır:
● A1-Injection
● A2-Broken Authentication and Session Management
● A3-Cross-Site Scripting (XSS)
● A4-Broken Access Control
● A5-Security Misconfiguration
● A6-Sensitive Data Exposure
● A7-Insufficient Attack Protection
● A8-Cross-Site Request Forgery (CSRF)
● A9-Using Components with Known Vulnerabilities
● A10-Underprotected APIs
Injection
Injcetion, sunucuya gönderilen sorguya çeşitli parametreler eklenerek manipüle edilmesidir.
SQL Injection, SQL sorgularının manipüle edilerek veritabanına istenilen sorgunun
gönderilmesidir. Bu makale SQL injection saldırısını temel düzeyde bilindiği varsayılarak
anlatılmıştır. SQL injection hakkında detaylı bilgi için;
● https://www.bgasecurity.com/makale/sql-sql-injection-ve-sqlmap-kullanimi/
…makalesini inceleyebilirsiniz.
Burada SQL injection saldırısını tespit etmek isteyen bir kişinin hangi aşamaları denemesi
gerektiğine kısaca değineceğiz. Tespit aşamalarındaki asıl amacımız hata mesajları almaktır.
Aldığımız hata mesajlarında kullanılan veritabanı bilgisi vb. detayları elde edeceğiz.
Bunun için;
● Kullanılan en temel payload ‘ (tek tırnak) karakteridir.
● Sütun sayısı tespit edilebilir. Bunun için aşağıda verilen payload kullanılabilir.
?id=6 ORDER BY 6--
● Bir sütundaki tüm verilerin aynı veri türüne sahip olması gerekmektedir. Bunun için
aşağıda verilen payload kullanılarak sütun türü tespit edilebilir.
?id=6 UNION SELECT 1,null,null--
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
● Mantık tabanlı SOL injection zafiyetinin tespiti için aşağıda verilen payloadlar
kullanılabilir.
test.php?id=6
test.php?id=7-1
test.php?id=6 OR 1=1
test.php?id=6 OR 11-5=6
● Zaman tabanlı SOL injection zafiyetinin tespiti için aşağıda verilen payloadlar
kullanılabilir.
SLEEP(25)--
SELECT BENCHMARK(1000000,MD5('A'));
userID=1 OR SLEEP(25)=0 LIMIT 1--
userID=1) OR SLEEP(25)=0 LIMIT 1--
userID=1' OR SLEEP(25)=0 LIMIT 1--
userID=1') OR SLEEP(25)=0 LIMIT 1--
userID=1)) OR SLEEP(25)=0 LIMIT 1--
userID=SELECT SLEEP(25)--
Örnek SQL Injection Saldırısı
Bu örnekte sadece kullanıcıdan user id numarasını isteyen bir web uygulamasını ele alacağız.
ID numarası girildiğinde girilen numaraya ait kullanıcının ad ve soyad bilgileri dönmektedir.
ID’ si 2 olan kullanıcıya ait bilgilere ait detaylar aşağıdaki ekran görüntüsünde verilmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Fakat uygulamanın beklemediği manipüle edilmiş bir sorgu gönderilirse güvenlik önlemi
alınmamış web uygulaması injection saldırısına maruz kalmış olacaktır.
Örneğin aşağıda ' or 0=0 union select null, version() # sorgusu ile veritabanı versiyonu
çekilmiştir.Bu sorguda tırnak işareti ile bir önceki sorgunun tamamlanması sağlanırken “or
0=0” ifadesi ile sonucun her zaman doğru olması sağlanmıştır.”union select null, version()” ile
de versiyon bilgisi çekilmiştir.Son olarak “#” işareti ile de sorgunun devamının yorum satırı
olarak kalması sağlanmıştır.
Yukarıdaki gibi id bilgisi bekleyen bir sql sorgulu sql injection saldırısı ile aşağıdaki hale
bürünerek manipüle edilmiştir ve veri sızıntısına neden olmuştur.
Alttaki görselde çalıştırılan sorgunun döndürdüğü yanıt gösterilmektedir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Log Kayıtları
SQL Injection saldırılarında en çok kullanılan karakter ve kelimeler ‘ , -- , union , select , from ,
or , @ , version , char , varchar , exec olduğu tespit edilmiştir.
İlgili karakterler URL encode edildiğinde aşağıdaki gibi bir Linux komutu oluşmaktadır.
cat access.log | grep -E “%27|--|union|select|from|or|@|version|char|varchar|exec
İlgili komut kullanılarak alınan “access.log” dosyasına ait çıktı aşağıdaki ekran görüntüsünde
verilmiştir.
acces.log dosyasındaki kayıt URL decode edildiğinde ' or 0=0 union select null, version() #
sorgusu gönderildiği anlaşılmaktadır.
Korunma Yöntemleri
● Hazırlanmış sorgu ifadeleri kullanmak
● Gönderilen veriyi kontrol etmek
● Gönderilen veriyi filtrelemek
● Kullanıcı yetkilerini kısıtlamak
…alınabilecek önlemlerdir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Broken Authentication and Session Management
Oturum güvenliğinin tam olarak sağlanmamasından kaynaklanan güvenlik zafiyetidir.
Örnek Saldırı
Bu saldırıda amaç cookie bilgilerinin değiştirilerek herhangi bir kimlik doğrulama
mekanizmasına takılmadan istenilen kullanıcı hesabına geçmek olacaktır.
İlk olarak sisteme giriş yapılır.
Sisteme “user1” olarak giriş yapılmıştır.
Ardından cookie değeri kontrol edilir. “user1” kullanıcısının cookie değerine ait ekran
görüntüsü aşağıda verilmiştir.
Görüldüğü gibi cookie değeri kullanıcı adı ile aynı olmaktadır. Cookie değeri admin olarak
değiştirildiğinde eğer sistemde admin kullanıcısı var ise admin kullanıcısına geçiş yapılmış
olunacaktır.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Cookie verisinin değiştirilmesine ait ekran görüntüsü aşağıda verilmiştir.
Admin kullanıcısına geçildiğine dair ekran görüntüsü aşağıda verilmiştir.
Sonuç olarak herhangi bir parola kullanılmadan, sadece cookie değeri değiştirilerek admin
kullanıcısına geçiş yapılmıştır.
Log Kayıtları
Log kayıtları incelendiğinde dikkat çeken herhangi bir durum olmadığı görülmektedir.
İncelenen log kayıtlarında “user1” kullanıcısı ile giriş yapıldığına dair ekran görüntüsü aşağıda
verilmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Fakat ağ trafiği ile gönderilen isteklerin detaylarına bakıldığı zaman cookie değerlerinde
anormallik olduğu görülmüştür.
Aşağıda 192.168.68.1. adresinden sisteme giren kullanıcının cookie değerine ait ekran
görüntüsü verilmiştir.
Aynı IP adresinden sisteme gönderilen 2. istekteki cookie değerine ait ekran görüntüsü ise
aşağıda verilmiştir.
Ekran görüntülerinde de görüldüğü üzere aynı IP adresinden sisteme bağlanan kişi, cookie
değerlerini değiştirerek “admin” kullanıcısına geçiş yapmıştır.
Korunma Yöntemleri
● Güçlü kimlik kontrolü ve oturum yönetimi sağlamak
● Cookie bilgilerinin çalınmaması için XSS saldırılarını önlemek
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Cross-Site Scripting (XSS)
XSS, HTML ve JavaScript yardımı ile birlikte bir sitede istemci tarafından kod çalıştırılmasına
olanak sağlayan saldırı türüdür. Bununla beraber cookie çalma, sayfa yönlendirme gibi
saldırılar da düzenlenebilir.
XSS genelde GET ve POST metodlarının kullanıldığı bölümlerde bulunmaktadır. Arama kutusu,
galeri, mesajlar, üyelikler gibi girdi alan alanlarda bulunur. Tespiti için kullanılan payload
genelde "><script>alert(1)</script> şeklindedir. Tabi bu payload çok klasik bir örnektir.
Filtreleme durumuna göre farklı event handler (onclick, onload, onmouseover vb.)
kullanılabilir. XSS hakkında detaylı bilgi ve örnekler için;
● https://wiki.bgasecurity.com/index.php?search=XSS&title=%C3%96zel%3AAra&go=Git
…sitesini ziyaret edebilirsiniz.
Örnek Saldırı
Bu örnek saldırıda ziyaretçi defteri için mesaj yazılması gereken bölüme JavaScript kodu
eklenerek zafiyet sömürülecektir.
Bunun için ilk olarak mesaj bölümüne uygun JavaScript kodu yazılıp gönderilir. Örnek olarak
yazılan kodla birlikte açıklık istismar edilirse ekrana pop-up mesajı olarak “1” yazılacaktır.
Ziyaretçi defterine beklenilen iletinin dışında JS kodu yazılarak uygulama istismar edilmeye
çalışılır.
Mesaj gönderildikten sonra sayfayı ziyaret eden kullanıcılar yazılan koddan etkilenirler.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Aşağıda sayfayı ziyaret eden kullanıcının JavaScript kodundan etkilendiğine dair ekran
görüntüsü verilmiştir.
Sayfanın kaynak koduna bakıldığında javascript kodunun eklendiği görülür.
Log Kayıtları
Log kayıtları incelendiğinde POST metodu ile ilgili sayfaya veri gönderildiği görülmüştür.
Ayrıntıları görebilmek için ağ trafiği incelenir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
İncelenen trafikte kayıtlarda da görüldüğü üzere saldırgan mesaj bölümüne JavaScript kodu
enjekte edilmiştir.
GET metodu ile gerçekleştirilen XSS saldırılarının tespiti için log dosyalarında bazı anahtar
kelimeleri filtrelemek gerekmektedir. XSS saldırılarında en çok kullanılan karakter ve kelimeler
<, >, alert, script, src, cookie, onerror, document’ tir. Grep komutu ile arama filtreleme
yapılırken ‘<’ ve ‘>’ karakterlerinin URL encode edilmiş halini aratmak gerekmektedir.
Sonuç olarak ortaya;
cat access.log | grep -E "%3C|%3E|alert|script|src|cookie|onerror|document
…şeklinde bir komut çıkmaktadır.
Örnek bir XSS saldırı tespitine dair ekran görüntüsü aşağıda verilmiştir.
Korunma Yöntemleri
● Girdiyi doğrulamak (girilen verinin gerçekten istenen türden bir veri olduğunu kontrol
etmek).
● Blacklist yerine whitelist kullanmak.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Security Misconfiguration
Bu zafiyet, güvenlik yapılandırmalarının yanlış, zayıf veya varsayılan şekilde bırakılmasından
kaynaklanmaktadır.
Örnek Saldırı
Bu örnek saldırıda, sistemin otomatik oluşturduğu “admin” kullanıcısının parolasının
değiştirilmemesi sonucu saldırgan varsayılan kullanıcı adı ve parola ile sisteme giriş
yapabilmektedir.
Korunma Yöntemleri
● Varsayılan yapılandırmaları düzenlemek.
● Yazılımları güncel tutmak.
● Kullanılmayan servis ve portları devre dışı bırakmak.
Cross-Site Request Forgery (CSRF)
CSRF, siteler arası istek sahteciliği anlamına gelmektedir. Kullanıcıya kendi isteği dışında
saldırganlar tarafından işlemler yaptırılmasıyla gerçekleştirilen bir saldırı türüdür.
Örnek Saldırı
Bu örnek saldırıda amacımız, sahte bir web sayfası ile hedef uygulamaya istek göndererek
kurbanın parolasını değiştirmek olacaktır.
Sahte web sayfasında sadece “tıkla” butonu bulunmaktadır. İlgili butona ait ekran görüntüsü
aşağıda verilmiştir.
Sahte sayfanın kaynak koduna dair ekran görüntüsü aşağıda verilmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Sahte sayfamızda şu işlem gerçekleştirilecektir; eğer kurban “tıkla” butonuna tıklarsa hedef
uygulamaya parolasını 123456 olarak değiştirmek istediğine dair bir istek göndermiş olacaktır.
…ve butona tıklamış olan kullanıcının parolası değişecektir. İlgili ekran görüntüsü aşağıda
verilmiştir.
Log Kayıtları
Gerçekleştirilen saldırı üzerine log kayıtları incelendiğinde, kurban tarafından uygulamaya
parola dair istek geldiği ve kullanıcının parolasının değiştiği görülmektedir.
Korunma Yöntemleri
● Frameworklerin sunduğu CSRF korunma mekanizmalarını kullanmak.
● Token ve session kullanmak.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Sunucu Zafiyetleri
Bu bölümde sunucunun kendisinden kaynaklanan zafiyetler incelenecektir. İncelenen
zafiyetlerin dışında daha fazlası için;
● http://www.cvedetails.com
…adresi ziyaret edilebilir.
Apache
Apache sunucu için “Shellshock” olarak anılan ve uzaktan komut çalıştırmaya yarayan CVE-
2014-6271 kodlu zafiyet ele alınacaktır. Apache sunucularında genellikle mod_cgi ve
mod_cgid modüllerini kullanan sitemler zafiyetten etkilenmekte ve 1.14 ile 4.3 arası olan bash
sürümleri tehdit altında olmaktadır.
HTTP_USER_AGENT çevre değişkeni kötü amaçlı olacak şekilde değiştirilip CGI komut
dosyalarına hedefleyerek zafiyet istismar edilebilmektedir.
Örnek Saldırı
Gerçekleştirilecek örnek saldırı için hedef üzerinde sunucudan “uptime” ve “kerne”l bilgilerini
çeken script çalışmaktadır.
Aşağıdaki komut ile hedef adresin “passwd” dosyası okunmak istenmektedir.
echo -e "HEAD /cgi-bin/status HTTP/1.1rnUser-Agent: () { :;}; echo
$(</etc/passwd)rnHost: HEDEF_ADRESrnConnection: closernrn" | nc
HEDEF_ADRES 80
Gelen yanıtın HTTP başlığı incelendiğinde “passwd” dosyasının içeriği görüntülenmektedir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
User-agent başlık bilgisi değiştirilmiş isteğin hedefe gönderildiğine dair ekran görüntüsü
aşağıda verilmiştir.
Log Kayıtları
Log kayıtları incelendiğinde /cgi-bin/status adresine HEAD isteği gönderildiği dikkat
çekmektedir.
Aynı zamanda çeşitli parametreler ile gönderilen /etc/passwd bölümü göze çarpmaktadır.
Dönen yanıtı görüntülemek üzere ağ trafiği incelenir.
…“cgi-bin/status” dosyasına gönderilen istek aşağıdaki ekran görüntüsünde verilmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Gerçekleştirilen isteğe sunucu tarafından döndürülen yanıta dair ekran görüntüsü aşağıda
verilmiştir.
Dönen yanıta incelendiğinde sunucu bilgilerinin ifşa olduğu görülmektedir.
Korunma Yöntemleri
● Bash’i güncel versiyona yükseltmektir. Bunun için kullanılması gereken komut;
sudo apt-get update && sudo apt-get install --only-upgrade bash
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Nginx
Nginx sunucusu için bulunan güvenlik açıklıklarına bakıldığında son yıllarda kritik düzeyde
bulunan bir zafiyet görünmemektedir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
IIS
Bu bölümde 2 adet zafiyetten bahsedilecektir. Bunlar CVE-2017-7269 ve MS15-034 tür.
MS15-034
Bu güvenlik açıklığında windows sisteme özel hazırlanmış bir HTTP isteği gönderildiğinde
uzaktan kod çalıştırması mümkün kılınmaktadır.
Zafiyetten etkilenen versiyonlar: Windows 7, Windows Server 2008 R2, Windows 8, Windows
Server 2012, Windows 8.1, and Windows Server 2012 R2 işletim sistemlerinde HTTP.sys in
kullanıldığı herhangi bir IIS sürümü barındıran makineler.
Hedef nmap ile taratıldığında Windows Vista,2000 veya 7 kullandığı ve aynı zamanda IIS 7.5 in
aktif olduğu görülür.
İlgili zafiyetin hedef için geçerli olup olmadığını anlamak için hedefe “Range” başlığı eklenmiş
http talebi gönderilir. Eklenen aralık sunucu tarafından işlenecektir.
wget --header="Range: bytes=0-18446744073709551615"
http://192.168.10.169/welcome.png
Yukarıdaki komut girilir ve alınan “416 Requested Range Not Satisfiable” çıktısından dolayı
zafiyetin mevcut olduğu anlaşılır. Ardından Range aralığı değiştirilerek tekrar gönderilir ve aşırı
yük altında kalmış olur.
wget --header="Range: bytes=18-18446744073709551615"
http://192.168.10.169/welcome.png
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Windows güncelleştirmelerinin kurulmasıyla ilgili zafiyetten kurtulmak mümkündür.
CVE-2017-7269
Windows Server 2003 R2 üzerinde IIS 6.0 çalışan makinede bulunan CVE-2017-7269 güvenlik
açıklığı ele alınacaktır. Açıklık IIS 6.0’daki WebDAV servisinde bulunan ScStoragePathFromUrl
fonksiyonunun buffer overflow saldırısına maruz kalmasından kaynaklanmaktadır.
Metasploitte bulunan “iis_webdav_scstoragepathfromurl” exploiti kullanılarak zafiyet
istismar edilebilmektedir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Exploit için gerçekleştirilen ayarlara ait ekran görüntüsü aşağıda verilmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Zafiyetin istismarı sonucu elde edilen meterpreter oturumuna dair ekran görüntüsü aşağıda
verilmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Programlama Dili Zafiyetleri
PHP
PHP’nin barındırdığı mail() fonksiyonu ve bunu kullanan “Phpmailer” kütüphanesi milyonlarca
kişi tarafından kullanılmaktadır. “mail()” fonksiyonunun fazladan parametre gönderme
özelliğinin tam olarak denetlenmeden kullanılmasından dolayı uzaktan kod çalıştırma zafiyeti
meydana gelmektedir. İlgili açıklığın kodu “CVE-2016-10033” tür.
Örnek Saldırı
Örnek olması için güvenlik açığı barındıran bir uygulama kurulur.
Ardından daha önce bu açıklık için hazırlanmış olan exploit çalıştırılır. İlgili exploit aşağıda
verilen link üzerinden indirilebilir.
● https://github.com/opsxcq/exploit-CVE-2016-10033
Hedef adrese gerçekleştirilen exploit işlemine dair ekran görüntüsü aşağıda verilmiştir.
Exploit işlemi gerçekleştirildikten sonra uzaktan komut çalıştırılabilir bir halde sistem
beklemektedir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Zafiyetin istismar edildiği ve uzaktan komut çalıştırıldığına dair ekran görüntüsü aşağıda
verilmiştir.
Log Kayıtları
Zafiyete ait ağ trafiği incelendiğinde “backdoor.php” uzantısına GET istekleri gönderildiği
farkedilmektedir.
Gönderilen komutlar base64 ile decode edildiğinde saldırganın çalıştırdığı komutlar ifşa
olmaktadır.
Korunma Yöntemleri
● Zafiyet 5.2.18 altındaki sürümleri etkilemektedir. Güncelleme yaparak zafiyetten
korunulabilir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Java
Bu başlık altında Java Play Framework’de oluşan “Session Injection” zafiyeti incelenecektir.
Zafiyet oturum kodlamasından (session encode) kaynaklanmaktadır.
Örnek Saldırı
Hedef uygulama ekrana kullanıcının admin haklarına sahip olup olmadığını söylüyor. Burada
saldırganın amacı admin haklarına erişmek olacaktır.
İlk olarak normal bir şekilde user adı altında kayıt yapılır ve gönderilen istekler incelenir.
Burada admin kullanıcısının olduğunu varsayılarak admin kullanıcısına geçmek için null
byte’lardan faydalanılır.
Yeni bir kayıt oluşturulur ve kullanıcı adından sonra %00%00admin%3a1%00 parametresi
eklenerek injection tamamlanır. Burada oluşturulacak yeni oturumun admin:1 parametresi ile
sunucu tarafından yanlış yorumlanıp admin haklarına erişmesi sağlanmaktadır.Boş karakterler
kullanılarak admin:1 parametresinin bir önceki parametre olan kullanıcı adından ayrılması
sağlanır.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Kayıt ekranına ait kullanıcı arayüzü aşağıda verilmiştir.
Gönderilen istek üzerinde kullanıcı adının sonuna %00%00admin%3a1%00 parametresi
eklenir.
Gerçekleştirilen istek sonrası uygulama üzerinde admin haklarına erişim sağlandığına dair
ekran görüntüsü aşağıda verilmiştir.
Log Kayıtları
Log kayıtları incelendiğinde “test” kullanıcısının normal bir şekilde kayıt olmuş gibi gözüktüğü
fakat cookie değeri incelendiğinde injection saldırısı gerçekleştiği görülmektedir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Register sayfasına gönderilen POST isteğine dair ekran görüntüsü aşağıda verilmiştir.
Kayıt sonrası istek ve sunucunun döndürdüğü yanıta dair ekran görüntüsü aşağıda verilmiştir.
Korunma Yöntemleri
● Bu zafiyet güncelleme ile giderilmiştir. Güncelleme yapılarak zafiyetten korunulabilir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Sunucuya Yüklenmiş Shell’i Bulmak
Shell, yüklendiği sunucu üzerinde yükleyen kişiye sahip olduğu hakları aktaran scripttir.
c99,r57 bilinen en popüler shell’lerdendir. Bu bölümde PHP shellerinden bahsedeceğiz.
Basit bir komut çalıştırma olanağı sağlayan shell örneğine bakacak olursak sıradan komutların
dışında system() fonksiyonunu çalıştırdığı görülür.
Aşağıda basit bir PHP shell’ine ait ekran görüntüsü verilmiştir.
Bu durumda eğer sunucu içerisinde system() fonksiyonunu çağıran dosyalar ayıklanırsa
yüzlerce dosya arasından aranan zararlı dosya daha rahat bulunabilir.
grep -Rn "system *(" /var/www komutu ile /var/www dizini altındaki system fonksiyonunu
çağıran bütün dosyaları taranmış olur.
Farklı bir PHP shell incelendiğinde ise system fonksiyonu yerine shell_exec() fonksiyonunun
tercih edildiği görülmektedir.
Daha önce bahsedildiği gibi kullanılmış farklı fonksiyonlara dikkat edildiğinde shell_exec() ve
eval() fonksiyonu da göze çarpmaktadır.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Yani shell araması yapılırken shell_exec ve eval fonksiyonları da taratılmalıdır.
PHP shell’ler incelendiğinde genellikle passthru, shell_exec, system, phpinfo, base64_decode,
edoced_46esab, chmod, mkdir, fopen, fclose, readfile, php_uname ve eval gibi paremetreler
içerdiği gözlenmiştir. Bunun için aşağıdaki tablo içerisinde verilen komut ile gerçekleştirilen bir
taramada sunucu içerisindeki shel’leri bulmak mümkündür.
grep -RPn "(passthru|shell_exec|system|phpinfo|base64_decode|chmod|mkdir|
fopen|fclose|readfile|php_uname|eval) *(" /var/www
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Shell Gizleme Yöntemleri
Sistem yöneticisi tarafından veya dosya yükleme işlemi gerçekleştirirken güvenlik duvarına
takılmamak için saldırganlar bazı shell gizleme yöntemleri uygulamaktadır. Bu başlık altında
bu yöntemlere değineceğiz.
Uzaktan Çağırma
Bu yöntemde shell aslında hedef sunucuda barındırılmaz. Başka bir adresten shell’e ait olan
kodlar çekilir ve hedef sunucuda çalıştırılır.
Şifrelenmiş Kod
Shell’in kodunun şifrelenmesi ile eğer varsa güvenlik duvarı atlatılmaya çalışılır.
Resim İçerisine Gizleme
Burada zararlı kod herhangi bir resmin exif bilgileri içerisine yerleştirilir ve PHP ile resmin exif
bilgileri okunarak kod çalıştırılır.
İlk olarak exiftool yardımı ile görselin exif bilgilerine istenilen kodlar yerleştirilir. “exif” bilgileri
değiştirilen görsele ait ekran görüntüsü aşağıda verilmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Daha sonra resim içerisinden exif bilgilerini okuyacak PHP kodu yazılır.
Bu tarz gizleme yöntemleri ile güvenlik duvarları aşılabilmektedir. İş shell’i bulmaya gelince
sunucudaki dosyaların grep yardımı ile tek tek aratılmasıyla çok da zor olmamaktadır. Fakat
daha önce bahsedilen fonksiyonların dışında exif_read_data() ve preg_replace()
fonksiyonlarını da taratmak gerekecektir.
Yukarıda görüldüğü gibi şifrelenmiş shell, resim içerisine gizlenmiş shell ve uzaktan çağırılan
shelllerin hepsinin yeri tespit edilmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Hacklenmiş Web Sunucu Analizi
Bu bölümde tamamıyla ele geçirilmiş, içerisinde Wordpress bulunan web sunucusunun saldırı
sonrası analizi ile nasıl ele geçirildiği incelenecektir. İlk olarak saldırganın admin paneline erişip
erişmediğini anlamak için;
cat access.log | grep POST | grep wp-login
…komutu girilir.
Yukarıda verilen ekran görüntüsündeki çıktıda görüldüğü gibi aynı IP üzerinden admin paneli
giriş sayfasına çok sayıda POST isteği gönderilmiştir. İstekle beraber gönderilen veriyi kontrol
etmek için ağ trafiği incelenir. Bunun için Wireshark’da;
ip.src == 192.168.2.232 && ip.dst == 192.168.2.31 && http.request.method == POST
…filtresi kullanılarak saldırgan üzerinden web sunucusuna giden POST istekleri listelenir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
İstekler incelendiğinde “wp-login” sayfasına kaba kuvvet saldırısı gerçekleştirildiği tespit
edilmiştir.
Saldırı sonucunda admin:admin olarak doğru kullanıcı adı ve parola bulunmuştur.
“error.log” dosyası incelendiğinde ise fscockopen() fonksiyonunun devreye sokulmak istendiği
görülmektedir. Böylece saldırganın admin panelinde ne yaptığı tahmin edilebilmektedir. cat
error.log komutu ile error.log sayfası okunur.
Dosya detaylarına bakıldığında /wordress/test123123 sayfasına istek gönderidiği tespit
edilmiştir. İlgili ekran görüntüsü aşağıda verilmiştir.
Saldırgan erişilemeyen bir sayfaya giderek 404 hatası almak istemiştir. Böylece klasik 404 hata
sayfası yerine kendi yerleştirmiş olduğu kodun çalışacağı düşünülür. Ağ trafiğini inceleyerek
veya admin paneline giriş yaparak değişikliğe bakalabiliriz.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Değişikliklere bakıldığında 404 hata sayfasının içeriğinin saldırgan tarafından değiştirildiği
tespit edilmiştir.
Saldırganın hata sayfası için kullandığı kod parçası aşağıdaki ekran görüntüsünde verilmiştir.
Saldırganın 404 hata kodu sayfası için kullandığı kod incelendiğinde kendi adresine 1234
portundan erişim açtığı görülmektedir.
Saldırgan kendine açtığı bu kapı ile www-data hakları ile sunucuya erişim sağlamış olacaktır.
Bu durumda “www-data” kullanıcısının sunucuda çalıştırdığı komutlar incelemeye alınır.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Saldırganın sunucuda çalıştırdığı komutlara dair ekran görüntüsü aşağıda verilmiştir.
…“wp-config.php” dosyasını okuyan saldırgan root kullanıcısına geçmiştir. wp-config.php
dosyasına bakıldığı zaman root kullanıcısının parolası ile aynı olan database parolası
gözükmektedir.
wp-config.php dosyasının içeriğine dair ekran görüntüsü aşağıda verilmiştir.
Yukarıdaki parola ile saldırgan root yetkisine ulaşarak sunucunun tamamını ele geçirmiştir.
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
Sonuç
Kitapçıkta incelendiği gibi saldırganlar web sunucusunu ele geçirebilmek için çeşitli yollardan
saldırabilmektedirler. Saldırıların tespiti için log analizi ve ağ trafiğinin iyi kontrol edilmesi
gerekmektedir. Bunun için etkili analiz için saldırı vektörlerini bilmek ve iyi anlamak gerekir.
Bazen güvenlik açıklığı kullandığınız sunucudan ya da programlama dilinden kaynaklanabilir.
Bundan dolayı sunucudaki bileşenleri sürekli güncel tutmak gerekmektedir.
Referanslar
● https://www.acunetix.com/blog/articles/using-logs-to-investigate-a-web-
application-attack/
● https://httpd.apache.org/docs/1.3/logs.html
● https://www.owasp.org/index.php/Top_10_2017-Top_10
● https://www.conetix.com.au/blog/root-cause-analysis-hacked-wordpress-website
● https://docs.microsoft.com/en-
us/iis/configuration/system.applicationhost/sites/sitedefaults/logfile/
● https://www.cisecurity.org/advisory/a-vulnerability-in-jboss-application-server-
could-allow-for-remote-code-execution/
● https://pentesterlab.com/
● https://www.rapid7.com
● https://th3w1tch.wordpress.com/2012/06/21/finding-vulnerabilities-backdoor-php-
shell-script-on-a-server/
● http://resources.infosecinstitute.com/checking-out-backdoor-shells/#gref
● https://www.trustwave.com/Resources/SpiderLabs-Blog/Hiding-Webshell-Backdoor-
Code-in-Image-Files/
● https://vexatioustendencies.com/php-backdoor-obfuscation-techniques/
● https://github.com/opsxcq/exploit-CVE-2016-10033
● https://www.netsparker.com.tr/blog/web-guvenligi/Meraklisi-icin-PwnScriptum-
Zafiyeti-PHP-Mailer-Remote-Code-Execution/
● http://www.sqlinjectionwiki.com/categories/2/mysql-sql-injection-cheat-sheet/
● https://wiki.bgasecurity.com/Ana_Sayfa
[HACKLENMİŞ WEB SUNUCU ANALİZİ]
BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity
BGA Bilgi Güvenliği A.Ş. Hakkında
BGA Bilgi Güvenliği A.Ş. 2008 yılından bu yana siber güvenlik alanında faaliyet göstermektedir.
Ülkemizdeki bilgi güvenliği sektörüne profesyonel anlamda destek olmak amacı ile kurulan BGA Bilgi
Güvenliği, stratejik siber güvenlik danışmanlığı ve güvenlik eğitimleri konularında kurumlara hizmet
vermektedir.
Uluslararası geçerliliğe sahip sertifikalı 50 kişilik teknik ekibi ile, faaliyetlerini Ankara ve İstanbul ve
USA’da sürdüren BGA Bilgi Güvenliği’nin ilgi alanlarını “Sızma Testleri, Güvenlik Denetimi, SOME, SOC
Danışmanlığı, Açık Kaynak Siber Güvenlik Çözümleri, Büyük Veri Güvenlik Analizi ve Yeni Nesil Güvenlik
Çözümleri” oluşturmaktadır.
Gerçekleştirdiği başarılı danışmanlık projeleri ve eğitimlerle sektörde saygın bir yer edinen BGA Bilgi
Güvenliği, kurulduğu günden bugüne alanında lider finans, enerji, telekom ve kamu kuruluşlarına
1.000'den fazla eğitim ve danışmanlık projeleri gerçekleştirmiştir.
BGA Bilgi Güvenliği, kurulduğu 2008 yılından beri ülkemizde bilgi güvenliği konusundaki bilgi ve
paylaşımların artması amacı ile güvenlik e-posta listeleri oluşturulması, seminerler, güvenlik etkinlikleri
düzenlenmesi, üniversite öğrencilerine kariyer ve bilgi sağlamak için siber güvenlik kampları
düzenlenmesi ve sosyal sorumluluk projeleri gibi birçok konuda gönüllü faaliyetlerde bulunmuştur.
BGA Bilgi Güvenliği AKADEMİSİ Hakkında
BGA Bilgi Güvenliği A.Ş.’nin eğitim ve sosyal sorumluluk markası olarak çalışan Bilgi Güvenliği
AKADEMİSİ, siber güvenlik konusunda ticari, gönüllü eğitimlerin düzenlenmesi ve siber güvenlik
farkındalığını arttırıcı gönüllü faaliyetleri yürütülmesinden sorumludur. Bilgi Güvenliği AKADEMİSİ
markasıyla bugüne kadar “Siber Güvenlik Kampları”, “Siber Güvenlik Staj Okulu”, “Siber Güvenlik Ar-
Ge Destek Bursu”, “Ethical Hacking yarışmaları” ve “Siber Güvenlik Kütüphanesi” gibi birçok gönüllü
faaliyetin destekleyici olmuştur.

Más contenido relacionado

La actualidad más candente

Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı AnaliziKurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı AnaliziBGA Cyber Security
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15BGA Cyber Security
 
Zararlı Yazılım Analizi Eğitimi Lab Kitabı
Zararlı Yazılım Analizi Eğitimi Lab KitabıZararlı Yazılım Analizi Eğitimi Lab Kitabı
Zararlı Yazılım Analizi Eğitimi Lab KitabıBGA Cyber Security
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9BGA Cyber Security
 
Web Servislerine Yönelik Sızma Testleri
Web Servislerine Yönelik Sızma TestleriWeb Servislerine Yönelik Sızma Testleri
Web Servislerine Yönelik Sızma TestleriBGA Cyber Security
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6BGA Cyber Security
 
Nmap101 Eğitim Sunumu - Nmap Kullanım Kılavuzu
Nmap101 Eğitim Sunumu - Nmap Kullanım KılavuzuNmap101 Eğitim Sunumu - Nmap Kullanım Kılavuzu
Nmap101 Eğitim Sunumu - Nmap Kullanım KılavuzuMehmet Caner Köroğlu
 
GÜVENLİK SİSTEMLERİNİ ATLATMA
GÜVENLİK SİSTEMLERİNİ ATLATMAGÜVENLİK SİSTEMLERİNİ ATLATMA
GÜVENLİK SİSTEMLERİNİ ATLATMABGA Cyber Security
 
Güvenliği Artırmak için Tehdit İstihbaratı ve Zafiyet Yönetiminin Birleşimi
Güvenliği Artırmak için Tehdit İstihbaratı ve Zafiyet Yönetiminin BirleşimiGüvenliği Artırmak için Tehdit İstihbaratı ve Zafiyet Yönetiminin Birleşimi
Güvenliği Artırmak için Tehdit İstihbaratı ve Zafiyet Yönetiminin BirleşimiBGA Cyber Security
 
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab KitabıBeyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab KitabıBGA Cyber Security
 
INTERNET VE YEREL AĞ SIZMA TESTLERİ
INTERNET VE YEREL AĞ SIZMA TESTLERİ INTERNET VE YEREL AĞ SIZMA TESTLERİ
INTERNET VE YEREL AĞ SIZMA TESTLERİ BGA Cyber Security
 
PORT TARAMA ve KEŞİF ÇALIŞMALARI
PORT TARAMA ve KEŞİF ÇALIŞMALARI PORT TARAMA ve KEŞİF ÇALIŞMALARI
PORT TARAMA ve KEŞİF ÇALIŞMALARI BGA Cyber Security
 
Her Yönü İle Siber Tehdit İstihbaratı
Her Yönü İle Siber Tehdit İstihbaratıHer Yönü İle Siber Tehdit İstihbaratı
Her Yönü İle Siber Tehdit İstihbaratıBGA Cyber Security
 
WEB ve MOBİL SIZMA TESTLERİ
WEB ve MOBİL SIZMA TESTLERİ WEB ve MOBİL SIZMA TESTLERİ
WEB ve MOBİL SIZMA TESTLERİ BGA Cyber Security
 
LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ
LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ
LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ BGA Cyber Security
 
Zafiyet tespiti ve sizma yöntemleri
Zafiyet tespiti ve sizma yöntemleriZafiyet tespiti ve sizma yöntemleri
Zafiyet tespiti ve sizma yöntemleriEPICROUTERS
 

La actualidad más candente (20)

Metasploit El Kitabı
Metasploit El KitabıMetasploit El Kitabı
Metasploit El Kitabı
 
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı AnaliziKurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
 
Zararlı Yazılım Analizi Eğitimi Lab Kitabı
Zararlı Yazılım Analizi Eğitimi Lab KitabıZararlı Yazılım Analizi Eğitimi Lab Kitabı
Zararlı Yazılım Analizi Eğitimi Lab Kitabı
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
 
10 Adımda Sızma Testleri
10 Adımda Sızma Testleri10 Adımda Sızma Testleri
10 Adımda Sızma Testleri
 
Web Servislerine Yönelik Sızma Testleri
Web Servislerine Yönelik Sızma TestleriWeb Servislerine Yönelik Sızma Testleri
Web Servislerine Yönelik Sızma Testleri
 
Open Source SOC Kurulumu
Open Source SOC KurulumuOpen Source SOC Kurulumu
Open Source SOC Kurulumu
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
 
Nmap101 Eğitim Sunumu - Nmap Kullanım Kılavuzu
Nmap101 Eğitim Sunumu - Nmap Kullanım KılavuzuNmap101 Eğitim Sunumu - Nmap Kullanım Kılavuzu
Nmap101 Eğitim Sunumu - Nmap Kullanım Kılavuzu
 
GÜVENLİK SİSTEMLERİNİ ATLATMA
GÜVENLİK SİSTEMLERİNİ ATLATMAGÜVENLİK SİSTEMLERİNİ ATLATMA
GÜVENLİK SİSTEMLERİNİ ATLATMA
 
Güvenliği Artırmak için Tehdit İstihbaratı ve Zafiyet Yönetiminin Birleşimi
Güvenliği Artırmak için Tehdit İstihbaratı ve Zafiyet Yönetiminin BirleşimiGüvenliği Artırmak için Tehdit İstihbaratı ve Zafiyet Yönetiminin Birleşimi
Güvenliği Artırmak için Tehdit İstihbaratı ve Zafiyet Yönetiminin Birleşimi
 
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
 
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab KitabıBeyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
 
INTERNET VE YEREL AĞ SIZMA TESTLERİ
INTERNET VE YEREL AĞ SIZMA TESTLERİ INTERNET VE YEREL AĞ SIZMA TESTLERİ
INTERNET VE YEREL AĞ SIZMA TESTLERİ
 
PORT TARAMA ve KEŞİF ÇALIŞMALARI
PORT TARAMA ve KEŞİF ÇALIŞMALARI PORT TARAMA ve KEŞİF ÇALIŞMALARI
PORT TARAMA ve KEŞİF ÇALIŞMALARI
 
Her Yönü İle Siber Tehdit İstihbaratı
Her Yönü İle Siber Tehdit İstihbaratıHer Yönü İle Siber Tehdit İstihbaratı
Her Yönü İle Siber Tehdit İstihbaratı
 
WEB ve MOBİL SIZMA TESTLERİ
WEB ve MOBİL SIZMA TESTLERİ WEB ve MOBİL SIZMA TESTLERİ
WEB ve MOBİL SIZMA TESTLERİ
 
LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ
LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ
LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ
 
Zafiyet tespiti ve sizma yöntemleri
Zafiyet tespiti ve sizma yöntemleriZafiyet tespiti ve sizma yöntemleri
Zafiyet tespiti ve sizma yöntemleri
 

Similar a Hacklenmiş Web Sunucu Analizi

ANET SURELOG INTERNATIONAL EDITION SIEM ÜRÜNÜNÜN KORELASYON İLE İLGİLİ ÜSTÜNL...
ANET SURELOG INTERNATIONAL EDITION SIEM ÜRÜNÜNÜN KORELASYON İLE İLGİLİ ÜSTÜNL...ANET SURELOG INTERNATIONAL EDITION SIEM ÜRÜNÜNÜN KORELASYON İLE İLGİLİ ÜSTÜNL...
ANET SURELOG INTERNATIONAL EDITION SIEM ÜRÜNÜNÜN KORELASYON İLE İLGİLİ ÜSTÜNL...Ertugrul Akbas
 
Sysmon ile Log Toplama
Sysmon ile Log ToplamaSysmon ile Log Toplama
Sysmon ile Log ToplamaPRISMA CSI
 
Log yonetimi tecrubeleri
Log yonetimi tecrubeleriLog yonetimi tecrubeleri
Log yonetimi tecrubeleriErtugrul Akbas
 
Hacklenmis Linux Sistem Analizi
Hacklenmis Linux Sistem AnaliziHacklenmis Linux Sistem Analizi
Hacklenmis Linux Sistem AnaliziBGA Cyber Security
 
SIZMA TESTLERİNDE BİLGİ TOPLAMA
SIZMA TESTLERİNDE BİLGİ TOPLAMASIZMA TESTLERİNDE BİLGİ TOPLAMA
SIZMA TESTLERİNDE BİLGİ TOPLAMABGA Cyber Security
 
Bilgi Güvenliği ve Log Yönetimi Sistemlerinin Analizi
Bilgi Güvenliği ve Log Yönetimi Sistemlerinin AnaliziBilgi Güvenliği ve Log Yönetimi Sistemlerinin Analizi
Bilgi Güvenliği ve Log Yönetimi Sistemlerinin AnaliziErtugrul Akbas
 
Zararlı Yazılım Analizi İçin Lab Ortamı Hazırlamak
Zararlı Yazılım Analizi İçin Lab Ortamı HazırlamakZararlı Yazılım Analizi İçin Lab Ortamı Hazırlamak
Zararlı Yazılım Analizi İçin Lab Ortamı HazırlamakBGA Cyber Security
 
Log Yönetimi SIEM Demek Değildir!
Log Yönetimi SIEM Demek Değildir!Log Yönetimi SIEM Demek Değildir!
Log Yönetimi SIEM Demek Değildir!Ertugrul Akbas
 
Metasploit Framework - Giris Seviyesi Guvenlik Denetim Rehberi
Metasploit Framework - Giris Seviyesi Guvenlik Denetim RehberiMetasploit Framework - Giris Seviyesi Guvenlik Denetim Rehberi
Metasploit Framework - Giris Seviyesi Guvenlik Denetim RehberiFatih Ozavci
 
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMISINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMIErtugrul Akbas
 
45965 php-source-code-analysis
45965 php-source-code-analysis45965 php-source-code-analysis
45965 php-source-code-analysisAttaporn Ninsuwan
 
ANET SureLog SIEM avantajları
ANET SureLog SIEM avantajlarıANET SureLog SIEM avantajları
ANET SureLog SIEM avantajlarıErtugrul Akbas
 
Kurumsal Ağlarda Log Analizi Yöntemi İle Saldırı Tespiti - Huzeyfe Önal #Sibe...
Kurumsal Ağlarda Log Analizi Yöntemi İle Saldırı Tespiti - Huzeyfe Önal #Sibe...Kurumsal Ağlarda Log Analizi Yöntemi İle Saldırı Tespiti - Huzeyfe Önal #Sibe...
Kurumsal Ağlarda Log Analizi Yöntemi İle Saldırı Tespiti - Huzeyfe Önal #Sibe...Siber Güvenlik Derneği
 
SIEM ve KVKK Teknik Tedbirlerinin ANET SureLog SIEM ile uygulanması
SIEM ve KVKK Teknik Tedbirlerinin  ANET SureLog SIEM  ile uygulanması SIEM ve KVKK Teknik Tedbirlerinin  ANET SureLog SIEM  ile uygulanması
SIEM ve KVKK Teknik Tedbirlerinin ANET SureLog SIEM ile uygulanması Ertugrul Akbas
 
Windows 7 Ortamında Zararlı Yazılım Analizi
Windows 7 Ortamında Zararlı Yazılım AnaliziWindows 7 Ortamında Zararlı Yazılım Analizi
Windows 7 Ortamında Zararlı Yazılım AnaliziBGA Cyber Security
 
Siber tehdit avcılığı 1
Siber tehdit avcılığı 1Siber tehdit avcılığı 1
Siber tehdit avcılığı 1Kurtuluş Karasu
 

Similar a Hacklenmiş Web Sunucu Analizi (20)

ANET SURELOG INTERNATIONAL EDITION SIEM ÜRÜNÜNÜN KORELASYON İLE İLGİLİ ÜSTÜNL...
ANET SURELOG INTERNATIONAL EDITION SIEM ÜRÜNÜNÜN KORELASYON İLE İLGİLİ ÜSTÜNL...ANET SURELOG INTERNATIONAL EDITION SIEM ÜRÜNÜNÜN KORELASYON İLE İLGİLİ ÜSTÜNL...
ANET SURELOG INTERNATIONAL EDITION SIEM ÜRÜNÜNÜN KORELASYON İLE İLGİLİ ÜSTÜNL...
 
Sysmon ile Log Toplama
Sysmon ile Log ToplamaSysmon ile Log Toplama
Sysmon ile Log Toplama
 
Log yonetimi tecrubeleri
Log yonetimi tecrubeleriLog yonetimi tecrubeleri
Log yonetimi tecrubeleri
 
Hacklenmis Linux Sistem Analizi
Hacklenmis Linux Sistem AnaliziHacklenmis Linux Sistem Analizi
Hacklenmis Linux Sistem Analizi
 
Audit Policy
Audit PolicyAudit Policy
Audit Policy
 
SIZMA TESTLERİNDE BİLGİ TOPLAMA
SIZMA TESTLERİNDE BİLGİ TOPLAMASIZMA TESTLERİNDE BİLGİ TOPLAMA
SIZMA TESTLERİNDE BİLGİ TOPLAMA
 
Log yönetimi ve siem
Log yönetimi ve siemLog yönetimi ve siem
Log yönetimi ve siem
 
Bilgi Güvenliği ve Log Yönetimi Sistemlerinin Analizi
Bilgi Güvenliği ve Log Yönetimi Sistemlerinin AnaliziBilgi Güvenliği ve Log Yönetimi Sistemlerinin Analizi
Bilgi Güvenliği ve Log Yönetimi Sistemlerinin Analizi
 
Zararlı Yazılım Analizi İçin Lab Ortamı Hazırlamak
Zararlı Yazılım Analizi İçin Lab Ortamı HazırlamakZararlı Yazılım Analizi İçin Lab Ortamı Hazırlamak
Zararlı Yazılım Analizi İçin Lab Ortamı Hazırlamak
 
Log Yönetimi SIEM Demek Değildir!
Log Yönetimi SIEM Demek Değildir!Log Yönetimi SIEM Demek Değildir!
Log Yönetimi SIEM Demek Değildir!
 
Metasploit Framework - Giris Seviyesi Guvenlik Denetim Rehberi
Metasploit Framework - Giris Seviyesi Guvenlik Denetim RehberiMetasploit Framework - Giris Seviyesi Guvenlik Denetim Rehberi
Metasploit Framework - Giris Seviyesi Guvenlik Denetim Rehberi
 
Mail Sniper Nedir?
Mail Sniper Nedir?Mail Sniper Nedir?
Mail Sniper Nedir?
 
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMISINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
SINIFLANDIRMA TEMELLİ KORELASYON YAKLAŞIMI
 
Log yonetimi
Log yonetimiLog yonetimi
Log yonetimi
 
45965 php-source-code-analysis
45965 php-source-code-analysis45965 php-source-code-analysis
45965 php-source-code-analysis
 
ANET SureLog SIEM avantajları
ANET SureLog SIEM avantajlarıANET SureLog SIEM avantajları
ANET SureLog SIEM avantajları
 
Kurumsal Ağlarda Log Analizi Yöntemi İle Saldırı Tespiti - Huzeyfe Önal #Sibe...
Kurumsal Ağlarda Log Analizi Yöntemi İle Saldırı Tespiti - Huzeyfe Önal #Sibe...Kurumsal Ağlarda Log Analizi Yöntemi İle Saldırı Tespiti - Huzeyfe Önal #Sibe...
Kurumsal Ağlarda Log Analizi Yöntemi İle Saldırı Tespiti - Huzeyfe Önal #Sibe...
 
SIEM ve KVKK Teknik Tedbirlerinin ANET SureLog SIEM ile uygulanması
SIEM ve KVKK Teknik Tedbirlerinin  ANET SureLog SIEM  ile uygulanması SIEM ve KVKK Teknik Tedbirlerinin  ANET SureLog SIEM  ile uygulanması
SIEM ve KVKK Teknik Tedbirlerinin ANET SureLog SIEM ile uygulanması
 
Windows 7 Ortamında Zararlı Yazılım Analizi
Windows 7 Ortamında Zararlı Yazılım AnaliziWindows 7 Ortamında Zararlı Yazılım Analizi
Windows 7 Ortamında Zararlı Yazılım Analizi
 
Siber tehdit avcılığı 1
Siber tehdit avcılığı 1Siber tehdit avcılığı 1
Siber tehdit avcılığı 1
 

Más de BGA Cyber Security

WEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesiWEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesiBGA Cyber Security
 
Tatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdfTatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdfBGA Cyber Security
 
Ücretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık EğitimiÜcretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık EğitimiBGA Cyber Security
 
3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?BGA Cyber Security
 
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware SaldırılarıBir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware SaldırılarıBGA Cyber Security
 
Webinar: Popüler black marketler
Webinar: Popüler black marketlerWebinar: Popüler black marketler
Webinar: Popüler black marketlerBGA Cyber Security
 
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım SenaryolarıWebinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım SenaryolarıBGA Cyber Security
 
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020BGA Cyber Security
 
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriDNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriBGA Cyber Security
 
Webinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini ArttırmakWebinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini ArttırmakBGA Cyber Security
 
Open Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-IIOpen Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-IIBGA Cyber Security
 
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner GüvenliğiWebinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner GüvenliğiBGA Cyber Security
 
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİRAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİBGA Cyber Security
 
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing RaporuBGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing RaporuBGA Cyber Security
 
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu ÇözümlerSOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu ÇözümlerBGA Cyber Security
 
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of SecretsVeri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of SecretsBGA Cyber Security
 
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi ToplamaAktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi ToplamaBGA Cyber Security
 
SSL Sertifikalarından Phishing Domain Tespiti
SSL Sertifikalarından Phishing Domain TespitiSSL Sertifikalarından Phishing Domain Tespiti
SSL Sertifikalarından Phishing Domain TespitiBGA Cyber Security
 
Güvenlik Testlerinde Açık Kaynak İstihbaratı Kullanımı
Güvenlik Testlerinde Açık Kaynak İstihbaratı KullanımıGüvenlik Testlerinde Açık Kaynak İstihbaratı Kullanımı
Güvenlik Testlerinde Açık Kaynak İstihbaratı KullanımıBGA Cyber Security
 

Más de BGA Cyber Security (20)

WEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesiWEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesi
 
Tatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdfTatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdf
 
Ücretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık EğitimiÜcretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık Eğitimi
 
3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?
 
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware SaldırılarıBir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
 
Webinar: Popüler black marketler
Webinar: Popüler black marketlerWebinar: Popüler black marketler
Webinar: Popüler black marketler
 
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım SenaryolarıWebinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
 
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
 
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriDNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
 
Webinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini ArttırmakWebinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
 
Open Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-IIOpen Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-II
 
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner GüvenliğiWebinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
 
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİRAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
 
Siber Fidye 2020 Raporu
Siber Fidye 2020 RaporuSiber Fidye 2020 Raporu
Siber Fidye 2020 Raporu
 
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing RaporuBGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
 
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu ÇözümlerSOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
 
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of SecretsVeri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
 
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi ToplamaAktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi Toplama
 
SSL Sertifikalarından Phishing Domain Tespiti
SSL Sertifikalarından Phishing Domain TespitiSSL Sertifikalarından Phishing Domain Tespiti
SSL Sertifikalarından Phishing Domain Tespiti
 
Güvenlik Testlerinde Açık Kaynak İstihbaratı Kullanımı
Güvenlik Testlerinde Açık Kaynak İstihbaratı KullanımıGüvenlik Testlerinde Açık Kaynak İstihbaratı Kullanımı
Güvenlik Testlerinde Açık Kaynak İstihbaratı Kullanımı
 

Hacklenmiş Web Sunucu Analizi

  • 2. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity İÇİNDEKİLER 1. Giriş..............................................................................................................................3 Log Analizine Giriş.............................................................................................................3 Web Sunucularında Log Analizi..........................................................................................4 Apache..................................................................................................................................... 4 Log Kayıtları .....................................................................................................................................4 Saldırı Nasıl Gerçekleşti? .................................................................................................................5 Nginx ....................................................................................................................................... 7 Log Kayıtları .....................................................................................................................................7 Saldırı Nasıl Gerçekleşti? .................................................................................................................7 IIS ............................................................................................................................................ 8 Web Sunucularına Yönelik Saldırılar ..................................................................................9 Uygulama Sunucuları................................................................................................................ 9 Tomcat.............................................................................................................................................9 GlassFish ........................................................................................................................................12 Jboss ..............................................................................................................................................16 Web Uygulamaları.................................................................................................................. 19 Injection.........................................................................................................................................19 Broken Authentication and Session Management .......................................................................23 Cross-Site Scripting (XSS)...............................................................................................................26 Security Misconfiguration .............................................................................................................29 Cross-Site Request Forgery (CSRF) ................................................................................................29 Sunucu Zafiyetleri...........................................................................................................31 Apache................................................................................................................................... 31 Örnek Saldırı ..................................................................................................................................31 Nginx ..................................................................................................................................... 34 IIS .......................................................................................................................................... 35 Programlama Dili Zafiyetleri............................................................................................39 PHP........................................................................................................................................ 39 Örnek Saldırı ..................................................................................................................................39 Java ....................................................................................................................................... 41 Örnek Saldırı ..................................................................................................................................41 Sunucuya Yüklenmiş Shell’i Bulmak.................................................................................44 Shell Gizleme Yöntemleri........................................................................................................ 46 Uzaktan Çağırma............................................................................................................................46 Şifrelenmiş Kod..............................................................................................................................46 Resim İçerisine Gizleme.................................................................................................................46 Hacklenmiş Web Sunucu Analizi......................................................................................48 Sonuç .............................................................................................................................52 Referanslar .....................................................................................................................52
  • 3. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity 1. Giriş İnternetin her eve girmesiyle beraber web hizmetleri de hayatın bir parçası haline gelmiştir. Bu durum saldırganların bu servisleri hedef olarak almasına sebep olmuştur. Saldırganlar web servislerinden bilgi çalabilmek, çalışmaz duruma getirmek, şöhret vb. illegal işler için web sunucularına saldırılar düzenlemektedirler. Kitapçık boyunca web sunucularına yapılan saldırı yöntemleri farklı bakış açılarıyla incelenecektir. Log Analizine Giriş Log kaydı, sunucuda meydana gelen olayların kayıt altında tutulmasıdır. Log kayıtları sayesinde sistem hataları, güvenlik riskleri gibi istenmeyen durumların analizi yapılabilmektedir. Log analizinde analiz yapan kişinin neyi aradığını bilmesi büyük önem arz etmektedir. Log dosyalarının içerisinde her türlü aktivite kaydının bulunduğunu düşünürsek filtreleme yapmadan sonuca ulaşmak epey zahmetli olacaktır. Sıralayacak olursak log analizi için 3 adıma dikkat etmek gerekmektedir: 1. Log kayıtlarına erişmek 2. Log analizinin hangi amaçla yapılacağını belirlemek 3. Amaç doğrultusunda log kayıtlarını filtreleyerek verileri ayıklamak Bundan sonraki bölümlerde log analizi yapılırken UNIX araçları kullanılacaktır.
  • 4. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Web Sunucularında Log Analizi Web sunucularında log kaydı yapılırken POST metoduyla yapılan isteklerin kaydı varsayılan olarak tutulmayabilir. Bu durumda mod_forensic veya mod_security modülleri kullanılarak durum telafi edilebilir. POST metoduyla gönderilen veriler loglar içerisinde bulunmamaktadır. Verilere erişmek için ağ trafiğinin incelenmesi gerekmektedir. Yukarıda POST metodu ile gönderilmiş bir isteğin log kaydına ait ekran görüntüsü verilmiştir. Görüldüğü üzere ilgili istekte hangi adrese istek gönderildiği gözükmektedir. Gönderilen paketin kendisine bakıldığında istemcinin sunucuya gönderdiği veriler, yönlendiren sayfa gibi bilgiler de bulunmaktadır. Anlaşılması adına aşağıya örnek bir post isteği eklenmiştir. Apache Bu bölümde Apache sunucusunda barındırılan bir web uygulamasının SQL Injection saldırısına nasıl maruz kaldığını log kayıtlarını inceleyerek görmüş olacağız. Log Kayıtları Apache web sunucusunda log kayıtları /var/log/apache2 klasörü altında access.log ve error.log dosyalarında tutulmaktadır. “access.log” içerisinde sunucuya yapılan isteklerin kaydı tutulmaktadır. Yukarıdaki ekran görüntüsünde “192.168.2.232” IP adresinden “/index.php” sayfasına “GET” metodunda “[18/Aug/2017:15:02:05 +0000]” zaman diliminde, ”Mozilla/5.0 (X11; Linux
  • 5. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity x86_64) AppleWebKit/537.36 (KHTML, lıke Genco) Chrome/60.0.3112.78 Safari/537.36” User- Agent başlığı ile istek gönderilmiştir. “error.log” dosyasında ise sunucunun istekleri işlerken karşılaştığı hatalar bulunmaktadır. Aşağıdaki ekran görüntüsünde “/test” dizinine gitmeye çalışan istemci başarısız olduğu görülmektedir. Saldırı Nasıl Gerçekleşti? SQL Injection saldırısına maruz kalan sunucunun loglarını incelemek için /var/log/apache2 klasörüne gidilir. cat access.log Yukarıdaki komut ile log dosyasına genel olarak bakıldığı zaman aynı IP adresi tarafından çok sayıda SQL lnjection denemesi yapıldığı açıkça gözükmektedir. Eğer injection denemeleri gözle görülür derecede çok yapılmış olmasaydı loglar içerisinde sql saldırılarında en çok kullanılan parametreler aratılırdı.Bunlar union,select,from,or,version gibi parametrelerdir.Bu parametreler grep komutu ile log dosyaları içerisinde aratılabilir. cat access.log | grep -E “%27|--|union|select|from|or|@|version|char|varchar|exec Aşağıda “access.log” dosyası içerisindeki SQL injection kayıtlarına ait ekran görüntüsü verilmiştir. Denemelerin başarılı olanlarını görüntüleyebilmek için sunucudan 200 kodu dönen yanıtların filtrelenmesi gerekmektedir. cat access.log | grep 200 komutu ile filtreleme gerçekleştirilir.
  • 6. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Gerçekleştirilen filtrelemeden sonra görülür ki kullanıcı adı ve parolanın çekildiği SQL sorgusuna 200 yanıtı dönmüştür. Yukarıdaki istek URL decode edildiğinde /cat.php?id=1 UNION SELECT 1,concat(login,':',password),3,4 FROM users; şeklinde bir injection saldırısı gerçekleştiği görülür. Bilgilere erişen saldırganın “admin” paneline giriş yapıp yapmadığını kontrol etmek için cat access.log | grep 192.168.2.232 | grep admin/index.php komutu kullanabiliriz. Admin paneline istekte bulunan saldırganın kayıtlarına ait ekran görüntüsü aşağıda verilmiştir.
  • 7. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Ekran görüntüsünde saldırganın admin paneline POST metodu ile istek gönderdiği görülmektedir. Gönderilen POST isteği Wireshark ile incelendiğinde saldırganın panele giriş yapmış olduğu kesinleşmiştir. Admin paneline gönderilen POST isteğinin detayları aşağıdaki ekran görüntüsünde verilmiştir. Nginx Bu bölümde Nginx sunucuda çalışan uygulamaya gerçekleştirilen sistem üzerindeki dizinlere izinsiz erişim sağlama saldırısı olan directory traversal (dizin listeleme) denemelerinin log kayıtları incelenecektir. Bu saldırıda genellikle nokta-nokta-eğik çizgi ( ../ ) ile dizin değiştirerek farklı dosyalara ulaşılır. Log Kayıtları Nginx sunucularda log dosyaları /var/log/nginx dizini altında Apache sunucularda da olduğu gibi access.log ve error.log dosyaları içerisinde tutulmaktadır. Saldırı Nasıl Gerçekleşti? Saldırının tespiti için “../” veya “..” karakterlerini filtrelememiz saldırıyı analiz etmemiz açısından daha uygun olacaktır. Bunun için cat acess.log | grep ../ komutu kullanılmaktadır. Yukarıdaki çıktıda da görüldüğü üzere saldırgan passwd dosyasını okumaya çalışmıştır. Üçüncü denemeden sonra wget komutu ile sayfayı kendine aktarmıştır.
  • 8. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Aktarılan sayfa incelendiğinde “passwd” dosyası içerisindeki bilgilerin ifşa olduğu görülmektedir. Saldırganın kopyaladığı sayfaya ait ekran görüntüsü aşağıda verilmiştir. IIS IIS sunucuda log kayıtları C:inetpublogsLogFilesW3SVC1 klasörü altında tutulmaktadır. IIS sunucularda bulunan log kayıtların ait örnek ekran görüntüsü aşağıda verilmiştir.
  • 9. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Web Sunucularına Yönelik Saldırılar Web sunuculara yönelik gerçekleştirilen saldırılar genellikle web sunucusunun kendi barındırdığı zafiyetten, uygulama sunucusunun zafiyetinden veya yeterli güvenlik önlemi alınmamış web uygulamasından kaynaklanmaktadır. Uygulama Sunucuları Bu bölümde uygulama sunucularından olan tomcat, jboss, glassfish gibi sunuculardan kaynaklanan güvenlik açıklıklarını inceleyeceğiz. Tomcat Zafiyet mod_jk kullanan sunucudan ve istemci tarafından gönderilen URL adreslerinin decode edilmesine izin veren uygulama sunucusundan kaynaklanmaktadır. Burada amaç directory traversal zafiyetini “..” parametresini 2 kere encode ederek kullanmaktır. “..” → “%2e” →“%252e” Hedef adresin /manager/html uzantısına gidildiğinde sayfaya erişim sağlanamamaktadır. Ancak “/examples/jps/%252e%252e/%252e%252e/manager/html” uzantısına gidilmeye çalışıldığında ise giriş paneli ile karşılaşılmaktadır. Varsayılan kullanıcı adı ve parola denendikten sonra admin paneline erişim sağlanmıştır. Hazırlanmış olan webshell yüklenmeden önce deploy butonunun action kısmının başına “/examples/jsp/%252e%252e/%252e%252e/” eklenir. Bunun nedeni webshell i ana dizine yükleyip giriş paneline ulaşıldığı gibi ana dizin üzerinden webshell e ulaşmaktır. İşlemin ardından webshell yüklenir.
  • 10. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Deploy butonunun action kısmına ait ekran görüntüsü aşağıda verilmiştir. Ardından /examples/jsp/%252e%252e/%252e%252e/test uzantısına gidilerek istenilen komutlar çalıştırılabilir. Webshell’in bulunduğu uzantıya ait ekran görüntüsü aşağıda verilmiştir. Log Kayıtları cat access.log | grep manager/html | grep 200 komutu ile giriş paneline ulaşabilen isteklerin filtrelendiği ve daha sonra URL encode yöntemi ile adrese ulaşıldığı görülmektedir. İlgili ekran görüntüsü aşağıda verilmiştir.
  • 11. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Panele ulaşan saldırganın IP adresi ile loglarda filtreleme yapıldığında; saldırganın gönderdiği istekler incelenmiştir. Gönderilen POST isteği dikkat çekmektedir. cat access.log | grep 192.168.68.1 | grep 200 komutu ile hedefe ait tüm 200 kodlu istekler listelenir. Wireshark’da ip.src == 192.168.68.1 && http.request.method == POST filtresi ile ilgili istek bulunur ve incelemeye alınır. Yukarıdaki ekran görüntüsünde de görüldüğü üzere saldırgan sisteme test.war dosyasını yüklemiştir. Korunma Yöntemleri ● “mod_jk” güncellenerek zafiyet önlenebilir.
  • 12. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity GlassFish Bu bölümde CVE-2011-0807 ile uzaktan kod çalıştırma güvenlik açıklığı ele alınacaktır. Kimlik doğrulama atlatması, varsayılan kullanıcı adı ve parola gibi çeşitli metodlarla panele giriş yapılır ve sisteme zararlı dosya yüklenerek uzaktan erişim sağlanır. Hedef sistemde Sun GlassFish Enterprise Server 2.1 ve Java System Application Server 9.1 bulunmaktadır. Bu durumda Metasploit Framework’de bulunan “exploit/multi/http/glassfish_deployer” exploiti kullanılarak hedef sistem istismar edilir. Öncelikle hedef nmap ile taratılarak sistem üzerindeki açık portlar ve portların ne amaçla kullanıldığı tespit edilmeye çalışılır. Yukarıdaki görselde görüldüğü gibi hedef sistemde GlassFish 2.1 çalışmaktadır. Msfconsole yardımı ile GlassFish için oluşturulmuş exploitler aratılır.
  • 13. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Exploit “use” komutu ile seçilir ve gerekli ayarlamaları yapılır. Exploit için geçekleştirilen ayarlar aşağıdaki ekran görüntüsünde verilmiştir.
  • 14. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity “run” komutu verilerek exploit çalıştırılır. Exploit çalıştırıldıktan sonra meterpreter oturumumuz hazırlanmış ve hedefte komut çalıştırabilir hale gelmiş oluruz. Meterpreter oturumunun aktif olduğu ve hedefte komut çalıştırılabilir olduğuna dair ekran görüntüsü aşağıda verilmiştir.
  • 15. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Log Kayıtları “netstat -an” komutu ile sistemin iletişim kurduğu adresler görüntülenir ve tanınmayan bir adres ile 4444 portundan haberleştiği görülür. Ağ trafiği incelendiğinde saldırganın üç farklı GET isteği gönderdiği görülmektedir. İlgili istekler aşağıdaki ekran görüntüsünde verilmiştir. GET isteklerinin ardından çok sayıda 4444 portu üzerinden TCP trafiği oluşmaktadır. Fakat Metasploit verileri AES ile şifrelediğinden dolayı ağ trafiği üzerinden saldırganın hangi komutları çalıştırdığını öğrenememekteyiz. Korunma Yöntemleri ● Kullanıcı adı ve parolayı varsayılan olarak bırakmamak. ● Güncellemeleri yüklemek.
  • 16. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Jboss Bu bölümde Jboss AS 3,4,5, ve 6. versiyonlarında çalışan uzaktan kod çalıştırma zafiyeti incelenecektir. Hedef sistem Ubuntu 14.04 üzerinde Jboss 6 çalıştırmaktadır. Exploit-db de bulunan 36575 ID numaralı exploit; ● https://www.exploit-db.com/exploits/36575/ …ile zafiyet istismar edilecektir. Exploit indirildikten sonra hedef adres ve port numarası belirtilerek python 36575.py http://192.168.2.105:8080 scripti ile saldırı başlatılır. Ardından istismar işlemi gerçekleştirilir ve shell ekrana gelir. Bu ekranda whoami ve uname - a komutları çalıştırılmıştır.
  • 17. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Log Kayıtları Sunucuya gelen HTTP istekleri incelendiğinde id, whoami, uname -a gibi parametreler dikkat çekmektedir. İlgili paketlerin detayları incelendiğinde sunucunun döndürdüğü yanıt ve isteğin yapıldığı adres görülmektedir. Kayıtlarda görüldüğü gibi istekler /jbossass/jbossass.jps adresine yapılmaktadır.
  • 18. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity İsteğin yapıldığı dosya sunucuda find /opt/jboss-6.0.0.Final/ -type f -name "jbossass.jsp" komutu ile aratılır. Aşağıda bulunan “jbossass.jsp” dosyasının kaynak koduna ait ekran görüntüsü verilmiştir. İlgili dosya incelemeye alındığında bir webshell olduğu görülmektedir. Korunma Yöntemleri ● JBoss EAP 7 ye yükseltme yapmak. ● Yazılımları yetkisiz bir kullanıcı ile çalıştırmak.
  • 19. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Web Uygulamaları OWASP’ın 2017 yılında yayınladığı verilere göre web uygulamalarında en çok karşılaşılan güvenlik zafiyetleri şunlardır: ● A1-Injection ● A2-Broken Authentication and Session Management ● A3-Cross-Site Scripting (XSS) ● A4-Broken Access Control ● A5-Security Misconfiguration ● A6-Sensitive Data Exposure ● A7-Insufficient Attack Protection ● A8-Cross-Site Request Forgery (CSRF) ● A9-Using Components with Known Vulnerabilities ● A10-Underprotected APIs Injection Injcetion, sunucuya gönderilen sorguya çeşitli parametreler eklenerek manipüle edilmesidir. SQL Injection, SQL sorgularının manipüle edilerek veritabanına istenilen sorgunun gönderilmesidir. Bu makale SQL injection saldırısını temel düzeyde bilindiği varsayılarak anlatılmıştır. SQL injection hakkında detaylı bilgi için; ● https://www.bgasecurity.com/makale/sql-sql-injection-ve-sqlmap-kullanimi/ …makalesini inceleyebilirsiniz. Burada SQL injection saldırısını tespit etmek isteyen bir kişinin hangi aşamaları denemesi gerektiğine kısaca değineceğiz. Tespit aşamalarındaki asıl amacımız hata mesajları almaktır. Aldığımız hata mesajlarında kullanılan veritabanı bilgisi vb. detayları elde edeceğiz. Bunun için; ● Kullanılan en temel payload ‘ (tek tırnak) karakteridir. ● Sütun sayısı tespit edilebilir. Bunun için aşağıda verilen payload kullanılabilir. ?id=6 ORDER BY 6-- ● Bir sütundaki tüm verilerin aynı veri türüne sahip olması gerekmektedir. Bunun için aşağıda verilen payload kullanılarak sütun türü tespit edilebilir. ?id=6 UNION SELECT 1,null,null--
  • 20. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity ● Mantık tabanlı SOL injection zafiyetinin tespiti için aşağıda verilen payloadlar kullanılabilir. test.php?id=6 test.php?id=7-1 test.php?id=6 OR 1=1 test.php?id=6 OR 11-5=6 ● Zaman tabanlı SOL injection zafiyetinin tespiti için aşağıda verilen payloadlar kullanılabilir. SLEEP(25)-- SELECT BENCHMARK(1000000,MD5('A')); userID=1 OR SLEEP(25)=0 LIMIT 1-- userID=1) OR SLEEP(25)=0 LIMIT 1-- userID=1' OR SLEEP(25)=0 LIMIT 1-- userID=1') OR SLEEP(25)=0 LIMIT 1-- userID=1)) OR SLEEP(25)=0 LIMIT 1-- userID=SELECT SLEEP(25)-- Örnek SQL Injection Saldırısı Bu örnekte sadece kullanıcıdan user id numarasını isteyen bir web uygulamasını ele alacağız. ID numarası girildiğinde girilen numaraya ait kullanıcının ad ve soyad bilgileri dönmektedir. ID’ si 2 olan kullanıcıya ait bilgilere ait detaylar aşağıdaki ekran görüntüsünde verilmiştir.
  • 21. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Fakat uygulamanın beklemediği manipüle edilmiş bir sorgu gönderilirse güvenlik önlemi alınmamış web uygulaması injection saldırısına maruz kalmış olacaktır. Örneğin aşağıda ' or 0=0 union select null, version() # sorgusu ile veritabanı versiyonu çekilmiştir.Bu sorguda tırnak işareti ile bir önceki sorgunun tamamlanması sağlanırken “or 0=0” ifadesi ile sonucun her zaman doğru olması sağlanmıştır.”union select null, version()” ile de versiyon bilgisi çekilmiştir.Son olarak “#” işareti ile de sorgunun devamının yorum satırı olarak kalması sağlanmıştır. Yukarıdaki gibi id bilgisi bekleyen bir sql sorgulu sql injection saldırısı ile aşağıdaki hale bürünerek manipüle edilmiştir ve veri sızıntısına neden olmuştur. Alttaki görselde çalıştırılan sorgunun döndürdüğü yanıt gösterilmektedir.
  • 22. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Log Kayıtları SQL Injection saldırılarında en çok kullanılan karakter ve kelimeler ‘ , -- , union , select , from , or , @ , version , char , varchar , exec olduğu tespit edilmiştir. İlgili karakterler URL encode edildiğinde aşağıdaki gibi bir Linux komutu oluşmaktadır. cat access.log | grep -E “%27|--|union|select|from|or|@|version|char|varchar|exec İlgili komut kullanılarak alınan “access.log” dosyasına ait çıktı aşağıdaki ekran görüntüsünde verilmiştir. acces.log dosyasındaki kayıt URL decode edildiğinde ' or 0=0 union select null, version() # sorgusu gönderildiği anlaşılmaktadır. Korunma Yöntemleri ● Hazırlanmış sorgu ifadeleri kullanmak ● Gönderilen veriyi kontrol etmek ● Gönderilen veriyi filtrelemek ● Kullanıcı yetkilerini kısıtlamak …alınabilecek önlemlerdir.
  • 23. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Broken Authentication and Session Management Oturum güvenliğinin tam olarak sağlanmamasından kaynaklanan güvenlik zafiyetidir. Örnek Saldırı Bu saldırıda amaç cookie bilgilerinin değiştirilerek herhangi bir kimlik doğrulama mekanizmasına takılmadan istenilen kullanıcı hesabına geçmek olacaktır. İlk olarak sisteme giriş yapılır. Sisteme “user1” olarak giriş yapılmıştır. Ardından cookie değeri kontrol edilir. “user1” kullanıcısının cookie değerine ait ekran görüntüsü aşağıda verilmiştir. Görüldüğü gibi cookie değeri kullanıcı adı ile aynı olmaktadır. Cookie değeri admin olarak değiştirildiğinde eğer sistemde admin kullanıcısı var ise admin kullanıcısına geçiş yapılmış olunacaktır.
  • 24. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Cookie verisinin değiştirilmesine ait ekran görüntüsü aşağıda verilmiştir. Admin kullanıcısına geçildiğine dair ekran görüntüsü aşağıda verilmiştir. Sonuç olarak herhangi bir parola kullanılmadan, sadece cookie değeri değiştirilerek admin kullanıcısına geçiş yapılmıştır. Log Kayıtları Log kayıtları incelendiğinde dikkat çeken herhangi bir durum olmadığı görülmektedir. İncelenen log kayıtlarında “user1” kullanıcısı ile giriş yapıldığına dair ekran görüntüsü aşağıda verilmiştir.
  • 25. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Fakat ağ trafiği ile gönderilen isteklerin detaylarına bakıldığı zaman cookie değerlerinde anormallik olduğu görülmüştür. Aşağıda 192.168.68.1. adresinden sisteme giren kullanıcının cookie değerine ait ekran görüntüsü verilmiştir. Aynı IP adresinden sisteme gönderilen 2. istekteki cookie değerine ait ekran görüntüsü ise aşağıda verilmiştir. Ekran görüntülerinde de görüldüğü üzere aynı IP adresinden sisteme bağlanan kişi, cookie değerlerini değiştirerek “admin” kullanıcısına geçiş yapmıştır. Korunma Yöntemleri ● Güçlü kimlik kontrolü ve oturum yönetimi sağlamak ● Cookie bilgilerinin çalınmaması için XSS saldırılarını önlemek
  • 26. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Cross-Site Scripting (XSS) XSS, HTML ve JavaScript yardımı ile birlikte bir sitede istemci tarafından kod çalıştırılmasına olanak sağlayan saldırı türüdür. Bununla beraber cookie çalma, sayfa yönlendirme gibi saldırılar da düzenlenebilir. XSS genelde GET ve POST metodlarının kullanıldığı bölümlerde bulunmaktadır. Arama kutusu, galeri, mesajlar, üyelikler gibi girdi alan alanlarda bulunur. Tespiti için kullanılan payload genelde "><script>alert(1)</script> şeklindedir. Tabi bu payload çok klasik bir örnektir. Filtreleme durumuna göre farklı event handler (onclick, onload, onmouseover vb.) kullanılabilir. XSS hakkında detaylı bilgi ve örnekler için; ● https://wiki.bgasecurity.com/index.php?search=XSS&title=%C3%96zel%3AAra&go=Git …sitesini ziyaret edebilirsiniz. Örnek Saldırı Bu örnek saldırıda ziyaretçi defteri için mesaj yazılması gereken bölüme JavaScript kodu eklenerek zafiyet sömürülecektir. Bunun için ilk olarak mesaj bölümüne uygun JavaScript kodu yazılıp gönderilir. Örnek olarak yazılan kodla birlikte açıklık istismar edilirse ekrana pop-up mesajı olarak “1” yazılacaktır. Ziyaretçi defterine beklenilen iletinin dışında JS kodu yazılarak uygulama istismar edilmeye çalışılır. Mesaj gönderildikten sonra sayfayı ziyaret eden kullanıcılar yazılan koddan etkilenirler.
  • 27. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Aşağıda sayfayı ziyaret eden kullanıcının JavaScript kodundan etkilendiğine dair ekran görüntüsü verilmiştir. Sayfanın kaynak koduna bakıldığında javascript kodunun eklendiği görülür. Log Kayıtları Log kayıtları incelendiğinde POST metodu ile ilgili sayfaya veri gönderildiği görülmüştür. Ayrıntıları görebilmek için ağ trafiği incelenir.
  • 28. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity İncelenen trafikte kayıtlarda da görüldüğü üzere saldırgan mesaj bölümüne JavaScript kodu enjekte edilmiştir. GET metodu ile gerçekleştirilen XSS saldırılarının tespiti için log dosyalarında bazı anahtar kelimeleri filtrelemek gerekmektedir. XSS saldırılarında en çok kullanılan karakter ve kelimeler <, >, alert, script, src, cookie, onerror, document’ tir. Grep komutu ile arama filtreleme yapılırken ‘<’ ve ‘>’ karakterlerinin URL encode edilmiş halini aratmak gerekmektedir. Sonuç olarak ortaya; cat access.log | grep -E "%3C|%3E|alert|script|src|cookie|onerror|document …şeklinde bir komut çıkmaktadır. Örnek bir XSS saldırı tespitine dair ekran görüntüsü aşağıda verilmiştir. Korunma Yöntemleri ● Girdiyi doğrulamak (girilen verinin gerçekten istenen türden bir veri olduğunu kontrol etmek). ● Blacklist yerine whitelist kullanmak.
  • 29. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Security Misconfiguration Bu zafiyet, güvenlik yapılandırmalarının yanlış, zayıf veya varsayılan şekilde bırakılmasından kaynaklanmaktadır. Örnek Saldırı Bu örnek saldırıda, sistemin otomatik oluşturduğu “admin” kullanıcısının parolasının değiştirilmemesi sonucu saldırgan varsayılan kullanıcı adı ve parola ile sisteme giriş yapabilmektedir. Korunma Yöntemleri ● Varsayılan yapılandırmaları düzenlemek. ● Yazılımları güncel tutmak. ● Kullanılmayan servis ve portları devre dışı bırakmak. Cross-Site Request Forgery (CSRF) CSRF, siteler arası istek sahteciliği anlamına gelmektedir. Kullanıcıya kendi isteği dışında saldırganlar tarafından işlemler yaptırılmasıyla gerçekleştirilen bir saldırı türüdür. Örnek Saldırı Bu örnek saldırıda amacımız, sahte bir web sayfası ile hedef uygulamaya istek göndererek kurbanın parolasını değiştirmek olacaktır. Sahte web sayfasında sadece “tıkla” butonu bulunmaktadır. İlgili butona ait ekran görüntüsü aşağıda verilmiştir. Sahte sayfanın kaynak koduna dair ekran görüntüsü aşağıda verilmiştir.
  • 30. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Sahte sayfamızda şu işlem gerçekleştirilecektir; eğer kurban “tıkla” butonuna tıklarsa hedef uygulamaya parolasını 123456 olarak değiştirmek istediğine dair bir istek göndermiş olacaktır. …ve butona tıklamış olan kullanıcının parolası değişecektir. İlgili ekran görüntüsü aşağıda verilmiştir. Log Kayıtları Gerçekleştirilen saldırı üzerine log kayıtları incelendiğinde, kurban tarafından uygulamaya parola dair istek geldiği ve kullanıcının parolasının değiştiği görülmektedir. Korunma Yöntemleri ● Frameworklerin sunduğu CSRF korunma mekanizmalarını kullanmak. ● Token ve session kullanmak.
  • 31. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Sunucu Zafiyetleri Bu bölümde sunucunun kendisinden kaynaklanan zafiyetler incelenecektir. İncelenen zafiyetlerin dışında daha fazlası için; ● http://www.cvedetails.com …adresi ziyaret edilebilir. Apache Apache sunucu için “Shellshock” olarak anılan ve uzaktan komut çalıştırmaya yarayan CVE- 2014-6271 kodlu zafiyet ele alınacaktır. Apache sunucularında genellikle mod_cgi ve mod_cgid modüllerini kullanan sitemler zafiyetten etkilenmekte ve 1.14 ile 4.3 arası olan bash sürümleri tehdit altında olmaktadır. HTTP_USER_AGENT çevre değişkeni kötü amaçlı olacak şekilde değiştirilip CGI komut dosyalarına hedefleyerek zafiyet istismar edilebilmektedir. Örnek Saldırı Gerçekleştirilecek örnek saldırı için hedef üzerinde sunucudan “uptime” ve “kerne”l bilgilerini çeken script çalışmaktadır. Aşağıdaki komut ile hedef adresin “passwd” dosyası okunmak istenmektedir. echo -e "HEAD /cgi-bin/status HTTP/1.1rnUser-Agent: () { :;}; echo $(</etc/passwd)rnHost: HEDEF_ADRESrnConnection: closernrn" | nc HEDEF_ADRES 80 Gelen yanıtın HTTP başlığı incelendiğinde “passwd” dosyasının içeriği görüntülenmektedir.
  • 32. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity User-agent başlık bilgisi değiştirilmiş isteğin hedefe gönderildiğine dair ekran görüntüsü aşağıda verilmiştir. Log Kayıtları Log kayıtları incelendiğinde /cgi-bin/status adresine HEAD isteği gönderildiği dikkat çekmektedir. Aynı zamanda çeşitli parametreler ile gönderilen /etc/passwd bölümü göze çarpmaktadır. Dönen yanıtı görüntülemek üzere ağ trafiği incelenir. …“cgi-bin/status” dosyasına gönderilen istek aşağıdaki ekran görüntüsünde verilmiştir.
  • 33. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Gerçekleştirilen isteğe sunucu tarafından döndürülen yanıta dair ekran görüntüsü aşağıda verilmiştir. Dönen yanıta incelendiğinde sunucu bilgilerinin ifşa olduğu görülmektedir. Korunma Yöntemleri ● Bash’i güncel versiyona yükseltmektir. Bunun için kullanılması gereken komut; sudo apt-get update && sudo apt-get install --only-upgrade bash
  • 34. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Nginx Nginx sunucusu için bulunan güvenlik açıklıklarına bakıldığında son yıllarda kritik düzeyde bulunan bir zafiyet görünmemektedir.
  • 35. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity IIS Bu bölümde 2 adet zafiyetten bahsedilecektir. Bunlar CVE-2017-7269 ve MS15-034 tür. MS15-034 Bu güvenlik açıklığında windows sisteme özel hazırlanmış bir HTTP isteği gönderildiğinde uzaktan kod çalıştırması mümkün kılınmaktadır. Zafiyetten etkilenen versiyonlar: Windows 7, Windows Server 2008 R2, Windows 8, Windows Server 2012, Windows 8.1, and Windows Server 2012 R2 işletim sistemlerinde HTTP.sys in kullanıldığı herhangi bir IIS sürümü barındıran makineler. Hedef nmap ile taratıldığında Windows Vista,2000 veya 7 kullandığı ve aynı zamanda IIS 7.5 in aktif olduğu görülür. İlgili zafiyetin hedef için geçerli olup olmadığını anlamak için hedefe “Range” başlığı eklenmiş http talebi gönderilir. Eklenen aralık sunucu tarafından işlenecektir. wget --header="Range: bytes=0-18446744073709551615" http://192.168.10.169/welcome.png Yukarıdaki komut girilir ve alınan “416 Requested Range Not Satisfiable” çıktısından dolayı zafiyetin mevcut olduğu anlaşılır. Ardından Range aralığı değiştirilerek tekrar gönderilir ve aşırı yük altında kalmış olur. wget --header="Range: bytes=18-18446744073709551615" http://192.168.10.169/welcome.png
  • 36. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Windows güncelleştirmelerinin kurulmasıyla ilgili zafiyetten kurtulmak mümkündür. CVE-2017-7269 Windows Server 2003 R2 üzerinde IIS 6.0 çalışan makinede bulunan CVE-2017-7269 güvenlik açıklığı ele alınacaktır. Açıklık IIS 6.0’daki WebDAV servisinde bulunan ScStoragePathFromUrl fonksiyonunun buffer overflow saldırısına maruz kalmasından kaynaklanmaktadır. Metasploitte bulunan “iis_webdav_scstoragepathfromurl” exploiti kullanılarak zafiyet istismar edilebilmektedir.
  • 37. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Exploit için gerçekleştirilen ayarlara ait ekran görüntüsü aşağıda verilmiştir.
  • 38. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Zafiyetin istismarı sonucu elde edilen meterpreter oturumuna dair ekran görüntüsü aşağıda verilmiştir.
  • 39. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Programlama Dili Zafiyetleri PHP PHP’nin barındırdığı mail() fonksiyonu ve bunu kullanan “Phpmailer” kütüphanesi milyonlarca kişi tarafından kullanılmaktadır. “mail()” fonksiyonunun fazladan parametre gönderme özelliğinin tam olarak denetlenmeden kullanılmasından dolayı uzaktan kod çalıştırma zafiyeti meydana gelmektedir. İlgili açıklığın kodu “CVE-2016-10033” tür. Örnek Saldırı Örnek olması için güvenlik açığı barındıran bir uygulama kurulur. Ardından daha önce bu açıklık için hazırlanmış olan exploit çalıştırılır. İlgili exploit aşağıda verilen link üzerinden indirilebilir. ● https://github.com/opsxcq/exploit-CVE-2016-10033 Hedef adrese gerçekleştirilen exploit işlemine dair ekran görüntüsü aşağıda verilmiştir. Exploit işlemi gerçekleştirildikten sonra uzaktan komut çalıştırılabilir bir halde sistem beklemektedir.
  • 40. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Zafiyetin istismar edildiği ve uzaktan komut çalıştırıldığına dair ekran görüntüsü aşağıda verilmiştir. Log Kayıtları Zafiyete ait ağ trafiği incelendiğinde “backdoor.php” uzantısına GET istekleri gönderildiği farkedilmektedir. Gönderilen komutlar base64 ile decode edildiğinde saldırganın çalıştırdığı komutlar ifşa olmaktadır. Korunma Yöntemleri ● Zafiyet 5.2.18 altındaki sürümleri etkilemektedir. Güncelleme yaparak zafiyetten korunulabilir.
  • 41. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Java Bu başlık altında Java Play Framework’de oluşan “Session Injection” zafiyeti incelenecektir. Zafiyet oturum kodlamasından (session encode) kaynaklanmaktadır. Örnek Saldırı Hedef uygulama ekrana kullanıcının admin haklarına sahip olup olmadığını söylüyor. Burada saldırganın amacı admin haklarına erişmek olacaktır. İlk olarak normal bir şekilde user adı altında kayıt yapılır ve gönderilen istekler incelenir. Burada admin kullanıcısının olduğunu varsayılarak admin kullanıcısına geçmek için null byte’lardan faydalanılır. Yeni bir kayıt oluşturulur ve kullanıcı adından sonra %00%00admin%3a1%00 parametresi eklenerek injection tamamlanır. Burada oluşturulacak yeni oturumun admin:1 parametresi ile sunucu tarafından yanlış yorumlanıp admin haklarına erişmesi sağlanmaktadır.Boş karakterler kullanılarak admin:1 parametresinin bir önceki parametre olan kullanıcı adından ayrılması sağlanır.
  • 42. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Kayıt ekranına ait kullanıcı arayüzü aşağıda verilmiştir. Gönderilen istek üzerinde kullanıcı adının sonuna %00%00admin%3a1%00 parametresi eklenir. Gerçekleştirilen istek sonrası uygulama üzerinde admin haklarına erişim sağlandığına dair ekran görüntüsü aşağıda verilmiştir. Log Kayıtları Log kayıtları incelendiğinde “test” kullanıcısının normal bir şekilde kayıt olmuş gibi gözüktüğü fakat cookie değeri incelendiğinde injection saldırısı gerçekleştiği görülmektedir.
  • 43. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Register sayfasına gönderilen POST isteğine dair ekran görüntüsü aşağıda verilmiştir. Kayıt sonrası istek ve sunucunun döndürdüğü yanıta dair ekran görüntüsü aşağıda verilmiştir. Korunma Yöntemleri ● Bu zafiyet güncelleme ile giderilmiştir. Güncelleme yapılarak zafiyetten korunulabilir.
  • 44. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Sunucuya Yüklenmiş Shell’i Bulmak Shell, yüklendiği sunucu üzerinde yükleyen kişiye sahip olduğu hakları aktaran scripttir. c99,r57 bilinen en popüler shell’lerdendir. Bu bölümde PHP shellerinden bahsedeceğiz. Basit bir komut çalıştırma olanağı sağlayan shell örneğine bakacak olursak sıradan komutların dışında system() fonksiyonunu çalıştırdığı görülür. Aşağıda basit bir PHP shell’ine ait ekran görüntüsü verilmiştir. Bu durumda eğer sunucu içerisinde system() fonksiyonunu çağıran dosyalar ayıklanırsa yüzlerce dosya arasından aranan zararlı dosya daha rahat bulunabilir. grep -Rn "system *(" /var/www komutu ile /var/www dizini altındaki system fonksiyonunu çağıran bütün dosyaları taranmış olur. Farklı bir PHP shell incelendiğinde ise system fonksiyonu yerine shell_exec() fonksiyonunun tercih edildiği görülmektedir. Daha önce bahsedildiği gibi kullanılmış farklı fonksiyonlara dikkat edildiğinde shell_exec() ve eval() fonksiyonu da göze çarpmaktadır.
  • 45. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Yani shell araması yapılırken shell_exec ve eval fonksiyonları da taratılmalıdır. PHP shell’ler incelendiğinde genellikle passthru, shell_exec, system, phpinfo, base64_decode, edoced_46esab, chmod, mkdir, fopen, fclose, readfile, php_uname ve eval gibi paremetreler içerdiği gözlenmiştir. Bunun için aşağıdaki tablo içerisinde verilen komut ile gerçekleştirilen bir taramada sunucu içerisindeki shel’leri bulmak mümkündür. grep -RPn "(passthru|shell_exec|system|phpinfo|base64_decode|chmod|mkdir| fopen|fclose|readfile|php_uname|eval) *(" /var/www
  • 46. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Shell Gizleme Yöntemleri Sistem yöneticisi tarafından veya dosya yükleme işlemi gerçekleştirirken güvenlik duvarına takılmamak için saldırganlar bazı shell gizleme yöntemleri uygulamaktadır. Bu başlık altında bu yöntemlere değineceğiz. Uzaktan Çağırma Bu yöntemde shell aslında hedef sunucuda barındırılmaz. Başka bir adresten shell’e ait olan kodlar çekilir ve hedef sunucuda çalıştırılır. Şifrelenmiş Kod Shell’in kodunun şifrelenmesi ile eğer varsa güvenlik duvarı atlatılmaya çalışılır. Resim İçerisine Gizleme Burada zararlı kod herhangi bir resmin exif bilgileri içerisine yerleştirilir ve PHP ile resmin exif bilgileri okunarak kod çalıştırılır. İlk olarak exiftool yardımı ile görselin exif bilgilerine istenilen kodlar yerleştirilir. “exif” bilgileri değiştirilen görsele ait ekran görüntüsü aşağıda verilmiştir.
  • 47. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Daha sonra resim içerisinden exif bilgilerini okuyacak PHP kodu yazılır. Bu tarz gizleme yöntemleri ile güvenlik duvarları aşılabilmektedir. İş shell’i bulmaya gelince sunucudaki dosyaların grep yardımı ile tek tek aratılmasıyla çok da zor olmamaktadır. Fakat daha önce bahsedilen fonksiyonların dışında exif_read_data() ve preg_replace() fonksiyonlarını da taratmak gerekecektir. Yukarıda görüldüğü gibi şifrelenmiş shell, resim içerisine gizlenmiş shell ve uzaktan çağırılan shelllerin hepsinin yeri tespit edilmiştir.
  • 48. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Hacklenmiş Web Sunucu Analizi Bu bölümde tamamıyla ele geçirilmiş, içerisinde Wordpress bulunan web sunucusunun saldırı sonrası analizi ile nasıl ele geçirildiği incelenecektir. İlk olarak saldırganın admin paneline erişip erişmediğini anlamak için; cat access.log | grep POST | grep wp-login …komutu girilir. Yukarıda verilen ekran görüntüsündeki çıktıda görüldüğü gibi aynı IP üzerinden admin paneli giriş sayfasına çok sayıda POST isteği gönderilmiştir. İstekle beraber gönderilen veriyi kontrol etmek için ağ trafiği incelenir. Bunun için Wireshark’da; ip.src == 192.168.2.232 && ip.dst == 192.168.2.31 && http.request.method == POST …filtresi kullanılarak saldırgan üzerinden web sunucusuna giden POST istekleri listelenir.
  • 49. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity İstekler incelendiğinde “wp-login” sayfasına kaba kuvvet saldırısı gerçekleştirildiği tespit edilmiştir. Saldırı sonucunda admin:admin olarak doğru kullanıcı adı ve parola bulunmuştur. “error.log” dosyası incelendiğinde ise fscockopen() fonksiyonunun devreye sokulmak istendiği görülmektedir. Böylece saldırganın admin panelinde ne yaptığı tahmin edilebilmektedir. cat error.log komutu ile error.log sayfası okunur. Dosya detaylarına bakıldığında /wordress/test123123 sayfasına istek gönderidiği tespit edilmiştir. İlgili ekran görüntüsü aşağıda verilmiştir. Saldırgan erişilemeyen bir sayfaya giderek 404 hatası almak istemiştir. Böylece klasik 404 hata sayfası yerine kendi yerleştirmiş olduğu kodun çalışacağı düşünülür. Ağ trafiğini inceleyerek veya admin paneline giriş yaparak değişikliğe bakalabiliriz.
  • 50. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Değişikliklere bakıldığında 404 hata sayfasının içeriğinin saldırgan tarafından değiştirildiği tespit edilmiştir. Saldırganın hata sayfası için kullandığı kod parçası aşağıdaki ekran görüntüsünde verilmiştir. Saldırganın 404 hata kodu sayfası için kullandığı kod incelendiğinde kendi adresine 1234 portundan erişim açtığı görülmektedir. Saldırgan kendine açtığı bu kapı ile www-data hakları ile sunucuya erişim sağlamış olacaktır. Bu durumda “www-data” kullanıcısının sunucuda çalıştırdığı komutlar incelemeye alınır.
  • 51. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Saldırganın sunucuda çalıştırdığı komutlara dair ekran görüntüsü aşağıda verilmiştir. …“wp-config.php” dosyasını okuyan saldırgan root kullanıcısına geçmiştir. wp-config.php dosyasına bakıldığı zaman root kullanıcısının parolası ile aynı olan database parolası gözükmektedir. wp-config.php dosyasının içeriğine dair ekran görüntüsü aşağıda verilmiştir. Yukarıdaki parola ile saldırgan root yetkisine ulaşarak sunucunun tamamını ele geçirmiştir.
  • 52. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity Sonuç Kitapçıkta incelendiği gibi saldırganlar web sunucusunu ele geçirebilmek için çeşitli yollardan saldırabilmektedirler. Saldırıların tespiti için log analizi ve ağ trafiğinin iyi kontrol edilmesi gerekmektedir. Bunun için etkili analiz için saldırı vektörlerini bilmek ve iyi anlamak gerekir. Bazen güvenlik açıklığı kullandığınız sunucudan ya da programlama dilinden kaynaklanabilir. Bundan dolayı sunucudaki bileşenleri sürekli güncel tutmak gerekmektedir. Referanslar ● https://www.acunetix.com/blog/articles/using-logs-to-investigate-a-web- application-attack/ ● https://httpd.apache.org/docs/1.3/logs.html ● https://www.owasp.org/index.php/Top_10_2017-Top_10 ● https://www.conetix.com.au/blog/root-cause-analysis-hacked-wordpress-website ● https://docs.microsoft.com/en- us/iis/configuration/system.applicationhost/sites/sitedefaults/logfile/ ● https://www.cisecurity.org/advisory/a-vulnerability-in-jboss-application-server- could-allow-for-remote-code-execution/ ● https://pentesterlab.com/ ● https://www.rapid7.com ● https://th3w1tch.wordpress.com/2012/06/21/finding-vulnerabilities-backdoor-php- shell-script-on-a-server/ ● http://resources.infosecinstitute.com/checking-out-backdoor-shells/#gref ● https://www.trustwave.com/Resources/SpiderLabs-Blog/Hiding-Webshell-Backdoor- Code-in-Image-Files/ ● https://vexatioustendencies.com/php-backdoor-obfuscation-techniques/ ● https://github.com/opsxcq/exploit-CVE-2016-10033 ● https://www.netsparker.com.tr/blog/web-guvenligi/Meraklisi-icin-PwnScriptum- Zafiyeti-PHP-Mailer-Remote-Code-Execution/ ● http://www.sqlinjectionwiki.com/categories/2/mysql-sql-injection-cheat-sheet/ ● https://wiki.bgasecurity.com/Ana_Sayfa
  • 53. [HACKLENMİŞ WEB SUNUCU ANALİZİ] BGA Bilgi Güvenliği A.Ş. | bgasecurity.com | @bgasecurity BGA Bilgi Güvenliği A.Ş. Hakkında BGA Bilgi Güvenliği A.Ş. 2008 yılından bu yana siber güvenlik alanında faaliyet göstermektedir. Ülkemizdeki bilgi güvenliği sektörüne profesyonel anlamda destek olmak amacı ile kurulan BGA Bilgi Güvenliği, stratejik siber güvenlik danışmanlığı ve güvenlik eğitimleri konularında kurumlara hizmet vermektedir. Uluslararası geçerliliğe sahip sertifikalı 50 kişilik teknik ekibi ile, faaliyetlerini Ankara ve İstanbul ve USA’da sürdüren BGA Bilgi Güvenliği’nin ilgi alanlarını “Sızma Testleri, Güvenlik Denetimi, SOME, SOC Danışmanlığı, Açık Kaynak Siber Güvenlik Çözümleri, Büyük Veri Güvenlik Analizi ve Yeni Nesil Güvenlik Çözümleri” oluşturmaktadır. Gerçekleştirdiği başarılı danışmanlık projeleri ve eğitimlerle sektörde saygın bir yer edinen BGA Bilgi Güvenliği, kurulduğu günden bugüne alanında lider finans, enerji, telekom ve kamu kuruluşlarına 1.000'den fazla eğitim ve danışmanlık projeleri gerçekleştirmiştir. BGA Bilgi Güvenliği, kurulduğu 2008 yılından beri ülkemizde bilgi güvenliği konusundaki bilgi ve paylaşımların artması amacı ile güvenlik e-posta listeleri oluşturulması, seminerler, güvenlik etkinlikleri düzenlenmesi, üniversite öğrencilerine kariyer ve bilgi sağlamak için siber güvenlik kampları düzenlenmesi ve sosyal sorumluluk projeleri gibi birçok konuda gönüllü faaliyetlerde bulunmuştur. BGA Bilgi Güvenliği AKADEMİSİ Hakkında BGA Bilgi Güvenliği A.Ş.’nin eğitim ve sosyal sorumluluk markası olarak çalışan Bilgi Güvenliği AKADEMİSİ, siber güvenlik konusunda ticari, gönüllü eğitimlerin düzenlenmesi ve siber güvenlik farkındalığını arttırıcı gönüllü faaliyetleri yürütülmesinden sorumludur. Bilgi Güvenliği AKADEMİSİ markasıyla bugüne kadar “Siber Güvenlik Kampları”, “Siber Güvenlik Staj Okulu”, “Siber Güvenlik Ar- Ge Destek Bursu”, “Ethical Hacking yarışmaları” ve “Siber Güvenlik Kütüphanesi” gibi birçok gönüllü faaliyetin destekleyici olmuştur.