พยายามปกป้องคุณ: การโจมตีด้วยแรนซัมแวร์ที่มี Python เป็นศูนย์กลาง
เผยแพร่แล้ว: 2022-01-04เมื่อต้นปีนี้ นักวิทยาศาสตร์ที่ Sophos ได้กำหนดแรนซัมแวร์ใหม่มากมายที่ประกอบด้วยภาษาการเขียนโปรแกรม Python การโจมตีมุ่งเป้าไปที่ Virtual Equipment (VMware ESXi-hosted Virtual Equipment (VM) ของ VMware ESXi) เข้ารหัสดิสก์ดิจิทัลและออฟไลน์ทั้งหมด
เห็นได้ชัดว่า ransomware ที่พบนั้นทำงานเร็วผิดปกติและมีความเป็นไปได้ในการเข้ารหัสข้อมูลผู้บริโภคในเวลาเพียงไม่กี่ชั่วโมงเท่านั้น ในความเป็นจริง ในสถานการณ์ที่นักวิทยาศาสตร์ของ Sophos ค้นพบ การโจมตีใช้เวลาเพียง 3 ชั่วโมงเท่านั้น
ในรายงานการค้นพบนี้ นักวิจัยหลักของ Sophos ตั้งข้อสังเกตว่า Python เป็นภาษาเขียนโค้ดที่ไม่ได้ใช้บ่อยสำหรับแรนซัมแวร์ จากรายงานล่าสุดจากแผนก Analysis & Intelligence ของ BlackBerry พบว่ามัลแวร์มักจะทำงานกับภาษาต่างๆ เช่น Go, DLang, Nim และ Rust ซึ่งอธิบายได้ว่ามักจะขึ้นอยู่กับระบบที่ผู้โจมตีมุ่งเน้นเป็นส่วนใหญ่
ภาษาโปรแกรม Python
อย่างแรกเลย สิ่งสำคัญคือต้องกำหนดบริบทความสำคัญของการใช้ Python ในแรนซัมแวร์ตามบริบท Python เป็นภาษาสคริปต์แบบโอเพ่นซอร์สที่มีคุณสมบัติครบถ้วนและมีประสิทธิภาพ ในแง่ของการใช้งานในฐานะผู้ดูแลขั้นตอน มันสามารถใช้โมดูลเพื่อเปิดใช้งานกับงานที่ดำเนินการอย่างต่อเนื่อง
ในฐานะที่นักวิจัยของ BlackBerry มีชื่อเสียง ผู้โจมตีมักชอบภาษาที่มีอายุน้อยกว่าและไม่ค่อยเป็นที่รู้จักและไม่มีการวิเคราะห์ ในทางกลับกัน Python เป็นหนึ่งในภาษาโปรแกรมที่ได้รับความนิยมมากที่สุดในปัจจุบันและเปิดตัวเมื่อ 30 ปีก่อนในปี 1991 การยอมรับนั้นเป็นเพราะประโยชน์ของมันเป็นซอฟต์แวร์สำหรับผู้ดูแลระบบทุกคน ท่ามกลางรายการอื่นๆ Python สามารถให้ความช่วยเหลือที่ยอดเยี่ยมในการรันเซิร์ฟเวอร์ บันทึก และคัดกรองวัตถุประสงค์ทางอินเทอร์เน็ต
การโจมตีครั้งนี้เป็นไปได้อย่างไร?
ในที่สุด ความผิดพลาดของมนุษย์ก็นำไปสู่การจู่โจมครั้งนี้ มันเริ่มต้นเมื่อผู้โจมตีสามารถเจาะเข้าสู่บัญชี TeamViewer ที่เป็นของธุรกิจเหยื่อได้ บุคคลนี้มีประสบการณ์รายการผู้ดูแลระบบและไม่ได้เปิดใช้งานการตรวจสอบสิทธิ์แบบหลายปัจจัย (MFA)
หลังจากนั้น การจู่โจมรวมถึงการใช้ประโยชน์จากอินเทอร์เฟซสำหรับผู้ดูแลระบบ VMware Hypervisor เซิร์ฟเวอร์ ESXi มีการรองรับ SSH ในตัวที่เรียกว่า ESXi Shell ซึ่งผู้ดูแลระบบสามารถช่วยและปิดใช้งานได้ตามต้องการ การโจมตีนี้เกิดขึ้นเนื่องจากการช่วยเหลือของกระสุน ESXi ถูกเปิดใช้งานและยังคงทำงานต่อไป
ในรายงาน นักวิจัยประกาศว่าการโจมตีระบบเผยให้เห็นผู้ให้บริการเชลล์ที่ทำงานอยู่ซึ่งควรจะปิดการใช้งานทันทีหลังการใช้งาน โดยพื้นฐานแล้ว ประตูสู่โปรแกรมปฏิบัติการของเหยื่อแต่ละคนถูกเปิดทิ้งไว้
พนักงานไอทีขององค์กรที่ตกเป็นเหยื่อมักใช้ ESXi Shell เพื่อจัดการกับเซิร์ฟเวอร์ และพบว่ามีการเปิดใช้งานและปิดใช้งานเชลล์หลายครั้งในช่วงหลายเดือนก่อนการโจมตี ในทางกลับกัน ในครั้งสุดท้ายที่พวกเขาเปิดใช้งานเชลล์ พวกเขาจะปิดการใช้งานในภายหลังไม่สำเร็จ อาชญากรได้ประโยชน์จากสิ่งนี้และอยู่ในฐานะที่จะเข้าถึงได้ ดังนั้นจึงเข้ารหัสดิสก์เสมือนของเหยื่อทั้งหมด
หากปฏิบัติตามคำแนะนำด้านความเสถียรของโพรซีเดอร์ VMware โพรซีเดอร์ก็จะปลอดภัยหรืออย่างน้อยที่สุดก็อาจจะยากกว่าสำหรับผู้โจมตีที่จะแยกส่วนและเข้ารหัสกระบวนการทั้งหมดในบางจุด
เหตุใดจึงใช้ Python
Python เริ่มเป็นที่รู้จักมากขึ้นเรื่อยๆ ไม่เพียงแต่เป็นภาษาโปรแกรมทั่วไปเท่านั้น แต่สำหรับการดูแลระบบไอทีด้วย Python ถูกนำมาใช้ในการโจมตีครั้งนี้ ด้วยเหตุผลที่ไม่ยุ่งยาก
เนื่องจาก Python ถูกติดตั้งไว้ล่วงหน้าในหน่วยงานที่ทำงานบน Linux จำนวนมาก เช่น ESXi การใช้ Python ในครั้งนี้จึงเหมาะสมที่สุด
โดยพื้นฐานแล้ว ผู้โจมตีใช้แอพพลิเคชั่นที่มีอยู่แล้วเพียงเพื่อสร้างเป้าหมายของการโจมตี ผู้โจมตีใช้สคริปต์ที่แน่นอนซึ่งขณะนี้เป้าหมายใช้สำหรับหน้าที่การบริหารงานในแต่ละวัน
จุดที่ Python ถูกใช้เป็นเครื่องมือที่ครอบคลุมทั้งระบบจะอธิบายว่ามัลแวร์ถูกปรับใช้อย่างไรในเวลาเพียง 10 นาที สิ่งนี้ยังชี้แจงด้วยว่าทำไมนักวิทยาศาสตร์จึงถูกระบุว่า 'เร็วผิดปกติ' แหล่งข้อมูลสำคัญทั้งหมดกำลังรอผู้โจมตีบนเว็บไซต์อยู่
การกำหนดเป้าหมายเซิร์ฟเวอร์ ESXi และอุปกรณ์เสมือน
เซิร์ฟเวอร์ ESXi เป็นเป้าหมายที่น่าสนใจสำหรับอาชญากรแรนซัมแวร์ เนื่องจากสามารถโจมตีเครื่องดิจิทัลจำนวนมากได้ทันที และอุปกรณ์ดิจิทัลแต่ละเครื่องอาจใช้งานแอปพลิเคชันสำคัญระดับองค์กรหรือบริการจากผู้เชี่ยวชาญจำนวนหนึ่งได้
เพื่อให้การจู่โจมเกิดผล ผู้คุกคามจะต้องเข้าถึงความรู้ที่สำคัญของธุรกิจ ในสถานการณ์นี้ ความสนใจในองค์กรที่เคยพบก่อนหน้านี้จัดกลุ่มทั้งหมดน้อยกว่าหนึ่งร่มก่อนที่ผู้โจมตีจะมาถึง โอกาสในการกลับมาของการลงทุนทางการเงินจากการโจมตีนั้นเป็นเพราะเหตุนั้นจึงขยายให้ใหญ่สุด และเซิร์ฟเวอร์ ESXi นั้นสร้างมาเพื่อเป้าหมายที่ยอดเยี่ยม
เข้าใจคลาสอันล้ำค่า
VMware ไม่แนะนำให้ปล่อยให้เชลล์ ESXi ทำงานโดยไม่ได้รับการตรวจสอบ และยังสามารถให้คำแนะนำเกี่ยวกับสิทธิ์ของกระบวนการที่ไม่ปฏิบัติตามในกรณีนี้ การใช้วิธีความเสถียรที่เรียบง่ายสามารถหยุดการโจมตีเช่นนี้หรืออย่างน้อยก็ทำให้พวกเขายากเป็นพิเศษ
ตามกฎการรักษาความปลอดภัยขั้นพื้นฐานในการบริหารเทคนิคไอที: ยิ่งระบบเปิดเผยน้อยเท่าไร การรักษาความปลอดภัยก็ยิ่งน้อยลงเท่านั้น การตั้งค่าเทคนิคดั้งเดิมและการกำหนดค่าเริ่มต้นไม่เพียงพอสำหรับการสร้างความปลอดภัยของโปรแกรม
หากพบว่า ESXi Shell ถูกปิดใช้งานหลังจากที่ผู้ดูแลระบบดำเนินการเสร็จสิ้นแล้ว ก็คงไม่เกิดความสะดวกเช่นนี้ ผู้ดูแลระบบเคยชินกับการใช้ ESXi Shell เป็นเกตเวย์ที่น่านับถือในการควบคุมอุปกรณ์ดิจิทัลของลูกค้า ดังนั้นจึงดำเนินการในลักษณะที่ไม่ระมัดระวัง โดยไม่สามารถปิดประตูระหว่างทางออกได้
อีกส่วนหนึ่งของสถานการณ์ที่ต้องคำนึงถึงจากมุมมองของผู้ดูแลระบบคือความสามารถในการมองเห็นอุปกรณ์ไฟล์โลก พาร์ติชั่นข้อเท็จจริงของเหยื่อทั้งหมดมีอยู่ในระบบไฟล์ภายในเท่านั้น เราทราบดีว่าการเข้ารหัสเสร็จสมบูรณ์ทีละไฟล์ อาชญากรแนบการเข้ารหัสที่จำเป็นสำหรับแต่ละไฟล์และเขียนทับเนื้อหาไฟล์หลัก ผู้ดูแลระบบขั้นตอนที่ระมัดระวังมากขึ้นสามารถแบ่งพื้นที่รายละเอียดออกจากแอปพลิเคชันและแบ่งพื้นที่จัดเก็บความรู้และส่วนที่เหลือของโปรแกรม
การเพิ่ม Multi-Issue Authorization สำหรับบัญชีที่มีระดับสิทธิ์สูงกว่าก็จะเป็นการออกจากผู้โจมตีตามโอกาส แต่โดยทั่วไปแล้ว MFA จะไม่ได้รับการต้อนรับจากกรรมการให้ใช้งานบ่อยครั้งในแต่ละวัน
ไม่ควรประมาทว่าการมีวิธีการรักษาที่เหมาะสมจะช่วยกีดกันการโจมตีในระยะยาวได้ โดยรวมแล้ว สิ่งนี้เกี่ยวข้องกับการรักษาความปลอดภัยของวิธีการและการดูแลระบบมากกว่าที่ทำกับ Python ในสถานการณ์นี้ Python เป็นเพียงเครื่องมือที่สะดวกที่สุดในการใช้งาน และทำให้ผู้โจมตีสามารถเข้าถึงขั้นตอนของเครื่องดิจิทัลทั้งหมดได้อย่างครอบคลุม
Piotr Landowski หัวหน้างานบริการจัดส่ง STX ที่กำลังจะมีขึ้น