Bu videoda sizlere 6 yıl boyunca gözden kaçan ve sistemin tam anlamıyla ele geçirilmesine olanak sağlayan kritik bir güvenlik açığından bahsedeceğim. Videomuzda öncelikle güvenlik açığına sebep olan kodu detaylı bir şekilde inceleyecek, ardından etkilenen sürümleri gözden geçirecek ve son olarak da exploit aşamasını uygulamalı olarak göstereceğim.
Eğitimlerimizde sıkça vurguladığım önemli bir nokta vardır: Bir sistemdeki güvenlik açıkları yalnızca geliştiricilerin dikkatsizliği veya bilgisizliği nedeniyle oluşmaz. Bazen geliştiriciler, geliştirme sürecinde kendilerine kolaylık sağlamak ya da belirli kontrolleri gerçekleştirmek amacıyla, bilinçli olarak güvenlik riski taşıyan hatalı kod parçaları bırakabilirler. Bu tür kodlar, projenin yayın aşamasında kaldırılacağı düşüncesiyle sistemde yer alabilir. Ancak bu durum, ilerleyen süreçte ciddi güvenlik zaaflarına yol açabilir.
TryHackMe platformunda bulunan Billing adlı eğitim odası, tam da bu tür bir güvenlik açığını ele almaktadır:
https://tryhackme.com/room/billing
Bahsettiğimiz güvenlik açığı, CVE-2023-30258 koduyla kayıt altına alınmış olup, Magnus Solutions şirketinin geliştirdiği Magnus Billing projesinde ortaya çıkmıştır. Komut enjeksiyonuna sebep olan bu kritik açık, 2017 yılında projeye eklenmiş ancak fark edilmesi tam 6 yıl sonra, 2023 yılında gerçekleşmiştir. Bu durum, uzun yıllar boyunca geliştirilen büyük çaplı bir projede böylesine önemli bir güvenlik açığının bu kadar uzun süre fark edilmemesinin ne denli dikkat çekici olduğunu göstermektedir.
Magnus Billing projesi üç ana sürümden oluşmaktadır: MagnusBilling 5, 6 ve 7, ayrıca bu sürümlerin çeşitli ara versiyonları mevcuttur. Kaynak kodlarına ve sürümlerine aşağıdaki resmi GitHub adresinden ulaşabilirsiniz
:https://github.com/magnussolution
Güvenlik açığını istismar etmek için ise, güvenilir bir ters shell (reverse shell) kaynak sitesi olan
https://www.revshells.com/Â adresinden faydalanabiliriz.