Jadi, Anda ingin menjadi seorang analis di bidang keamanan jaringan ...

Terjemahan artikel disiapkan khusus untuk siswa Pentest. Praktik Pengujian Penetrasi .




Apakah Anda tertarik mengembangkan metode peretasan dan ingin berbagi penemuan Anda dengan komunitas keamanan informasi? Dalam artikel ini, saya akan memberikan beberapa rekomendasi kepada mereka yang ingin menjadi seorang analis di bidang keamanan web, serta berbicara tentang peluang dan jebakan yang pernah dia temui dalam perjalanannya.

Siapa analis keamanan jaringan?


Analis keamanan jaringan adalah orang-orang yang melampaui menggunakan teknik peretasan terkenal seperti SQLi dan XSS dan menemukan ancaman baru ke situs web. Ini bisa menjadi solusi inovatif yang menyulitkan metode yang ada, seperti pendekatan untuk mengeksploitasi kerentanan lokal + blind XXE , atau seluruh kelas ancaman baru seperti Web Cache Deception (meracuni cache aplikasi web).

Sangat sulit untuk melindungi situs web dari metode serangan yang tidak dikenal, sehingga mereka sering dapat digunakan untuk mengoperasikan sejumlah besar situs web aman lainnya. Ini berarti mempublikasikan penemuan Anda di area ini dapat membantu situs web menghilangkan kerentanan, sehingga meningkatkan tingkat keamanan keseluruhan untuk seluruh ekosistem.

Putus seumur hidup


Sebagian besar penelitian melibatkan penggunaan metode yang sudah ada, yang telah sedikit maju, jadi untuk awalnya akan lebih baik untuk berkenalan dengan situasi saat ini. Cara tercepat untuk melakukan ini adalah menemukan pekerjaan di mana Anda akan menggunakan teknik peretasan untuk sebagian besar waktu Anda. Banyak orang baik telah memberikan saran tentang bagaimana masuk ke industri keamanan informasi, jadi di sini saya akan singkat.

Saya merekomendasikan pendekatan berorientasi praktik, mulai dari Akademi Keamanan Jaringan kami, pindah ke tugas yang lebih terbuka, seperti di hackxor.net saya, untuk bergerak maju pertama melalui tugas-tugas sederhana dengan hadiah kecil untuk upaya di HackerOne dan BugCrowd , dan akhirnya Beralihlah ke program kerentanan generik yang terbukti baik dan murah hati. Setelah Anda menemukan dan menganalisis beberapa kerentanan, menjadi konsultan keamanan informasi dan melakukan peretasan di situs dan aplikasi web baru setiap hari seharusnya mudah.

Ada banyak sumber daya online gratis yang akan melayani Anda dengan baik di sepanjang jalan, termasuk metodologi Burp kami, HackerOne Hacker 101 dan panduan pengujian OWASP . Untuk buku, saya akan merekomendasikan membaca WebApp Hacker's Handbook dan The Tangled Web . Network Security Academy di atas dimaksudkan untuk digunakan secara interaktif sebagai pengganti WebApp Hacker's Handbook, tetapi kami membutuhkan waktu untuk membahas semua topik yang diperlukan, jadi untuk saat ini saya akan merekomendasikan menggunakan kedua sumber.

Melampaui metode yang dikenal


Segera setelah Anda mulai bekerja dan akan melakukan peretasan sepanjang hari kerja Anda, Anda akan memahami tingkat beban kerja, setelah beberapa waktu pengalaman Anda akan luas dan pengetahuan baru akan sulit. Pada tahap ini, langkah paling penting adalah tidak membiarkan diri Anda berpuas diri dan terus belajar dan berlatih. Hanya dengan cara ini Anda akan menjadi spesialis nyata.

Perburuan untuk pengetahuan yang terlupakan


Semua orang mengerti bahwa Anda perlu mengikuti perkembangan baru dan memantau pakar industri , agregator berita, dan menghadiri konferensi keamanan. Namun, mengikuti perkembangan baru secara eksklusif berarti tidak memperhatikan pengetahuan dan penelitian berharga yang telah dilakukan sejak lama dan terlupakan.

Setiap kali Anda menemukan artikel blog yang bagus, jangan berhemat waktu - baca seluruh arsip. Potongan informasi yang tak ternilai dan terlupakan sering disembunyikan di sana. Misalnya, ambil artikel RSnake ini tentang pengikatan kembali DNS, yang ditulis pada 2009. Memutakhirkan DNS mem-bypass kontrol akses berbasis IP / firewall di situs web, dan satu-satunya cara efektif untuk menghindarinya adalah dengan memasukkan daftar putih aplikasi Anda di header HTTP Host. Orang dengan cepat memutuskan bahwa browser dapat menangani ini, dan sembilan tahun kemudian, dengan serangkaian eksploitasi baru, menjadi jelas bahwa kerentanan ini digunakan kembali.

Menjelajahi arsip juga akan membantu Anda tidak menemukan kembali roda yang telah ditemukan orang lain, misalnya, seperti halnya dengan penemuan kembali serangan CSS sepuluh tahun kemudian. Namun, beberapa penelitian sangat sulit ditemukan, sehingga duplikasi yang tidak disengaja tidak dapat dihindari. Suatu kali saya menerbitkan sebuah penelitian dan menemukan bahwa kuza55 sudah melakukan hal yang sama lima tahun yang lalu. Karena itu, lakukan segala yang mungkin untuk menghindari duplikasi penelitian, tetapi jika ini terjadi, jangan panik, itu terjadi pada semua orang.

Kumpulkan barang langka


Untuk menghubungkan topik dan mengidentifikasi peluang yang dilewatkan orang lain, sangat penting untuk mengumpulkan informasi dari berbagai sumber. Sebagai permulaan, jangan membatasi diri Anda untuk membaca konten keamanan informasi; Anda akan dengan cepat menemukan dokumentasi yang akan memandu Anda melalui exploit. Sekali lagi, tip berikutnya mungkin cukup jelas, tetapi sebelum Anda menelusuri Google atau mencoba merumuskan pertanyaan di Twitter / Reddit / StackOverflow, pastikan untuk bertanya kepada kolega Anda. Sering terjadi bahwa pengetahuan yang diperlukan ada di suatu tempat di dekatnya, tetapi beberapa orang tidak membagikannya secara publik.

Selain itu, cobalah untuk mempertahankan keragaman dalam pengalaman Anda.

Melakukan pengujian penetrasi kotak hitam untuk konsultasi keamanan informasi harus memberi Anda berbagai aplikasi web eksternal dan internal yang mungkin tidak pernah Anda temui dalam program karunia bug. Namun, batas waktu akan mencegah Anda menggali ke dalam tingkat pemahaman aplikasi yang datang dalam berbulan-bulan karunia bug untuk satu tujuan. Meskipun ini adalah proses yang lambat dan terbatas, peninjauan kode sumber kotak putih dapat menawarkan perspektif serangan alternatif yang tidak terpikirkan oleh pentester kotak hitam. Untuk berkembang sebagai seorang analis, Anda harus menggabungkan ketiga metode kerja. Fitur tambahan seperti game CTF dan penulisan aplikasi web juga akan memperluas perspektif Anda.

Tidak ada ide terlalu bodoh


Salah satu jebakan terburuk yang dapat Anda lakukan adalah membuang ide bagus, dengan asumsi itu pasti tidak akan berhasil, dan tidak mencobanya karena "orang lain akan memperhatikannya" atau "itu terlalu bodoh untuk untuk bekerja. " Saya telah sangat menderita sebelumnya, sedemikian rupa sehingga salah satu bagian dari studi ini muncul dua tahun lebih lambat dari yang seharusnya. Tidak ada bedanya apakah ini memotong otentikasi dengan memasukkan kembali kata sandi yang sama, atau meretas halaman administrasi Google dari ponsel Anda, bukan laptop, karena eksploitasi signifikan berikutnya dapat datang dari ide yang sangat bodoh.

Berikan kenyamanan


Jika beberapa teknologi dianggap kompleks, tidak nyaman atau berbahaya - ini jelas merupakan topik yang perlu diselidiki. Setelah berulang kali mengalami terobosan nyata setelah mempelajari topik yang jauh di luar zona nyaman saya, saya memutuskan bahwa cara tercepat untuk penemuan baru adalah secara aktif mencari topik yang membuat saya merasa tidak nyaman. Kemungkinan besar, peretas lain menghindari topik ini, memberi mereka potensi penelitian yang serius. Bagi saya, ini adalah satu-satunya penjelasan yang masuk akal mengapa saya bisa mengambil peralatan, pertama kali didokumentasikan pada tahun 2005, dan sekali lagi disajikan di DEF CON pada tahun 2016, dan menggunakannya untuk mendapatkan $ 70 ribu pada bug bug di 2019.

Ulangi, temukan kembali, bagikan
Ulangi


Cara termudah untuk mulai bekerja adalah dengan menemukan penelitian prospektif orang lain, membangun sesuatu sendiri berdasarkan itu, mencampur beberapa metode, dan kemudian mencoba menerapkan pendekatan baru Anda di lapangan dan melihat apakah sesuatu yang menarik terjadi.

Sebagai contoh, artikel tentang kesalahan konfigurasi CORS ini menunjukkan perilaku yang menarik dan mengatakan bahwa perilaku seperti itu sangat umum, tetapi penulis berhenti di sana dan tidak mempelajari efeknya pada masing-masing situs web.

Saya mengambil konsep yang diusulkan sebagai dasar dan menerapkannya ke situs bug bug, di mana saya bisa bereksperimen secara legal dan mencoba tangan saya untuk menghindari semua cara yang mungkin untuk melindungi mereka. Sepanjang jalan, saya meningkatkan sesuatu dengan menggunakan teknik eksploitasi pengalihan terbuka yang terkenal, akhirnya menemukan asal "null" dengan membaca dokumentasi CORS, dan menjelajahi kemungkinan keracunan cache.

Tidak ada dalam proses ini yang membutuhkan intuisi yang luar biasa atau pengetahuan teknis yang luar biasa, namun, hasil akhirnya mudah diperoleh - pengoperasian kesalahan konfigurasi CORS untuk bitcoin dan karunia .

Ciptakan


Mengulangi pekerjaan orang lain itu keren, tetapi penelitian paling keren datang entah dari mana, baik menulis ulang jalur relatif atau meracuni cache aplikasi web . Saya percaya bahwa penemuan tersebut disebabkan oleh pengalaman pribadi yang menambah petunjuk. Saya menyebutnya "pengalaman terkemuka" atau "remah roti," karena mereka kadang-kadang misterius dan dapat membawa banyak orang untuk membawa Anda ke penemuan yang bermanfaat.

Sebagai contoh, pada tahun 2011, saya mencoba untuk memecahkan perlindungan CSRF yang digunakan oleh addons.mozilla.org . Saya mengelak dari cek token, tetapi mereka juga memeriksa bahwa host di header Referer cocok dengan situs saat ini. Saya meminta sla.ckers forum sla.ckers , dan 'barbarianbob' mengatakan bahwa Django menentukan host situs saat ini dengan melihat nilai bidang Host di header HTTP, dan itu dapat diganti dengan header X-Forwarded-Host. Gagasan ini dapat dikombinasikan dengan gagasan kerentanan memperkenalkan header di Flash untuk menghindari cek CSRF, tetapi yang lebih penting adalah remah roti pertama. Dialah yang memimpin gagasan bahwa aplikasi dapat mengandalkan header host untuk menentukan lokasi mereka saat ini.
Beberapa waktu kemudian, saya melihat kode sumber fungsi reset kata sandi Piwik dan menemukan garis yang terlihat seperti ini:

$passwordResetLink = getCurrentUrlWithoutQueryString() + $secretToken

Ya, saya pikir. Piwik menggunakan PHP, yang memiliki banyak kesenangan dalam menangani jalur, jadi saya dapat meminta pengaturan ulang kata sandi di piwik.com/reset.php/foo;http : //evil.com, sebagai hasilnya saya mendapatkan email dengan dua tautan, dan token rahasia dikirim di evil.com . Gagasan ini berhasil, memberi saya manfaat dan meletakkan dasar untuk pencarian berikutnya.

Remah ketiga dan terakhir adalah bagaimana Piwik mencoba memperbaiki kerentanan ini. Mereka mengganti getCurrentUrlWithoutQueryString() dengan getCurrentUrlWithoutFileName() . Ini berarti saya tidak bisa lagi menggunakan metode saya untuk mengeksploitasi. Karena saya sudah terbiasa dengan Django, saya memutuskan untuk mempelajari kode dan mencari tahu bagaimana Piwik menentukan apa nama host saat ini. Saya menemukan bahwa, seperti Django, mereka menggunakan header host, yang berarti saya dapat dengan mudah menghasilkan email yang dikirim untuk mengatur ulang kata sandi. Ternyata, trik ini bekerja pada addons.mozilla.org dan Galeri, dan Symfony, dan Drupal, dan sejumlah situs lainnya. Akibatnya, ini mengarah pada praktik serangan dengan substitusi header HTTP Host .

Menggambarkan penampakan penemuan dengan sangat jelas, saya harap saya bisa menghilangkan misteri di sekitar proses penelitian dan menunjukkannya tidak seperti ide spontan entah dari mana. Dari sudut pandang ini, tampaknya keterampilan utama (selain pengetahuan dan pengalaman yang ada) adalah mengenali remah roti seperti itu dan mengikuti jalan yang ditunjukkannya. Saya tidak dapat merumuskan cara melakukannya dengan cara yang dapat diakses, tetapi saya tahu bagaimana mempertimbangkan hal-hal yang membuat Anda mengatakan "itu tidak ada gunanya" berulang kali.

Bagikan


Penting untuk membagikan penelitian Anda dengan komunitas. Ini akan membantu meningkatkan portofolio Anda dan mungkin mendorong atasan Anda untuk memberi Anda lebih banyak waktu kerja untuk penelitian. Selain itu, ini akan membantu Anda menghindari buang-buang waktu dan merangsang penelitian lebih lanjut. Mengkritik pekerjaan Anda dan mengomentarinya dapat membantu Anda melihat apa yang tidak Anda perhatikan sebelumnya. Juga tidak ada yang lebih berguna daripada melihat bagaimana analis lain mengembangkan tekniknya berdasarkan teknik Anda.

Tolong jangan berpikir bahwa teknologi atau ide tidak boleh dibagikan hanya karena itu tidak inovatif. Dua logo dan presentasi - publikasikan semua yang Anda miliki (idealnya di blog, dan bukan pada platform tertutup yang berindeks buruk seperti Twitter).

Saat Anda membagikan penelitian Anda, selalu berguna untuk menunjukkan contoh penerapan metode Anda ke aplikasi web nyata. Tanpa ini, orang pasti akan mengalami kesulitan memahaminya, dan mereka mungkin meragukan nilai praktisnya.

Akhirnya, presentasi sangat bagus untuk menjangkau khalayak yang lebih luas, tetapi jangan jatuh ke lingkaran setan dan jangan buang waktu Anda tanpa henti mengulangi presentasi sebelumnya.

Kesimpulan


Saya sendiri masih harus banyak belajar tentang keamanan jaringan, jadi saya akan kembali ke topik ini beberapa tahun kemudian dengan tampilan baru dan ide-ide baru. Selain itu, saya tahu bahwa analis lain mungkin memiliki sudut pandang yang berbeda, dan saya menantikan gagasan yang dapat mereka bagikan.

Ringkasan tips saya untuk menjadi analis keamanan jaringan:

  • Cari pengetahuan yang terlupakan dan baca catatan arsip;
  • Dapatkan informasi dari berbagai sumber sebanyak mungkin;
  • Pergi jauh ke topik yang kompleks dan "menakutkan";
  • Ulangi, ciptakan, bagikan;
  • Tidak ada ide terlalu bodoh.

Jadi, jika Anda ingin memulai, saya dapat menyarankan Anda untuk memilih sepuluh teknik peretasan web tahunan terbaik kami. Selain itu, saya telah membuat daftar berbagai blog yang telah menginspirasi saya selama bertahun-tahun. Semoga berhasil dengan riset Anda dan bersenang-senanglah!

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


All Articles