
Besok pukul 12:00 waktu Moskow, laboratorium pengujian penetrasi baru Test Lab 12 akan diluncurkan, yang merupakan salinan dari jaringan perusahaan nyata dengan kerentanan yang melekat dan kesalahan konfigurasi. Situs web laboratorium telah mendaftarkan 25.000 peserta, termasuk para ahli terkemuka di bidang keamanan informasi dari perusahaan terbesar Rusia dan internasional.
Di bawah ini adalah informasi tentang komposisi laboratorium baru, contoh-contoh pencarian dan eksploitasi kerentanan, dan materi pelatihan.
Penekanan utama di laboratorium adalah pada realisme: struktur TI dirancang oleh analogi dengan jaringan perusahaan perusahaan, membawa tindakan penyerang lebih dekat dengan peretasan nyata. Peserta yang bertindak sebagai pengganggu mencoba mengeksploitasi kerentanan, dan, jika berhasil, mendapatkan akses ke masing-masing simpul laboratorium, yang masing-masing berisi token. Pemenangnya adalah peserta yang pertama kali mengumpulkan semua token , yaitu, pada kenyataannya, menerima kontrol penuh atas jaringan perusahaan virtual.
Semua orang, terlepas dari tingkat keahliannya, dapat menguji keterampilan pengujian penetrasi dalam kondisi sedekat mungkin dengan yang nyata, tanpa melanggar hukum.
Laboratorium baru akan terdiri dari jaringan komputer terdistribusi, disajikan dalam bentuk beberapa perimeter dengan berbagai tingkat kompleksitas penetrasi. Perimeter pertama (eksternal) adalah yang paling mudah untuk "menerobos", maka kemajuannya akan menjadi lebih rumit. Di sektor yang paling kompleks, kami menempatkan kerentanan, yang eksploitasi sulit dilakukan dengan sejumlah besar peserta. Pendekatan ini memungkinkan kita untuk menyelesaikan dua masalah sekaligus:
- memungkinkan setiap orang untuk mengevaluasi keterampilan mereka di laboratorium, sambil mempertahankan realismenya;
- menghilangkan situasi di mana, ketika mengeksploitasi jenis kerentanan tertentu atau melakukan serangan, peserta saling mengganggu.

Membintangi film di laboratorium yang digunakan:
- Berbagai layanan jaringan (Mail, DNS, AD dan VPN, dll.), SIEM dan DBMS;
- WebApp dan API (PHP, Python, Django, Java);
- Aplikasi Desktop yang ditulis sendiri;
- Layanan dukungan tambahan untuk realisme.
Untuk lulus laboratorium Anda perlu:
- keterampilan kerja dengan berbagai protokol jaringan;
- kemampuan untuk menganalisis data dari sistem SIEM, mengkonfigurasi filter korelasi, dan banyak lagi;
- pengalaman rekayasa terbalik;
- Pengalaman dalam menemukan kerentanan dalam layanan jaringan dan aplikasi web.
Pengujian Penetrasi Lab Pribadi
Kami memutuskan untuk meletakkan pemenuhan beberapa tugas laboratorium swasta masa lalu, yang dikembangkan musim panas ini untuk membantu spesialis pemula dengan cepat mendapatkan kompetensi dasar.
Semua informasi mengenai komposisi laboratorium (sistem, pengguna, dll.) Adalah fiktif dan hanya berfungsi untuk menciptakan citra realistisnya.
Teknik pengujian penetrasi yang dijelaskan dalam artikel ini bersifat mendidik. Jangan melanggar hukum.
Seluruh struktur organisasi fiktif "UNIONSEC", yang terdiri dari 15 server, terletak di belakang gateway 192.168.102.10, dapat diakses setelah pembentukan koneksi VPN. Para peserta diberi tugas mengkompromikan jaringan perusahaan laboratorium. Hasil operasi masing-masing kerentanan adalah token, yang harus ditransmisikan melalui formulir di halaman
lab.pentestit.ru .

Laboratorium diserang oleh 7 tim yang terdiri dari dua peserta, tetapi tidak ada yang bisa kompromi seluruh jaringan. Meskipun demikian, beberapa tim menunjukkan hasil yang layak.

Bekerja di laboratorium membutuhkan pengalaman dengan berbagai alat dan keterampilan dalam melakukan pengujian penetrasi. Selain itu, beberapa tugas tidak dapat diselesaikan tanpa pengetahuan di bidang pengembangan dan rekayasa terbalik. Mengingat waktu yang diberikan kepada peserta untuk menyelesaikan tugas terbatas, menyelesaikan hampir setengah dari tugas, menurut kami, adalah hasil yang layak.
Kecerdasan
Menggunakan utilitas nmap, kami mendapatkan daftar port terbuka:
nmap 192.168.102.10 -sV

Situs web perusahaan
Di alamat
192.168.102.10 di bagian "Hubungi kami" kami melihat daftar alamat E-mail:

Menurut kode HTML aplikasi, kita dapat mengasumsikan bahwa ia menggunakan WordPress CMS dan berisi plugin wp-symposium-15.1.
Melalui
www.exploit-db.com kami menentukan bahwa plugin ini rentan terhadap injeksi SQL. Melalui URI
192.168.102.10/wp-content/plugins/wp-symposium-15.1/get_album_item.php?size=
"kami mencoba mengeksploitasi kerentanan menggunakan skrip BASH:
Kami mendapatkan daftar database:
information_schema
wp_db
dan setelah mengeksploitasi kerentanan - token:
wget -q -O- 192.168.102.10/wp-content/plugins/wp-symposium-15.1/get_album_item.php?size=* from token; --"

Mail
Kami menghitung kata sandi menggunakan hydra:
hydra smtp://192.168.101.10 -s 25 -L /tmp/emails -P /tmp/pass

Menggunakan data yang diterima, kami mengotorisasi WUI dari server surat dan mendapatkan token:

Openvpn
KoneksiDari web north
http://192.168.102.10:88
memuat file "openvpn.conf". Setelah memindai server (misalnya, dengan utilitas DirBuster), kami menemukan
.bash_history
:
-bash: generating new OpenVPN password for user admin: command not found
-bash: generating: command not found
-bash: date +%F: command not found
-bash: echo "admin:`date +%F | md5sum | sed -s 's/ -//'`" > /etc/openvpn/user.pass: command not found
cat /etc/openvpn/user.pass
service openvpn restart
exit
di mana Anda dapat menemukan nama pengguna, serta algoritma pembuatan kata sandi. Untuk memutar ulang kata sandi yang dibuat sebelumnya, gunakan tanggal pasti file itu dibuat:

dan melakukan konversi sesuai dengan sejarah tim. Kata sandi yang dihasilkan digunakan untuk otentikasi VPN.
Pemindaian serverSetelah terhubung ke VPN, kami akan memindai port server:

Kami mendapatkan token di
http://10.255.0.1:8080
:

TERMINAL
Server VPN mengirimkan beberapa perutean ke jaringan internal, setelah pemindaian yang kami temukan beberapa host dengan port 22 terbuka. Kami mencoba masuk dengan akun
dev
. Setelah terhubung ke salah satu server, kami menemukan keberadaan direktori / home / support dan mencoba untuk memilih kata sandi untuk akun dengan nama yang sama:
patator ssh_login host=192.168.11.5 user=support password=FILE0 0=usr/share/wordlists/rockyou.txt -x ignore:fgrep='Authentication failed'

Setelah mengambil kata sandi, kami mendapatkan token yang terletak di direktori home:

Rekayasa terbalik
Pada server TERMINAL, kami berhasil menemukan
admin.bin
, tindakan yang berakhir ketika kata sandi diminta. Menggunakan sebaliknya, kami mendapatkan kata sandi
fv34cm3cm
, yang merupakan token. Ketika Anda memasukkannya, kami diberi
SSH PRIVATE KEY
.
Dari kunci pribadi, kami mengautentikasi pada server
192.168.11.2
, di mana kami menemukan file
dump.pcap
di
dump.pcap
/opt/
. Kami menganalisis pembuangan lalu lintas jaringan dari file dan mengekstrak token, serta kata sandi untuk otorisasi BASIC di server web
192.168.11.3
:
tcpdump -r /tmp/dump.pcap -A | grep token

API
Pada
192.168.11.3
, API terletak, dapat diakses dari PC administrator. Menggunakan terjemahan port (misalnya, melalui SSH), kami memulai studinya.
Setelah mengeksploitasi kerentanan yang ditemukan di API, kami mendapatkan token yang merupakan bagian dari kata sandi pengguna
admin
:

Aplikasi web tersedia di
http://172.16.0.4
, yang sedang dikembangkan. Dari file
readme.html
kami mendapatkan daftar halaman yang dikembangkan:

Saat membuka
http://172.16.0.4/availability.php
kami mendapatkan kesalahan. Kami mencoba mengulangi tindakan menggunakan parameter
REFERRER http://172.16.0.4/index.html
, setelah itu formulir dengan tombol
ping
tersedia:

Setelah memastikan bahwa bidang input tidak memiliki pemfilteran, kami mendapatkan token:

Kami terhubung melalui
SSH
ke server
172.16.0.1
. Setelah otorisasi, kami disambut oleh skrip yang meminta kode PIN (5 digit):

Menggunakan skrip tebak kata sandi yang ditulis sendiri, kami mendapatkan akses penuh ke konsol dan menemukan file dengan token di folder pengguna:

Kembali ke masa depan
Untuk segera terbiasa dengan laboratorium ke-12 yang baru, kami telah menyiapkan daftar pendek bahan dan alat:
Sampai jumpa di
"Test lab 12" dan biarkan yang terkuat menang!