0% menganggap dokumen ini bermanfaat (1 suara)
290 tayangan11 halaman

Hunting Bug

Dokumen tersebut membahas tentang langkah-langkah awal dalam melakukan pengujian aplikasi berbasis web, yaitu dengan mengetahui nama domain atau alamat IP dari target yang akan diuji. Dokumen juga menjelaskan cara mencari informasi sub-domain dari target utama, antara lain dengan melakukan reverse IP lookup atau menggunakan tools otomatisasi.

Diunggah oleh

heru2910
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (1 suara)
290 tayangan11 halaman

Hunting Bug

Dokumen tersebut membahas tentang langkah-langkah awal dalam melakukan pengujian aplikasi berbasis web, yaitu dengan mengetahui nama domain atau alamat IP dari target yang akan diuji. Dokumen juga menjelaskan cara mencari informasi sub-domain dari target utama, antara lain dengan melakukan reverse IP lookup atau menggunakan tools otomatisasi.

Diunggah oleh

heru2910
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 11

Halaman | 20

5. RECONNAISSANCE

Di dalam realitanya, untuk seorang penguji dapat mengetahui ada tidaknya suatu aplikasi berbasiskan
web di suatu tempat, tentunya dibutuhkan salah satu dari dua informasi berikut, yaitu nama domain
dan IP Address dari suatu target.

1. Bila tidak mengetahui nama domain, tentunya akan sulit menentukan target yang hendak diuji,
terlebih bila nama perusahaannya bersifat general. Contoh sederhana: "Coba tolong kalian uji
aplikasi milik ABC". Tentunya ini akan menimbulkan kebingungan, yaitu antara merek dagang ABC
di Indonesia atau ABC yang lain yang secara penamaan domain dapat berbeda, misalnya abc.com,
abc.net, dan lainnya. Di sisi lain, sering kali nama domain ini tidak berhubungan sedikitpun dengan
nama perusahaannya. Contoh seperti PT Pendekar Pintar yang domainnya adalah
https://www.halaman-tertentu.com/. Tentunya tidak mungkin bila kita mencari
http://pendekarpintar.com/.

Dari kesimpulan ini dapat dilihat bahwa alangkah lebih baik bila penguji mengetahui nama domain
yang hendak diuji.

2. Bila tidak diketahui nama domainnya, maka minimal penguji mengetahui IP yang hendak diuji. Dan
bila telah diketahui IP nya, maka tentu penguji harus kembali melakukan tahap awal, yaitu
melakukan Port Scanning. Adapun pada hasil Port Scanning, maka cukup ditujukan pada output
TCP yang memiliki protokol HTTP atau HTTPS yang merupakan protokol yang umumnya digunakan
untuk suatu aplikasi melakukan komunikasi.

Yang menjadi pertanyaan adalah, apakah akan semudah itu, yaitu dengan mengetahui IP maka
mengetahui aplikasinya? Jawabannya sayangnya tidak. Karena ada situasi ketika suatu IP memiliki
banyak aplikasi sehingga kita memerlukan informasi berupa "path" dari aplikasi itu. Contoh:

• Aplikasi abc.com terletak pada IP http://10.20.30.40/abc

• Aplikasi xyz.com terletak pada IP http://10.20.30.40/xyz

Namun demikian, terlepas dari langkah yang diperlukan untuk mencari nama domain maupun path
yang ada (yang tentunya akan dibahas pada Panduan ini), dua informasi terkait mengetahui nama
domain atau nama IP, tentunya sudah menjadi salah satu pintu pembuka untuk penguji mengetahui
ada tidaknya aplikasi di dalamnya.

Sebagai pengingat kembali, ketika bertemu suatu IP dan hendak mengetahui layanan / service yang
mungkin up di dalam IP dimaksud, maka penguji dapat melakukan port / service scanning dengan alat
bantu seperti nmap seperti yang telah dipaparkan di bagian “Ringkasan Uji Dasar”.

Bug Hunting 101 – Edisi Pertama Free | https://alfursan.id


Web Application Security Testing Al-Fursan Cybersecurity Learning Resources
Halaman | 21

5.1. Mencari Sub-Domain dari Suatu Target

5.1.1. Metode Reverse IP Lookup (Penggunaan Server yang Sama)

Secara umum ketika seorang penguji telah mendapati domain utama dari suatu target, tentunya hal
ini akan dapat mempermudah langkah untuk melakukan pengujian terhadap aplikasi web itu sendiri.
Namun demikian, domain utama sering kali bukanlah suatu target yang “baik” untuk diserang sejak
awal (tentunya pernyataan ini dikeluarkan dengan pengecualian).

Lalu mengapa domain utama bukanlah suatu target yang baik untuk diserang sejak awal?
Sederhananya, ketika domain utama yang menjadi target adalah milik dari suatu
perusahaan/organisasi besar (apalagi sampai membuka bug bounty program), maka sudah dapat
dipastikan bahwa terdapat begitu banyak orang yang mengujinya yang tentunya diharapkan dengan
beriringnya aktivitas monitoring dari pihak perusahaa/organisasi serta perbaikan terhadap serangan-
serangan yang berhasil (memberikan dampak risiko).

Di sisi lain, pihak developer pun akan selalu mengerahkan tenaga semaksimal mungkin untuk
memastikan bahwa domain utama ini aman, atau bahkan meminimalkan fitur yang tersedia pada
domain utama sehingga penguji benar-benar akan menjadi sukar dalam “berbuat sesuatu”.

Catatan: Lalu mengapa ada pengecualian pada pernyataan yang disampaikan? Bagi penulis, situasi di
Indonesia cukup unik karena sering kali didapati bahwa justru domain utama juga rentan untuk
diserang sehingga tidak dapat dilupakan sebagai “bagian dari target uji” (kecuali bila target merupakan
perusahaan/organisasi yang umumnya secara kebijakan telah diwajibkan untuk melakukan security
testing dari regulasi terkait).

Sekarang mari kembali ke topik awal. Mengapa perlu mencari sub-domain dari domain utama (walau
mungkin objektifnya tetap berada di domain utama)? Alasannya sebenarnya cukup sederhana. Di
dalam aktivitas peretasan, seorang Attacker tidak akan pernah memandang bulu akan target yang
dituju. Selama dirinya dapat mencapai target utama, maka berbagai pilihan metode uji pun akan
ditempuh oleh dirinya, termasuk menyerang sub-domain yang tersedia.

Di sisi lain, ada suatu budaya unik di setiap perusahaan/organisasi (termasuk big names sekalipun),
yaitu belum tentu pengembangan suatu aplikasi di unit business A akan serupa dengan
pengembangan di unit business B. Terlebih lagi bila perusahaan ini baru melakukan akuisisi terhadap
suatu perusahaan lain yang tentunya sudah pasti memiliki budaya pengembangan yang berbeda.

Kemudian, hal apa yang harus dilakukan dalam mencari sub-domain?

Tentunya terbilang cukup banyak. Hal yang umum biasa penulis lakukan (bila prioritas utamanya

Bug Hunting 101 – Edisi Pertama Free | https://alfursan.id


Web Application Security Testing Al-Fursan Cybersecurity Learning Resources
Halaman | 22

adalah “memasuki” domain utama), maka dapat dimulai dengan mencari sub-domain dari IP yang
sama yang digunakan oleh domain utama. Tujuan hal ini dilakukan yaitu karena bila seorang penguji
dapat meretas ke sub-domain yang memiliki IP serupa dengan domain utama dan berhasil masuk ke
sistem operasi yang digunakan, maka penguji dimaksud dapat dikatakan sudah selangkah lebih maju
untuk masuk ke data di domain utama.

Contoh, secara acak, penulis mengambil domain novell.com sebagai target utama. Pada situasi ini,
penulis akan mencoba mencari domain lain yang mungkin ada di dalam IP yang digunakan oleh
novell.com.

Adapun untuk memulainya, langkah yang diperlukan cukup sederhana. Penguji dapat menggunakan
online tools dengan kata kunci “Reverse IP Lookup”. Beberapa hasil dari pencarian ini akan tertuju
pada layanan “You Get Signal” dan “HackerTarget”.

Gambar 10 Reverse IP Lookup with “You Get signal”

Dari hasil yang ada, maka akan terlihat bahwa terdapat satu sub-domain (di luar domain utama) yang
menetap di dalam IP terkait. Karena sub-domain dimaksud berada di dalam penggunaan IP yang sama
dengan novell.com, maka ada kemungkinan bahwa “mereka” juga berada di dalam satu sistem
operasi yang sama. Dalam konteks ini, beruntungnya tidak terdapat domain lain di luar dari milik
novell.com (yang umumnya dapat terjadi karena berada di shared hosting).

Catatan penting: Satu IP yang serupa bukan berarti berada di dalam sistem operasi yang sama. Maka
dari itu, ini hanyalah salah satu cara untuk membuka jalur uji menjadi lebih luas demi meraih objektif
menuju target utama.

Bug Hunting 101 – Edisi Pertama Free | https://alfursan.id


Web Application Security Testing Al-Fursan Cybersecurity Learning Resources
Halaman | 23

5.1.2. Sub-Domain Enumeration dengan Automation Tools

Sering kali, seorang penguji membutuhkan daftar sub-domain yang dimiliki oleh suatu domain untuk
kemudian dapat dijadikan sebagai target dalam meretas. Alasannya cukup sederhana, karena penguji
akan selalu berusaha untuk mencari kemungkinan bahwa salah satu sub-domain yang diretas ini
memiliki kaitan dengan domain utama.

Contoh sederhana yang dapat diangkat yaitu seperti kisah berhasilnya mem-bypass perlindungan
CAPTCHA pada portal utama asus.com dikarenakan ditemukannya salah satu “akses langsung” pada
bagian pendaftaran maupun login di salah satu aplikasi mobile mereka yang dapat diunduh melalui
PlayStore. Kisah ini secara tidak langsung juga mengingatkan kembali bahwa “budaya” pengembangan
di suatu unit business dengan yang lainnya akan dapat berbeda, terlebih bila belum ada kendali yang
mengatur atau mungkin karena adanya aktivitas “bypass” terhadap peraturan yang telah diterapkan.

Sebagai pendahuluan, perlu menjadi catatan bahwa metode pencarian sub-domain ini pada umumnya
selalu berhubungan dengan kamus yang digabungkan dengan berbagai search engine. Contoh
sederhananya yaitu ada suatu sub-domain bernama asdasd.target.com. Bila “asdasd” ini tidak masuk
ke dalam keyword di dalam suatu kamus dan tidak pula terdeteksi oleh search engine apapun, maka
dapat dipastikan bahwa sub-domain ini tidak dapat ditemukan (kecuali telah diberitahu oleh pemilik).

Note: salah satu kamus yang cukup banyak dan terus di-update yaitu buatan Jason Haddix yang dapat
dilihat pada tautan: https://gist.github.com/jhaddix/f64c97d0863a78454e44c2f7119c2a6a.

Untuk langkah cepat mengetahui daftar sub-domain yang ada pada suatu target (tanpa harus
membuka notebook - misalnya sebagai uji cepat dari smartphone), biasanya penguji dapat
menggunakan layanan VirusTotal.com. Selain berfungsi sebagai suatu platform yang digunakan untuk
mendeteksi suatu malware pada suatu file maupun tautan, Virustotal ini juga dapat digunakan untuk
melihat sub-domain yang terdapat di dalam suatu domain utama. Penggunaannya pun cukup
sederhana, penguji hanya perlu masuk ke portal: https://www.virustotal.com/#/home/search yang
kemudian dilanjutkan dengan memasukan tautan yang diharapkan.

Gambar 11 Halaman Pencarian Sub-Domain pada VirusTotal

Bug Hunting 101 – Edisi Pertama Free | https://alfursan.id


Web Application Security Testing Al-Fursan Cybersecurity Learning Resources
Halaman | 24

Pada kesempatan ini, akan kembali dicoba untuk memasukan tautan novell.com untuk dapat dilihat
informasi berupa sub-domain yang terdeteksi.

Gambar 12 Ditemukan 100+ Sub-domains

Ketika domain milik novell.com dimasukan, maka akan secara otomatis layanan ini mendeteksi sub-
domain yang telah menjadi bagian dari database yang dimiliki oleh VirusTotal.

Perlu menjadi catatan bahwa selain mengenumerasi sub-domain dari domain utama, layanan ini juga
mampu melakukan deteksi terhadap sub-domain dari situs lain yang “diduga” memiliki keterkaitan
(dinamakan siblings) dengan domain yang di-input. Namun demikian, hasil yang ditampilkan pada
“siblings” ini terbilang kurang maksimal dalam pendeteksian yang ada karena sifatnya sebatas dugaan.

Bug Hunting 101 – Edisi Pertama Free | https://alfursan.id


Web Application Security Testing Al-Fursan Cybersecurity Learning Resources
Halaman | 25

Berikut ini merupakan sedikit gambaran sekilas dari hasil enumerasi dimaksud:

Gambar 13 Contoh Sederhana Hasil Enumerasi

Adapun bila ingin melakukan uji secara mendalam (bukan lagi sekedar melihat dari VirusTotal), maka
beberapa tools lain yang umum digunakan dan cukup powerfull akan hal ini yaitu:

• Sublist3r - https://github.com/aboul3la/Sublist3r

Sangat cepat namun jangan menjadikan tools ini sebagai satu-satunya pilihan. Umumnya sublist3r
hanya digunakan sebagai pembuka saja sehingga proses pencarian dapat dilakukan secara cepat.
Namun demikian, untuk memperoleh informasi sub-domain secara detil, dianjurkan untuk
memilih tools lain.

• Amass - https://github.com/caffix/amass

Bagus karena dapat dipadukan dengan menggunakan berbagai engine seperti Shodan, Censys,
VirusTotal, dan lainnya (melalui penggunaan API dari masing-masing layanan) sehingga perolehan
informasi akan semakin optimal.

Metode yang digunakan pun terdiri dari web archives crawling, permuting/altering names, dan
reverse DNS sweeping. Hal positifnya adalah tools ini masih terus di-update hingga 11 Maret 2019
lalu dan telah menjadi bagian dari OWASP project (https://github.com/OWASP/Amass).
Bug Hunting 101 – Edisi Pertama Free | https://alfursan.id
Web Application Security Testing Al-Fursan Cybersecurity Learning Resources
Halaman | 26

• Subfinder - https://github.com/subfinder/subfinder

Kurang lebih sama seperti Amass yang telah dipadukan dengan menggunakan berbagai engine.
Dianjurkan untuk menggunakan keduanya (baik Amass maupun Subfinder).

Berdasarkan riset yang telah dilakukan dan dipaparkan oleh Jason Haddix pada “Bug Hunter
Methodology v3”, berikut ini merupakan tabel perbandingan dari penggunaan tools yang ada:

Gambar 14 Tabel Perbandingan Sub-Domain Enumeration Tools

Dan berikut ini merupakan sedikit gambaran akan hasil dari penggunaan sub-domain enumeration
tools terhadap tautan milik bitdefender.com:

Gambar 15 Few of Sub-Domains at bitdefender.com

Bug Hunting 101 – Edisi Pertama Free | https://alfursan.id


Web Application Security Testing Al-Fursan Cybersecurity Learning Resources
Halaman | 27

5.2. Melihat Keadaan Sub-Domain pada Target

5.2.1. Directory / File Brute Force

Pencarian informasi mengenai suatu target tidaklah lengkap tanpa disertai dengan langkah
mengidentifikasi kemungkinan direktori yang ada pada target dimaksud.

Mengapa perlu untuk mengetahui hal ini? Seperti yang telah dipaparkan pada ringkasan uji dasar,
karena pada umumnya, direktori atau path yang berperan sebagai perantara terhadap dashboard
pengatur aplikasi ini memiliki akses yang cukup banyak terhadap internal dari suatu sistem operasi,
sebagai contoh yaitu seperti fitur upload, fitur CRUD (yang biasanya terhubung dengan database
secara langsung), dan lainnya. Dengan memperoleh fitur-fitur dimaksud, maka potensi untuk meraih
akses ke dalam sistem pun menjadi semakin tinggi.

Untuk menjadikan Panduan ini dapat dilihat secara berurutan, maka akan dibahas kembali dengan
beberapa tambahan mengenai tahapan yang diperlukan terkait hal ini.

1. Pencarian melalui robots.txt

Hal pertama yang perlu dilakukan adalah tentunya melihat robots.txt.

Secara spesifik, file robots.txt ini pada dasarnya merupakan file yang bertujuan untuk memberikan
peraturan terhadap “bot – search engine” untuk tidak melakukan crawling terhadap direktori yang
telah ditentukan di dalamnya. Namun demikian, dari sudut pandang Attacker, hal ini menjadi suatu
pintu singkat untuk dapat mengetahui letak direktori sensitif itu berada.

Sebagai contoh, suatu aplikasi memiliki direktori / path pada http://aplikasi.com/J4ng4nAks3s. Namun
demikian, karena path “J4ng4nAks3s” ini diletakan pada robots.txt, maka secara tidak langsung,
seorang Attacker pun akan dapat mengetahui keberadaan direktori / path dimaksud.

2. Automation Directory / File Brute Force

Di sisi lain, maka penguji dapat mencoba untuk mencari tahu keberadaan suatu halaman sensitif
dengan menggunakan metode guessing baik terhadap hal yang common maupun yang tercatat pada
dictionary umum.

Biasanya, hal ini berputar pada sisi:

/adm /cpanel /manage

/admin /dashboard /manager/html

Bug Hunting 101 – Edisi Pertama Free | https://alfursan.id


Web Application Security Testing Al-Fursan Cybersecurity Learning Resources
Halaman | 28

/administrator /root /pma

/4dm1n /backend /phpMyAdmin

/cms /login Dan lainnya

Di dalam implementasinya, seorang penguji dapat menggunakan berbagai automation tools yang
dapat dipakai untuk membantu seorang penguji dalam mencari suatu direktori / path atau bahkan file
sensitif secara cepat, misalnya seperti dirsearch (dapat dikunjungi di tautan berikut:
https://github.com/maurosoria/dirsearch). Adapun untuk implementasinya, maka akan lebih efektif
bila menambahkan jenis ekstensi yang hendak dicari, sebagai contoh yaitu dengan perintah:

python3 dirsearch.py -u target.com -e .asp, .aspx, .jsp, .php, .csv, .doc, .docx, .xls, .xlsx, .ppt, .pptx,

.pdf, .bak, .conf, .config, .old, .sql, .jar, .rar, .zip, .tar, .tar.gz, .apk, .ipa, .cgi, .do, .htm, .html, .js,

.json, .rb, .xml, .yml, .svn, .git

Perlu menjadi catatan bahwa eksekusi dari tools ini dianjurkan untuk dilakukan beberapa kali setiap
berhasil menemukan suatu direktori tertentu.

Contoh sederhana, seorang penguji hendak mencari kemungkinan direktori / file yang mungkin ada
pada tautan http://10.20.30.40/. Saat menggunakan tools ini, maka secara otomatis tools akan
melakukan brute force berdasarkan built-in kamus yang dimiliki. Katakan saja, tools ini mendapati hal
berikut:

Gambar 16 Scanning is Completed

Setelahnya, maka penguji harus kembali mengulangi untuk mengeksekusi scanner pada direktori /api
yang ditemukan. Pada kesempatan ini, maka akan terdapat potensi ketika scanner dimaksud akan
berhasil menemukan file sensitif di dalamnya seperti misalnya .git ataupun .svn.
Bug Hunting 101 – Edisi Pertama Free | https://alfursan.id
Web Application Security Testing Al-Fursan Cybersecurity Learning Resources
Halaman | 29

5.2.2. Directory / File Brute Force Bagian II – Web Crawling

Masih dengan topik yang sama namun dengan penggunaan tools yang berbeda, salah satu tools yang
juga terbilang cukup ampuh untuk melihat keadaan suatu domain / sub-domain (dalam konteks
mengetahui file atau direktori) selain dirsearch adalah nikto (https://github.com/sullo/nikto).

By default, nikto sudah ter-install di dalam Kali Linux dan dapat dipanggil langsung tanpa harus masuk
ke direktori tertentu. Dan secara spesifik, Nikto digunakan untuk mencari suatu path atau direktori
yang dapat diakses oleh public. Dengan banyaknya database yang dimiliki, tentunya akan semakin
membuat tools ini semakin baik.

Di dalam pelaksanaannya, output yang dihasilkan memang terbilang agak lama karena nikto akan
melakukan crawling terlebih dahulu. Namun demikian, pengujia tetap dianjurkan untuk menggunakan
varian ini selain bergantung pada satu jenis automation scanner saja.

Cara penggunaannya sendiri cukup sederhana. Penguji hanya perlu memasukan perintah:

# nikto -h target.com atau # nikto-h sub-domain.target.com

Untuk scan sisi HTTPS, maka cukup tambahkan opsi -p 443 (bila HTTPS di jalur default, yaitu di port
443). Perlu menjadi catatan bahwa web crawling memiliki konteks yang berbeda dengan directory
brute force. Pada web crawling, dia akan mencoba melihat setiap tautan dan mencoba mengeksekusi
setiap path yang ditemukan (untuk dilihat kadar sensitif atau potensi issue yang dapat muncul).

5.3. Kesimpulan Reconnaissance Tahap Dasar

Tentunya cara untuk mencari informasi sebanyak mungkin terhadap suatu target tidaklah terbatas
pada hal-hal yang disampaikan pada Panduan ini. Di dalam kenyataannya, cara untuk melakukan
pencarian informasi terkait suatu domain, shared hosting, serta direktori maupun suatu file pada
suatu target, pun akan terus berkembang dan tidak terhenti pada hal yang dibahas pada Panduan ini.
Akan tetapi, Panduan ini sendiri dapat menjadi dasar bagi para penguji untuk mencari suatu informasi
mengenai target.

Untuk selanjutnya, Panduan ini akan mulai membahas mengenai kerentanan umum yang perlu untuk
diuji untuk dapat semakin meminimalisasikan risiko yang terdapat di suatu sistem.

Bug Hunting 101 – Edisi Pertama Free | https://alfursan.id


Web Application Security Testing Al-Fursan Cybersecurity Learning Resources
Halaman | 30

5.4. Referensi Reconnaissance

Sebagai pelengkap informasi, berikut ini merupakan beberapa referensi yang dapat menjadi rujukan
terkait pembahasan reconnaissance:

• Default Passwords: https://cirt.net/passwords

• Default Password List: http://www.phenoelit.org/dpl/dpl.html

• Reverse IP Lookup: https://www.yougetsignal.com/tools/web-sites-on-web-server/

• Fast subdomains enumeration tool for penetration testers:


https://github.com/aboul3la/Sublist3r

• Amass - In-depth DNS Enumeration and Network Mapping: https://github.com/caffix/amass

• Amass - In-depth DNS Enumeration and Network Mapping: https://github.com/OWASP/Amass

• Subfinder - subdomain discovery tool that discovers valid subdomains for websites:
https://github.com/subfinder/subfinder

• Open Source (GPL) web server scanner: https://github.com/sullo/nikto

• Bug Hunter Methodology v3 by Jason Haddix: https://docs.google.com/presentation/d/1R-


3eqlt31sL7_rj2f1_vGEqqb7hcx4vxX_L7E23lJVo/edit?usp=sharing

• [Video] Bug Hunter Methodology v3 by Jason Haddix:


https://youtube.com/watch?v=Qw1nNPiH_Go

Bug Hunting 101 – Edisi Pertama Free | https://alfursan.id


Web Application Security Testing Al-Fursan Cybersecurity Learning Resources

Anda mungkin juga menyukai