Havai Fişek VM'den Kaçış: PwnEscape Bölüm 2

Firecracker VM Escape: PwnEscape Bölüm 2 ile ilgili yeni gelişmelerin ortaya çıkması, teknoloji sektöründe tartışmalara yol açtı.

Havai Fişek VM'den Kaçış: PwnEscape Bölüm 2

Firecracker VM Escape: PwnEscape Bölüm 2 ile ilgili yeni gelişmelerin ortaya çıkması, teknoloji sektöründe tartışmalara yol açtı.

Firecracker'ın güvenilmeyen kodu bir mikroVM içinde tutması gerekiyor. Bundan kurtulduk ve ana bilgisayarda root olarak kod yürütmeyi başardık.

Kayıtları nasıl kaydettiğini, devam edeceği yeri nasıl değiştirdiğini ve KVM'den döndüğünde bizim seçtiğimiz bir çağrıyı yürütmesini sağladık. Konuk daha sonra geçici yığın değişikliklerini geri yükledi. Firecracker çalışmaya devam etti ve VM, SSH üzerinden erişilebilir durumda kaldı.

PwnEscape Bölüm 1, bu çalışmanın arkasındaki ana bilgisayar belleği ilkelini tanıttı. Burada zincirin bir sonraki bölümünü takip ediyoruz: bu erişimi bellekte Firecracker'ı bulmak için kullanmak ve konuğun içinden canlı bir ileti dizisini devralmak. Bu, Firecracker kurulumunda CVE-2026-99999'u göstermenin devamıdır.

00 / Kontrolün Nereden Alınacağını Seçmek

Firecracker microVM'nin ana bilgisayarda onu yöneten bir süreci vardır. Her sanal CPU veya vCPU'nun bu süreçte bir iş parçacığı vardır. İş parçacığı, konuğu çalıştırmak için KVM'ye girer ve bir etkinliğin kullanıcı alanında işlenmesi gerektiğinde Firecracker'a geri döner. Firecracker bu düzenlemeyi mimariye genel bakış belgesinde belgeliyor.

Sanal CPU'yu çalıştıran çağrı şuna benzer:

İş parçacığı bu sistem çağrısındayken, ana bilgisayar çekirdeği kayıtlı kullanıcı alanı kayıtlarını pt_regs adı verilen bir yapıda tutar. Bu kayıtlar Firecracker iş parçacığını tanımlar: talimat işaretçisi yürütmenin nerede devam etmesi gerektiğini söyler ve yığın işaretçisi hangi kullanıcı alanı yığınını kullanması gerektiğini söyler.

Bu da KVM_RUN'dan dönüşü çekici bir hedef haline getirdi. Kaydedilen çerçeveyi bulup değiştirebilseydik, iş parçacığı kullanıcı alanına geri döndüğünde Firecracker'ın çalıştıracağı kodu seçebilirdik. Böyle bir geri dönüşe neden olan bir misafir işlemi tetikleyiciyi sağlayacaktır.

Konuk eşleme yoluyla seçilen ana bilgisayarın fiziksel belleğine zaten erişimimiz vardı. Bunu kullanmak için Firecracker sürecini tanımlamamız, bu süreçte çağırabileceğimiz kodu bulmamız ve aktif vCPU iş parçacığına ait kayıt çerçevesini bulmamız gerekiyordu. Başlangıç ​​noktası, misafirin içinde kontrol ettiğimiz bir hafıza sayfasıydı.

Şekil 1. Konuk, Firecracker işlemini tanımlar, bir vCPU iş parçacığı için kaydedilen kayıtları bulur ve iş parçacığını KVM'den döndüğünde yeniden yönlendirir.

01 / Hostta misafir sayfamızı bulma

Konuk ve toplantı sahibi farklı fiziksel adres alanları kullanır. Bir sayfanın, VM'nin içinde bir konuk fiziksel adresi veya GPA'sı ve onu destekleyen makinede bir ana bilgisayar fiziksel adresi veya HPA'sı vardır. Hedefte Genişletilmiş Sayfa Tabloları (EPT) aralarındaki çeviriyi sağlar.

🔗 Doğrudan Erişim ve Resmi Sayfa
PwnEscape Part 1 ↗
🔗 Doğrudan Erişim ve Resmi Sayfa
architecture overview ↗
✍️
TeknoRest Editör Değerlendirmesi
Teknoloji ve dijital ekonomi ekseninde yaşanan bu gelişme, sektörel rekabet koşullarını ve kurumsal stratejileri doğrudan etkileyebilecek nitelikte. Sürecin uygulama aşamasındaki yansımaları, önümüzdeki dönemde pazar oyuncuları ve kullanıcılar için yeni fırsat pencereleri açacaktır. Özellikle Teknoloji ekosistemindeki paydaşlar açısından Teknoloji Gündemi odaklı bu gelişme, orta vadeli stratejik planlamalarda kritik bir referans noktası oluşturacaktır.
🛡️ Haber Kaynağı: Hacker News | TeknoRest Editoryal Masası