GitHub untuk Pemburu Hadiah Bug

Apr 28 2023
Untuk pemburu hadiah bug, repositori GitHub dapat mengungkapkan berbagai informasi yang berpotensi berguna. Mungkin ada masalah dengan target yang tidak selalu open source.

Untuk pemburu hadiah bug, repositori GitHub dapat mengungkapkan berbagai informasi yang berpotensi berguna. Mungkin ada masalah dengan target yang tidak selalu open source. Terkadang informasi yang dapat digunakan untuk melawan perusahaan target diungkap secara keliru oleh anggota organisasi dan inisiatif open source mereka. Saya akan memberi Anda ikhtisar singkat dalam artikel ini yang akan membantu Anda mulai memindai repositori GitHub untuk mencari kerentanan dan melakukan pengintaian umum.

Kloning 1-Massal

Anda bisa melakukan riset di github.com, namun untuk mengaktifkan pengujian lokal, saya menyarankan untuk mengkloning setiap repositori target. GitHubCloner oleh @mazen160 adalah produk yang fantastis. Yang harus Anda lakukan adalah menjalankan skrip untuk siap digunakan.

$ python githubcloner.py --org organization -o /tmp/output

      
                

Sangat penting untuk benar-benar memahami proyek yang Anda tuju sebelum memulai analisis statis. Gunakan fitur utama saat menjalankan proyek. Alasan saya menyebut ini sebagai "langkah Jobert" adalah karena saya pernah mendengar bahwa sebelum memulai setiap perburuan, Jobert menggunakan proyek dan memahami target dengan baik sebelum mencari kelemahan.

3- Analisis manual

Pepatah “belajar membuatnya, lalu hancurkan” berlaku dalam situasi ini. Jika Anda dapat mempelajari bahasa pemrograman, Anda harus dapat memahami seluk beluk tindakan pengamanan yang harus dilakukan dan dihindari.

Anda dapat mulai memahami setelah Anda terbiasa dengan target dan arsitekturnya. Cari kata kunci yang Anda minati, kenali, atau yang Anda sadari sering membuat kesalahan pengembang.

Berikut adalah daftar dasar dari beberapa istilah pencarian yang akan saya gunakan selama evaluasi luas pertama:

  • API dan kunci. (Dapatkan lebih banyak titik akhir dan temukan kunci API.)
  • token
  • rahasia
  • MELAKUKAN
  • kata sandi
  • rentan
  • http:// & https://
  • CSRF
  • acak
  • hash
  • MD5, SHA-1, SHA-2, dll.
  • HMAC

Langkah penting lainnya adalah meninjau riwayat komit. Anda akan terkejut melihat betapa banyak informasi yang dapat Anda peroleh dari komit. Saya telah melihat kontributor secara keliru meyakini bahwa mereka telah menghapus kredensial sementara mereka tetap berada dalam riwayat komit. Karena sejarah git, saya menemukan titik akhir kuno yang masih beroperasi. Selain kekhawatiran saat ini, Anda mungkin menemukan masalah historis yang dapat dihindari karena komitmen lama.

4- Alat

Terkadang mengotomatiskan tugas yang membosankan dapat membantu memberi Anda gambaran dasar tentang apa yang harus dicari. Sangat penting untuk diingat bahwa Anda tidak boleh menyalin dan menempelkan hasil pemindaian ke dalam laporan. Anda akan mendapatkan banyak positif palsu, jadi Anda harus selalu menyelidiki potensi masalah dengan hati-hati untuk memastikannya dapat dieksploitasi.

Alat utama yang saya gunakan saat mengerjakan proyek Python adalah Bandit .

Bandit akan mengidentifikasi masalah umum tetapi sering memberikan hasil positif palsu atau hasil yang menggantung rendah. Jadi gunakan dengan hati-hati. Tanpa ragu, itu tidak boleh diandalkan.

$ bandit -r path/to/your/code -ll

Snyk.io adalah alat yang luar biasa untuk memeriksa dependensi. Platform ini mendukung berbagai macam bahasa.

Untuk pengintaian, banyak peneliti menyarankan menggunakan Gitrob . Alat ini akan mencari informasi sensitif di repositori publik GitHub.

$ gitrob analyze acme,johndoe,janedoe

$ truffleHog https://github.com/dxa4481/truffleHog.git

Untuk aplikasi Ruby on Rails, saya merekomendasikan Brakeman . Brakeman adalah pemindai keamanan analisis statis yang dapat menemukan banyak masalah keamanan dalam kode.

Gunakan LinkFinder oleh Gerben Javado untuk menemukan titik akhir di file JS repositori.

$ python linkfinder.py -i 'path/to/your/code/*.js' -r ^/api/ -o cli

Oke, serius jangan merekayasa sosial pemilik proyek.

Melaporkan Temuan Anda

Seperti biasa dalam hal berburu hadiah bug, baca kebijakan program secara menyeluruh. Sangat jarang suatu program menerima laporan melalui GitHub. Hubungi tim keamanan atau jika memungkinkan gunakan platform bug bounty seperti HackerOne atau Bugcrowd

Di samping catatan, hal keren tentang pengujian kotak putih adalah karena Anda memiliki akses ke kode, akan lebih mudah untuk menyarankan perbaikan atau mengirimkan tambalan.

TERIMA KASIH SUDAH MEMBACA INI!