แตกเลย! ไฮไลท์จาก KringleCon 5: Golden Rings

แตกเลย! ไฮไลท์จาก KringleCon 5: Golden Rings

การเรียนรู้มาบรรจบกับความสนุกที่ SANS Holiday Hack Challenge ปี 2022 รัดตัวเองให้แน่นเพื่อเล่นแครกเกอร์แจ็กที่ขั้วโลกเหนือในขณะที่ฉันทำลายแผนการอันชั่วร้ายของ Grinchum และกู้คืนแหวนทองคำทั้งห้าวง

นี่เป็นปีแรกที่ฉันเข้าร่วมใน ความท้าทายในการแฮ็ควันหยุดของ SANS และมันก็เป็นระเบิด ผ่านชุดความท้าทาย 16 รายการตั้งแต่ระดับง่ายไปจนถึงระดับยาก ฉันฝึกวิเคราะห์ทราฟฟิกเครือข่ายที่น่าสงสัยและบันทึก PowerShell เขียน กฎของซูริกาตา, แตกออกจากก ตู้คอนเทนเนอร์ค้นหาคีย์รั่วเพื่อใช้ประโยชน์ ไปป์ไลน์ GitLab CI/CD และ ผู้ใช้ AWS, การดำเนิน การโจมตี XML ภายนอกเอนทิตีและแฮ็คสัญญาที่ชาญฉลาดเพื่อซื้อ โทเค็นที่ไม่สามารถทำซ้ำได้.

ส่วนที่ดีที่สุดของประสบการณ์นี้คือการแนะนำเครื่องมือและเทคโนโลยีใหม่ๆ ให้ฉัน ซึ่งจะทำให้ความรู้ด้านความปลอดภัยในโลกไซเบอร์ของฉันขยายออกไปอีกมาก ในที่นี้ ผมขอแบ่งปันประเด็นสำคัญบางประการจากการแก้ปัญหา

ปฐมนิเทศ

ผู้เข้าร่วมทุกคนจะได้รับอวตารเพื่อนำทางสภาพแวดล้อมวิดีโอเกมในเบราว์เซอร์ที่ตั้งค่าไว้ที่ขั้วโลกเหนือ:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ในระหว่างการปฐมนิเทศ คุณจะได้รับกระเป๋าเงินดิจิทัลที่เกมใช้ในการให้รางวัล KringleCoins สำหรับการทำสิ่งที่ท้าทายให้สำเร็จ และที่คุณใช้ในความท้าทายสุดท้ายเพื่อแฮ็กสัญญาอัจฉริยะ น่าสนใจ เกมติดตามธุรกรรม KringleCoin ทั้งหมดใน Ethereum blockchain ซึ่งหมายความว่าบันทึกความคืบหน้าทั้งหมดของคุณจะถูกเก็บไว้ใน blockchain นี้ด้วย

เข้าสู่วงแหวนแรกของเกม

1. โทลคีนริง

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

การค้นหาแหวนโทลคีนจำเป็นต้องเกร็งกล้ามเนื้อในการวิเคราะห์บันทึกของฉัน

ฟิชชิ่ง Wireshark

อันดับแรก ฉันใช้ Wireshark เพื่อวิเคราะห์สิ่งที่มีให้ .pcap ไฟล์ที่เปิดเผยเซิร์ฟเวอร์ที่ adv.epostoday[.]สหราชอาณาจักร กำลังดาวน์โหลดไฟล์ Ref_Sept24-2020.zip ไปยังคอมพิวเตอร์:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

เมื่อมองเข้าไปในไฟล์ 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 เมื่อผู้โจมตีเรียกใช้สคริปต์ต่อไปนี้:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ดูเหมือนว่าผู้โจมตีจะพบสูตรลับ เปลี่ยนส่วนผสมลับของ น้ำผึ้ง 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:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

เข้าสู่วงแหวนที่สอง

2. เอลเฟนริง

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ความท้าทายที่โดดเด่นที่สุดสำหรับ Elfen Ring คือ Prison Escape และ Jolly CI/CD

หนีคุก

Prison Escape เป็นคำเตือนที่เข้มงวดว่าการให้สิทธิ์รูทแก่ผู้ใช้ในคอนเทนเนอร์ Docker นั้นดีพอ ๆ กับการให้สิทธิ์รูทบนระบบโฮสต์ ความท้าทายคือการแยกออกจากภาชนะ ทำได้ง่ายเมื่อคุณรูท:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

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

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

Jolly CI/ซีดี

แม้ว่ามันจะรวดเร็ว แต่ Jolly CI/CD ก็ใช้เวลานานที่สุดในบรรดาความท้าทายในการคิดออก อันดับแรก เราได้รับที่เก็บ Git เพื่อโคลนผ่าน HTTP:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

จาก URL ฉันเห็นว่าชื่อของที่เก็บคือ wordpress.flag.net.internalดังนั้นฉันจึงย้ายไปที่พื้นที่เก็บข้อมูลและพบเว็บไซต์ WordPress ฉันตรวจสอบว่าเว็บไซต์ใช้งานได้จริงหรือไม่:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ใช่ เว็บไซต์ใช้งานได้ ฉันสงสัยว่ามีคีย์ใดรั่วไหลในประวัติซอร์สโค้ดหรือไม่ ถ้าใช่ ฉันควรจะแก้ไขซอร์สโค้ดได้ ดังนั้นฉันจึงวิ่ง log git:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

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

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ยอดเยี่ยมฉันพบ .ssh ไดเร็กทอรีพร้อมคีย์ เรามาคัดลอกคีย์เหล่านั้นและกำหนดค่าตัวแทน SSH และผู้ใช้ Git เพื่อดูว่าฉันสามารถปลอมตัวเป็นเจ้าของคีย์เหล่านั้นได้หรือไม่:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

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

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ดังนั้น ฉันจึงทำสำเร็จในส่วนแรกของความท้าทายด้วยการปลอมตัวเป็นหนึ่งในนักพัฒนา WordPress แต่เว็บไซต์ยังคงใช้งานได้หลังจากที่ฉันกดแล้วหรือไม่

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

การผลักดันของฉันเปลี่ยนแปลงบางอย่างเนื่องจากตอนนี้เว็บไซต์เปลี่ยนเส้นทางไปที่พอร์ต 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 /'); ในบรรทัดสุดท้าย สิ่งนี้สร้างเว็บไซต์ที่แสดงรายการไฟล์ทั้งหมดในไดเร็กทอรีรากของเว็บเซิร์ฟเวอร์:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

จากนั้นฉันก็ส่งการเปลี่ยนแปลงนี้ไปที่ที่เก็บ Git และระบบ GitLab CI/CD จะดูแลการอัปเดตเว็บไซต์ให้ฉัน:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

อา เอลเฟนริงต้องเข้ามา flag.txt! ฉันทำซ้ำขั้นตอนก่อนหน้านี้ แต่คราวนี้ใช้ passthru('แมว/flag.txt'); เปิดเผย Elfen Ring ในครั้งต่อไปที่ฉันขอเว็บไซต์:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

เข้าสู่วงแหวนที่สาม

3. เว็บริง

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ความท้าทายที่สนุกที่สุดสำหรับฉันคือการเปิดประตูเหมือง Boria แม้ว่าน้ำพุของ Glamtariel จะน่าสนใจในขณะเดียวกันก็นำเสนอปริศนาด้วย

เปิดประตูเหมือง Boria

ใน Open Boria Mine Door เราพบกับพินหกอันหรือความท้าทายย่อยๆ เพื่อข้ามการตรวจสอบอินพุตหรือ นโยบายความปลอดภัยของเนื้อหา เพื่อต่อท่อเข้า-ออกระหว่างหมุดรวมทั้งจับคู่สีท่อ สำหรับพินส่วนใหญ่ ฉันใช้ HTML เพื่อเขียนรายการตัวอักษร 'o' ที่เชื่อมต่อกัน นี่คือทางออกสุดท้ายของฉัน:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ปักหมุด 1

ไม่มีการตรวจสอบความถูกต้องสำหรับ Pin 1 ดังนั้นจึงเป็นเรื่องง่ายๆ ของ HTML และ CSS แบบอินไลน์:

ปักหมุด 2

Pin 2 มีนโยบายความปลอดภัยของเนื้อหาที่ไม่อนุญาต JavaScript แต่อนุญาต CSS แบบอินไลน์ ดังนั้นจึงไม่มีปัญหาสำหรับวิธีการของฉัน:

ปักหมุด 3

Pin 3 มีนโยบายความปลอดภัยของเนื้อหาที่ไม่อนุญาตให้ใช้ CSS แต่อนุญาต JavaScript แบบอินไลน์ ดังนั้นฉันจึงใช้ JavaScript เพื่อเปลี่ยนสไตล์แทน:

ปักหมุด 4

Pin 4 ไม่มีนโยบายความปลอดภัยของเนื้อหา แต่มีฟังก์ชัน sanitizeInput ในฝั่งไคลเอ็นต์ที่จะตัดเครื่องหมายอัญประกาศคู่ อัญประกาศเดี่ยว วงเล็บมุมซ้าย และวงเล็บมุมฉาก เคล็ดลับในที่นี้คือการตระหนักว่าฟังก์ชันนี้ไม่ได้ถูกกระตุ้นโดยการส่งแบบฟอร์ม แต่เกิดจากการ เปิดภาพเบลอ เหตุการณ์. กล่าวอีกนัยหนึ่ง การเลื่อนเมาส์ออกจากช่องป้อนข้อมูลจะทริกเกอร์ เปิดภาพเบลอ เหตุการณ์ฆ่าเชื้ออินพุตใด ๆ วิธีแก้ไขคือส่งแบบฟอร์มโดยกด เข้าสู่ ที่สำคัญ ในขณะที่ระวังไม่ให้เลื่อนเคอร์เซอร์ของเมาส์ออกนอกขอบเขตของช่องป้อนข้อมูล:

ปักหมุด 5

พิน 5 ก็มีเหมือนกัน ฆ่าเชื้ออินพุต ฟังก์ชันและบายพาสพร้อมกับนโยบายความปลอดภัยของเนื้อหาที่ห้าม CSS แบบอินไลน์ แต่อนุญาตให้ใช้ JavaScript แบบอินไลน์:

ปักหมุด 6

สุดท้ายนี้ Pin 6 ไม่ได้ทำให้อินพุตสะอาด แต่ใช้นโยบายความปลอดภัยของเนื้อหาที่เข้มงวดขึ้น ซึ่งห้ามใช้ทั้ง CSS แบบอินไลน์และ JavaScript วิธีแก้ไขของฉันคือใช้ HTML ที่เลิกใช้แล้วเพื่อให้ได้สไตล์ที่ฉันต้องการและใช้ตารางแทนรายการ:

น้ำพุ Glamtariel

น้ำพุ Glamtariel เป็นโอกาสในการฝึกฝน การโจมตี XML External Entity (XXE). การค้นหาวิธีกำหนดเอนทิตี XML แบบกำหนดเอง การกำหนดเอนทิตีที่ร้องขอไฟล์จากเซิร์ฟเวอร์ และการเพิ่มเอนทิตีนั้นเป็นเพย์โหลดไปยังคำขอ HTTP นั้นไม่ใช่เรื่องยาก ส่วนที่ยากที่สุดคือการหาปริศนาในเกมเพื่อทำนายเส้นทางไปยังไฟล์ที่เซิร์ฟเวอร์จะรั่วไหล ต่อไปนี้เป็นคำขอความก้าวหน้าที่เปิดเผยตำแหน่งของแหวนทองคำ:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ข้าพเจ้าขอเสนอบทเรียนสองประการที่ได้รับจากความท้าทายนี้ ขั้นแรกให้ใช้ ตัวแปลงประเภทเนื้อหา นามสกุลใน เรอ เพื่อแปลงเพย์โหลด JSON เป็น XML ประการที่สอง ลองวางเพย์โหลด XXE ในแท็กต่างๆ – ฉันใช้เวลานานกว่าจะรู้ว่าทั้งหมดที่ฉันต้องทำคือวาง &xxe; น้ำหนักบรรทุกใน ประเภทคำขอ แท็กแทน imgดร็อป แท็ก

ไปยังวงแหวนที่สี่

4. แหวนเมฆ

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

การเล่นเพื่อ Cloud Ring เป็นการโจมตีของผู้เริ่มต้นใน Amazon Web Services (AWS) Command Line Interface (CLI)

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

สู่วงแหวนที่ห้า

5. วงแหวนแห่งไฟที่ลุกโชน

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ส่วนที่ให้คำแนะนำมากที่สุดของความท้าทายชุดนี้คือการเรียนรู้เกี่ยวกับ ต้นเมิร์กเคิล เพื่อใช้ประโยชน์จากสัญญาที่ชาญฉลาดและ เข้าสู่รายการพรีเซลล์เพื่อซื้อโทเค็นที่ไม่สามารถเปลี่ยนได้ (NFT). ความท้าทายในที่นี้คือการค้นหาค่าที่พิสูจน์ได้ ซึ่งรวมถึงที่อยู่กระเป๋าเงินของฉันและค่ารากของ Merkle Tree ที่พิสูจน์ว่าฉันได้รวมอยู่ในรายการพรีเซล

หลังจากพยายามระบุค่าการพิสูจน์ไม่สำเร็จสองสามครั้ง ฉันตระหนักว่าฉันคงไม่สามารถหาค่าการพิสูจน์สำหรับค่ารูทที่ระบุได้ เพราะไม่มีทางทราบค่าลีฟทั้งหมดที่ใช้ในการคำนวณ ฉันต้องการเปลี่ยนค่ารูทเพื่อให้สามารถระบุ Merkle Tree ที่ถูกต้องได้

การใช้ เครื่องมือของศาสตราจารย์ QPetabyteฉันสร้าง Merkle Tree จากใบไม้สองใบซึ่งประกอบด้วยที่อยู่กระเป๋าเงินของฉันและที่อยู่สำหรับ BSRS_nft สัญญาอัจฉริยะ ซึ่งฉันพบว่าใช้ Blockchain Explorer ในเกมในบล็อกสองของ Ethereum blockchain ของเกม เครื่องมือสร้างค่ารากของต้นไม้นี้และค่าการพิสูจน์สำหรับที่อยู่กระเป๋าเงินของฉัน จากนั้นฉันใช้ Burp เพื่อสกัดกั้นคำขอไปยังเซิร์ฟเวอร์และเปลี่ยนค่ารูทเริ่มต้นเพื่อให้ฉันสามารถส่ง Merkle Tree ที่ถูกต้องได้ นี่คือของฉัน NFT สปอร์ค ซื้อในราคาคงที่ 100 KringleCoins:

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ตัวอย่างที่น่าเกลียดจริงๆ

สุดท้าย

แตกมัน! ไฮไลท์จาก KringleCon 5: Golden Rings PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ขอขอบคุณผู้จัดงาน SANS Holiday Hack Challenge เป็นอย่างมากที่ขยายความคิดของฉันออกไปในแนวทางใหม่ๆ และช่วยให้ความรู้ด้านความปลอดภัยทางไซเบอร์ของฉันลึกซึ้งยิ่งขึ้น ไม่เพียงแต่ฉันตั้งตารอความท้าทายในปีหน้าเท่านั้น แต่ฉันยังจะลองใช้ความท้าทายนี้ในรุ่นปี 2020 และ 2021 ด้วย และหากคุณยังไม่เคยเข้าร่วมการท้าทายนี้มาก่อน ฉันหวังว่าไฮไลท์เหล่านี้จะทำให้คุณสนใจ

ประทับเวลา:

เพิ่มเติมจาก เราอยู่การรักษาความปลอดภัย