Trong phần này mình sẽ đề cập đến cơ chế lây lan của mã độc Mirai.
Bước đầu tiên, mã độc sẽ dò quét cổng SSH22/TELNET23 hoặc 2323 của những địa chỉ IPv4 ngẫu nhiên nhưng nằm trong dải IP được xác định trước. Mirai dò quét nhanh bằng cách gửi các gói tin TCP SYN thăm dò tới cổng TELNET. Nếu phát hiện ra cổng TELNET của thiết bị mở, Mirai sẽ cố gắng khởi tạo phiên TELNET bằng cách sử dụng ngẫu nhiên 10/62 tài khoản mặc định trên các dòng thiết bị IoT mà nó biết.
Tiếp theo, nếu khởi tạo phiên thành công, Mirai gửi thông tin (IP, tài khoản) về cho máy chủ báo cáo của kẻ tấn công. Trong các chu trình dò quét lần sau, những IP đã tồn tại trên máy chủ báo cáo sẽ không được quét nữa.
Sau khi nhận được thông tin, máy chủ báo cáo gửi một chương trình nạp (loader) tới thiết bị IoT. Chương trình nạp sẽ xác định chủng loại, firmware, OS…của thiết bị. Từ những thông tin lấy được, chương trình nạp sẽ tải về loại mã độc tương ứng để có thể chạy trên thiết bị này. Mirai mất khoảng 98 giây để thực hiện hành động lây nhiễm cho 1 thiết bị IoT.
Mã độc sau khi chạy trên thiết bị thì sẽ xóa dấu vết bằng cách xóa file tải về và “thay tên đổi họ” tiến trình chạy trong bộ nhớ chính của thiết bị. Vì đã xóa file tải về nên khi thiết bị reboot, các thông tin trong bộ nhớ chính bị xóa, mã độc sẽ không hoạt động trên thiết bị nữa. Để “củng cố địa vị”, Mirai kill các tiến trình sử dụng cổng TCP22/23 và cũng kill các tiến trình của các mã độc khác như .anime hay .Qbot, mặc dù đây cũng là các biến thể của Mirai.
Sau khi mã độc chạy, thiết bị IoT giờ đã trở thành một bot hay Zoombie trong mạng botnet Mirai, và có nhiệm vụ nhận lệnh từ máy chủ C2 (Command & Control) để tấn công DDoS. Vì là chu trình lây lan nên từ thiết bị này, mã độc tiếp tục dò quét cổng SSH22/TELNET23/2323 của các thiết bị IoT khác.
Hình 1. Cách thức lây lan mã độc Mirai. Nguồn: blog.cloudflare.com
Bảng 1. Danh sách 62 tài khoản login mặc định vào thiết bị IoT
HTML:
root xc3511
root vizxv
root admin
admin admin
root 888888
root xmhdipc
root default
root juantech
root 123456
root 54321
support support
root (none)
admin password
root root
root 12345
user user
admin (none)
root pass
admin admin1234
root 1111
admin smcadmin
admin 1111
root 666666
root password
root 1234
root klv123
Administrator admin
service service
supervisor supervisor
guest guest
guest 12345
guest 12345
admin1 password
administrator 1234
666666 666666
888888 888888
ubnt ubnt
root klv1234
root Zte521
root hi3518
root jvbzd
root anko
root zlxx.
root 7ujMko0vizxv
root 7ujMko0admin
root system
root ikwb
root dreambox
root user
root realtek
root 00000000
admin 1111111
admin 1234
admin 12345
admin 54321
admin 123456
admin 7ujMko0admin
admin 1234
admin pass
admin meinsm
tech tech
mother f**er [censored]
Bảng 2. Danh sách các địa chỉ IP mà Mirai không dò quét
Mã:
127.0.0.0/8 - Loopback
0.0.0.0/8 - Invalid address space
3.0.0.0/8 - General Electric (GE)
15.0.0.0/7 - Hewlett-Packard (HP)
56.0.0.0/8 - US Postal Service
10.0.0.0/8 - Internal network
192.168.0.0/16 - Internal network
172.16.0.0/14 - Internal network
100.64.0.0/10 - IANA NAT reserved
169.254.0.0/16 - IANA NAT reserved
198.18.0.0/15 - IANA Special use
224.*.*.*+ - Multicast
6.0.0.0/7 - Department of Defense
11.0.0.0/8 - Department of Defense
21.0.0.0/8 - Department of Defense
22.0.0.0/8 - Department of Defense
26.0.0.0/8 - Department of Defense
28.0.0.0/7 - Department of Defense
30.0.0.0/8 - Department of Defense
33.0.0.0/8 - Department of Defense
55.0.0.0/8 - Department of Defense
214.0.0.0/7 - Department of Defense
Bảng 3. Mirai kill các tiến trình chiếm dụng cổng TCP22/23
Mã:
killer_kill_by_port(htons(23)) // Kill telnet service
killer_kill_by_port(htons(22)) // Kill SSH service
Bảng 4. Mirai kill tiến trình của mã độc .anime
Mã:
searching for .anime process
table_unlock_val(TABLE_KILLER_ANIME);
// If path contains ".anime" kill.
if (util_stristr(realpath, rp_len - 1, table_retrieve_val(TABLE_KILLER_ANIME, NULL)) != -1)
{
unlink(realpath);
kill(pid, 9);
}
table_lock_val(TABLE_KILLER_ANIME);
Hình 2. Tìm và diệt các tiến trình của mã độc Qbot
View attachment 3757
Bảng 5. Mã độc Mirai tấn công HTTP Flood dưới dạng các user-agents:
Mã:
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7
Tham khảo
[1] blog.cloudflare.com
[2] Google Research: Understanding Mirai Botnet
[3]
www.incapsula.com
[4]
Youtube link
[5] rsaconference.com