สรุปสั้น
บริษัท ThreatFabric เปิดเผยโทรจันธนาคารบนแอนดรอยด์ตัวใหม่ชื่อ Hirudo ที่ใช้วิธีฉ้อโกงแบบไม่ธรรมดา แทนที่จะแค่วางหน้าล็อกอินปลอมทับแอปธนาคารของจริงแบบโทรจันส่วนใหญ่ Hirudo พยายามถอนการติดตั้งแอปธนาคารของแท้ออก แล้วติดตั้งฉบับดัดแปลงที่ใช้ชื่อแพ็กเกจและเวอร์ชันเดียวกันเข้าไปแทน ฉบับปลอมนี้ฝังเอนจิน hook ที่บิดคำตอบของการตรวจความปลอดภัยจากภายในแอปธนาคารเอง ทั้งการตรวจลายเซ็นแอป การตรวจบริการ Accessibility ที่เปิดอยู่ การป้องกันจับภาพหน้าจอ และการตรวจ Play Integrity ของ Google ทำให้แอปที่ถูกดัดแปลงดูเหมือนแอปของแท้ในสายตาของระบบตรวจฝั่งเครื่อง
Hirudo ยังเป็น RAT เต็มรูปแบบ ผู้ควบคุมขโมยรหัสผ่านธนาคาร PIN ชำระเงิน SMS และข้อมูลปลดล็อกเครื่องได้ ดูหน้าจอสดผ่าน WebRTC และเปิดกล้องหน้าหรือกล้องหลังของเหยื่อได้ ThreatFabric พบว่ามัลแวร์เตรียมแอปปลอมไว้แล้ว 8 แอปของธนาคารอินโดนีเซีย 7 แห่ง ส่วนในโค้ดยังมีรายการเป้าหมายขโมยข้อมูลรับรองในจีน อินเดีย เม็กซิโก โมร็อกโก และไทย และหน้าชำระเงินปลอมใช้แบรนด์ธนาคารและกระเป๋าเงินของมาเลเซีย ข้อมูลหลังบ้านที่เก็บได้ในเดือนสิงหาคม 2569 มีรายการข้อมูลรับรองหลายพันรายการ ซึ่งชี้ว่าเป็นปฏิบัติการที่จัดระเบียบข้อมูลไว้ฉ้อโกงอย่างเป็นระบบ
รายละเอียดข่าว
เว็บไซต์ Cyber Security News รายงานเมื่อวันที่ 22 ตุลาคม 2569 ว่า ThreatFabric พบ Hirudo โทรจันธนาคารแอนดรอยด์ที่แทนที่แอปธนาคารของจริงด้วยฉบับดัดแปลงเพื่อเลี่ยงการตรวจความปลอดภัย Hirudo เข้าถึงเหยื่อผ่านแอปล่อที่ดูมีประโยชน์ในหมวดช้อปปิ้งและบันเทิง เช่น ร้านค้าออนไลน์ วิดีโอผู้ใหญ่ และซีรีส์สั้น ใช้ชื่ออย่าง Shopora, 1V1 X, ZoyaTV และ KoiShort แอปล่อแสดงเนื้อหาที่ดูสมจริงอย่างหน้าร้านหรือแคตตาล็อกวิดีโอ ขณะเดียวกันก็แอบตรวจว่ามีแอป Hirudo ตัวจริงติดตั้งอยู่หรือยัง ถ้ายังไม่มีก็จะขึ้นข้อความอัปเดตปลอมให้ติดตั้งแพ็กเกจอีกตัว ซึ่งเป็นตัวโทรจันที่ต้องขอสิทธิ์เองก่อนจึงขโมยข้อมูลและควบคุมเครื่องได้ การแยกเป็นสองแอปทำให้แอปแรกดูไม่น่าสงสัย ขณะที่ข้อความอัปเดตปลอมหลอกให้ผู้ใช้ติดตั้งส่วนที่อันตรายกว่า
ThreatFabric ยังพบว่ารายชื่อเป้าหมายของ Hirudo มีแอปการเงินที่กว้างกว่าธนาคารอินโดนีเซีย ซึ่งชี้ว่าผู้ควบคุมสร้างระบบให้ปรับไปใช้กับธนาคารอื่นได้ ข้อจำกัดของหลักฐานที่ต้องแยกให้ชัด คือ แอปธนาคารฉบับดัดแปลงที่เตรียมไว้แล้วมีเฉพาะของอินโดนีเซีย ส่วนเป้าหมายในไทยปรากฏเพียงในรายการขโมยข้อมูลรับรองในโค้ด และต้นฉบับไม่ได้ระบุชื่อธนาคารไทยหรือจำนวนเหยื่อไทย


วิธีการโจมตี
ขั้นที่ 1 — ตรวจหาแอปธนาคารเป้าหมาย เมื่อทำงานแล้ว Hirudo ใช้บริการ Accessibility ของแอนดรอยด์ตรวจว่ามีแอปธนาคารเป้าหมายติดตั้งอยู่หรือไม่ และตรวจใบรับรองที่ใช้ลงลายเซ็นแอปนั้น จากนั้นขึ้นข้อความอัปเดตปลอม เปิดหน้าถอนการติดตั้งของระบบสำหรับแอปของแท้ และดาวน์โหลดฉบับดัดแปลงที่ทำมาเฉพาะธนาคารนั้น
ขั้นที่ 2 — ติดตั้งแอปปลอมทับที่เดิม ฉบับดัดแปลงใช้ชื่อแพ็กเกจและเวอร์ชันเดียวกับของจริง แต่ลงลายเซ็นด้วยกุญแจทดสอบสาธารณะ (public test key) แทนกุญแจของธนาคาร แอนดรอยด์จึงไม่ยอมติดตั้งทับเป็นอัปเดตปกติ Hirudo ต้องถอนแอปของแท้ออกก่อน ขั้นตอนนี้เป็นข้อจำกัดสำคัญของมัลแวร์ เพราะผู้ใช้ยังยกเลิกการถอนแอปหรือปฏิเสธการติดตั้งแอปปลอมได้
ขั้นที่ 3 — hook จากภายในแอปธนาคาร ถ้าแอปปลอมติดตั้งสำเร็จ มันจะโหลดเอนจิน hook ที่ซ่อนไว้ ซึ่งสร้างจากเฟรมเวิร์กโอเพนซอร์ส YAHFA และ Dobby การ hook คือการเปลี่ยนคำตอบที่แอปได้รับเมื่อเรียกฟังก์ชันหรือขอข้อมูล Hirudo ใช้วิธีนี้บิดการตรวจจากภายใน process ของแอปธนาคารเอง ได้แก่ ส่งใบรับรองลายเซ็นของธนาคารจริงกลับแทนลายเซ็นกุญแจทดสอบ รายงานว่าไม่มีบริการ Accessibility ที่เปิดอยู่เพื่อซ่อนบริการควบคุมของมัลแวร์ และลบค่า FLAG_SECURE ที่ป้องกันการจับภาพหน้าจอ ผู้ควบคุมจึงดูหรือบันทึกหน้าจอแอปธนาคารจากระยะไกลได้
ขั้นที่ 4 — หลอก Play Integrity Hirudo ส่งต่อคำขอ Play Integrity บางส่วนไปยังเซิร์ฟเวอร์ของผู้ควบคุม ซึ่งส่งผลลัพธ์กลับให้แอปปลอมยอมรับ ThreatFabric ระบุว่า keybox สำหรับ attestation ที่ผู้โจมตีฝังมาเป็นชุดที่หลุดสู่สาธารณะ และใบรับรองอย่างน้อย 2 ใบในชุดนั้นอยู่ในรายการเพิกถอนของ Google แล้ว ผลการตรวจ integrity ที่ดูเหมือนผ่านจึงไม่ได้พิสูจน์ว่าแอปเป็นของแท้เสมอไป
ความสามารถอื่นของ RAT นอกจากแทนที่แอปธนาคาร Hirudo ยังแสดงหน้าชำระเงินปลอมเพื่อขอรหัสผ่านและ PIN เก็บ SMS รวมถึงข้อความจากธนาคารและกระเป๋าเงินที่เลือกไว้ บางบิลด์เล็งรูปแบบปลดล็อกหน้าจอ และควบคุมระยะไกลด้วยการดูหน้าจอสดผ่าน WebRTC กับการเปิดกล้องหน้าหรือหลัง โครงสร้างพื้นฐานใช้ HTTP API และ MQTT broker ในการสั่งงาน
ผลกระทบต่อไทย
ไทยอยู่ในรายการเป้าหมายขโมยข้อมูลรับรองในโค้ดของ Hirudo โดยตรง แม้ยังไม่พบแอปธนาคารไทยฉบับดัดแปลงที่เตรียมไว้ แต่ ThreatFabric ชี้ว่าระบบของผู้ควบคุมออกแบบให้ปรับใช้กับธนาคารอื่นได้ การขยายจากอินโดนีเซียมาไทยจึงเป็นเพียงการทำแอปปลอมเพิ่ม ไม่ต้องเปลี่ยนโครงสร้างการโจมตี
มุมที่สำคัญกับธนาคารไทยคือการป้องกันที่หลายแห่งพึ่งพาอยู่ ตั้งแต่ปี 2567 แอปธนาคารไทยหลายแห่งเริ่มบล็อกการใช้งานเมื่อตรวจพบแอปที่เปิดสิทธิ์ Accessibility หรือแอปควบคุมระยะไกล เพื่อรับมือมัลแวร์ดูดเงินของแก๊งคอลเซ็นเตอร์ การตรวจนี้ทำจากฝั่งเครื่องด้วยการอ่านรายการบริการ Accessibility ร่วมกับการตั้ง FLAG_SECURE กันจับภาพหน้าจอ Hirudo โจมตีจุดนี้ตรง ๆ คือปลอมคำตอบจากภายในแอปให้รายการ Accessibility ว่างเปล่าและปิดการป้องกันจับภาพหน้าจอ ถ้าแอปธนาคารถูกแทนที่ได้ การตรวจทั้งหมดที่ทำภายในแอปก็อยู่ใต้การควบคุมของผู้โจมตี
ภูมิภาคนี้ยังเป็นเป้าของโทรจันธนาคารแอนดรอยด์ต่อเนื่อง เช่น RatHat ที่ใช้การดาวน์โหลดแอปปลอมเป็นช่องทางเริ่มต้น (โพสต์ 09/138, 09/228) และ TrickMo ที่ใช้สิทธิ์ Accessibility (โพสต์ 05/016) และ Google เองก็เพิ่งล็อก Accessibility Service ใน Android 17 เมื่อเปิด Advanced Protection เพื่อปิดช่องทางนี้ (โพสต์ 10/014)
คำแนะนำ
สำหรับธนาคารและผู้พัฒนาแอปการเงิน
- ตรวจผล Play Integrity ที่ฝั่งเซิร์ฟเวอร์เท่านั้น และตรวจสถานะการเพิกถอนของใบรับรองในสาย attestation ด้วย ห้ามเชื่อผลที่สรุปจากในเครื่องที่อาจถูกยึดแล้ว
- ถือสัญญาณ Accessibility และการป้องกันจับภาพหน้าจอเป็นหลักฐานประกอบเท่านั้น ไม่ใช่หลักฐานว่าเครื่องปลอดภัย เพราะ Hirudo ปลอมได้ทั้งคู่
- ผสานการตรวจ integrity กับการวิเคราะห์พฤติกรรมและการควบคุมความเสี่ยงของธุรกรรม เฝ้าดูจังหวะสำคัญอย่างการล็อกอิน การกู้รหัสผ่าน การเพิ่มบัญชีผู้รับเงิน และการอนุมัติโอน
- ตรวจหาสัญญาณที่แอปถูกติดตั้งใหม่ด้วยลายเซ็นต่างจากเดิม หรือถูกถอนแล้วติดตั้งใหม่จากนอก Google Play
สำหรับผู้ใช้และองค์กร
- อย่าติดตั้ง “อัปเดต” ที่แอปขอให้ดาวน์โหลดจากนอกสโตร์ทางการ โดยเฉพาะเมื่อขอสิทธิ์ Accessibility ด้วยโดยไม่มีเหตุผลชัดเจน
- อย่าถอนแอปธนาคารหรือติดตั้งตัวใหม่ตามคำขอของแอปที่ไม่รู้จัก ถ้าแอปธนาคารหายไปเองโดยไม่คาดคิด ให้ติดต่อธนาคารผ่านช่องทางทางการทันที
- องค์กรที่มี MDM ให้บล็อกการติดตั้งแอปจากแหล่งที่ไม่รู้จัก และนำ IoC ด้านล่างเข้าระบบ threat intelligence หรือ SIEM
Indicators of Compromise (IoCs)
indicator ทั้งหมด defang แล้ว (
[.],hxxp) — แปลงกลับเฉพาะในแพลตฟอร์ม threat intelligence ที่ควบคุมได้
ไฟล์ (SHA-256)
| SHA-256 | คำอธิบาย |
|---|---|
f796eb9ecf516e4f1fafcf89200d9f7d8ddd234f705e63f1bc8fc3ef583f0248 | แอปล่อธีมช้อปปิ้งและ dropper — com.agbbh.kjdrttt |
0097a0406be20544e98e981075427f40789db40fe4a53b1b4523383a945328b7 | แอปล่อ 1V1 vip และ dropper — com.onev.vip |
2e45277acfde3fb704179476b08f428f66a03670bbdbf2e8ec79c0b0333c009b | แอปล่อ KoiShort และ dropper เส้นทางคาสิโน — com.koishort.app |
d51f2bd7ffb49c224d8eaec2c8ca1c8ab9fce2fd5fdceea01eb54296c2f47b4d | แอปล่อ ZoyaTV และ dropper — com.zoyatv.app |
425cd7072b5e9386ac94e97fe272980b6ef36240df6b5d77b371ab7378004c83 | Hirudo RAT บิลด์เดือนกรกฎาคม — com.zk7qpx.mv9wlt |
b2270c29b3d0a49a716730d6ef108cffec0b1a4b159dd02e93333fb85e492b99 | Hirudo RAT v7.8.166 — com.r9nkvx.qw2mpl |
โดเมน / URL
| Indicator | คำอธิบาย |
|---|---|
www[.]helloharmonyos[.]com | ลงทะเบียนแอปล่อและตั้งค่าช่องทาง |
jiekou[.]baojingtextile[.]cn | API ตั้งค่าของ RAT |
hxxp://43[.]225[.]157[.]157:8766/request_token | ตัวส่งต่อ Play Integrity ที่แอปดัดแปลง 4 ตัวใช้ |
d3s06yhcwfnwcx[.]cloudfront[.]net/apk-fortress/latest.apk | เส้นทางดาวน์โหลด 1V1 X |
d21gcldn8gp80l[.]cloudfront[.]net | เส้นทางดาวน์โหลด KoiShort สายคาสิโน |
dydjjnnjg7jeb[.]cloudfront[.]net | เส้นทางดาวน์โหลด KoiShort สายซีรีส์สั้น |
d3q4tlm7pw29zr[.]cloudfront[.]net | โฮสต์ดาวน์โหลดแอปธนาคารฉบับดัดแปลง |
IP
| Indicator | คำอธิบาย |
|---|---|
134[.]122[.]153[.]136:8085, :18085 | ปลายทาง HTTP API |
134[.]122[.]153[.]136:1883, :1884 | MQTT broker |
134[.]122[.]153[.]68:8080, 134[.]122[.]153[.]92:8080 | แผงควบคุมประมวลผล APK |
18[.]139[.]79[.]161 | โฮสต์ต้นทาง APK และคอนโซลจัดการแอป |
