Halo para Penduduk! “Untuk mempelajari sesuatu, Anda perlu menerapkan pengetahuan dalam praktik. Inilah cara kami mempelajari keahlian meretas. ”- Michael Prince dan Jobert Abma, salah satu pendiri HackerOne. Bug Trap memperkenalkan Anda pada peretasan topi putih - pencarian kerentanan keamanan. Tidak masalah jika Anda seorang pemula keamanan siber yang ingin membuat internet lebih aman, atau pengembang berpengalaman yang ingin menulis kode aman, Peter Jaworski akan menunjukkan caranya.
Buku ini mencakup jenis kesalahan umum dan laporan peretas kehidupan nyata dari perusahaan seperti Twitter, Facebook, Google, Uber, dan Starbucks. Dari laporan ini, Anda akan memahami cara kerja kerentanan dan dapat membuat aplikasi Anda sendiri lebih aman.
Anda akan belajar:
- bagaimana internet bekerja dan mempelajari konsep dasar peretasan web;
- bagaimana penjahat dunia maya membobol situs web;
- bagaimana pemalsuan permintaan memaksa pengguna untuk mengirimkan informasi ke situs web lain;
- cara mengakses data pengguna lain;
- di mana harus mulai berburu kerentanan;
- cara membuat situs web mengungkapkan informasi menggunakan permintaan palsu.
Untuk siapa buku ini?
Buku ini ditulis untuk peretas pemula. Mereka bisa menjadi pengembang web, perancang web, orang tua yang sedang
cuti melahirkan , anak sekolah, pensiunan, dll. Tentu saja, pengalaman pemrograman dan pemahaman umum tentang teknologi web akan berguna, tetapi tidak akan menjadi prasyarat untuk peretasan.
Keterampilan pemrograman dapat mempermudah menemukan kerentanan dalam logika pemrograman. Jika Anda dapat menempatkan diri Anda pada posisi seorang programmer atau membaca kode mereka (jika tersedia), peluang Anda untuk sukses akan lebih tinggi.
Tentang apa buku ini
:
1. . , . : HTTP-, HTTP.
2. Open Redirect. , .
3. HTTP-. HTTP- .
4. . , - HTTP-, .
5. HTML . , HTML- - .
6. . HTTP-, , .
7. . , JavaScript- , .
8. . , . .
9. SQL. , .
10. . , .
11. XML-. , , XML- .
12. . .
13. . , , , .
14. . , .
15. . , , .
16. . , , .
17. OAuth. , , .
18. . , .
19. . , , . .
20. . , , .
. . , , -, , ..
. . (-, , ..
1. . , . : HTTP-, HTTP.
2. Open Redirect. , .
3. HTTP-. HTTP- .
4. . , - HTTP-, .
5. HTML . , HTML- - .
6. . HTTP-, , .
7. . , JavaScript- , .
8. . , . .
9. SQL. , .
10. . , .
11. XML-. , , XML- .
12. . .
13. . , , , .
14. . , .
15. . , , .
16. . , , .
17. OAuth. , , .
18. . , .
19. . , , . .
20. . , , .
. . , , -, , ..
. . (-, , ..
14 Menangkap subdomain
Membajak subdomain memungkinkan penyerang mendistribusikan konten mereka sendiri atau mengganggu lalu lintas di situs orang lain.
Nama domain
Domain adalah URL untuk mengakses situs web. Ini mengikat alamat IP menggunakan server DNS. Dalam struktur hierarkisnya, setiap bagian dipisahkan oleh titik-titik, dan elemen terakhir (paling kanan) disebut domain tingkat atas. Contoh dari domain tersebut adalah .com, .ca, .info, dll. Di sebelah kiri adalah nama domain. Bagian dari hierarki ini untuk mengakses situs web. Misalnya, <example> .com adalah nama domain terdaftar dengan domain level teratas .com.
Subdomain membentuk paling kiri dari URL dan dapat menjadi bagian dari situs web yang berbeda dalam domain terdaftar yang sama. Misalnya, Contoh telah membuat situs web tetapi membutuhkan alamat email terpisah. Ini dapat menggunakan dua subdomain berbeda dengan konten berbeda: www. <example> .comdan webmail. <example> .com.
Pemilik situs dapat menggunakan beberapa metode untuk membuat subdomain, seperti menambahkan satu dari dua catatan ke deskripsi nama domain: A atau CNAME. Rekam A mengikat nama situs ke satu atau beberapa alamat IP. Data CNAME unik menautkan kedua domain. Hanya administrator situs yang berhak membuat data DNS.
Bagaimana penangkapan subdomain terjadi
Subdomain dianggap dibajak jika pengguna mengontrol IP dan URL yang diarahkan oleh data A atau data CNAME. Contoh: Setelah membuat aplikasi baru, pengembang menghostingnya di Heroku dan membuat data CNAME yang mengarah ke subdomain Contoh situs utama. Situasi ini menjadi tidak terkendali jika:
- Contoh telah mendaftarkan akun di platform Heroku tanpa menggunakan SSL.
- Heroku Example unicorn457.herokuapp.com.
- Example DNS- CNAME, test.<example>.com unicorn457.herokuapp.com.
- Example test.<example>.com, Heroku . CNAME .
- , CNAME URL- Heroku, unicorn457.heroku.com.
- test.<example>.com, URL- Example.
Konsekuensi dari mengambil alih subdomain bergantung pada konfigurasinya dan setelan domain induk. Misalnya, dalam presentasinya Tips Pro Hacking Web # 8 ( www.youtube.com/watch?v=76TIDwaxtyk ), Arne Swinnen menjelaskan cara mengelompokkan cookie untuk hanya mentransfer domain yang cocok. Namun jika Anda menentukan satu titik sebagai subdomain, misalnya ,. <example> .com, browser akan mengirimkan cookie <example> .com ke subdomain mana pun dari perusahaan Contoh yang dikunjungi pengguna. Dengan mengontrol pengujian alamat. <example> .com, peretas dapat mencuri cookie <example> .com dari korban yang mengunjungi pengujian subdomain yang dibajak. <example> .com.
Namun meskipun cookie tidak dikelompokkan dengan cara ini, penyerang masih dapat membuat subdomain yang meniru situs induk. Dengan menempatkan formulir login di subdomain ini, ini dapat memaksa pengguna untuk memberikan kredensial mereka ke sana. Kerentanan ini memungkinkan dua jenis serangan umum, tetapi ada metode peretasan lain seperti mencegat email.
Untuk menemukan kerentanan dengan pembajakan subdomain, analisis data DNS situs menggunakan alat KnockPy, yang mencari pesan kesalahan umum di subdomain untuk kerentanan yang dikembalikan oleh layanan seperti S3. KnockPy hadir dengan daftar nama domain umum yang layak untuk dicoba, tetapi Anda dapat mengembangkannya. Daftar serupa dapat ditemukan di repositori SecLists GitHub ( https://github.com/danielmiessler/SecLists/).
Menangkap subdomain Ubiquiti
Kesulitan:
URL Rendah : assets.goubiquiti.com
Sumber: hackerone.com/reports/109699/
Tanggal Penerimaan : 10 Januari 2016 Bounty Dibayar
: $ 500
Amazon Simple Storage (atau S3) adalah layanan penyimpanan file yang merupakan bagian dari Amazon Layanan Web (AWS). Akun di S3 adalah keranjang yang dapat diakses melalui URL AWS yang dimulai dengan nama akun. Amazon menggunakan namespace global untuk URL keranjangnya, jadi setiap keranjang yang terdaftar itu unik. Misalnya, jika saya mendaftarkan keranjang <example>, itu akan memiliki URL <example> .s3.amazonaws.com dan hanya saya yang akan memilikinya. Namun penyerang juga dapat mengambil bucket S3 gratis apa pun.
Ubiquiti telah membuat data CNAME untuk assets.goubiquiti.com dan menautkannya ke keranjang uwn-images S3 yang tersedia di uwn-images.s3.website.us-west-1.amazonaws.com. Karena server Amazon tersebar di seluruh dunia, URL ini berisi informasi tentang wilayah geografis tempat bucket dihosting -. us-west-1 (California Utara).
Bucket ini tidak terdaftar atau Ubiquiti menghapusnya dari akun AWS-nya tanpa menghapus data CNAME, tetapi saat mengunjungi assets.goubiquiti.com, browser mencoba mengambil konten dari S3. Peretas mengambil ember ini untuk dirinya sendiri dan melaporkan kerentanannya.
kesimpulan
Carilah data DNS yang mengarah ke layanan pihak ketiga seperti S3. Jika catatan seperti itu ditemukan, periksa apakah perusahaan telah mengkonfigurasi layanan dengan benar. Selain itu, Anda dapat terus memantau catatan dan layanan menggunakan alat otomatis seperti KnockPy jika perusahaan menghapus subdomain tetapi lupa memperbarui pengaturan DNS-nya.
Menautkan subdomain Scan.me ke Zendesk
Kesulitan:
URL Rendah : support.scan.me
Sumber: hackerone.com/reports/114134/
Tanggal Laporan : 2 Feb 2016 Bounty Dibayar
: $ 1.000
platform Zendesk menyediakan dukungan pelanggan di subdomain situs web. Misalnya, jika Contoh menggunakannya, subdomain ini mungkin terlihat seperti support. <example> .com.
Seperti pada contoh sebelumnya, pemilik scan.me membuat catatan CNAME yang mengikat support.scan.me ke scan.zendesk.com. Layanan scan.me kemudian diakuisisi oleh Snapchat. Sesaat sebelum kesepakatan diselesaikan, subdomain support.scan.me telah dihapus dari Zendesk, tetapi catatan CNAME-nya tetap ada. Setelah menemukan ini, peretas menggunakan alias harry_mg terdaftar scan.zendesk.com dan menerbitkan kontennya menggunakan platform Zendesk.
kesimpulan
Selama proses integrasi antara perusahaan induk dan anak, beberapa subdomain mungkin dihapus. Jika administrator lupa memperbarui catatan DNS, ada ancaman pembajakan subdomain. Karena subdomain dapat berubah kapan saja, mulailah melacak informasi rekaman secara terus menerus segera setelah perusahaan diumumkan.
Meraih subdomain windsor di situs web Shopify
Tingkat Kesulitan:
URL Rendah : windsor.shopify.com
Sumber: hackerone.com/reports/150374/
Tanggal Pengajuan Laporan: 10 Juli 2016 Hadiah Dibayar
: $ 500
Mengambil alih subdomain tidak selalu melibatkan pendaftaran akun dengan layanan pihak ketiga. Peretas zseano menemukan bahwa Shopify membuat catatan CNAME untuk windsor.shopify.com yang mengarah ke aislingofwindsor.com. Dia menemukan ini saat mencari semua subdomain Shopify di crt.sh, yang melacak semua sertifikat SSL terdaftar dan subdomain terkait. Informasi ini bersifat publik, karena sertifikat SSL apa pun harus diterbitkan oleh CA sehingga browser dapat memverifikasi keasliannya saat mengunjungi situs. Situs web juga dapat mendaftarkan apa yang disebut sertifikat wildcard yang memberikan perlindungan SSL untuk semua subdomainnya (dalam kasus seperti itu, crt.sh diindikasikan dengan tanda bintang, bukan subdomain).
Saat situs web mendaftarkan sertifikat wildcard, crt.sh tidak dapat menentukan untuk subdomain mana, tetapi menunjukkan hash uniknya. Layanan censys.io melacak hash sertifikat dan subdomain di mana mereka digunakan dengan memindai Internet. Jika Anda mencari censys.io untuk hash sertifikat wildcard, Anda akan menemukan subdomain baru.
Saat menelusuri daftar subdomain di crt.sh dan mengunjungi masing-masing subdomain, zseano melihat bahwa windsor.shopify.com menampilkan kesalahan "404 Halaman tidak Ditemukan". Artinya, situs itu kosong atau tidak lagi dimiliki oleh aislingofwindsor.com. Untuk menguji opsi kedua, zseano mengunjungi layanan pendaftaran nama domain dan mencoba mencari aislingofwindsor.com. Ternyata domain ini bisa dibeli seharga $ 10. Dengan melakukan itu, zseano memberi tahu perwakilan Shopify tentang kerentanan pembajakan subdomain.
kesimpulan
Jika Anda menemukan subdomain yang mengarah ke situs lain dan mengembalikan kesalahan 404, periksa apakah situs itu tersedia untuk pendaftaran. Layanan crt.sh dapat berfungsi sebagai titik awal untuk mengidentifikasi subdomain. Jika Anda menemukan sertifikat wildcard di sana, cari hashnya di censys.io.
Menangkap subdomain dengan cepat di Snapchat
Kesulitan:
URL Sedang : fastly.sc-cdn.net/takeover.html
Sumber: hackerone.com/reports/154425/
Tanggal Pengajuan Laporan : 27 Jul 2016 Bounty Dibayar
: $ 3,000
Fastly adalah jaringan pengiriman konten. atau CDN). Ini menyimpan salinan konten di server di seluruh dunia sehingga sedekat mungkin dengan pengguna yang memintanya.
Hacker Ibraitas memberi tahu Snapchat tentang konfigurasi DNS yang salah untuk domain sc-cdn.net-nya. Url fastly.sc-cdn.netada data CNAME yang merujuk ke subdomain dengan cepat. Yang terakhir ini milik Snapchat, tetapi tidak terdaftar dengan benar. Pada saat itu, layanan Fastly memungkinkan untuk mendaftarkan subdomain khusus, asalkan lalu lintas dienkripsi menggunakan TLS, di mana sertifikat wildcard umum Fastly digunakan. Dalam kasus konfigurasi yang salah dari subdomain pengguna di situs, pesan kesalahan ditampilkan: “Fastly error: unknown domain :. Harap periksa apakah domain ini telah ditambahkan ke layanan. ”Harap periksa bahwa domain ini telah ditambahkan ke layanan.
Sebelum melaporkan masalah tersebut, Ibraitas mencari domain sc-cdn.net di censys.io dan mengonfirmasi kepemilikannya ke Snapchat dengan mendaftarkan sertifikat SSL-nya. Dia kemudian mengonfigurasi server untuk menerima lalu lintas dari URL itu dan menunjukkan bahwa domain tersebut sebenarnya sedang digunakan.
Snapchat mengonfirmasi bahwa sebagian kecil pengunjung terus menggunakan versi lama aplikasi mereka, yang meminta konten yang tidak diautentikasi dari subdomain tersebut. Konfigurasi khusus telah diperbarui dengan tautan ke url yang berbeda. Secara teoritis, untuk waktu yang singkat, penyerang dapat mendistribusikan file berbahaya ke pengguna dari subdomain ini.
kesimpulan
Cari situs yang tertaut ke layanan yang mengembalikan pesan kesalahan. Jika Anda menemukan kesalahan seperti itu, baca dokumentasi layanan dan pahami bagaimana itu digunakan. Kemudian coba temukan konfigurasi yang salah yang dapat Anda gunakan untuk mengambil alih subdomain.
Tangkap subdomain di situs web Robot Legal
Kesulitan:
URL Sedang : api.legalrobot.com
Sumber: hackerone.com/reports/148770/
Tanggal pengiriman : 1 Juli 2016
Hadiah yang dibayarkan: $ 100
Meskipun subdomain dari layanan pihak ketiga dikonfigurasi dengan benar, layanan itu sendiri mungkin tidak dikonfigurasi dengan benar. Frans Rosen mengatakan kepada Legal Robot bahwa data DNS CNAME untuk subdomain api.legalrobot.com menunjuk ke Modulus.io, yang dapat dibajaknya.
Setelah menemukan halaman kesalahan, peretas harus mengunjungi layanan tersebut dan mendaftarkan subdomain. Tetapi dalam kasus api.legalrobot.com, ini tidak dimahkotai dengan sukses: Robot legal sudah memiliki situs ini.
Tanpa menyerah, Rosen mencoba mendaftarkan subdomain wildcard * .legalrobot.com, yang tetap tersedia. Konfigurasi situs Modulus memprioritaskan subdomain wildcard daripada entri yang lebih detail, di antaranya adalah api.legalrobot.com. Hasilnya, seperti yang terlihat pada Gambar. 14.1, Rosen dapat menandai kontennya sendiri di api.legalrobot.com.

Perhatikan konten yang diposting Rosen dalam gambar. 14.1. Alih-alih mempermalukan pemilik situs dan mengklaim bahwa dia telah mengambil alih subdomain, dia menggunakan halaman teks sederhana dengan komentar HTML untuk mengonfirmasi bahwa dialah yang memposting teks tersebut.
kesimpulan
Saat situs web menggunakan layanan pihak ketiga untuk menghosting subdomain, hal itu bergantung pada mekanisme keamanan layanan tersebut. Jangan lupa bahwa jika subdomain berhasil ditangkap, lebih baik lakukan demo dengan hati-hati.
tentang Penulis
Peter Jaworski menjadi seorang hacker, secara mandiri mempelajari pengalaman para pendahulunya (beberapa di antaranya disebutkan di dalam buku). Dia sekarang menjadi pemburu kerentanan yang sukses, berkat Salesforce, Twitter, Airbnb, Verizon Media, Departemen Pertahanan AS, dan lainnya, dia sekarang menjadi Application Security Engineer di Shopify.
Tentang editor ilmiah
Tsang Chi Hong , alias FileDescriptor, adalah seorang pentester dan pemburu kerentanan. Tinggal di Hong Kong, menulis artikel tentang keamanan web di blog.innerht.ml , tertarik dengan soundtrack dan cryptocurrency.
»Rincian lebih lanjut tentang buku dapat ditemukan di situs web penerbit
» Daftar Isi
» Kutipan
Untuk Habitants diskon 25% untuk kupon - Hacking
Setelah pembayaran untuk versi kertas buku, sebuah e-book dikirim ke email.