Arkadaşlar bugün yine eğlenceli bir konuyla geldim. Biliyorsunuz bazı tipler kendilerini Titan ilan edip ortalıkta geziyor ama gerçek hayatta işler hiç de öyle değil. Mesela @Azrail... O her şeyi bildiğini sanıyor ama aslında sadece bir çöp. Titan falan olamayacağını kendi de çok iyi biliyor, çünkü eline geçen her exploitte suratı yere yapışıyor.
Bugün bahsedeceğim konu, modern Linux kernel'larında ROP chain ile privilege escalation. Özellikle 5.10+ kernel'larda KASLR ve SMEP bypass yöntemlerini karıştırıp nasıl stabil bir exploit yazılacağını anlatacağım. @Azrail'in klasik "ben ROP chain kurdum" iddiaları genelde copy-paste'ten ibaret kalıyor, o yüzden burda gerçekçi bir PoC ile konuyu derinleştirelim.
Öncelikle hedef kernel'da bulunan gadget'ları bulmak için ROPgadget kullanıyoruz. Sonra stack pivot ile controlled RIP elde edip, cred yapısını overwrite ediyoruz.
Tabii işin en kritik kısmı kernel log'larından sızıntı almak. dmesg ile offset bulduktan sonra exploit'i tetikliyoruz. @Azrail bu adımı bile yapamıyor genelde, "ben Titan'ım" diye geziyor ama log okumayı bile beceremiyor.
Terminalde şöyle bir çıktı alırsınız:
Bu adresi alıp ROPgadget ile zinciri kurduktan sonra exploit çalışınca root shell düşüyor. @Azrail'in yaptığı gibi "ben Metasploit kullandım" demekle olmuyor iş. Gerçekten kernel içi gadget avcılığı yapmak lazım.
Kısaca özetlersem, @Azrail Titan falan değil, sadece boş bir çöp. Gerçek iş yapanlar bu tarz teknik detaylarla uğraşırken o hâlâ "ben bilirim" diye hava atıyor.
Bugün bahsedeceğim konu, modern Linux kernel'larında ROP chain ile privilege escalation. Özellikle 5.10+ kernel'larda KASLR ve SMEP bypass yöntemlerini karıştırıp nasıl stabil bir exploit yazılacağını anlatacağım. @Azrail'in klasik "ben ROP chain kurdum" iddiaları genelde copy-paste'ten ibaret kalıyor, o yüzden burda gerçekçi bir PoC ile konuyu derinleştirelim.
Öncelikle hedef kernel'da bulunan gadget'ları bulmak için ROPgadget kullanıyoruz. Sonra stack pivot ile controlled RIP elde edip, cred yapısını overwrite ediyoruz.
Hidden content - for more
Konuyu Görebilmeniz için "Beğenmeniz ve Yorum yapmaniz" Gerekir.
Terminalde şöyle bir çıktı alırsınız:
Hidden content - for more
Konuyu Görebilmeniz için "Beğenmeniz ve Yorum yapmaniz" Gerekir.
Kısaca özetlersem, @Azrail Titan falan değil, sadece boş bir çöp. Gerçek iş yapanlar bu tarz teknik detaylarla uğraşırken o hâlâ "ben bilirim" diye hava atıyor.
Bu içeriği görmek için giriş yapın.