เส้นใย Windows ซึ่งเป็นส่วนประกอบที่ไม่ค่อยมีใครรู้จักของระบบปฏิบัติการ Windows เป็นตัวแทนของเส้นทางการรันโค้ดที่ไม่มีเอกสารส่วนใหญ่ซึ่งมีอยู่เฉพาะในโหมดผู้ใช้เท่านั้น และส่วนใหญ่จึงถูกมองข้ามโดยส่วนใหญ่ แพลตฟอร์มการตรวจจับและตอบสนองปลายทาง (EDR)- ด้วยเหตุนี้ จึงเป็นไปได้ที่ผู้โจมตีจะใช้ประโยชน์จากพวกมันเพื่อแอบลงเครื่องพีซีและปรับใช้เพย์โหลดที่เป็นอันตราย
ตามคำกล่าวของ Daniel Jary นักวิจัยด้านความปลอดภัยอิสระ ผู้ซึ่งวางการโจมตีแบบ Proof-of-Concept (PoC) ใหม่สองครั้งโดยใช้ไฟเบอร์ใน เซสชั่นที่ Black Hat Asia ในวันพฤหัสบดีที่
ไฟเบอร์เป็นทางเลือกแทน "เธรด" มาตรฐานที่ Windows ใช้ในการรันโค้ดจากระบบปฏิบัติการหรือแอปพลิเคชัน เขาอธิบาย
“เธรดก็เหมือนกับพนักงาน โดยพื้นฐานแล้วอยู่ภายในกระบวนการของ Windows หรือแอปพลิเคชัน และตามธรรมเนียมแล้ว เธรดเหล่านี้เป็นวิธีที่คุณใช้รันโค้ดและทำงานต่างๆ ให้เสร็จสิ้นมาโดยตลอด” เขาบอกกับ Dark Reading “แต่มีวิธีเฉพาะเจาะจงกว่านี้ในการทำสิ่งนี้ผ่านเส้นใย”
Fibers: เส้นทาง Windows OS ที่ถูกลืมและถูกมองข้าม
เมื่อใช้แล้ว เส้นใยจะอยู่ภายในเกลียว โดยพื้นฐานแล้วจะมีขนาดเล็กกว่าและมีน้ำหนักเบากว่าเมื่อเทียบกับแนวคิดเกลียวที่ใหญ่กว่า เส้นใยได้รับการพัฒนาในช่วงแรก ในช่วงเวลาที่ CPU มีแกนประมวลผลน้อยลงและสามารถรองรับเธรดได้จำนวนมากเท่านั้น ในระดับสูง สิ่งที่เล็กลงเป็นวิธีการขยายขีดความสามารถ โดยอนุญาตให้นักพัฒนาแบ่งปริมาณงานภายในเธรดเดียว และทำให้กระบวนการมีประสิทธิภาพมากขึ้น
“แต่เมื่อคอมพิวเตอร์มีประสิทธิภาพมากขึ้น และมีหน่วยความจำให้เล่นมากขึ้น ไฟเบอร์ก็กลายเป็นสิ่งที่ซ้ำซ้อนในสถานการณ์ส่วนใหญ่” Jary อธิบาย “และนั่นเป็นเหตุผลว่าทำไมผู้คนจำนวนมากไม่เคยได้ยินเกี่ยวกับพวกเขาจริงๆ และพวกเขาก็ค่อนข้างคลุมเครือ แต่พวกเขาก็มีจุดประสงค์บางประการสำหรับแอพพลิเคชั่นรุ่นเก่าบางตัว และวิธีการย้ายโปรแกรมจากระบบปฏิบัติการอื่นไปยัง Windows และกระบวนการ Windows บางกระบวนการเองยังคงใช้ไฟเบอร์จริงๆ”
ดังนั้น Fiber จึงได้รับเกียรติอย่างน่าสงสัยในการเป็นทั้งฟังก์ชันหลักของ Windows และเป็นสิ่งที่ทีมรักษาความปลอดภัยมองข้าม และในการบูต Jary ตั้งข้อสังเกตว่ากลไกการตรวจจับแบบเดิมในแพลตฟอร์ม EDR และกลไกแอนตี้ไวรัสมักจะเพิกเฉยต่อกลไกเหล่านี้ ทำให้กลไกเหล่านี้เป็นช่องทางซ่อนตัวที่สมบูรณ์แบบในการรันโค้ดที่เป็นอันตราย
“เธรดได้รับการตรวจสอบอย่างหนักโดยเอเจนต์ EDR ซึ่งจะดูการเรียกกลับของซิสคอลและโหมดเคอร์เนลเพื่อจับการวัดและส่งข้อมูลทางไกล และส่งไปยังกลไกกฎเพื่อสร้างการตรวจจับ” Jary อธิบาย “แต่ไฟเบอร์นั้นมีอยู่ในโหมดผู้ใช้ล้วนๆ และไม่ปรากฏในคอลเลคชันเคอร์เนล ดังนั้นการวัดและส่งข้อมูลทางไกลของพวกเขาจึงไม่ได้รับการบันทึกโดย EDR จริงๆ”
เทคนิคโอเพ่นซอร์สบางอย่างมีอยู่แล้วเพื่อใช้ประโยชน์จากสถานะที่ยังไม่เป็นที่รู้จักของไฟเบอร์ PoC จากปี 2022 สำหรับอินสแตนซ์ให้รายละเอียดเกี่ยวกับวิธีการ ซ่อนโค้ดเชลล์ที่เป็นอันตรายไว้ในไฟเบอร์จึงหลบเลี่ยงเครื่องยนต์ AV ส่วนใหญ่
คนอื่นได้สร้างวิธีการสำหรับ การมาสก์ callstackซึ่งช่วยให้ผู้โจมตีสามารถซ่อนเส้นทางการดำเนินการที่เป็นอันตรายภายในเธรด—ในกรณีนี้คือไฟเบอร์—ที่อยู่ด้านหลังไฟเบอร์ที่อยู่เฉยๆ ที่แตกต่างกันซึ่งไม่เป็นพิษเป็นภัย—และยังหลบเลี่ยงการตรวจจับอีกด้วย เทคนิคนี้ใช้ประโยชน์จากข้อเท็จจริงที่ว่าหากมีการใช้งานเส้นใย ก็จะมีเส้นใยที่ใช้งานอยู่อยู่เสมอ จากนั้นก็มีเส้นใยที่อยู่เฉยๆ ที่จะปิดสวิตช์ไปด้วย ความสามารถในการปิดบังนี้ถูกเพิ่มเข้าไปใน Artefact Kit ของ Cobalt Strike ในปี 2022
ขอบเขตใหม่ในการดำเนินการไฟเบอร์ที่เป็นอันตราย
Jary ออกเดินทางเพื่อสำรวจว่าเป็นไปได้หรือไม่ที่จะปรับปรุงเทคนิคไฟเบอร์ที่เป็นอันตรายที่มีอยู่ และคิดค้น PoC ใหม่สองตัวซึ่งมีชื่อว่า Phantom Thread และ Poison Fiber
วิธีไฟเบอร์ฝ่ายตรงข้ามที่มีอยู่มีข้อเสียบางประการสำหรับผู้โจมตี: ตัวบ่งชี้บางตัวยังสามารถใช้สำหรับการตรวจจับ EDR; และความประสงค์ร้ายจะไม่ถูกซ่อนจากคอลเลกชัน callstack ตามเหตุการณ์แบบอินไลน์ และการสะสมของเส้นใยที่อยู่เฉยๆ ซึ่งมีเทคนิคหลายประการ จะสามารถกำจัดการมาสก์คอลสแต็กได้
Phantom Thread เป็นวิธีการปิดบัง callstack ยุคถัดไปที่จะลบความสามารถในการสแกนหน่วยความจำไปยังไฟเบอร์เป้าหมาย โดยให้ไฟเบอร์เหล่านั้นปลอมตัวเป็นเธรด สิ่งนี้เกี่ยวข้องกับการสร้างไฟเบอร์ จากนั้นแพตช์เพื่อให้ระบุตัวเองว่าเป็นเธรด จากนั้นจึงเป็นไปได้ที่จะลบตัวบ่งชี้ callstack แบบไฟเบอร์ และซ่อนไฟเบอร์จากการสแกนใดๆ โดยสิ้นเชิง
PoC ตัวที่สองคือ Poison Fiber ระบุกระบวนการ Windows ที่กำลังรันอยู่ โดยดูที่เธรดที่ใช้งานอยู่ จากนั้นดูว่าเธรดเหล่านั้นใช้ไฟเบอร์หรือไม่ จากนั้น “มันนำเสนอโอกาสให้คุณฉีดเพย์โหลดหรือเชลล์โค้ดของคุณเข้าไปในไฟเบอร์ที่อยู่เฉยๆ” Jary อธิบาย
“คุณสามารถรันได้เพียง 1 ไฟเบอร์ต่อเธรดในแต่ละครั้ง ซึ่งหมายความว่าคุณจะมีไฟเบอร์ที่อยู่เฉยๆ อีกตัวหนึ่งจอดอยู่ที่อื่นบนสแต็กเสมอ” เขากล่าว “เมื่อเรารันโค้ดของเราโดยใช้ Poison Fiber สิ่งนี้จะแทรกโค้ดของเราเข้าไปในไฟเบอร์ที่อยู่เฉยๆ ดังนั้นเราจึงไม่จำเป็นต้องระงับเธรดเพื่อที่จะแทรกเชลล์โค้ด ซึ่งเป็นตัวบ่งชี้ขนาดใหญ่สำหรับกิจกรรมที่เป็นอันตราย และเนื่องจากเราได้ฉีดเพย์โหลดเข้าไปในไฟเบอร์ที่อยู่เฉยๆ แอปพลิเคชันจะทริกเกอร์การดำเนินการให้เรา และเราไม่ได้เป็นผู้เริ่มการดำเนินการด้วยตนเอง” เทคนิคนี้มีประโยชน์เพิ่มเติมในการอนุญาตให้เรียกใช้โค้ดจากระยะไกล (RCE) เช่นกัน
ตื่นรู้ถึงศักยภาพด้านปฏิปักษ์ของ Fiber
แม้ว่าจะยังคงคลุมเครืออยู่บ้าง แต่ Fiber ควรอยู่ในรายชื่อเวกเตอร์การโจมตีของทีมรักษาความปลอดภัย Jary เตือนซึ่งยังไม่ได้เปิดเผย PoC ที่พัฒนาแล้วของเขาหรือรายละเอียดโดยละเอียดเกี่ยวกับวิธีการดังกล่าวต่อสาธารณะ เขาให้เหตุผลว่ามันเป็นเพียงเรื่องของเวลาก่อนที่คนอื่นจะพบวิธีเอาชนะข้อเสียในวิธีการดำเนินการไฟเบอร์แบบโอเพ่นซอร์สที่มีอยู่
“วิธีการดำเนินการแบบอื่นของ Fiber มีคุณค่าสำหรับผู้โจมตี เพราะมันช่วยให้เราหลีกเลี่ยงแหล่งที่มาของการวัดและส่งข้อมูลทางไกลแบบดั้งเดิมที่เราได้รับจากเธรด โดยเฉพาะอย่างยิ่งการเรียกกลับของเคอร์เนล” เขากล่าว “ไฟเบอร์ไม่ใช่กลยุทธ์ในการยกระดับสิทธิพิเศษ และไม่ใช่การเลี่ยงผ่านการควบคุมการเข้าถึงของผู้ใช้ (UAC) แต่มันช่วยให้มีการส่งมอบเพย์โหลดที่ได้รับความสนใจและความสนใจจากชุมชนความปลอดภัยน้อยลงมาก เส้นใยนั้นใช้งานง่ายมาก แต่ตรวจจับได้ยากกว่า นั่นทำให้พวกเขาสมบูรณ์แบบสำหรับสคริปต์ตัวเล็กที่จะใช้โจมตีธุรกิจ”
Jary แนะนำให้นำไปปฏิบัติ ผลิตภัณฑ์ EDR ที่ครบกำหนด ที่สามารถทดสอบได้อย่างต่อเนื่องกับเทคนิคใหม่ๆ เช่นนี้
“พูดคุยกับทีมงานสีแดงของคุณเกี่ยวกับวิธีการใช้ไฟเบอร์แบบโอเพ่นซอร์สซึ่งถูกนำมาใช้ในป่า” เขากล่าว “ทำการค้นคว้าเพื่อดูว่าผู้โจมตีกำลังเพลิดเพลินกับสิ่งใด สิ่งใดที่ได้รับความนิยมในป่า จากนั้นป้อนกลับเข้าไปในทีมวิจัยและผู้พัฒนาผลิตภัณฑ์ EDR ของคุณ นั่นจะช่วยสร้างการป้องกันที่ดีขึ้น และอาจจะทำให้ชีวิตของนักล่าภัยคุกคามของคุณง่ายขึ้นนิดหน่อยเช่นกัน”
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- PlatoData.Network Vertical Generative Ai เพิ่มพลังให้กับตัวเอง เข้าถึงได้ที่นี่.
- เพลโตไอสตรีม. Web3 อัจฉริยะ ขยายความรู้ เข้าถึงได้ที่นี่.
- เพลโตESG. คาร์บอน, คลีนเทค, พลังงาน, สิ่งแวดล้อม แสงอาทิตย์, การจัดการของเสีย. เข้าถึงได้ที่นี่.
- เพลโตสุขภาพ เทคโนโลยีชีวภาพและข่าวกรองการทดลองทางคลินิก เข้าถึงได้ที่นี่.
- ที่มา: https://www.darkreading.com/application-security/sneaky-shellcode-windows-fibers-edr-proof-code-execution