Konferensi DEFCON 18. Anda telah menghabiskan semua uang ini, tetapi mereka terus memiliki Anda. Bagian 2

Konferensi DEFCON 18. Anda telah menghabiskan semua uang ini, tetapi mereka terus memiliki Anda. Bagian 1

Saya menggunakan hal yang menarik oleh Gary O'Leary-Steele yang disebut Unicod-fun, yang cukup bagus untuk utilitas yang ditulis dalam Ruby. Anda tahu bahwa alat saya harus ditulis secara eksklusif dalam Python, jadi kami menerjemahkannya ke Python. Sekarang kita bisa menerapkan penyandian berbeda untuk alat yang dirancang untuk menyerang aplikasi web dan merupakan bagian dari kerangka kerja WAF.



Kerangka WAF mencakup WAF Fun dan WAFWOOF dan beroperasi berdasarkan multicoding dan informasi yang diterima dari proxy, dan dapat berfungsi melalui proxy Tor atau GLib dalam proses melakukan semua hal yang berbeda ini. Jadi ini benar-benar hal yang berguna untuk mendapatkan informasi yang Anda butuhkan.

Kami berbicara tentang menyerang situs web melalui Tor; Saya membicarakan hal ini secara rinci tahun lalu. Slide berikut menunjukkan skrip untuk serangan seperti itu:

alias hide='su -c "/home/j0e/dumbscripts/hide.sh"' $ cat /home/j0e/dumbscripts/hide.sh #!/bin/bash # Startup privoxy /usr/sbin/privoxy /etc/privoxy/config # Start Tor /usr/bin/tor $ hide 

Sebutkan juga harus dibuat dari plugin, yang tertanam sebagai tombol Tor ke dalam browser Firefox.
Saya tidak tahu apakah ada di antara Anda yang pernah bekerja dengan DotNet Defender WAF yang digunakan oleh perusahaan-perusahaan ini. Kami menemukan bahwa ia dapat melindungi server dari injeksi SQL. Pada slide Anda melihat hasil menghasilkan serangan skrip lintas situs - dotDefender memblokir permintaan kami.



Selanjutnya, Anda melihat upaya untuk menghindari jenis perlindungan ini menggunakan injeksi SQL tanpa pengkodean apa pun. Dan DotNet Defender tidak bisa berbuat apa-apa.



Faktanya adalah itu hanya memblokir suntikan SQL tertentu, terutama yang mengandung kata pilih. Ini adalah puncak dari teknologi keamanan - blokir kata select. Jika Anda mengenkripsi di Unicode, maka Anda dapat bocor melewati pembela ini, sehingga mereka memperbaiki kerentanan ini tahun lalu, tetapi tidak melakukan apa pun terhadap standar pengkodean lainnya. Oleh karena itu, jika Anda menggunakan penyandian yang berbeda, Anda dapat dengan mudah memotong Defender DotNet. Ini memungkinkan saya untuk mereset hash kata sandi admin tanpa penyandian.



Maaf teman-teman dari Pembela DotNet, tetapi Anda harus memperbaiki masalah Anda.

Jadi, hal penting yang berhasil saya lakukan adalah menembus LAN melalui Internet. Ini cukup sulit, tetapi masih mungkin. Untuk ini saya menggunakan alat sederhana di Perl, saya harus tahan dengan itu, meskipun saya seorang pengikut Python. Ini bekerja sangat baik, berkat itu Anda dapat memuat antarmuka jaringan shell netcat atau meterpreter melalui terowongan DNS. Ini adalah proyek yang sangat hebat dan pembaruan baru-baru ini telah dirilis untuk itu.



Berikut ini adalah cara untuk menyuntikkan SQL menggunakan alat SQL Map. Alat ini, ditulis dengan Python, memungkinkan Anda untuk mengunduh os-shell atau meterpreter. Ini juga memiliki os-shell sendiri, yang dapat Anda mainkan. Dengan demikian, Anda dapat memasukkan perintah yang diperlukan untuk mengontrol sistem, mengkonfigurasi netcat, atau langsung masuk ke shell meterpreter, jadi saya cukup sering menggunakan alat ini.

Dan sekarang kita akan beralih ke materi yang lebih penting. Nama resmi bagian laporan ini jangan sampai Anda tertangkap! Jangan jadi macan!



Yang saya lakukan adalah tidak ditangkap. Siapa Macan? Dia seorang punk, punk freaking, yang setuju dengan saya? Jika saya bernilai satu miliar dolar, dan Anda seorang bintang porno, Anda tahu bahwa saya memiliki orang-orang yang siap membunuh Anda jika Anda membiarkannya tergelincir. Apakah Anda setuju dengan saya?

Jadi, hal terpenting untuk tidak ketahuan adalah mendefinisikan filter intrusi. Banyak orang mencoba opsi yang berbeda. Yang pertama adalah pemfilteran sisi klien. Ini buruk. Ini buruk. Dan lima kali lagi - ini buruk! Jangan gunakan skrip JavaScript atau VB, atau apa pun di sisi klien untuk mencoba menyaring input yang masuk ke aplikasi penting. Atau jika Anda menggunakan kerangka kerja seperti J2EE yang membuat JavaScripts ini, Anda harus menulis kode sisi server yang memeriksa bahwa semua yang datang dari klien baik-baik saja.



Periksa kode sumber untuk mengetahui parameter apa pun yang melewati situs yang dapat difilter menggunakan skrip JavaScript atau VB, dan hapuslah. Simpan halaman secara lokal dan hapus skrip JavaScript atau VB yang sesuai atau gunakan proxy lokal seperti Paros, Web Scarab, Burp Suite.

Jika Anda baru saja membuat kesepakatan dengan seseorang, ingatlah bahwa segala sesuatu yang buruk terjadi pada mesin klien, jadi Anda perlu mengajarkan pelajaran kecil ini kepada pengembang. Saya memberi tahu mereka: "Oke, pengembang, saya ingin Anda memikirkannya, karena Anda akan menempatkan semua keamanan ini di laptop hacker!" Apakah Anda pikir ini benar? " Karena itu, teman-teman, jangan gunakan pemfilteran di sisi klien!

Berikut ini adalah batasan daftar hitam. Seringkali orang mencoba membatasi penggunaan karakter khusus. Baiklah, katakanlah Anda tidak dapat mengirim tanda sama, lebih banyak tanda kurang, dan sejenisnya.



Tetapi sehubungan dengan sintaks SQL, Anda tidak perlu menunjukkan bahwa 1 = 1. Misalnya, dalam permintaan http: // [situs] /page.asp?id=2 atau 1 seperti 1, Anda biasanya dapat menghindari menggunakan tanda sama dengan dan atau operator dengan menggantinya di bilah alamat dengan kata-kata "dan" dan " seperti ", misalnya," dan 1 sebagai 1 "," dan 1 sebagai 2 "dan seterusnya:

http: // [situs] /page.asp?id=2 dan 1 suka 1
http: // [situs] /page.asp?id=2 dan 1 suka 2

Bahkan, suntikan SQL dalam banyak kasus tidak menggunakan karakter khusus.
Selanjutnya, pertimbangkan IDS berbasis tanda tangan. Katakan, siapa di antara Anda yang memiliki meja seperti itu di buku catatan? Jika Anda memiliki tabel kode desimal ASCII atau kode HEX, sobek dengan mat ini.



Apa yang saya pelajari tadi malam ketika saya mabuk di insole adalah bahwa ASCII benar-benar berfungsi! Jadi, ketika Anda berurusan dengan IDS dan menerima peringatan TCP dari IP apa pun, dari port apa pun, datang ke port server web kami, kemudian cari data tipe khusus 1 = 1. Mari kita pikirkan, berapa banyak peretas yang dapat menangkap hal ini? Mari kita pikirkan.



2 adalah 2? Empat puluh ons sama dengan empat puluh ons? 1 = 1 bukan satu-satunya cara untuk membuat permintaan yang Anda bisa mendapatkan respons "benar", Anda dapat mengirim permintaan dengan jenis "2 = 2", "1 <2" dan seterusnya. Jika tanda tangan begitu mudah ditemukan, lalu mengapa mereka dibutuhkan? Jawabannya adalah untuk alat otomatis dan anak-anak.

Slide berikut ini menunjukkan visi IDS saya yang berbasis tanda tangan - ini adalah penjaga gawang yang menangkap 1 bola sementara seratus bola terbang melewati gawang.



Utilitas pentester yang disebut sqlmap mem-bypass perlindungan ini yang saya perlihatkan kepada Anda secara default, dan itu juga ditulis dengan Python!

Hal serupa ditunjukkan pada slide berikutnya. Di sini, untuk solusinya, saya menggunakan teknik 2 atau 2 dan memilih pengguna.



Dalam hal ini, saya mempresentasikan seluruh ekspresi dalam kode heksadesimal, tetapi Anda dapat melakukannya dalam Unicode, utf7, utf-8, utf-16, dalam pengkodean apa pun, tidak masalah, metode ini masih berfungsi dan memungkinkan Anda mem-bypass banyak WAF.

Ada produk lain di bidang PHP - ini adalah PHP IDS, saya pikir sangat keren bahwa sekarang mereka memiliki demonstrasi kemampuannya di situs. Jika Anda mengunjungi demo.phpids.net, Anda dapat mencoba tes asap. Smoketest ini memungkinkan Anda mencoba semua suntikan SQL, skrip lintas situs, atau serangan aplikasi web dan menunjukkan kepada Anda tanda tangan mana yang dideteksi serangan ini, sehingga Anda dapat terus berlatih kung fu di Internet.



Misalnya, Anda dapat menerapkan beberapa efek, mendapatkan tanda tangan, mencoba yang lain, mendapatkan satu set tanda tangan, dan sebagainya. Anda terus bekerja dan bekerja sampai bocah nakal ini mengatakan bahwa semuanya beres, Anda menghindari pertahanan, dan tidak ada yang lain yang โ€œmerokokโ€ Anda. Jadi, Anda mengasah keterampilan kung fu Anda sampai Anda menemukan sesuatu yang dapat menghindari sebagian besar aturan.



Sekarang Modsecurity telah bekerja sama dengan PHP IDS, dan mereka memiliki tes asap sendiri. Saya tidak menambahkannya ke slide saya karena mabuk pagi, tetapi saya akan mengatakan bahwa mereka berhasil menggabungkan aturan Modsecurity dengan aturan PHP IDS yang diatur dalam satu antarmuka web, jadi Anda cukup memasukkan exploit Anda di sana sampai Anda melewati semua aturan. Singkatnya, IDS berbasis tanda tangan hanya lelucon konyol. Setidaknya saya tidak memiliki pelanggan yang tahu tentang produk ini, tetapi mereka tetap membelinya. Tetapi ini adalah cerita yang sedikit berbeda.

Saya sangat memahami Anda yang merupakan analis IDS dan WAF. Saya tahu bahwa saya banyak berbicara, tetapi saya merasakan kesedihan karena saya biasa melakukan pekerjaan Anda, dan tidak ada cukup minuman keras di dunia untuk menahan pekerjaan yang Anda lakukan.



Jadi, sebagian besar hal yang baru saja saya tunjukkan kepada Anda dilakukan melalui jaringan. Seperti yang saya katakan, Anda berinteraksi dengan IDS dan IPS dari jarak jauh, memuat berbagai eksploitasi. Berapa banyak dari Anda yang pernah berurusan dengan JBoss, server aplikasi sumber terbuka, tahu bahwa sebagian besar file diunduh menggunakan itu. Injeksi SQL hanya mengkodekan beberapa jalur yang bisa saya masuki, yang biasanya memberi saya akses ke shell dan DMZ, dan saya mencoba untuk bekerja dari sana.

Setelah itu, saya melakukan hal yang luar biasa dan mengirim email ke klien karena berfungsi. Sisi klien Anda dengan kerangka kerja Metasploit terlihat sangat bagus, sehingga Anda dapat memilih segala sesuatu yang mendukung peramban terbaru, PDF, ActiveX atau eksploitasi file, pastikan itu membalikkan shell TCP, setelah itu Metasploit mengubah pesan ini menjadi HTTPS. Semuanya bagus, satu-satunya hal buruk adalah bahwa itu ditulis dalam Ruby. Tetapi alat Python SET adalah tingkat pentesting yang sama sekali baru.



Alat ini memungkinkan Anda melakukan hal-hal luar biasa. SET diciptakan oleh David Kennedy dari grup ReLic, mari kita bertepuk tangan untuk ini. Inilah yang kita butuhkan untuk menggambarkan esensi dari apa yang terjadi. Peretas tidak lagi memindai port jaringan Anda, jika mereka tidak mencoba melakukan ini, maka mereka mungkin tidak akan mengambil alih shell. Peretas mencoba mengunduh Anda sesuatu yang berbahaya menggunakan email atau sesuatu seperti itu.

Oleh karena itu, perlu bahwa klien memahami bahwa selama pentesting perlu untuk menguji sistemnya untuk resistensi terhadap efek situs penipuan, phishing, dan sejenisnya. Terutama jika Anda menjumpai klien yang saya miliki, dia berdiri dan berkata: "Oke, Joe, saya tidak akan membayar Anda untuk nasihat untuk mengajari karyawan perusahaan cara menggunakan jaringan dengan benar." Jadi, Anda harus mereproduksi semua ancaman nyata di sisi klien sehingga dia mengerti betapa seriusnya ini.

Jadi, tahap pentesting berikutnya adalah Serangan Pivot, atau "serangan balik", di mana satu host yang diretas digunakan untuk menyerang host lain. "Turning Attack" pada LAN adalah bagian penting dari pentesting sisi klien.



Metasploit mendukung Pivot, dan jika saya tidak memiliki kemampuan untuk mengunduh arsip .cab dengan semua file yang dapat dieksekusi yang disusun sebelumnya secara statis, maka tidak perlu menginstal apa pun. Saya menggunakan ini di bengkel saya untuk membuat peluncuran Pivot pada LAN, jadi saya "melompat" ke dalamnya dan mulai bergerak dari sana.

Hal berikutnya yang saya pertimbangkan adalah solusi keamanan umum untuk LAN. Kurangnya DHCP, yaitu, alamat IP statis, alamat MAC DHCP, keamanan port, solusi NAC, adalah hal-hal yang membuat saya tidak bisa masuk ke jaringan. Jadi apa yang harus saya lakukan jika saya tidak dapat mengakses internet?

Jika DHCP hilang dan alamat IP statis, maka saya mencuri alamat IP yang valid dari tuan rumah. Anak-anak saya mengajari saya ini karena alamat IP statis adalah hal yang sangat tidak efisien. Saya harap Anda tidak memiliki klien yang mengatakan mereka akan menghentikan peretas menggunakan alamat IP statis. Saya melakukan hal yang sama di hadapan alamat MAC DHCP - saya mencuri alamat MAC yang valid. Jika kami memiliki port aman, saya juga mencuri IP atau alamat MAC yang valid. Terakhir, jika ada solusi NAC, Anda dapat mengambil komputer, membaliknya dan melihat alamat MAC-nya, atau mencoba menemukan pengecualian protokol 802.1x, yaitu, perangkat yang tidak mendukung 802.1x, seperti printer, mesin fotokopi, rak CD-ROM dan telepon VoIP.

Semua metode ini bekerja untuk saya, dan perangkat terbaik untuk menembus LAN adalah telepon VoIP. Saya memiliki banyak klien yang menggunakan otorisasi otomatis telepon VoIP di jaringan suara berdasarkan alamat MAC dan tag VLAN. Jadi Anda dapat membuat "kotak" Linux mirip dengan telepon VoIP dan menabrak jaringan LAN suara virtual, melewati solusi NAC.

Sebagian besar ponsel klien saya harus terhubung langsung ke pusat perangkat lunak CallManager di DMZ internal, karena semua pusat CallManager harus bekerja dengan server lain, sehingga penerimaan saya berfungsi dengan baik untuk seluruh jaringan.

Ada hal yang disebut Voip Hopper yang mengotomatiskan proses penetrasi VLAN suara. Anda dapat mengunduh exploit ini dari voiphopper.sourceforge.net dan menggunakannya untuk "melompat" langsung ke VLAN.

Ketika saya masuk ke dalam jaringan, saya biasanya mencari tahu siapa yang merupakan administrator domain. Pada slide Anda melihat daftar perintah yang saya gunakan: set - untuk mengetahui informasi tentang domain dan pengguna, tampilan bersih - untuk melihat komputer jaringan, domain pengguna dan domain lainnya, netgroup lokal - untuk menemukan grup komputer lokal dan sebagainya.



Saya melakukan ini untuk mencari tahu siapa dan di mana kelompok bekerja di jaringan untuk mencoba menyerang komputer mereka. Lebih baik lagi, jika saya bisa mendapatkan administrator lokal atau sistem lokal, maka hal berikutnya yang saya lakukan adalah memindai jaringan untuk menentukan siapa pengguna komputer ini.



Anda dapat menggunakan berbagai skrip untuk memeriksa jaringan untuk mencari tahu di mana, di mana mesin "kotak" dari administrator berada. Jika Anda "menangkap" administrator lokal atau sistem lokal, Anda dapat "melompat" ke "kotak" mereka dan menggunakan shell pcexec dari sana.



Setelah saya melompat ke "kotak", saya mulai mencari cara untuk meningkatkan hak istimewa saya. Membangun hak istimewa adalah hal yang sangat sulit. Di Windows XP, hal-hal ini berfungsi bahkan dengan paket layanan Sp3, yang menggunakan antarmuka baris perintah cmd.exe yang indah ini, yang merupakan hal yang hebat.

Ketika saya mentokohkan satu bank, saya harus "membunuh" layanan kerangka kerja McAfee, yang mengacu pada sistem pencegahan intrusi HIPS. Untuk ini, saya menggunakan perintah pskill.exe. Jadi, saya menonaktifkan McAfee, menonaktifkan HIPS, menonaktifkan interceptor dan firma dan semua proses lainnya yang diluncurkan oleh sistem pencegahan intrusi.



Hal lain yang saya tidak punya waktu untuk ditampilkan pada slide adalah bahwa ketika Anda mematikan McAfee, Anda harus terlebih dahulu meningkatkan hak istimewa, dan ini juga berfungsi sehubungan dengan perlindungan titik akhir Symantec. Faktanya adalah bahwa setelah Anda "membunuh" semua proses ini, setelah beberapa saat mereka mulai lagi. Oleh karena itu, Anda perlu "melepas kaitan" file DLL dalam memori untuk berhenti memulai kembali perlindungan. Saya tidak memposting ini pada slide, tetapi jika Anda ingat nanti, saya akan memberikan Anda sintaks untuk trik ini.
Hal lain yang baru saya pelajari tentang McAfee adalah bahwa file dalam daftar pengecualian muncul dengan nama tertentu, bukan hash atau yang serupa. Oleh karena itu, file yang termasuk dalam daftar pengecualian antivirus McAfee tidak dilindungi dari buffer overflows, dan saya akan menggunakan fakta ini untuk tujuan saya sendiri.

Berikut ini menunjukkan "pembunuhan" HIPS sebagai sistem dengan Metasploit. Sekarang mereka memiliki sesuatu yang disebut sistem getar, jadi Anda cukup menulis Metasploit, panggil sistem getar dan itu akan melemparkan Anda langsung ke sistem menggunakan salah satu dari empat metode: hentikan perlindungan antivirus umum, hentikan HIPS, "bunuh" proses McAfee atau "bunuh" Proses HIPS.



Hal terakhir yang ingin saya tunjukkan adalah penangkapan domain.



Segera setelah saya sampai ke "kotak" administrator, saya menggunakan semua token yang telah saya curi dan mulai menggunakan kekuatannya. Meniru sebagai administrator domain, saya membuat grup pengguna dan menambahkannya ke grup administrator. Untuk tujuan saya, ini bekerja dengan baik.



Sedangkan untuk perlindungan, saya akan memiliki 1-2 halaman dokumentasi tentang perlindungan terhadap setiap serangan yang saya bicarakan hari ini. Dikatakan bagaimana melakukan serangan dan bagaimana mempertahankannya. Jadi jika Anda memerlukan informasi tersebut, hubungi saya, semua kontak ada di slide.

Jika saya tidak memiliki pertanyaan, maka saya akan berakhir di sana.



Terima kasih telah tinggal bersama kami. Apakah Anda suka artikel kami? Ingin melihat materi yang lebih menarik? Dukung kami dengan melakukan pemesanan atau merekomendasikannya kepada teman-teman Anda, diskon 30% untuk pengguna Habr pada analog unik dari server entry-level yang kami temukan untuk Anda: Seluruh kebenaran tentang VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps dari $ 20 atau bagaimana membagi server? (pilihan tersedia dengan RAID1 dan RAID10, hingga 24 core dan hingga 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps hingga Januari secara gratis ketika membayar untuk jangka waktu enam bulan, Anda dapat memesan di sini .

Dell R730xd 2 kali lebih murah? Hanya kami yang memiliki 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV dari $ 249 di Belanda dan Amerika Serikat! Baca tentang Cara Membangun Infrastruktur kelas menggunakan server Dell R730xd E5-2650 v4 seharga 9.000 euro untuk satu sen?

Source: https://habr.com/ru/post/id432496/


All Articles