วิธีเริ่มต้นสู่การเป็น Bug Bounty Hunter 2024

Datafarm
3 min readFeb 14, 2024

--

ในยุคดิจิทัลที่เต็มไปด้วยเทคโนโลยี เว็บไซต์ และแอปพลิเคชันต่าง ๆ ความปลอดภัยทางไซเบอร์กลายเป็นประเด็นสำคัญหลายองค์กรต้องให้ความสำคัญ โดยเฉพาะช่องโหว่หรือบั๊ก (Bug) ในระบบที่เปรียบเสมือนประตูที่เปิดต้อนรับให้เหล่าแฮ็กเกอร์เข้าไปขโมยข้อมูล ทำลายระบบ หรือสร้างความเสียหายที่ร้ายแรงได้

วันนี้ผมจะพาไปรู้จักกับ “นักล่า Bug” ว่ามีวิธีเริ่มต้นเป็นอย่างไร ต้องรู้อะไรบ้าง เพราะในบทความนี้ มุ่งหวังให้ผู้ที่สนใจที่จะเรียนรู้วิธีการเริ่มต้นเส้นทางสู่การเป็น Bug Bounty Hunter และเรียกตัวเองว่า Hacker ได้อย่างเต็มตัว

https://imgflip.com/i/8eramg

Bug Bounty Hunter เป็นอีกหนึ่งสายอาชีพน่าสนใจที่กำลังมาแรงในยุคนี้ โดยมีหลักการง่าย ๆ คือ การเปิดโอกาสให้ “แฮกเกอร์ที่มีจริยธรรม” (Ethical Hacker) ค้นหาจุดอ่อนด้านความปลอดภัยในเว็บไซต์ แอปพลิเคชันมือถือ หรือระบบต่างๆ และเมื่อพบช่องโหว่เหล่านี้พวกเขาจะแจ้งผู้พัฒนาซอฟต์แวร์เพื่อดำเนินการแก้ไข โดยได้รับผลตอบแทนเป็นเงินรางวัลตามระดับความรุนแรงของช่องโหว่ที่พบ

Bug Bounty Hunting a Challenge

สำหรับผม Bug Bounty มีความเข้มข้นและท้าทายมากกว่าการทำ Penetration Testing ทั่วไป พูดได้ว่ามันคือ อีกขั้นของ Penetration Testing โดยความยากกว่าของมันแยกออกมาได้ประมาณ 2–3 ข้อ ดังนี้

  1. ต้องเป็นช่องโหว่ที่สำคัญจริง ๆ โดยส่วนมาก Bug Bounty Program ต่าง ๆ มักให้รางวัลกับช่องโหว่ที่มีผลกระทบทางธุรกิจจริง ๆ เช่น RCE ATO SQLi ส่งผลให้มาตรฐานของช่องโหว่ที่จะยอมรับได้และจ่ายเงินรางวัลให้นั้นสูงกว่ามาก
  2. คุณจะต้องแข่งขันกับนักล่าคนอื่น ๆ และมีเพียงคนที่รายงานช่องโหว่เป็นคนแรกเท่านั้นที่จะได้รับรางวัล
  3. ความยากสำหรับมือใหม่ สำหรับมือใหม่ ช่วงเริ่มต้นอาจจะยากเนื่องจากต้องแยกแยะและเรียนรู้ช่องโหว่ที่แท้จริงให้ได้ และพยายามเป็นคนแรกที่ค้นพบ + รายงานช่องโหว่

เพราะฉะนั้นสิ่งแรก ๆ ที่ควรจะมี คือ ความทุ่มเท ความอดทน และการเรียนรู้อย่างต่อเนื่อง

The Hacker Mindset

“Thinking outside of the box”

อาจจะเป็นประโยคที่ทุกคนน่าจะเคยได้ยินกันบ่อยและผมมองว่าการที่จะคิดนอกกรอบให้ได้ดีที่สุด เราก็ควรจะรู้ในกรอบให้ได้มากที่สุดเช่นกัน ฟังเหมือนยาก แต่ในยุคที่เราเข้าถึงข้อมูลทุกอย่างได้ผ่านอินเทอร์เน็ตอาจจะไม่ได้ยากอย่างที่คิด

Mastering the Basics!

ก่อนเริ่มตะลุยโลกการล่ารางวัลและหาบั๊ก การมีพื้นฐานที่มั่นคงถือเป็นสิ่งสำคัญอันดับต้น ๆ ซึ่งถ้าเป็นการเริ่มต้นจากศูนย์ก็อาจจะต้องใช้เวลากันสักหน่อย แต่ผมอยากแนะนำให้เริ่มด้วยการทำความเข้าใจกับแนวคิดสำคัญเหล่านี้

  1. Network Basics
  2. Communication Protocols
  3. How website works
  4. Database
  5. Basic OS command

ซึ่งวิธีที่ง่ายที่สุดก็คือ Google เพียงแค่นำคีย์เวิร์ดข้างบนไปเซิร์ชก็จะพบกับเว็ปไซต์และข้อมูลมากมายที่จะช่วยให้คุณเข้าใจหัวข้อต่าง ๆ ได้ง่ายขึ้น หรือถ้าอยากเข้าใจง่ายกว่านั้นก็ลองใช้ ChatGPT และบอกมันให้ลองอธิบายหัวข้อต่าง ๆ ให้กับเด็ก 5 ขวบ ฟังดูครับ

Learning About Vulnerabilities

ในช่วงแรกของการเริ่มต้นหลังจากเราเรียนรู้ แนวคิด หัวข้อและคอนเซ็ปต์สำคัญ ๆ สิ่งต่อไปที่เราต้องเลือก คือ เราต้องการจะถนัดในด้านไหนกันล่ะ ในที่นี้จะขอยกมา 2 สาย ที่ฮิตติดเทรนด์ในปัจจุบัน คือ Web Application และ Mobile Application ซึ่งหากจะเป็น Bug Bounty Hunter ก็ไม่จำเป็นถึงขนาดต้องไปคิดค้นบั๊กใหม่ ๆ (Zero Day)

https://img.helpnetsecurity.com/wp-content/uploads/2021/02/03103021/10-vulnerabilities.jpg

ผมขอแนะนำให้โฟกัสกับช่องโหว่ที่เป็นที่รู้จักกันอยู่แล้ว โดยสามารถอ้างอิงได้จาก OWASP ที่จะมีการรวมชื่อและประเภทช่องโหว่ไว้ให้และมีการอัปเดตอยู่เรื่อย ๆ ตามเทรนด์และเทคโนโลยีใหม่ที่ออกมาทุกๆ 3–4 ปี โดยปีล่าสุดคือ OWASP Top Ten 2023 ผมขอยกตัวอย่างมาเพียง 5 ข้อ (หากใครสนใจเพิ่มเติมสามารถไปหาอ่านเพิ่มเติมกันได้ครับ)

  1. Broken Access Control
  2. Cryptographic Failures
  3. Injection
  4. Insecure Design
  5. Security Misconfiguration

ตัวอย่างข้างต้น อาจจะเป็นแค่ประเภทของช่องโหว่ เพราะฉะนั้นผมขอยกตัวอย่างชื่อช่องโหว่จริง เช่น XSS, CSRF, SQL Injection, RCE, IDOR และอื่น ๆ อีกมากมาย หากถามว่าเราควรรู้หมดทุกช่องโหว่เลยหรือป่าว อันนี้บอกเลยว่าก็แล้วแต่ที่สะดวกเลยครับ เพราะการทำ Bug Bounty เป็นอะไรที่ไม่จำเป็นต้องทำเหมือนกัน ลองย้อนกับไปอ่านหัวข้อข้างบน “Bug Bounty Hunting a Challenge” และลองวิเคราะห์ meme ด้านล่างดูครับ

https://imgflip.com/i/8ew9ya

นั่นแหละครับ วงการนี้ไม่มีถูกผิด แค่ต้องเลือกสิ่งที่เหมาะกับเราก็พอ และถ้าหากว่าทำการเลือกหัวข้อข้างต้นได้แล้ว เรายังต้องทำการเลือกและตัดสินใจอีกครั้งในหัวข้อต่อไปครับ…

Online Resources

อย่างที่กล่าวไปแล้วข้างบนคือมีข้อมูลบนอินเทอร์เน็ตมากมายที่เราสามารถเข้าถึงได้ แต่เพื่อเป็นการประหยัดเวลาผมก็ได้รวบรวมแหล่งเรียนรู้ดี ๆ มาไว้ให้คร่าว ๆ

เริ่มต้นฝึกมือก่อนลงสนามจริง

อ่าน Bug Report เพลิน ๆ

ช่อง YouTube น่า Sub

Selecting a Target

และแล้วก็มาถึงส่วนที่ยากที่สุด คือ การเลือกว่าเราจะ Hack ใคร แน่นอนว่าความคิดแรกที่เข้ามาอาจจะเป็น Google, Facebook และ YouTube ซึ่งก็สามารถทำได้จริงครับ เพราะบริษัทเทคโนโลยีใหญ่ ๆ เหล่านี้ต่างมี Bug Bounty Program กันอยู่แล้ว หรือถ้าหากใครคิดว่าบริษัทเหล่านี้ยากเกินไป ผมแนะนำให้เริ่มจากโปรแกรมง่าย ๆอย่าง VDP หรือ vulnerability disclosure program ซึ่งใน VDP จะมีคู่แข่งน้อยกว่าเป็นเท่าตัว เพราะส่วนมาก VDP จะไม่มีการให้เงินรางวัลสำหรับการรีพอร์ตบั๊ก ทำให้ Bug Hunter ส่วนใหญ่ ทั้งหน้าเก่าและหน้าใหม่ไม่ค่อยจะสนใจกันมากนัก เรียกได้ว่าเป็นที่ซ้อมมือดี ๆ นี่เองเพราะเป็นเป้าหมายจริงและได้รับอนุญาตให้ Hack อย่างถูกกฎหมาย หากยังเลือกไม่ได้ผมก็แนะนำให้ลองหาจาก Bug Bounty Platforms ตามที่ผมลิสต์ไว้ก็ได้เช่นกันครับ

https://miro.medium.com/v2/resize:fit:679/0*ngAthWxOvKZHvsw9

ในท้ายที่สุดอย่าลืมนะครับว่า

“With great power there must also come great responsibility”

ก่อนจะทำการลงมือ Hack ระบบใด ๆ เราควรอ่านกฎระเบียบและ scope ของโปรแกรมนั้นก่อน และพยายามลงมืออยู่ใน scope ที่ได้รับอนุญาตเท่านั้น เพราะถ้าเกิดไป Hack ระบบที่ไม่ควรเข้า เราอาจจะไม่ได้รับเงินรางวัลแต่เป็นหมายจับหรือหมายศาลแทนก็เป็นได้

“ Happy Hunting ”

--

--