ครอบครองโดเมนย่อยอย่างรวดเร็ว $2,000

Nov 28 2022
Bug Bounty — จากศูนย์ถึง HERO
WHOAMI ฉันชื่อ Alexandar Thangavel หรือที่รู้จักกันในชื่อ ValluvarSploit เป็นนักล่าแมลงและเทรนเนอร์เต็มเวลา ฉันรักรีคอน

ฉันเป็นใคร

ฉันชื่อ Alexandar Thangavel AKA ValluvarSploit เป็นนักล่าแมลงและเทรนเนอร์เต็มเวลา ฉันรักรีคอน ฉันเป็นผู้ก่อตั้งและซีอีโอของ ValluvarSploit Security ที่ ValluvarSploit Security เราให้การฝึกอบรม Bug Bounty ในเซสชันออนไลน์แบบตัวต่อตัว สำหรับข้อมูลเพิ่มเติม โปรดตรวจสอบหน้า LinkedIn ของเรา

วัตถุประสงค์

วันนี้ฉันจะแบ่งปันวิธีที่ฉันพบช่องโหว่การครอบครองโดเมนย่อยอย่างรวดเร็วและได้รับเงินค่าหัวสี่หลักแรกของฉัน มาเริ่มกันเลย.

เรื่องราวเบื้องหลัง

สิ่งนี้เริ่มในวันที่ 2 ตุลาคม 2022 ในวันอาทิตย์ วันเริ่มต้นตามปกติ ฉันตื่นนอนเวลา 6.00 น. เสร็จสิ้นงานประจำ ตรวจสอบยอดข้อมูลมือถือของฉัน (เหลืออยู่ 1.3 GB) เปิดใช้ Mobile Hotspot เชื่อมต่อแล็ปท็อปของฉัน และดำเนินการตามล่าโปรแกรมส่วนตัวต่อ ฉันใช้เวลาสองสามชั่วโมงในแอปพลิเคชันเป้าหมาย แต่ไม่พบอะไรเลย จึงหยุดพักสักครู่ ฉันเคยทบทวนโปรแกรมส่วนตัวเก่าอย่างน้อยหนึ่งครั้งในหกเดือน ดังนั้น ฉันจึงตรวจสอบคำเชิญส่วนตัวของฉัน เลือกโปรแกรมเก่า และเริ่มทำการแจงนับโดเมนย่อย (ขอเรียกเป้าหมายของเราว่า redacted.com)

การครอบครองโดเมนย่อย

การครอบครองโดเมนย่อยเกิดขึ้นเมื่อผู้โจมตีเข้าควบคุมโดเมนย่อยของโดเมน มันเกิดขึ้นเนื่องจากการกำหนดค่า DNS ผิดพลาด / ผิดพลาด

การแจงนับโดเมนย่อย

ฉันเริ่มการแจงนับโดเมนย่อยด้วย เครื่องมือGoogle Dorking, OWASP AmassและGobuster

# Passive Subdomain Enumeration using Google Dorking
site:*.redacted.com -www -www1 -blog
site:*.*.redacted.com -product

# Passive Subdomain Enumeration using OWASP Amass
amass enum -passive -d redacted.com -config config.ini -o amass_passive_subs.txt

# Subdomain Brute force using Gobuster
gobuster dns -d redacted.com -w wordlist.txt - show-cname - no-color -o gobuster_subs.txt

# Merging subdomains into one file
cat google_subs.txt amass_passive_subs.txt gobuster_subs.txt | anew subdomains.txt

# Enumerate CNAME records
./cname.sh -l subdomains.txt -o cnames.txt

# We can use HTTPX tool as well
httpx -l subdomains.txt -cname cnames.txt

# Probe for live HTTP/HTTPS servers
httpx -l subdomains.txt -p 80,443,8080,3000 -status-code -title -o servers_details.txt

ฉันเริ่มวิเคราะห์ไฟล์ cnames.txt และพบโดเมนย่อยหนึ่งโดเมนที่ชี้ไปยังระเบียน CNAME สองรายการ ฉันรันคำสั่ง dig บนโดเมนย่อยและได้สิ่งต่อไปนี้

dig next.redacted.com CNAME

      
                
DNS query for CNAME record

ฉันเริ่มวิเคราะห์ไฟล์ servers_details.txt เพื่อหาสิ่งที่น่าสนใจและพบบรรทัดนี้ ประกาศรหัสสถานะและชื่อเว็บไซต์

https://next.redacted.com [500] [246] [Fastly error: unknown domain next.redacted.com]

ในกรณีส่วนใหญ่ เราไม่สามารถแทนที่บริการ Fastly ได้ ตัวอย่างเช่นกรณีด้านล่าง

แต่ถ้าลูกค้ารายอื่นยังไม่ได้ยึดโดเมน เราสามารถอ้างสิทธิ์ในโดเมนและครอบครองโดเมนย่อยได้อย่างสมบูรณ์

ยืนยันความเปราะบาง

ฉันไปที่เว็บไซต์อย่างเป็นทางการของ Fastly และทำตามขั้นตอนด้านล่าง
1. ฉันสร้างบัญชีบนfastly.comโดยใช้อีเมลชั่วคราว
2. เข้าสู่ระบบ Fastly Dashboard ของฉันแล้วคลิกที่ปุ่ม “สร้างบริการจัดส่ง”
3. ป้อนชื่อโดเมนย่อยเป้าหมาย (next.redacted.com) แล้วคลิกปุ่มเพิ่ม

ฉันคาดว่าจะมีข้อความแสดงข้อผิดพลาด (“ลูกค้ารายอื่นใช้โดเมนนี้แล้ว”) ปรากฏขึ้น แต่ไม่มีข้อความแสดงข้อผิดพลาด ฉันถูกเปลี่ยนเส้นทางไปยังหน้าถัดไป “หน้าโฮสต์” ฉันรู้สึกประหลาดใจ.

อ้างสิทธิ์โดเมนบน Fastly

ขั้นตอนการสร้าง POC

เมื่อช่องโหว่ได้รับการยืนยันแล้ว ฉันเข้าสู่ระบบเซิร์ฟเวอร์ VPS และสร้างไดเร็กทอรีชื่อ “โฮสติ้ง” จากนั้นภายในไดเร็กทอรี "hosting" ได้สร้างไฟล์ HTML อย่างง่ายชื่อ "index.html"

mkdir hosting

cd hosting

nano index.html

<!DOCTYPE html>

<html>
    <head><title>STO PoC</title></head>
    <body>
        <h1>ValluvarSploit PoC</h1>
    </body>
</html>

python3 -m http.server 80

การกำหนดค่า VPS

หลังจากนั้นไม่กี่วินาที ฉันเปิดหน้าต่างเบราว์เซอร์ใหม่และไปที่ “http://next.redacted.com/index.html" หน้าหนังสือ. ไฟล์ PoC ของฉันแสดงผลสำเร็จ ฉันได้เขียนรายงานโดยละเอียดและส่งไปยัง HackerOne

หลักฐานของแนวคิด

การเรียนรู้โดยการตรวจสอบบันทึกเซิร์ฟเวอร์

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

ตรวจสอบบันทึกเซิร์ฟเวอร์เพื่อความสนุก

รางวัล

รายงานของฉันถูกระบุว่าเป็นช่องโหว่ที่มีความรุนแรงสูงและได้รับรางวัล $2,000 ภายใน 10 วัน

รางวัล

ประเด็นที่สำคัญ

1. ทบทวนเป้าหมายเก่าของคุณอย่างน้อยหนึ่งครั้งใน 6 เดือน
2. การแจงนับโดเมนย่อยเป็นกุญแจสำคัญ แจกแจงโดเมนย่อยให้มากที่สุด
3. อย่ายอมแพ้

ขอบคุณที่สละเวลาอ่านงานเขียนของฉัน

ติดตามฉันได้ที่:

ทวิตเตอร์

ลิงค์อิน

จาก Infosec Writeups: Infosec มีอะไรมากมายเกิดขึ้นทุกวันซึ่งเป็นเรื่องยากที่จะตามให้ทัน เข้าร่วมจดหมายข่าวรายสัปดาห์ของเราเพื่อรับเทรนด์ล่าสุดของ Infosec ในรูปแบบบทความ 5 หัวข้อ 4 หัวข้อ วิดีโอ 3 รายการ Repos และเครื่องมือ GitHub 2 รายการ และการแจ้งเตือนงาน 1 รายการฟรี!