Hoşgeldin Misafir

PDF İçinde Linux Çalıştırmak: linuxpdf

Stronger_Cracker

25 Tem 2022
6,396 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Tarayıcıda bir PDF açıyorsunuz içinde terminal var ve komut çalıştırabiliyorsunuz.

Adobe'nin speci javaScript execution destekliyor.
Viewer bunu implement ederse pdf içine yerleştirilmiş js kodu çalışabiliyor.
Yani PDF bir döküman değil aslında bi çalışma ortamı olarak da kullanılabiliyor.
PDF tabanlı saldırılarda bu özellik yıllarca aktif olarak kullanılıyor.
linuxpdf
tam da bunu exploit ediyor.

Ading2210, Emscripten kullanarak Linux kernelini WebAssembly'e compile etmiş.
Ortaya çıkan WASM binaryi PDF'in içine gömülüyor.
PDF açıldığında JavaScript engine bu WASM'ı çalıştırıyor siz de bir terminal görüyorsunuz.

Kod:
ls, cat, echo

gibi komutlar çalışıyor.

Gerçek bir sh*ll deneyimi.

Tabii sınırlamaları da var. Her PDF viewer bunu açamıyor çünkü hepsi js execution desteklemiyor.
Chrome'un built viewerı izole davranıyor ve wasm desteği tam değil.
Demo için Chromium veya Firefox öneriliyor.

Bir de performans meselesi var. Her tuş vuruşunda wasm runtime üzerinden geçiyor yani gerçek bir terminal gibi hızlı olamıyor.

Güvenlik açısından bakınca projenin ortaya koyduğu şey önemli.
PDFlerin javaScript çalıştırabilmesi eski bir risk ama "bunun içinde tam bir işletim sistemi çalışabilir" seviyesine ulaşınca farklı görünüyor tabi.
Pratikte zararlı bir pdfin ne kadar sofistike olabileceğini düşünmek için güzel bir referans noktası olabilir.

Projenin kaynak kodu github'da mevcut. Demo pdf dosyası indirmeden tarayıcıda açılıyor.

Kaynak:
Kod:
https://github.com/ading2210/linuxpdf