Một loại mã độc có tên Pygmy Goat mới đây đã được phát hiện trên các thiết bị firewall Sophos XG. Mã độc này cho phép kẻ tấn công có quyền truy cập từ xa và ẩn mình trên thiết bị, gây ra các rủi ro nghiêm trọng cho an ninh mạng. Các chuyên gia từ Trung tâm An ninh mạng Quốc gia Anh (NCSC) đã cung cấp các chi tiết kỹ thuật về mã độc và cách thức phát hiện, ngăn chặn.
Chi tiết kỹ thuật:
Mã độc “Pygmy Goat” là một rootkit dưới dạng ELF shared object (libsophos.so), được nạp vào tiến trình SSH daemon (sshd) của hệ thống thông qua biến môi trường LD_PRELOAD. Cơ chế này cho phép mã độc hook vào các hàm trong daemon, đặc biệt là hàm accept(), để kiểm soát các kết nối SSH và tạo backdoor cho kẻ tấn công.
Một điểm nổi bật của mã độc là nó giám sát lưu lượng SSH để tìm kiếm một chuỗi byte cụ thể (“magic bytes”) trong 23 byte đầu tiên của gói tin. Nếu phát hiện chuỗi này, mã độc sẽ chuyển hướng kết nối đến một socket Unix nội bộ (/tmp/.sshd.ipc) để bắt đầu giao tiếp với máy chủ điều khiển (C2).
Ngoài ra, mã độc cũng lắng nghe trên một socket ICMP để nhận gói tin chứa payload mã hóa AES, cung cấp thông tin IP và cổng kết nối C2. Khi nhận được gói tin phù hợp, mã độc sẽ thiết lập một kết nối ngược lại đến C2 qua TLS, sử dụng một chứng chỉ giả mạo của Fortinet (FortiGate CA) để tránh bị phát hiện.
Phương thức khai thác:
Quá trình khai thác mã độc “Pygmy Goat” diễn ra qua các bước sau:
1. Chèn mã và kiểm soát SSH: Sử dụng LD_PRELOAD, mã độc nạp vào sshd và hook hàm accept(), cho phép mã độc kiểm soát các kết nối SSH.
2. Nhận diện và điều khiển kết nối: Mã độc kiểm tra các gói tin SSH để tìm kiếm chuỗi byte đặc biệt (“magic bytes”). Khi chuỗi này được phát hiện, mã độc chuyển hướng kết nối SSH đến socket /tmp/.sshd.ipc.
3. Kết nối ngược qua ICMP: Mã độc lắng nghe các gói ICMP có chứa payload mã hóa AES để lấy thông tin C2, từ đó kích hoạt một kết nối TLS ngược lại đến C2.
4. Tạo phiên giả mạo: Khi kết nối SSH được thiết lập, mã độc tạo một phiên kết nối giả mạo với các phản hồi được định trước, giúp lẩn tránh các hệ thống giám sát.
Hành vi của mã độc:
– Cung cấp shell từ xa: Kẻ tấn công có thể mở shell trên thiết bị bị nhiễm.
– Theo dõi lưu lượng mạng: Pygmy Goat có thể chụp gói tin qua libpcap và gửi dữ liệu về C2.
– Thiết lập proxy ngược: Sử dụng công cụ EarthWorm để tạo một proxy SOCKS5, ẩn lưu lượng C2.
– Quản lý cron task: Mã độc quản lý cron task để duy trì hoạt động khi kẻ tấn công không kết nối.
Tác động:
– Rò rỉ dữ liệu nhạy cảm: Truy cập trái phép vào thông tin như tài khoản, mật khẩu, và dữ liệu tài chính.
– Gián đoạn dịch vụ mạng: Dịch vụ mạng có thể bị gián đoạn, ảnh hưởng đến hoạt động tổ chức.
– Lây lan mã độc trong mạng nội bộ: Các thiết bị khác có thể bị lây nhiễm mã độc qua firewall.
– Tham gia botnet: Thiết bị bị kiểm soát có thể được dùng để thực hiện tấn công DDoS hoặc phát tán spam.
Khuyến nghị:
Nhằm đảm bảo an toàn thông tin cho hệ thống thông tin của đơn vị, góp phần đảm bảo an toàn cho không gian mạng Việt Nam, Trung tâm VNCERT/CC khuyến nghị người dùng và quản trị viên nên:
– Kiểm tra các file và tiến trình đáng ngờ: Theo dõi các file và tiến trình như /lib/libsophos.so, /tmp/.sshd.ipc, /var/run/goat.pid.
– Giám sát lưu lượng ICMP và hành vi bất thường của SSHD: Thiết lập giám sát để phát hiện các kết nối ICMP mã hóa và tiến trình SSHD bất thường.
– Cập nhật firmware: Đảm bảo thiết bị Sophos firewall đang chạy firmware mới nhất để vá các lỗ hổng bảo mật.