การเรียนรู้มาบรรจบกับความสนุกที่ SANS Holiday Hack Challenge ปี 2022 รัดตัวเองให้แน่นเพื่อเล่นแครกเกอร์แจ็กที่ขั้วโลกเหนือในขณะที่ฉันทำลายแผนการอันชั่วร้ายของ Grinchum และกู้คืนแหวนทองคำทั้งห้าวง
นี่เป็นปีแรกที่ฉันเข้าร่วมใน ความท้าทายในการแฮ็ควันหยุดของ SANS และมันก็เป็นระเบิด ผ่านชุดความท้าทาย 16 รายการตั้งแต่ระดับง่ายไปจนถึงระดับยาก ฉันฝึกวิเคราะห์ทราฟฟิกเครือข่ายที่น่าสงสัยและบันทึก PowerShell เขียน กฎของซูริกาตา, แตกออกจากก ตู้คอนเทนเนอร์ค้นหาคีย์รั่วเพื่อใช้ประโยชน์ ไปป์ไลน์ GitLab CI/CD และ ผู้ใช้ AWS, การดำเนิน การโจมตี XML ภายนอกเอนทิตีและแฮ็คสัญญาที่ชาญฉลาดเพื่อซื้อ โทเค็นที่ไม่สามารถทำซ้ำได้.
ส่วนที่ดีที่สุดของประสบการณ์นี้คือการแนะนำเครื่องมือและเทคโนโลยีใหม่ๆ ให้ฉัน ซึ่งจะทำให้ความรู้ด้านความปลอดภัยในโลกไซเบอร์ของฉันขยายออกไปอีกมาก ในที่นี้ ผมขอแบ่งปันประเด็นสำคัญบางประการจากการแก้ปัญหา
ปฐมนิเทศ
ผู้เข้าร่วมทุกคนจะได้รับอวตารเพื่อนำทางสภาพแวดล้อมวิดีโอเกมในเบราว์เซอร์ที่ตั้งค่าไว้ที่ขั้วโลกเหนือ:
ในระหว่างการปฐมนิเทศ คุณจะได้รับกระเป๋าเงินดิจิทัลที่เกมใช้ในการให้รางวัล KringleCoins สำหรับการทำสิ่งที่ท้าทายให้สำเร็จ และที่คุณใช้ในความท้าทายสุดท้ายเพื่อแฮ็กสัญญาอัจฉริยะ น่าสนใจ เกมติดตามธุรกรรม KringleCoin ทั้งหมดใน Ethereum blockchain ซึ่งหมายความว่าบันทึกความคืบหน้าทั้งหมดของคุณจะถูกเก็บไว้ใน blockchain นี้ด้วย
เข้าสู่วงแหวนแรกของเกม
1. โทลคีนริง
การค้นหาแหวนโทลคีนจำเป็นต้องเกร็งกล้ามเนื้อในการวิเคราะห์บันทึกของฉัน
ฟิชชิ่ง Wireshark
อันดับแรก ฉันใช้ Wireshark เพื่อวิเคราะห์สิ่งที่มีให้ .pcap ไฟล์ที่เปิดเผยเซิร์ฟเวอร์ที่ adv.epostoday[.]สหราชอาณาจักร กำลังดาวน์โหลดไฟล์ Ref_Sept24-2020.zip ไปยังคอมพิวเตอร์:
เมื่อมองเข้าไปในไฟล์ ZIP ฉันพบไฟล์เรียกทำงาน Ref_Sept24-2020.scr ที่ทริกเกอร์การตรวจจับสองรายการใน ESET Endpoint Security: BAT/Runner.ES และ Generik.TAGTBG. ในที่สุดมัลแวร์นี้ก็นำไปสู่ปฏิบัติการที่เป็นอันตรายซึ่งทำงานในหน่วยความจำที่เรียกว่า config.dll และตรวจพบโดย ESET เครื่องสแกนหน่วยความจำขั้นสูง as Win32/Dridex.DD.
บันทึกเหตุการณ์ Windows
ต่อไป ฉันวิเคราะห์สิ่งที่ให้มา .evtx ไฟล์ที่มีบันทึก PowerShell พร้อมตัวแสดงเหตุการณ์ ในขณะที่มีเครื่องมืออื่นๆ ในการวิเคราะห์บันทึกของ PowerShell หากผู้โจมตีรู้วิธีใช้ไบนารีที่อยู่นอกพื้นที่เพื่อให้อยู่ภายใต้เรดาร์ ผู้โจมตีก็ควรมีความรอบรู้ในเครื่องมือดั้งเดิมที่ระบบปฏิบัติการมีให้
เนื่องจากบันทึกมีเหตุการณ์ 10,434 เหตุการณ์ ฉันจึงจัดกลุ่มเหตุการณ์ตามวันที่ จากนั้นเรียกใช้การดำเนินการค้นหาเพื่อค้นหาเหตุการณ์ที่มี $ อักขระ. ใน PowerShell $ ใช้ในการสร้างและอ้างอิง ตัวแปร. ฉันพบว่ามีการโจมตีเกิดขึ้นในวันที่ 24 ธันวาคม 2022 เมื่อผู้โจมตีเรียกใช้สคริปต์ต่อไปนี้:
ดูเหมือนว่าผู้โจมตีจะพบสูตรลับ เปลี่ยนส่วนผสมลับของ น้ำผึ้ง for น้ำมันปลาแล้วสร้างไฟล์สูตรใหม่ เหตุการณ์นี้ทริกเกอร์เหตุการณ์ด้วย ID 4104 ซึ่งหมายถึงการดำเนินการคำสั่ง PowerShell ระยะไกล ดังนั้น ฉันจึงกรองเหตุการณ์ตาม ID นี้ ช่วยให้ฉันพบเหตุการณ์ที่เป็นอันตรายเพิ่มเติมได้รวดเร็วยิ่งขึ้น
ซูริกาต้า รีกัตต้า
แบบฝึกหัดสุดท้ายสำหรับ Tolkien Ring คือการเขียนกฎ Suricata สี่ข้อเพื่อตรวจสอบการรับส่งข้อมูลเครือข่ายสำหรับการแพร่ระบาดของ Dridex:
แจ้งเตือน dns $HOME_NET ใด ๆ -> ใด ๆ (msg:”ทราบว่าการค้นหา DNS ไม่ดี อาจติด Dridex”; dns.query; เนื้อหา:”adv.epostoday.uk”; nocase; sid:1; rev:1;)
alert http 192.185.57.242 ใดๆ <> ใดๆ ใดๆ (msg:”ตรวจสอบการเชื่อมต่อที่น่าสงสัย การติดเชื้อ Dridex ที่เป็นไปได้”; sid:2; rev:1;)
แจ้งเตือน tls ใดๆ -> ใดๆ ใดๆ (msg:”ตรวจสอบใบรับรองที่ไม่ดี, อาจมีการติดเชื้อ Dridex”; tls.cert_subject; เนื้อหา:”CN=heardbellith.Icanwepeh.nagoya”; sid:3; rev:1;)
แจ้งเตือน http ใด ๆ ใด ๆ -> ใด ๆ (msg:”ฟังก์ชัน JavaScript ที่น่าสงสัย, อาจมีการติดเชื้อ Dridex”; file_data; เนื้อหา:”let byteCharacters = atob”; sid:4; rev:1;)
ตามลำดับ กฎเหล่านี้จะจับการค้นหา DNS adv.epostoday[.]สหราชอาณาจักร, การเชื่อมต่อกับที่อยู่ IP 192.185.57[.]242การใช้เซิร์ฟเวอร์ที่เป็นอันตราย เฮิร์ดเบลลิธ.อิคันเวเปห์[.]นาโกย่า ระบุด้วยชื่อสามัญ (CN) ในใบรับรอง TLS และการใช้ JavaScript อะต็อบ() ฟังก์ชันเพื่อถอดรหัสสตริงไบนารีที่มีข้อมูลที่เข้ารหัส base64 บนไคลเอนต์
การผ่านความท้าทายทั้งสามนี้ทำให้ฉันได้รับ Tolkien Ring:
เข้าสู่วงแหวนที่สอง
2. เอลเฟนริง
ความท้าทายที่โดดเด่นที่สุดสำหรับ Elfen Ring คือ Prison Escape และ Jolly CI/CD
หนีคุก
Prison Escape เป็นคำเตือนที่เข้มงวดว่าการให้สิทธิ์รูทแก่ผู้ใช้ในคอนเทนเนอร์ Docker นั้นดีพอ ๆ กับการให้สิทธิ์รูทบนระบบโฮสต์ ความท้าทายคือการแยกออกจากภาชนะ ทำได้ง่ายเมื่อคุณรูท:
ในฐานะผู้ใช้รูท ฉันแสดงรายการตารางพาร์ติชันสำหรับอุปกรณ์ จากนั้นติดตั้งระบบไฟล์ของโฮสต์ ทำให้ฉันสามารถเข้าถึงโฮสต์ได้อย่างเต็มที่ ตอนนี้ฉันสามารถค้นหาคีย์ซึ่งควรอยู่ในไดเร็กทอรีหลักตามที่เปิดเผยโดยคำแนะนำในเกม:
Jolly CI/ซีดี
แม้ว่ามันจะรวดเร็ว แต่ Jolly CI/CD ก็ใช้เวลานานที่สุดในบรรดาความท้าทายในการคิดออก อันดับแรก เราได้รับที่เก็บ Git เพื่อโคลนผ่าน HTTP:
จาก URL ฉันเห็นว่าชื่อของที่เก็บคือ wordpress.flag.net.internalดังนั้นฉันจึงย้ายไปที่พื้นที่เก็บข้อมูลและพบเว็บไซต์ WordPress ฉันตรวจสอบว่าเว็บไซต์ใช้งานได้จริงหรือไม่:
ใช่ เว็บไซต์ใช้งานได้ ฉันสงสัยว่ามีคีย์ใดรั่วไหลในประวัติซอร์สโค้ดหรือไม่ ถ้าใช่ ฉันควรจะแก้ไขซอร์สโค้ดได้ ดังนั้นฉันจึงวิ่ง log git:
จากข้อความยืนยันดูเหมือนว่า ผูกมัด ถูกสร้างขึ้นหลังจากเพิ่มเนื้อหาเพื่อแก้ไขอ๊ะ ได้เวลาตรวจสอบการกระทำล่วงหน้า:
ยอดเยี่ยมฉันพบ .ssh ไดเร็กทอรีพร้อมคีย์ เรามาคัดลอกคีย์เหล่านั้นและกำหนดค่าตัวแทน SSH และผู้ใช้ Git เพื่อดูว่าฉันสามารถปลอมตัวเป็นเจ้าของคีย์เหล่านั้นได้หรือไม่:
ตอนนี้กลับไปที่สาขาหลักและทดสอบว่าเราสามารถผลักดันการเปลี่ยนแปลงเล็กน้อยในซอร์สโค้ดได้หรือไม่ (โดยใช้นาโน ฉันแค่เพิ่มช่องว่างให้กับไฟล์ใดไฟล์หนึ่ง):
ดังนั้น ฉันจึงทำสำเร็จในส่วนแรกของความท้าทายด้วยการปลอมตัวเป็นหนึ่งในนักพัฒนา WordPress แต่เว็บไซต์ยังคงใช้งานได้หลังจากที่ฉันกดแล้วหรือไม่
การผลักดันของฉันเปลี่ยนแปลงบางอย่างเนื่องจากตอนนี้เว็บไซต์เปลี่ยนเส้นทางไปที่พอร์ต 8080
จนถึงตอนนี้ ฉันไม่ได้สนใจส่วน CI/CD ของความท้าทาย ซึ่งควรเป็นกุญแจสำคัญในการทำให้สำเร็จ ที่เก็บประกอบด้วย .gitlab-ci.yml ซึ่งมีการกำหนดค่าสำหรับไปป์ไลน์ GitLab CI/CD ทุกครั้งที่คุณพุชไปที่ที่เก็บ ระบบ CI/CD จะเริ่มทำงาน และก นักวิ่ง GitLab ดำเนินการสคริปต์ในไฟล์ YML นี้ ฉันคิดว่านั่นดีพอๆ กับการดำเนินการโค้ดจากระยะไกลบนเซิร์ฟเวอร์ที่ติดตั้ง GitLab Runner
เมื่อมองเข้าไปใกล้ๆ ฉันเห็น rsync สคริปต์คัดลอกไฟล์ทั้งหมดจากที่เก็บ Git ไปยังไดเร็กทอรีบนเว็บเซิร์ฟเวอร์ที่ให้บริการเว็บไซต์ ตอนแรกก็ลองใช้ดู rsync เพื่อย้อนกลับการไหลของข้อมูลโดยการคัดลอกไฟล์ทั้งหมดจากเว็บเซิร์ฟเวอร์ไปยังที่เก็บ Git แต่ไม่สำเร็จ
หลังจากการทดสอบสมมติฐานหลายครั้ง ในที่สุดฉันก็ได้ข้อมูลเชิงลึกที่ก้าวหน้า: แทนที่จะพยายาม "แก้ไข" เว็บไซต์ WordPress หรือเรียกใช้สคริปต์ที่เป็นอันตรายผ่านระบบสร้าง ให้ให้บริการเว็บไซต์ที่ข้อมูลรั่วไหลจากเว็บเซิร์ฟเวอร์ ข้างใน index.php (อยู่ที่ระดับบนสุดของพื้นที่เก็บข้อมูล) ฉันสามารถแสดงความคิดเห็นโค้ดที่โหลดเว็บไซต์ WordPress และเรียกใช้คำสั่ง PHP ที่ตรวจสอบเว็บเซิร์ฟเวอร์
แน่นอน ฉันยังสามารถเรียกใช้คำสั่งเชลล์ด้วย PHP ฉันพบว่า พาสทรู() ทำงานได้อย่างง่ายดาย
In index.php, ฉันใช้ // เพื่อแสดงความคิดเห็นในสองบรรทัดและฉันได้เพิ่ม พาสทรู ('ls -la /'); ในบรรทัดสุดท้าย สิ่งนี้สร้างเว็บไซต์ที่แสดงรายการไฟล์ทั้งหมดในไดเร็กทอรีรากของเว็บเซิร์ฟเวอร์:
จากนั้นฉันก็ส่งการเปลี่ยนแปลงนี้ไปที่ที่เก็บ Git และระบบ GitLab CI/CD จะดูแลการอัปเดตเว็บไซต์ให้ฉัน:
อา เอลเฟนริงต้องเข้ามา flag.txt! ฉันทำซ้ำขั้นตอนก่อนหน้านี้ แต่คราวนี้ใช้ passthru('แมว/flag.txt'); เปิดเผย Elfen Ring ในครั้งต่อไปที่ฉันขอเว็บไซต์:
เข้าสู่วงแหวนที่สาม
3. เว็บริง
ความท้าทายที่สนุกที่สุดสำหรับฉันคือการเปิดประตูเหมือง Boria แม้ว่าน้ำพุของ Glamtariel จะน่าสนใจในขณะเดียวกันก็นำเสนอปริศนาด้วย
เปิดประตูเหมือง Boria
ใน Open Boria Mine Door เราพบกับพินหกอันหรือความท้าทายย่อยๆ เพื่อข้ามการตรวจสอบอินพุตหรือ นโยบายความปลอดภัยของเนื้อหา เพื่อต่อท่อเข้า-ออกระหว่างหมุดรวมทั้งจับคู่สีท่อ สำหรับพินส่วนใหญ่ ฉันใช้ HTML เพื่อเขียนรายการตัวอักษร 'o' ที่เชื่อมต่อกัน นี่คือทางออกสุดท้ายของฉัน:
ปักหมุด 1
ไม่มีการตรวจสอบความถูกต้องสำหรับ Pin 1 ดังนั้นจึงเป็นเรื่องง่ายๆ ของ HTML และ CSS แบบอินไลน์:
<p style=“letter-spacing: -4px; margin: 0; padding: 0;”>oooooooooooooo</p> |
ปักหมุด 2
Pin 2 มีนโยบายความปลอดภัยของเนื้อหาที่ไม่อนุญาต JavaScript แต่อนุญาต CSS แบบอินไลน์ ดังนั้นจึงไม่มีปัญหาสำหรับวิธีการของฉัน:
1 2 3 4 5 6 7 8 9 10 11 12 |
<ul style=“list-style: none; line-height:0.5; letter-spacing: -4px; margin: 0; padding: 0;”> <li>o</li> <li>o</li> <li>o</li> <li>o</li> <li>o</li> <li>o</li> <li>o</li> <li>o</li> <li>o</li> <li>oooooooooooooo</li> </ul> |
ปักหมุด 3
Pin 3 มีนโยบายความปลอดภัยของเนื้อหาที่ไม่อนุญาตให้ใช้ CSS แต่อนุญาต JavaScript แบบอินไลน์ ดังนั้นฉันจึงใช้ JavaScript เพื่อเปลี่ยนสไตล์แทน:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<script> document.write(“” + “<ul id=’o’>” + “<li>o</li>” + “<li>oooooooooooooooooooooo</li>” + “<li>o</li><li>o</li><li>o</li><li>o</li>” + “</ul>”); const o = document.getElementById(‘o’); o.style.color = “blue”; o.style.listStyle = “none”; o.style.lineHeight = “0.5”; o.style.letterSpacing = “-4px”; o.style.margin = “0”; o.style.padding = “0”; </script> |
ปักหมุด 4
Pin 4 ไม่มีนโยบายความปลอดภัยของเนื้อหา แต่มีฟังก์ชัน sanitizeInput ในฝั่งไคลเอ็นต์ที่จะตัดเครื่องหมายอัญประกาศคู่ อัญประกาศเดี่ยว วงเล็บมุมซ้าย และวงเล็บมุมฉาก เคล็ดลับในที่นี้คือการตระหนักว่าฟังก์ชันนี้ไม่ได้ถูกกระตุ้นโดยการส่งแบบฟอร์ม แต่เกิดจากการ เปิดภาพเบลอ เหตุการณ์. กล่าวอีกนัยหนึ่ง การเลื่อนเมาส์ออกจากช่องป้อนข้อมูลจะทริกเกอร์ เปิดภาพเบลอ เหตุการณ์ฆ่าเชื้ออินพุตใด ๆ วิธีแก้ไขคือส่งแบบฟอร์มโดยกด เข้าสู่ ที่สำคัญ ในขณะที่ระวังไม่ให้เลื่อนเคอร์เซอร์ของเมาส์ออกนอกขอบเขตของช่องป้อนข้อมูล:
1 2 3 4 5 6 7 8 9 10 11 |
<ul style=“list-style: none; line-height:0.5; letter-spacing: -4px; margin: 0; padding: 0;”> <li>o</li> <li>o</li> <li>oooooooooooooo</li> <li>o</li> <li>o</li> <li>o</li> <li>o</li> <li>o</li> <li style=“color: blue;”>oooooooooooooo</li> </ul> |
ปักหมุด 5
พิน 5 ก็มีเหมือนกัน ฆ่าเชื้ออินพุต ฟังก์ชันและบายพาสพร้อมกับนโยบายความปลอดภัยของเนื้อหาที่ห้าม CSS แบบอินไลน์ แต่อนุญาตให้ใช้ JavaScript แบบอินไลน์:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<script> document.write(“” + “<ul id=’o’>” + “<li>o</li>” + “<li>o</li>” + “<li class=’red’>oooooooooooooo</li>” + “<li><span class=’red’>o</span></li>” + “<li><span class=’red’>o</span></li>” + “<li><span class=’red’>o</span>” + “<span class=’blue’> ooooooooooo</span></li>” + “<li><span class=’red’>o</span>” + “<span class=’blue’> oo</span></li>” + “<li><span class=’red’>o</span>” + “<span class=’blue’> oo</span></li>” + “<li><span class=’red’>o</span>” + “<span class=’blue’> oo</span></li>” + “<li>o<span class=’blue’> oo</span></li>” + “<li>o<span class=’blue’> B</span></li>” + “</ul>”); const o = document.getElementById(‘o’); o.style.listStyle = “none”; o.style.lineHeight = “0.5”; o.style.letterSpacing = “-4px”; o.style.margin = “0”; o.style.padding = “0”; o.style.fontSize = “xx-large”; const reds = document.getElementsByClassName(“red”); for (let red of reds) { red.style.color = “red”; } const blues = document.getElementsByClassName(“blue”); for (let blue of blues) { blue.style.color = “blue”; } </script> |
ปักหมุด 6
สุดท้ายนี้ Pin 6 ไม่ได้ทำให้อินพุตสะอาด แต่ใช้นโยบายความปลอดภัยของเนื้อหาที่เข้มงวดขึ้น ซึ่งห้ามใช้ทั้ง CSS แบบอินไลน์และ JavaScript วิธีแก้ไขของฉันคือใช้ HTML ที่เลิกใช้แล้วเพื่อให้ได้สไตล์ที่ฉันต้องการและใช้ตารางแทนรายการ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<table border=“0” frame=“void” rules=“none” cellpadding=“0” cellspacing=“0” width=“100%”> <tr bgcolor=“#00FF00”> <td><font color=“#00FF00” size=“7”>o</font></td> <td><font color=“#00FF00” size=“7”>o</font></td> <td><font color=“#00FF00” size=“7”>o</font></td> <td><font color=“#00FF00” size=“7”>o</font></td> </tr> <tr bgcolor=“red”> <td><font color=“red” size=“5”>o</font></td> <td><font color=“red” size=“5”>o</font></td> <td><font color=“red” size=“5”>o</font></td> <td><font color=“red” size=“5”>o</font></td> </tr> <tr bgcolor=“blue”> <td><font color=“blue” size=“9”>o</font></td> <td><font color=“blue” size=“9”>o</font></td> <td><font color=“blue” size=“9”>o</font></td> <td bgcolor=“red”><font color=“red” size=“9”>o</font></td> </tr> <tr bgcolor=“blue”> <td><font color=“blue” size=“9”>o</font></td> <td><font color=“blue” size=“9”>o</font></td> <td><font color=“blue” size=“9”>o</font></td> <td><font color=“blue” size=“9”>o</font></td> </tr> </table> |
น้ำพุ Glamtariel
น้ำพุ Glamtariel เป็นโอกาสในการฝึกฝน การโจมตี XML External Entity (XXE). การค้นหาวิธีกำหนดเอนทิตี XML แบบกำหนดเอง การกำหนดเอนทิตีที่ร้องขอไฟล์จากเซิร์ฟเวอร์ และการเพิ่มเอนทิตีนั้นเป็นเพย์โหลดไปยังคำขอ HTTP นั้นไม่ใช่เรื่องยาก ส่วนที่ยากที่สุดคือการหาปริศนาในเกมเพื่อทำนายเส้นทางไปยังไฟล์ที่เซิร์ฟเวอร์จะรั่วไหล ต่อไปนี้เป็นคำขอความก้าวหน้าที่เปิดเผยตำแหน่งของแหวนทองคำ:
ข้าพเจ้าขอเสนอบทเรียนสองประการที่ได้รับจากความท้าทายนี้ ขั้นแรกให้ใช้ ตัวแปลงประเภทเนื้อหา นามสกุลใน เรอ เพื่อแปลงเพย์โหลด JSON เป็น XML ประการที่สอง ลองวางเพย์โหลด XXE ในแท็กต่างๆ – ฉันใช้เวลานานกว่าจะรู้ว่าทั้งหมดที่ฉันต้องทำคือวาง &xxe; น้ำหนักบรรทุกใน ประเภทคำขอ แท็กแทน imgดร็อป แท็ก
ไปยังวงแหวนที่สี่
4. แหวนเมฆ
การเล่นเพื่อ Cloud Ring เป็นการโจมตีของผู้เริ่มต้นใน Amazon Web Services (AWS) Command Line Interface (CLI)
จุดเด่นของความท้าทายชุดนี้คือการใช้ ทรัฟเฟิลฮอก เพื่อค้นหาข้อมูลรับรอง AWS ในที่เก็บ Git จากนั้นใช้ประโยชน์จากข้อมูลดังกล่าวเพื่อตรวจสอบสิทธิ์ในฐานะผู้ใช้ AWS ผู้โจมตีที่มาถึงตำแหน่งนี้สามารถใช้ได้ แย่จัง คำสั่งเพื่อค้นหานโยบายที่ใช้กับผู้ใช้ และด้วยเหตุนี้จึงสามารถเข้าถึงและใช้งานสินทรัพย์คลาวด์ใดได้
สู่วงแหวนที่ห้า
5. วงแหวนแห่งไฟที่ลุกโชน
ส่วนที่ให้คำแนะนำมากที่สุดของความท้าทายชุดนี้คือการเรียนรู้เกี่ยวกับ ต้นเมิร์กเคิล เพื่อใช้ประโยชน์จากสัญญาที่ชาญฉลาดและ เข้าสู่รายการพรีเซลล์เพื่อซื้อโทเค็นที่ไม่สามารถเปลี่ยนได้ (NFT). ความท้าทายในที่นี้คือการค้นหาค่าที่พิสูจน์ได้ ซึ่งรวมถึงที่อยู่กระเป๋าเงินของฉันและค่ารากของ Merkle Tree ที่พิสูจน์ว่าฉันได้รวมอยู่ในรายการพรีเซล
หลังจากพยายามระบุค่าการพิสูจน์ไม่สำเร็จสองสามครั้ง ฉันตระหนักว่าฉันคงไม่สามารถหาค่าการพิสูจน์สำหรับค่ารูทที่ระบุได้ เพราะไม่มีทางทราบค่าลีฟทั้งหมดที่ใช้ในการคำนวณ ฉันต้องการเปลี่ยนค่ารูทเพื่อให้สามารถระบุ Merkle Tree ที่ถูกต้องได้
การใช้ เครื่องมือของศาสตราจารย์ QPetabyteฉันสร้าง Merkle Tree จากใบไม้สองใบซึ่งประกอบด้วยที่อยู่กระเป๋าเงินของฉันและที่อยู่สำหรับ BSRS_nft สัญญาอัจฉริยะ ซึ่งฉันพบว่าใช้ Blockchain Explorer ในเกมในบล็อกสองของ Ethereum blockchain ของเกม เครื่องมือสร้างค่ารากของต้นไม้นี้และค่าการพิสูจน์สำหรับที่อยู่กระเป๋าเงินของฉัน จากนั้นฉันใช้ Burp เพื่อสกัดกั้นคำขอไปยังเซิร์ฟเวอร์และเปลี่ยนค่ารูทเริ่มต้นเพื่อให้ฉันสามารถส่ง Merkle Tree ที่ถูกต้องได้ นี่คือของฉัน NFT สปอร์ค ซื้อในราคาคงที่ 100 KringleCoins:
ตัวอย่างที่น่าเกลียดจริงๆ
สุดท้าย
ขอขอบคุณผู้จัดงาน SANS Holiday Hack Challenge เป็นอย่างมากที่ขยายความคิดของฉันออกไปในแนวทางใหม่ๆ และช่วยให้ความรู้ด้านความปลอดภัยทางไซเบอร์ของฉันลึกซึ้งยิ่งขึ้น ไม่เพียงแต่ฉันตั้งตารอความท้าทายในปีหน้าเท่านั้น แต่ฉันยังจะลองใช้ความท้าทายนี้ในรุ่นปี 2020 และ 2021 ด้วย และหากคุณยังไม่เคยเข้าร่วมการท้าทายนี้มาก่อน ฉันหวังว่าไฮไลท์เหล่านี้จะทำให้คุณสนใจ
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- เพลโตบล็อคเชน Web3 Metaverse ข่าวกรอง ขยายความรู้. เข้าถึงได้ที่นี่.
- ที่มา: https://www.welivesecurity.com/2023/01/09/cracked-it-highlights-kringlecon-5-golden-rings/
- 1
- 10
- 100
- 11
- 202
- 2020
- 2021
- 2022
- 7
- 9
- a
- สามารถ
- เกี่ยวกับเรา
- เข้า
- Accessed
- ประสบความสำเร็จ
- การบรรลุ
- การกระทำ
- ที่เพิ่ม
- เพิ่มเติม
- ที่อยู่
- หลังจาก
- ตัวแทน
- ทั้งหมด
- การอนุญาต
- แม้ว่า
- อเมซอน
- Amazon Web Services
- Amazon Web Services (AWS)
- การวิเคราะห์
- วิเคราะห์
- วิเคราะห์
- และ
- ใช้
- สินทรัพย์
- โจมตี
- ความพยายามในการ
- รับรองความถูกต้อง
- Avatar
- รางวัล
- AWS
- ไม่ดี
- เพราะ
- ก่อน
- กำลัง
- ที่ดีที่สุด
- ระหว่าง
- ใหญ่
- ปิดกั้น
- blockchain
- สีน้ำเงิน
- ซื้อ
- สาขา
- ทำลาย
- ระอุ
- หมดสภาพ
- ความก้าวหน้า
- สร้าง
- ซื้อ
- ที่เรียกว่า
- ซึ่ง
- จับ
- ใบรับรอง
- ใบรับรอง
- ท้าทาย
- ความท้าทาย
- เปลี่ยนแปลง
- ตัวอักษร
- ตรวจสอบ
- ไคลเอนต์
- ใกล้ชิด
- เมฆ
- รหัส
- สี
- ความเห็น
- ผูกมัด
- ร่วมกัน
- สมบูรณ์
- เสร็จสิ้น
- คอมพิวเตอร์
- การดำเนิน
- องค์ประกอบ
- เชื่อมต่อ
- การเชื่อมต่อ
- การเชื่อมต่อ
- ประกอบด้วย
- ภาชนะ
- มี
- เนื้อหา
- สัญญา
- แปลง
- การทำสำเนา
- ได้
- สร้าง
- ที่สร้างขึ้น
- สร้าง
- หนังสือรับรอง
- cryptocurrency
- กระเป๋าเงิน Cryptocurrency
- CSS
- อยากรู้อยากเห็น
- ประเพณี
- cybersecurity
- ข้อมูล
- วันที่
- ธันวาคม
- เข้มขึ้น
- ค่าเริ่มต้น
- Defenders
- การกำหนด
- ตรวจพบ
- นักพัฒนา
- เครื่อง
- DID
- ตาย
- ต่าง
- ยาก
- ค้นพบ
- DNS
- นักเทียบท่า
- เอกสาร
- ประตู
- สอง
- ที่ได้รับ
- อย่างง่ายดาย
- ปลายทาง
- การรักษาความปลอดภัยปลายทาง
- เอกลักษณ์
- การเข้า
- สิ่งแวดล้อม
- ethereum
- บล็อกเชน Ethereum
- แม้
- เหตุการณ์
- เหตุการณ์
- ในที่สุด
- รัน
- การปฏิบัติ
- การออกกำลังกาย
- ทางออก
- ประสบการณ์
- เอาเปรียบ
- นักสำรวจ
- นามสกุล
- ภายนอก
- สองสาม
- สนาม
- รูป
- เนื้อไม่มีมัน
- ไฟล์
- สุดท้าย
- หา
- หา
- ชื่อจริง
- แก้ไขปัญหา
- การแก้ไข
- ไหล
- กระดาษฟอยล์
- ดังต่อไปนี้
- โจมตี
- ฟอร์ม
- รูป
- ข้างหน้า
- พบ
- น้ำพุ
- ที่สี่
- ราคาเริ่มต้นที่
- เต็ม
- สนุก
- ฟังก์ชัน
- การทำงาน
- ต่อไป
- เกม
- เกม
- สร้าง
- ได้รับ
- GIF
- ไป
- GitHub
- กำหนด
- ทองคำ
- โกลเด้น
- ดี
- การอนุญาต
- สับ
- แฮ็ค
- ยาก
- การช่วยเหลือ
- โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม
- ซ่อน
- เน้น
- ไฮไลท์
- คำแนะนำ
- ประวัติ
- วันหยุด
- หน้าแรก
- ความหวัง
- เจ้าภาพ
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- HTML
- HTTPS
- ระบุ
- in
- ในอื่น ๆ
- ในเกม
- รวมทั้ง
- รวม
- ข้อมูล
- อินพุต
- ความเข้าใจ
- แทน
- อยากเรียนรู้
- น่าสนใจ
- อินเตอร์เฟซ
- แนะนำ
- IP
- ที่อยู่ IP
- IT
- JavaScript
- JSON
- คีย์
- กุญแจ
- kicks
- ทราบ
- ความรู้
- ชื่อสกุล
- นำ
- รั่วไหล
- การรั่วไหล
- ได้เรียนรู้
- การเรียนรู้
- บทเรียน
- บทเรียนที่ได้รับ
- จดหมาย
- ชั้น
- Li
- Line
- เส้น
- รายการ
- จดทะเบียน
- รายการ
- สด
- โหลด
- ที่ตั้งอยู่
- ที่ตั้ง
- นาน
- เวลานาน
- ดู
- ที่ต้องการหา
- LOOKS
- ค้นหา
- Lot
- ทำ
- หลัก
- มัลแวร์
- ขอบ
- การจับคู่
- เรื่อง
- ความกว้างสูงสุด
- ความหมาย
- มีคุณสมบัติตรงตาม
- หน่วยความจำ
- ข้อความ
- วิธี
- ไมโครซอฟท์
- ใจ
- การตรวจสอบ
- ข้อมูลเพิ่มเติม
- มากที่สุด
- ย้าย
- การย้าย
- Mozilla
- ชื่อ
- นาโน
- พื้นเมือง
- นำทาง
- สุทธิ
- เครือข่าย
- การรับส่งข้อมูลเครือข่าย
- ใหม่
- ถัดไป
- NFT
- ไม่ใช่ทดแทน
- โทเค็นที่ไม่สามารถทำซ้ำได้
- ทางทิศเหนือ
- เสนอ
- ONE
- เปิด
- การดำเนินงาน
- ระบบปฏิบัติการ
- โอกาส
- ใบสั่ง
- การจัดงาน
- อื่นๆ
- ด้านนอก
- เจ้าของ
- ส่วนหนึ่ง
- เข้าร่วม
- ที่เข้าร่วมโครงการ
- เส้นทาง
- PHP
- ต้นสน
- ท่อ
- ท่อ
- สถานที่
- การวาง
- แผนการ
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- นโยบาย
- นโยบาย
- ตำแหน่ง
- เป็นไปได้
- PowerShell
- การปฏิบัติ
- ยอดขาย
- นำเสนอ
- ก่อน
- ราคา
- คุก
- สิทธิ์
- การสอบสวน
- ปัญหา
- ความคืบหน้า
- โดดเด่น
- พิสูจน์
- พิสูจน์แล้วว่า
- ให้
- ให้
- ให้
- การจัดซื้อ
- ผลัก
- ผลักดัน
- รวดเร็ว
- อย่างรวดเร็ว
- เรดาร์
- ตั้งแต่
- ตระหนักถึง
- ตระหนัก
- รับ
- ที่ได้รับ
- สูตร
- ระเบียน
- กู้
- สีแดง
- รีโมท
- ซ้ำแล้วซ้ำอีก
- กรุ
- ขอ
- การร้องขอ
- จำเป็นต้องใช้
- กลับ
- เปิดเผย
- เผยให้เห็น
- ย้อนกลับ
- ขี่
- แหวน
- ราก
- กฎระเบียบ
- วิ่ง
- ทางวิ่ง
- วิ่ง
- สคริปต์
- ค้นหา
- ที่สอง
- วินาที
- ลับ
- ความปลอดภัย
- ชุด
- ให้บริการ
- บริการ
- ชุด
- Share
- เปลือก
- น่า
- ด้าน
- ง่าย
- ง่ายดาย
- เดียว
- หก
- สมาร์ท
- สัญญาสมาร์ท
- So
- อ่อน
- ทางออก
- การแก้
- บางสิ่งบางอย่าง
- แหล่ง
- รหัสแหล่งที่มา
- ช่องว่าง
- ยืน
- เข้าพัก
- ขั้นตอน
- ยังคง
- เก็บไว้
- เข้มงวด
- สไตล์
- ส่ง
- ความสำเร็จ
- พิรุธ
- เปลี่ยน
- วากยสัมพันธ์
- ระบบ
- ตาราง
- TAG
- การ
- TD
- เทคโนโลยี
- ทดสอบ
- การทดสอบ
- พื้นที่
- ที่มา
- ที่สาม
- คิดว่า
- สาม
- ตลอด
- เวลา
- ไปยัง
- โทเค็น
- เกินไป
- เครื่องมือ
- เครื่องมือ
- ด้านบน
- ลู่
- การจราจร
- การทำธุรกรรม
- ทริกเกอร์
- ภายใต้
- การปรับปรุง
- URL
- ใช้
- ผู้ใช้งาน
- การตรวจสอบ
- ความคุ้มค่า
- ความคุ้มค่า
- ผ่านทาง
- วีดีโอ
- วิดีโอเกม
- กระเป๋าสตางค์
- วิธี
- เว็บ
- เว็บเซิร์ฟเวอร์
- บริการเว็บ
- Website
- ที่
- ในขณะที่
- กว้าง
- จะ
- ไม่มี
- WordPress
- คำ
- งาน
- ทำงาน
- จะ
- เขียน
- การเขียน
- XML
- ปี
- คุณ
- ของคุณ
- ด้วยตัวคุณเอง
- ลมทะเล
- รหัสไปรษณีย์