Jadual Kandungan
Apakah itu pelarian kontena docker
Rumah Operasi dan penyelenggaraan Docker Apakah pelarian kontena buruh pelabuhan

Apakah pelarian kontena buruh pelabuhan

Jul 25, 2022 pm 05:13 PM
docker

Larian kontena Docker merujuk kepada proses dan hasil di mana penyerang telah memperoleh keupayaan pelaksanaan perintah di bawah kebenaran tertentu dalam kontena dengan merampas logik perniagaan kontena atau kawalan langsung kerana docker menggunakan teknologi pengasingan , jadi proses di dalamnya bekas tidak dapat melihat proses luar, tetapi proses luar boleh melihat bahagian dalam, jadi jika bekas boleh mengakses sumber luar, atau mendapatkan kebenaran hos hos, ini dipanggil "Docker melarikan diri".

Apakah pelarian kontena buruh pelabuhan

Persekitaran pengendalian tutorial ini: sistem linux7.3, docker versi 19.03, komputer Dell G3.

Apakah itu pelarian kontena docker

"Escape kontena" merujuk kepada proses dan hasil sedemikian:Pertama, penyerang merampas logik perniagaan kontena, Atau mengarahkan kawalan (CaaS dan senario lain di mana kawalan kontena diperoleh secara sah), dsb., telah memperoleh keupayaan pelaksanaan perintah di bawah kebenaran tertentu dalam bekas

Penyerang menggunakan keupayaan pelaksanaan perintah ini untuk Beberapa kaedah selanjutnya; dapatkan kebenaran tertentu pada hos langsung di mana bekas itu terletak (kita sering melihat senario "mesin fizikal menjalankan mesin maya, dan mesin maya kemudian menjalankan bekas". Hos langsung dalam senario ini merujuk kepada mesin maya di luar bekas).

Oleh kerana Docker menggunakan teknologi pengasingan, proses di dalam bekas tidak dapat melihat proses luar, tetapi proses luar boleh melihat bahagian dalam, jadi jika bekas boleh mengakses sumber luar, atau mendapatkan kebenaran daripada hos hos ini dipanggil "Docker escape".

Pada masa ini terdapat tiga sebab untuk melarikan diri Docker:

  • Disebabkan oleh kerentanan kernel.

  • Disebabkan oleh reka bentuk perisian Docker.

  • Disebabkan oleh mod istimewa dan konfigurasi yang tidak betul.

Berikut ialah penjelasan ringkas mengenai ketiga-tiga kaedah melarikan diri ini.

1. Melarikan diri yang disebabkan oleh kelemahan kernel

Oleh kerana Docker ialah kernel hos yang dikongsi secara langsung, apabila terdapat kelemahan keselamatan dalam kernel hos, ia juga akan terjejas Keselamatan Docker boleh menyebabkan Docker melarikan diri. Proses khusus adalah seperti berikut:

  • Gunakan kerentanan kernel untuk memasuki konteks kernel

  • Dapatkan struct tugas proses semasa

  • Undurkan senarai tugasan untuk mendapatkan struct tugasan dengan pid = 1, salin data berkaitannya

  • Tukar ruang nama semasa

  • Buka cangkang akar dan selesaikan pelarian

2. enjin pelaksanaan kontena standard----runc. Runc telah terdedah kepada kelemahan melarikan diri Docker CVE-2019-5736 pada Februari 2019. Prinsip kerentanan ialah Docker, Containerd atau program berasaskan runc yang lain terdedah kepada kelemahan keselamatan semasa runc Penyerang boleh mendapatkan pemegang fail apabila runc hos melaksanakan fail melalui imej kontena atau operasi exec tertentu dan mengubah suai runc. fail binari, dengan itu mendapatkan kebenaran pelaksanaan root mesin hos, menyebabkan Docker melarikan diri.

3. Escape disebabkan oleh pelekapan direktori mod istimewa

Kaedah melarikan diri ini digunakan lebih banyak daripada dua yang lain. Mod istimewa telah diperkenalkan kepada Docker dalam versi 6.0 Fungsi terasnya adalah untuk membenarkan root dalam bekas mempunyai kebenaran root pada mesin fizikal luaran Sebelum ini, pengguna root dalam bekas hanya mempunyai kebenaran pengguna biasa pada mesin fizikal luaran .

Selepas memulakan bekas dalam mod istimewa (docker run --privileged), bekas Docker dibenarkan untuk mengakses semua peranti pada hos, mendapatkan hak akses kepada sejumlah besar fail peranti dan melaksanakan perintah mount untuk melekapkan.

Apabila mengawal bekas menggunakan mod istimewa, pentadbir Docker boleh menggunakan arahan pelekap untuk melekapkan peranti cakera hos luaran ke dalam bekas untuk mendapatkan kebenaran membaca dan menulis fail untuk keseluruhan hos Selain itu, ia juga boleh gunakan arahan tulis Laksanakan pada mesin hos dengan memasukkan tugas berjadual dan kaedah lain.

Selain menggunakan mod istimewa untuk memulakan Docker, yang akan menyebabkan Docker melarikan diri, menggunakan mekanisme berfungsi juga akan menyebabkan Docker melarikan diri. Kernel Linux telah memperkenalkan keupayaan (Keupayaan) sejak versi 2.2, memecahkan konsep pengguna super dan pengguna biasa dalam sistem pengendalian UNIX/LINUX, membolehkan pengguna biasa melaksanakan arahan yang hanya boleh dijalankan dengan keistimewaan pengguna super. Contohnya, apabila bekas dimulakan dengan --cap-add=SYSADMIN, proses Bekas dibenarkan untuk melaksanakan satu siri perintah pengurusan sistem seperti mount dan umount Jika penyerang melekapkan direktori peranti luaran dalam bekas pada masa ini , Pelarian Docker akan berlaku.

Pembelajaran yang disyorkan: "

tutorial video buruh pelabuhan

"

Atas ialah kandungan terperinci Apakah pelarian kontena buruh pelabuhan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara keluar dari bekas dengan Docker Cara keluar dari bekas dengan Docker Apr 15, 2025 pm 12:15 PM

Empat cara untuk keluar dari Docker Container: Gunakan Ctrl D di terminal kontena masukkan perintah keluar di terminal kontena Gunakan Docker Stop & lt; container_name & gt; Perintah Gunakan Docker Kill & lt; container_name & gt; Perintah di terminal tuan rumah (keluar kuasa)

Cara mengemas kini imej Docker Cara mengemas kini imej Docker Apr 15, 2025 pm 12:03 PM

Langkah -langkah untuk mengemas kini imej Docker adalah seperti berikut: Tarik tag imej terkini imej baru memadam imej lama untuk tag tertentu (pilihan) mulakan semula bekas (jika diperlukan)

Cara menyalin fail di Docker ke luar Cara menyalin fail di Docker ke luar Apr 15, 2025 pm 12:12 PM

Kaedah untuk menyalin fail ke tuan rumah luaran di Docker: Gunakan arahan CP Docker: Jalankan Docker CP [Options] & lt; Container Path & GT; & lt; PATH HOST & GT;. Menggunakan jumlah data: Buat direktori pada tuan rumah, dan gunakan parameter -V parameter untuk memasang direktori ke dalam bekas apabila membuat bekas untuk mencapai penyegerakan fail bidirectional.

Cara memeriksa nama bekas Docker Cara memeriksa nama bekas Docker Apr 15, 2025 pm 12:21 PM

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Cara memulakan semula Docker Cara memulakan semula Docker Apr 15, 2025 pm 12:06 PM

Cara memulakan semula bekas Docker: Dapatkan ID Container (Docker PS); Hentikan bekas (Docker Stop & lt; container_id & gt;); Mulakan bekas (Docker Start & lt; container_id & gt;); Sahkan bahawa permulaan semula berjaya (Docker PS). Kaedah lain: Docker mengarang (Docker-Compose Restart) atau Docker API (lihat Dokumentasi Docker).

Cara Melihat Proses Docker Cara Melihat Proses Docker Apr 15, 2025 am 11:48 AM

Kaedah Melihat Proses Docker: 1. Docker CLI Command: Docker PS; 2. Systemd CLI Command: Sistem Status SistemCTL; 3. Docker mengarang arahan CLI: Docker-Compose PS; 4 Proses Explorer (Windows); 5. /Direktori Proc (Linux).

Cara menggunakan desktop docker Cara menggunakan desktop docker Apr 15, 2025 am 11:45 AM

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

Cara Memulakan MySQL oleh Docker Cara Memulakan MySQL oleh Docker Apr 15, 2025 pm 12:09 PM

Proses memulakan MySQL di Docker terdiri daripada langkah -langkah berikut: Tarik imej MySQL untuk membuat dan memulakan bekas, tetapkan kata laluan pengguna root, dan memetakan sambungan pengesahan port Buat pangkalan data dan pengguna memberikan semua kebenaran ke pangkalan data

See all articles