Kecerdasan yang tenang. Metode untuk mengidentifikasi potensi kerentanan WEB

Catatan


Panduan ini ditujukan untuk pemula yang masih memiliki pengetahuan minimum tentang keamanan informasi. Saya berusaha mendorong anak muda yang memiliki banyak waktu dan yang ingin melakukan sesuatu yang produktif.

Pendahuluan


Seperti yang sudah Anda ketahui, ada banyak situs perantara yang bekerja dengan perusahaan untuk meningkatkan efektivitas program Bug Bounty, termasuk:

  • hackerone.com
  • bugcrowd.com
  • intigriti.com
  • yeswehack.com
  • openbugbounty.org
  • synack.com (privat)

Bagaimana cara kerjanya?


  • Mencari kerentanan
  • Kami menulis langkah-langkah yang diambil untuk mengeksploitasi kerentanan
  • Membuang laporan teknologi ini. dukungan.
  • Kami mendapat koin.

Apa yang kita butuhkan untuk ini?


VPS, lebih disukai Debian (lainnya dapat digunakan) + koneksi internet yang baik (saya ambil dari alexhost.com, VPS 1,5 GB RAM, 1 Core, 10GB SSD hanya dengan 11 euro per tahun.)

  • sublist3r
  • httprobe
  • webscreenshot
  • respons tajuk
  • relatif-url-extractor
  • jsfiles extractor

Pengaturan preferensi


Saya menulis skrip kecil untuk memfasilitasi pemasangan alat.

root@debian-s-1vcpu-2gb-ams3-01:~# git clone https://github.com/airwawekz/xrec.git root@debian-s-1vcpu-2gb-ams3-01:~# cd xrec root@debian-s-1vcpu-2gb-ams3-01:~# chmod +x xrec-install.sh root@debian-s-1vcpu-2gb-ams3-01:~# ./xrec-install.sh 

Proses identifikasi


Misalkan program yang ingin kita ikuti ditujukan untuk mencari kerentanan di semua subdomain, termasuk domain utama. Biasanya, domain primer lebih aman daripada subdomainnya, yang berarti bahwa kita harus fokus pada subdomain.

Misalnya: * .example.com

Langkah pertama:

Kami mengidentifikasi semua subdomain milik example.com. Untuk ini kami menggunakan Sublist3r.

gambar

root@debian-s-1vcpu-2gb-ams3-01:~# cd /root/xrec/Sublist3r/
root@debian-s-1vcpu-2gb-ams3-01:~# python sublist3r.py -d example.com -o domains.txt


gambar

Saya sarankan menambahkan API dalam konfigurasi skrip Anda untuk hasil terbaik. (Mis: Virustotal)

Kami sedang menunggu pemindaian selesai, pada akhirnya Anda akan membuat file "domains.txt" di mana hasil dari proses pemindaian akan disimpan.

Langkah kedua:

Kami memeriksa domain mana yang valid, untuk ini kami menggunakan httprobe.

 root@debian-s-1vcpu-2gb-ams3-01:~# cat domains.txt | httprobe | tee -a alive.txt 

Setelah menyelesaikan proses ini, Anda akan membuat file yang disebut "hidup.txt" dengan subdomain yang valid.

gambar

Langkah ketiga:

Kami mengambil tangkapan layar untuk setiap situs yang aktif, langkah ini membantu kami dengan cepat mengidentifikasi potensi subdomain yang rentan jika kami memiliki daftar domain yang valid.

 root@debian-s-1vcpu-2gb-ams3-01:~# python /root/xrec/webscreenshot/webscreenshot.py -r chromium -i alive.txt -o /root/xrec/webscreenshot/screens/ 

gambar

Hasilnya akan disimpan di folder / root / xrec / webscreenshot / screen / sebagai * example.com.png.

Setelah menyelesaikan proses ini, saya sarankan Anda memeriksa setiap tangkapan layar secara terpisah. Saya sering menemukan subdomain yang terlupakan dengan cms yang rentan.

Langkah keempat:

Kami memeriksa respons tajuk, langkah ini sangat penting, ada banyak kerentanan yang dapat digunakan melalui tajuk.

Misalnya: Eksekusi Kode Jarak Jauh Yahoo

 root@debian-s-1vcpu-2gb-ams3-01:~# cd /root/xrec/ | sudo chmod +x response.sh root@debian-s-1vcpu-2gb-ams3-01:~/xrec# ./response.sh /root/xrec/Sublist3r/alive.txt 

gambar

Pada akhir proses ini, 2 folder "header" dan "responsebody" akan dibuat, di mana hasil verifikasi akan disimpan.

Langkah kelima:

Langkah terakhir adalah mengekstraksi titik akhir dari file JS. Untuk melakukan ini, gunakan jsfiles extractor.

 root@debian-s-1vcpu-2gb-ams3-01:~# cd /root/xrec/ | chmod +x jsfiles.sh root@debian-s-1vcpu-2gb-ams3-01:~# ./jsfiles.sh 

Setelah proses ini selesai, folder yang disebut "skrip" dibuat, di mana semua file akan terlihat seperti www.example.com .

gambar

Saat ini, kami telah mengumpulkan informasi yang cukup, kami hanya perlu menguji.

Sebagai contoh:

Jika Anda memiliki tautan final: "details.php? Id = 3" atau "details / id / 3", langkah pertama adalah menguji kerentanan seperti XSS / SQLi.

Contoh lain, jika kita memiliki tautan akhir: = redirectUrl = / example / photo kita dapat mencoba membuka redirect.

Jika Anda memiliki titik akhir formulir: /pingcheck.php?s=google.com, Anda dapat melakukan tes untuk RCE atau SSRF jika Anda memiliki sesuatu seperti /viewpage.php?s=google.com.

Apa yang bisa saya tambahkan lagi?


  • Lebih banyak sumber / API untuk memindai subdomain (mis. Sensus, Shodan, dll.)
  • Pemindaian port dengan nmap
  • Arah bruteforce
  • Otomatisasi semua proses

      XSS  Snapchat 


Menggunakan proses pemindaian subdomain, saya menemukan bahwa subdomain ini snappublisher.snapchat.com memiliki fungsi yang menarik untuk memuat gambar setelah beberapa upaya gagal untuk melewati filter, saya perhatikan bahwa Anda dapat mengunduh file format SVG (Scalable Vector Graphics) dan kemudian semuanya sederhana

 <svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg"> <polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/> <script type="text/javascript"> alert(document.domain); </script> </svg> 

Saya menyimpan kode sebagai img.svg dan mengunggah gambar, lalu membuka gambar di tab baru -> Handler aktif.

Sayangnya, kerentanan ini hanya dapat digunakan untuk serangan phishing. Kami melaporkan kerentanan ini kepada tim Snapchat melalui Hackerone. Kami berterima kasih))

Anda tidak akan melihat - Anda tidak akan melihat, Anda tidak akan bertanya - Anda tidak akan menemukan.

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


All Articles