บริษัท Guardicore เชี่ยวชาญด้านการปกป้องศูนย์ข้อมูลและระบบคลาวด์
ในการสร้างบอตเน็ต จะใช้โปรโตคอล P2P ที่เป็นกรรมสิทธิ์ ซึ่งโหนดจะโต้ตอบซึ่งกันและกัน ประสานงานการจัดองค์กรการโจมตี สนับสนุนการทำงานของเครือข่าย และตรวจสอบสถานะของกันและกัน พบเหยื่อรายใหม่โดยการโจมตีแบบ bruteforce บนเซิร์ฟเวอร์ที่ยอมรับคำขอผ่าน SSH เมื่อตรวจพบเซิร์ฟเวอร์ใหม่ พจนานุกรมของการเข้าสู่ระบบและรหัสผ่านร่วมกันโดยทั่วไปจะถูกค้นหา การควบคุมสามารถทำได้ผ่านโหนดใดก็ได้ ซึ่งทำให้ระบุและบล็อกตัวดำเนินการบอทเน็ตได้ยาก
ตามที่นักวิจัยระบุว่า botnet มีโหนดประมาณ 500 โหนดแล้ว รวมถึงเซิร์ฟเวอร์ของมหาวิทยาลัยหลายแห่งและบริษัทรถไฟขนาดใหญ่ สังเกตว่าเป้าหมายหลักของการโจมตีคือเครือข่ายของสถาบันการศึกษา ศูนย์การแพทย์ หน่วยงานราชการ ธนาคาร และบริษัทโทรคมนาคม หลังจากที่เซิร์ฟเวอร์ถูกบุกรุก กระบวนการขุดเหมืองสกุลเงินดิจิทัล Monero ก็จะถูกจัดระเบียบบนเซิร์ฟเวอร์นั้น กิจกรรมของมัลแวร์ที่เป็นปัญหาถูกติดตามตั้งแต่เดือนมกราคม 2020
สิ่งพิเศษเกี่ยวกับ FritzFrog คือมันเก็บข้อมูลและโค้ดที่ปฏิบัติการได้ทั้งหมดไว้ในหน่วยความจำเท่านั้น การเปลี่ยนแปลงบนดิสก์ประกอบด้วยการเพิ่มคีย์ SSH ใหม่ลงในไฟล์authorized_keysเท่านั้น ซึ่งจะถูกใช้เพื่อเข้าถึงเซิร์ฟเวอร์ในภายหลัง ไฟล์ระบบจะไม่เปลี่ยนแปลง ซึ่งทำให้ระบบที่ตรวจสอบความสมบูรณ์โดยใช้เช็คซัมมองไม่เห็นเวิร์ม หน่วยความจำยังจัดเก็บพจนานุกรมสำหรับรหัสผ่านแบบ brute-force และข้อมูลสำหรับการขุด ซึ่งซิงโครไนซ์ระหว่างโหนดโดยใช้โปรโตคอล P2P
ส่วนประกอบที่เป็นอันตรายจะถูกพรางเป็นกระบวนการ ifconfig, libexec, php-fpm และ nginx โหนด Botnet จะตรวจสอบสถานะของเพื่อนบ้าน และหากเซิร์ฟเวอร์ถูกรีบูทหรือแม้กระทั่งระบบปฏิบัติการถูกติดตั้งใหม่ (หากไฟล์ authorization_keys ที่แก้ไขถูกถ่ายโอนไปยังระบบใหม่) โหนดเหล่านั้นจะเปิดใช้งานส่วนประกอบที่เป็นอันตรายบนโฮสต์อีกครั้ง สำหรับการสื่อสาร จะใช้ SSH มาตรฐาน - มัลแวร์ยังเปิดตัว "netcat" ในเครื่องเพิ่มเติมซึ่งเชื่อมโยงกับอินเทอร์เฟซ localhost และรับฟังการรับส่งข้อมูลบนพอร์ต 1234 ซึ่งโฮสต์ภายนอกเข้าถึงผ่านอุโมงค์ SSH โดยใช้คีย์จาก authorized_keys เพื่อเชื่อมต่อ
โค้ดส่วนประกอบ FritzFrog เขียนด้วยภาษา Go และทำงานในโหมดมัลติเธรด มัลแวร์ประกอบด้วยโมดูลหลายโมดูลที่ทำงานในเธรดที่แตกต่างกัน:
- Cracker - ค้นหารหัสผ่านบนเซิร์ฟเวอร์ที่ถูกโจมตี
- CryptoComm + Parser - จัดระเบียบการเชื่อมต่อ P2P ที่เข้ารหัส
- CastVotes เป็นกลไกในการร่วมกันเลือกโฮสต์เป้าหมายสำหรับการโจมตี
- TargetFeed - รับรายการโหนดที่จะโจมตีจากโหนดข้างเคียง
- DeployMgmt คือการใช้งานเวิร์มที่กระจายโค้ดที่เป็นอันตรายไปยังเซิร์ฟเวอร์ที่ถูกบุกรุก
- เป็นเจ้าของ - รับผิดชอบในการเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้โค้ดที่เป็นอันตรายอยู่แล้ว
- ประกอบ - ประกอบไฟล์ในหน่วยความจำจากบล็อกที่ถ่ายโอนแยกกัน
- Antivir - โมดูลสำหรับปราบปรามมัลแวร์ที่แข่งขันกัน ระบุและยุติกระบวนการด้วยสตริง “xmr” ที่ใช้ทรัพยากร CPU
- Libexec เป็นโมดูลสำหรับการขุดสกุลเงินดิจิทัล Monero
โปรโตคอล P2P ที่ใช้ใน FritzFrog รองรับคำสั่งประมาณ 30 คำสั่งที่รับผิดชอบในการถ่ายโอนข้อมูลระหว่างโหนด การรันสคริปต์ การถ่ายโอนส่วนประกอบมัลแวร์ สถานะการสำรวจ การแลกเปลี่ยนบันทึก การเปิดตัวพรอกซี ฯลฯ ข้อมูลจะถูกส่งผ่านช่องทางที่เข้ารหัสแยกต่างหากพร้อมการซีเรียลไลซ์ในรูปแบบ JSON การเข้ารหัสใช้การเข้ารหัส AES แบบอสมมาตรและการเข้ารหัส Base64 โปรโตคอล DH ใช้สำหรับการแลกเปลี่ยนคีย์ (
โหนดบอตเน็ตทั้งหมดจะรักษาฐานข้อมูลแบบกระจายพร้อมข้อมูลเกี่ยวกับระบบที่ถูกโจมตีและถูกบุกรุก เป้าหมายการโจมตีจะถูกซิงโครไนซ์ทั่วทั้งบอตเน็ต - แต่ละโหนดโจมตีเป้าหมายที่แยกจากกัน เช่น โหนดบอทเน็ตที่แตกต่างกันสองโหนดจะไม่โจมตีโฮสต์เดียวกัน โหนดยังรวบรวมและส่งสถิติภายในเครื่องไปยังเพื่อนบ้าน เช่น ขนาดหน่วยความจำว่าง เวลาทำงาน โหลด CPU และกิจกรรมการเข้าสู่ระบบ SSH ข้อมูลนี้ใช้เพื่อตัดสินใจว่าจะเริ่มกระบวนการขุดหรือใช้โหนดเพื่อโจมตีระบบอื่นเท่านั้น (เช่น การขุดไม่ได้เริ่มต้นบนระบบที่โหลดหรือระบบที่มีการเชื่อมต่อของผู้ดูแลระบบบ่อยครั้ง)
เพื่อระบุ FritzFrog นักวิจัยได้เสนอวิธีง่ายๆ
สัญญาณเช่นการมีอยู่ของการเชื่อมต่อการฟังบนพอร์ต 1234 การมีอยู่
ที่มา: opennet.ru