Merhaba ben Anka timden Bunjo, bu konuda "Remote Code Execution" web açığını ele alacağım.
Remote Code Execution
Remote Code Execution (Uzaktan Kod Yürütme), genellikle RCE olarak kısaltılan bir bilgisayar güvenliği terimidir.
Bu terim, bir saldırganın uzaktan bir bilgisayar sistemine yetkisiz erişim sağlayarak, kendi kötü amaçlı kodlarını hedef sistemde çalıştırmasını ifade eder.
RCE saldırıları, genellikle yazılım güvenlik açıkları veya zayıflıkları kullanılarak gerçekleştirilir. Saldırganlar, hedef sistemdeki
bir uygulama veya servise müdahale ederek, kendi kötü amaçlı kodlarını enjekte ederler. Bu kodlar daha sonra hedef sistemde çalıştırılır,
bu da saldırganın uzaktan kontrol sağlamasına ve istediği eylemleri gerçekleştirmesine olanak tanır.
Pratik
Siteye girdiğimiz zaman bizden bir input alıyor, eğer bu inputa filtreleme işlemi yapılmamışsa,
çalıştırmamız gerek kodu çalıştırırken yanında dilediğimiz kodu da enjekte edebiliriz.
"|" ile çalıştırmak istediğimiz komutu ekliyoruz. (bizden zorunlu istenilen inputu bazen boş bıraksanız da kodunuzu çalıştırabilirsiniz.)
Rich (BB code):
www.nsa.gov | ls
Bu şekilde "ls" komutu gönderdik ve komut çalıştı, şimdi ise sunucudan shell almaya çalışalım.
Shell için bu siteyi kullanabilirsiniz. pentestmonkey
Local ağ içerisinde olduğum için istediğim port üzerinden dinleme işlemine başlıyorum.
Seçtiğim shell için kendi ip adresimi ve dinlemeyi başlattığım portu veriyorum.
Bağlantıyı kaptık
Not:
Python:
python -c 'import pty;pty.spawn("/bin/bash")'
bu kodu interaktif bir shell almak için kullandım, bazen bu kod işe yarayamıyor bunun içinde farklı bir varyasyonunu kullanabilirsiniz.
Python:
python -c 'import os; os.execl("/bin/sh", "sh", "-p")'
Kısaca "Remote Code Execution" zafiyetinden bahsettim, siz başka pratikler de yaparak öğrenme sürecinizi destekleyebilirsiniz.
Okuyan herkese teşekkür ederim.