Berbagi teknologi

Gunakan buruh pelabuhan untuk membangun lingkungan kerentanan, dan gunakan SSRF Redis untuk menulis kunci publik centos dan ubuntu untuk mencapai login bebas kata sandi.

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Lingkungan percobaan

kali: Membangun lingkungan container buruh pelabuhan di Kali.

Sebagai database, redis dapat menulis data ke dalam memori. Kami menggunakan permintaan ssrf untuk memungkinkan server menulis kunci publiknya sendiri untuk bereksperimen dengan login tanpa kata sandi;

2. Proses percobaan

Persiapan dan pengujian awal

Redis menyimpan data dalam bentuk nilai kunci. Disini saya menggunakan lingkungan centos yang dibangun dengan buruh pelabuhan;

Gunakan perintah berikut untuk masuk ke container centos;

docker exex -it 容器的编号 /bin/bash

Karena centos sudah memiliki skrip untuk menjalankan redis-server, kita hanya perlu mengaktifkan redis-cli di container;

Uji apakah dapat ditulis secara normal. Seperti yang ditunjukkan pada gambar, konten atau direktori tertulis dapat dimodifikasi.

Nama file juga dapat diubah, sehingga kita dapat membuat kunci publik dan menuliskannya ke server target untuk mencapai login bebas kata sandi;

Setelah dimodifikasi simpan, seperti terlihat pada gambar, tulisan berhasil!

Permasalahan yang muncul dan terselesaikan

Jika server tidak dapat terhubung, kita dapat menggunakan ./start.sh untuk menjalankan skrip ini;

Pengenalan singkat SSRF dan permulaan percobaan

Menempa permintaan melalui server, menggunakan protokol gopher atau dict waktu untuk meminta redis, dan menulis file.

skrip generasi gopher

Muatan yang dihasilkan

Agar kita dapat membuat permintaan, tempelkan konten di atas ke dalamnya dan klik Ambil

Masalah yang dihadapi

Ketika saya melakukan Ambil untuk pertama kalinya, saya menemukan bahwa file tersebut tidak ada. Ini karena kunci publiknya sendiri tidak dibuat di lingkungan centos, sehingga tidak mungkin untuk menulis kunci publik di centos terlebih dahulu;

hasil

Terlihat bahwa kunci publik berhasil ditulis ke server target;

Selanjutnya anda bisa login melalui ssh tanpa password, terlihat login berhasil!

Masalah yang dihadapi

Ada beberapa masalah di lingkungan Dockerfile, yang mencegah port 22 pada image buruh pelabuhan untuk dimulai, sehingga file tersebut dimodifikasi dan dijalankan /usr/sbin/sshd untuk memulai sshd.

Saat mengalami kegagalan pengunduhan yang disebutkan di atas, kita cukup menginisialisasi file, seperti yang ditunjukkan pada gambar di bawah;

3. Ringkasan

Langkah-langkah untuk centos dan ubuntu hampir sama, hanya saja karena mekanisme proteksi redis akan terjadi error berikut sehingga mengakibatkan beberapa atribut tidak dapat diubah. Solusinya matikan protected-mode dan gunakan yang berikut ini memerintah;

config set protected-mode no

Karena pembatasan versi redis, keamanan 7.2.5 terlalu tinggi, yang akan menyebabkan kegagalan login ssh tanpa kata sandi, jadi saya menariknya ke sini.

Versi 5.0.5

Kemudian gunakan operasi yang sama untuk mendapatkan login tanpa kata sandi;