Velociraptor – Açık Kaynak DFIR Aracı

Velociraptor – Açık Kaynak DFIR Aracı

Bu yazıda diğer DFIR araçlarına açık kaynak bir alternatif olan, tehdit avcılarının ve diğer siber güvenlik uzmanlarının kullanabileceği web ara yüzüne sahip, kolayca geliştirilebilir, kapsamı genişletilebilir bir araç olan Velociraptor aracının kurulumunu ve basitçe neler yapılabileceğini göstereceğim.

Velociraptor

Velociraptor, Velocidex Company tarafından geliştirilen ücretsiz ve açık kaynaklı bir yazılım projesidir. Velociraptor genellikle GRR, OSQuery ve Google’ın Rekall araçlarını temel alır. Velociraptor, kullanıcıların Adli Kanıtları toplama, Tehdit Avcılığı, Artefaktları izleme, Uzaktan triaj sürecini yürütme  işlemlerini yapmasına olanak tanır. Açık kaynaklı bir platform olarak Velociraptor, Adli Bilişim araştırmacılarının ve siber güvenlik uzmanlarının girdileri ve geri bildirimlerini dikkate alarak gelişmeye devam etmektedir.

Velociraptor yerel olarak Linux, Windows ve macOS üzerinde çalışır. SCCM veya Group Policy kullanarak birkaç dakika içinde bir sunucu ayağa kaldırabilirsiniz.

Velociraptor, 2019’da piyasaya sürüldü. GRR’ye benzer şekilde, Velociraptor binlerce makinede avlanmaya da izin vermektedir. OSQuery’den esinlenen Velociraptor, SQL’e benzeyen ancak sorgu dilini daha güçlü bir şekilde genişleten VQL (Velociraptor Sorgu Dili) adlı yeni bir sorgu dili kullanarak çalışmaktadır. Velociraptor ayrıca kurulum kolaylığı ve çok düşük gecikme özelliklerini vurgulayarak ön plana çıkmaktadır – tipik olarak birkaç saniye içinde binlerce endpoint üzerinden veri toplar.

Yukarıdaki şekil , Velociraptor mimarisine genel bir bakışı göstermektedir. Velociraptor sunucusu, komut ve kontrol için endpoint aracılarıyla (İstemciler olarak adlandırılır) iletişimi korur. Web tabanlı yönetim kullanıcı arayüzü, bireysel istemcileri görevlendirmek, avları çalıştırmak ve veri toplamak için kullanılır.

Sonuç olarak, Velociraptor agentları basitçe VQL motorlarıdır – agent’ın tüm görevleri, VQL motorunun yürüttüğü VQL sorgularıdır. VQL sorguları, tıpkı veritabanı sorguları gibi, sütunlar (sorgu tarafından dikte edildiği gibi) ve birden çok satır içeren bir tabloyla sonuçlanır. Agent, sorguyu yürütür ve sonuçları basitçe dosya olarak depolayan sunucuya geri gönderir. Bu yaklaşım, sunucunun sonuçları yalnızca dosyalarda saklamak dışında gerçekten işlemediği anlamına gelir. Bu nedenle, sunucu üzerindeki yük minimum düzeydedir ve büyük ölçüde ölçeklenebilir performansa izin verir.

Uygulama

Yukarıda belirtildiği üzere, Windows, Linux veya bulut dağıtımları gibi birkaç agent bulunmaktadır. Bu agentlar, 8000 numaralı TCP portuna bağlantı sağlarken, araştırmacı tarafında uzmanlar 8889 numaralı TCP portunu kullanarak web arayüzüne bağlanacaktır. Bu yapının en iyi yanı, bilgisayarlardan herhangi biri ofisten veya başka bir ortamdan ayrılırsa ve evden veya herhangi bir yerde çalışırsa, sunucuya raporlama yapmaya devam edebilecektir.

Bu uygulamayı Windows ortam üzerinde yapacağız bunun için bazı ön gereksinimler bulunmaktadır :

Kurulum

Öncelikli olarak Windows üzerine Velociraptor sunucusunu kuracağız. Yukarıda verilen Velociraptor Windows linki üzerinden uygulamayı indiriyoruz. İndirme işleminin tamamlanmasının ardından uygulamayı çalıştırarak kurulumunu gerçekleştiriyoruz.

Kurulum işleminin ardından yukarıda görüldüğü üzere “ C:\Program Files\Velociraptor” dizini altında “Velociraptor.exe” dosyası oluşacaktır. Admin izinleriyle komut satırını çalıştırıyoruz ve yukarıda görülmekte olan dizine gidiyoruz. Komut satırına aşağıdaki komutu girerek konfigürasyon dosyalarını oluşturuyoruz

velociraptor.exe config generate –i

Biz Windows işletim sistemi üzerinde örneğimizi gerçekleştirdiğimizden dolayı, ilk etapta gelen server OS seçeneğini  Windows olarak belirliyoruz. Ardından verilerin saklanması için FileBaseDatastore’u seçiyoruz. Burada bir diğer seçenek olarak MySQL seçilebilir. Konfigürasyon da yol default olarak gelen C:\Windows\Temp olarak seçip ilerliyoruz. Sertifika aşamasında kendiniz var olan sertifikanızı seçebilirsiniz yada Self Signer SSL seçeneği ile default olarak devam edebilirsiniz, örnekte Self Signed SSL seçeneği ile ilerlenmiştir. Geriye kalan seçenekler de bu örnekte default olarak bırakılmıştır, bu seçenekleri isteğinize göre düzenleyebilirsiniz.

Konfigürasyon ayarlaması bittikten sonra oluşturulan sunucu konfigürasyon dosyasını kontrol ediyoruz.

type server.config.yaml

Yukarıda görüldüğü üzere konfigürasyon dosyası içerisinde Self Signed olarak gelen sertifika içeriğini, sunucu web ara yüzünün localhost port 8000 üzerinde çalıştığını gözlemleyebiliriz.

Bu işlemleri tamamladıktan sonra web ara yüz erişiminde kullanmak üzere bir kullanıcı oluşturmamız gerekmektedir. Aşağıdaki komutu girerek admin ayrıcalıklarına sahip bir kullanıcı oluşturuyoruz.

velociraptor.exe --config server.config.yaml user add htonly --role administrator

Gelen input kısmına ise bu kullanıcı için bir parola belirliyoruz.

Kurulum aşamasını böylelikle tamamlamış olduk. Artık Velociraptor sunucusunu ayağa kaldırabiliriz.

Başlatma

velociraptor.exe --config server.config.yaml frontend –v

Yukarıdaki komutu girerek “—config” parametresi ile belirlemiş ve konfigürasyonunu yaptığımız sunucu konfigürasyon dosyasını vererek “frontend” parametresi ile sunucu web ara yüzünü ayağa kaldırıyoruz. Burada “-v “ parametresi verbose olarak kullanılmaktadır.

Komutu çalıştırdıktan sonra  güvenlik duvarı uyarı verebilir, bu aşamada izin vermek yeterli olacaktır. Komutun çalıştırılmasıyla bilgi logları komut satırında yukarıdaki gibi görülecektir. Başlatma işleminin gerçekleştiğini veya oluşabilecek hataları bu ekrandan görebilirsiniz.

https://localhost:8889 “ adresine giderek karşımıza çıkan “ Authentication Required “ pop-up ekranına kurulum aşamasında oluşturmuş olduğumuz kullanıcıya ait bilgileri girerek ilerliyoruz.

Bilgileri girdikten sonra Velociraptor GUI ekranı karşımıza çıkacaktır. İlk karşımıza gelen ana ekran yukarıdaki gibidir. Şuanda sunucuya bağlı hiçbir istemci bulunmadığından arayüz boş ve kullanışsız gözükmekte.

İstemci Ekleme

Sunucuya bir istemci eklemek için harici bir istemcide işlemler gerçekleştirilebilir fakat örnek olması açısında aynı sistem üzerinde istemci çalıştıracağız. Bunun için admin ayrıcalıklarıyla yeni bir komut satırı çalıştırıyoruz ve Velociraptor dizinine gidiyoruz.

velociraptor.exe --config client.config.yaml client -v

Yukarı komutu girerek istemciyi çalıştırıyoruz. Burada “client.config” dosyasını düzenleyerek isteğe göre konfigürasyonu yapılmış bir başka sunucuya bağlantı sağlanabilir. “-v” parametresi burada yine verbose olarak kullanılmıştır.

İnceleme

Şimdi ise sunucu web ara yüz tarafında ana ekranda bulunan arama kısmına host yazarak eklediğimiz istemciyi görüntüleyebiliriz.

İstemci üzerine tıkladığımızda ise istemci ile alakalı ayrıntılı bilgileri görebiliyor olacağız.

Burada istemci ID, agent adı, işletim sistemi ayrıntılı bilgisi, bilgisayar adı gibi bilgilere ulaşılabilir.

İstemciyi görüntülediğimiz ana ekranın sağ üst kısmında bulunan “ shell “ seçeneği ile istemci üzerinde “ powershell, cmd ve bash “ seçenekleriyle komut çalıştırabilir ve sonuçlarını GUI ekranda görüntüleyebiliriz.

Örnek olarak çalıştırılmış olan “whoami ve systeminfo” komutlarını ve çıktılarını yukarıdaki görselde görebilirsiniz.

“VQL Drilldown” kısmında ise istemciye ait RAM ve CPU kullanımının son 24 saatlik dökümünün grafik halini ve aktif kullanıcılara ait bilgileri görüntüleyebilirsiniz.

 “Interrogate “ butonu ile istemci ile ilgili toplanmış olan, varsayılan olarak gelen ayarlarla bulunan bazı basit bilgilere erişebiliriz.

Yukarıda görüldüğü üzere toplanmış olarak bilgiler ekrana gelmiş oldu. Daha ayrıntılı olarak gelen bilgilere ait olarak, bilgi için yapılan sorgu “ request “ kısmından, dönen cevap “ results “ kısmından, sorguya ait log dökümü ise “ Log “ kısmından görüntülenebilir. “ Prepare Download “ seçeneği ile sonuç excel formatında indirilip görüntülenebilir.

Ek olarak ise, aynı ekranda bulunan “+” butonu ile Velociraptor üzerinde bulunan artifactleri kullanarak daha derin bir araştırma yapabiliriz.

Burada prefetch dosyalarının bulunarak getirilmesi işlemini yapan “ Windows Forensics Prefetch” artifactini seçerek “Add” butonuna tıklıyoruz. “Source” kısmında seçilen artifact için yazılmış olan sorguyu görüntüleyebiliriz. Seçimi yaptıktan sonra “ Launch Collection” butonu ile sorguyu çalıştırıyoruz.

Sorgu tamamlandıktan sonra, sorguya ait işleme tıkladığımızda “ Results “ kısmında toplanmış olan verileri görüntüleyebiliriz. Ayrıca “ Add/Modify an artifact “ seçeneği ile yeni bir artifact ekleyebilir veya var olan bir artifact düzenlenebilir.

Bu özellik uygulamanın esnekliği ve kullanılabilirliği açısından çok büyük ölçüde önemli bir etken. Araştırmacı kendi sorgusunu yazarak isteğe/ihtiyaca bağlı olarak araştırmasını gerçekleştirebilir, var olan örnekleri güncelleyerek yada kapsamını geliştirerek daha iyi sonuçlar alabilir. Windows, Linux ve MacOS ortamlarında varsayılan olarak gelen artifactleri ile araştırmacıların iş yükünü büyük ölçüde alması ve kolayca geliştirilebilir ve kullanılabilir olmasından ötürü değeri hızla artacak bir araç olacaktır. Daha ayrıntılı bilgi için Velociraptor Dökümanı ’ nı okuyabilirsiniz.

Kaynak :

https://www.velocidex.com/

https://github.com/Velocidex/velociraptor/releases

Related Posts

Leave a Reply