Đã dán lệnh vào Terminal? Kiểm tra máy Mac của bạn ngay.

Nếu một trang web, quảng cáo hay cuộc trò chuyện bảo bạn mở Terminal và dán một dòng lệnh, dòng đó có thể đã tải về và chạy một chương trình bằng mật khẩu của bạn. Dưới đây là cách tự kiểm tra máy Mac trong khoảng mười phút, và những gì cần thay đổi nếu bạn phát hiện điều gì đó.

Cập nhật

Tóm tắt nhanh

  • Thủ đoạn này gọi là ClickFix: một trang web bảo bạn dán một dòng vào Terminal. Thứ mà dòng đó tải về không đi qua hộp thoại macOS hiển thị khi bạn mở tệp tải về lần đầu, nên không có cảnh báo nào.
  • Hãy xem ở năm chỗ: mục đăng nhập, launch agent, tệp khởi động của shell, ứng dụng macOS không chấp nhận, và các chương trình đang kết nối internet.
  • Mọi lệnh trên trang này chỉ đọc. Không lệnh nào hỏi mật khẩu của bạn. Một trang bảo bạn dán lệnh sudo chính là cuộc tấn công, không phải cách sửa.
  • Phát hiện điều gì đó? Ngắt kết nối mạng, đổi mật khẩu từ một thiết bị khác, và chuyển tiền mã hóa sang ví mới tạo trên một thiết bị sạch.

1Dòng lệnh bạn dán làm gì

Từ cuối năm 2025, các trang giả mạo công cụ AI và quảng cáo tìm kiếm "dọn dẹp Mac" đã yêu cầu người dùng Mac mở Terminal và dán một dòng lệnh. Sophos đã lần ra ba chiến dịch từ tháng 11/2025 đến tháng 2/2026 cài mã độc đánh cắp dữ liệu MacSync theo cách này: dòng lệnh tải về một tập lệnh, hỏi mật khẩu máy Mac, rồi lấy dữ liệu chuỗi khóa, thông tin đăng nhập đã lưu và cụm từ khôi phục của ví tiền mã hóa (The Hacker News, 16/3/2026). Microsoft báo cáo các mồi nhử tương tự cho các mã độc đánh cắp Atomic (AMOS), MacSync và DigitStealer, thường tiếp cận nạn nhân qua quảng cáo tìm kiếm (Security Affairs về báo cáo của Microsoft, 4/2/2026).

Vì sao không có cảnh báo: macOS hỏi trước khi bạn mở lần đầu phần mềm tải từ internet (Apple Platform Security), và nó biết một tệp đến từ internet nhờ cờ cách ly (quarantine) mà trình duyệt gắn vào. Tệp tải bằng curl trong Terminal có thể không có cờ đó (MITRE ATT&CK T1553.001), còn một tập lệnh được chuyển thẳng vào bash thì không bao giờ được mở như một ứng dụng, nên hộp thoại không bao giờ xuất hiện.

Các dòng lệnh này thường trông giống một trong những dòng sau, với một địa chỉ web ở giữa:

  • curl -fsSL https://… | bash
  • bash -c "$(curl -fsSL https://…)"
  • echo … | base64 -d | sh
Một dòng như vậy chỉ an toàn bằng trang web mà nó đến từ đó. Lệnh cài đặt từ trang bạn tự gõ địa chỉ (ví dụ brew.sh) là bình thường. Cùng kiểu đó nhưng đến từ quảng cáo, cửa sổ bật lên, ô "xác minh bạn là người" hay một cuộc trò chuyện thì là tấn công.

2Kiểm tra 1: mục đăng nhập và ứng dụng chạy nền

Mở Cài đặt hệ thống → Cài đặt chung → Mục đăng nhập & tiện ích mở rộng (trên macOS 14 trở về trước: Mục đăng nhập). Xem phần Mở khi đăng nhập và Cho phép trong nền.

Bất cứ mục nào bạn không nhận ra đều đáng xem kỹ hơn, nhất là mục có tên lạ, không hiện nhà phát triển, hoặc xuất hiện đúng ngày bạn dán lệnh. Tắt một mục chạy nền sẽ ngăn nó khởi động lại, nhưng không xóa nó.

3Kiểm tra 2: launch agent và daemon

Các chương trình tự khởi động để lại một tệp nhỏ trong một trong ba thư mục. Lệnh này liệt kê chúng, mới nhất trước:

ls -lt ~/Library/LaunchAgents /Library/LaunchAgents /Library/LaunchDaemons

Phần lớn tên trông như com.company.app.plist. Hãy tìm các tệp có ngày quanh lúc bạn dán lệnh, tên bắt chước Apple (com.apple…) nằm trong thư mục Library của riêng bạn, hoặc tên gồm các chữ cái ngẫu nhiên. Để xem một tệp khởi động chương trình nào, thay NAME bằng tên của nó:

plutil -p ~/Library/LaunchAgents/NAME.plist

4Kiểm tra 3: tệp khởi động của shell

Shell chạy các tệp này mỗi lần Terminal mở, nên mã độc đánh cắp có thể giấu một dòng ở đó. Lệnh này cho biết mỗi tệp được sửa lần cuối khi nào:

ls -lT ~/.zshrc ~/.zprofile ~/.bash_profile ~/.bashrc ~/.profile 2>/dev/null

Nếu một tệp thay đổi vào ngày bạn không nhớ đã sửa, hãy xem những dòng cuối của nó:

tail -n 20 ~/.zshrc

Những dòng bạn không viết mà có curl, base64, osascript hoặc một địa chỉ web là dấu hiệu đáng lo.

5Kiểm tra 4: những gì bạn đã dán

Terminal lưu lại các dòng bạn đã chạy. Lệnh này hiển thị 30 dòng gần nhất đã tải về hoặc giải mã thứ gì đó:

grep -E 'curl|wget|base64|osascript' ~/.zsh_history | tail -n 30
Lịch sử trống hoặc không có không chứng minh máy bạn sạch: một số mã độc đánh cắp xóa dấu vết của chúng.

6Kiểm tra 5: ứng dụng macOS không chấp nhận

Gatekeeper của macOS có thể cho bạn biết ứng dụng nào trong thư mục Ứng dụng mà nó sẽ không chấp nhận (không được nhà phát triển đã xác định ký, hoặc chưa được Apple kiểm tra):

for a in /Applications/*.app; do spctl -a "$a" 2>/dev/null || echo "Not accepted: $a"; done

Một số ứng dụng cũ hoặc mã nguồn mở xuất hiện ở đây nhưng vẫn ổn. Ứng dụng bạn không nhớ đã cài mới là điều đáng chú ý. Làm tương tự bằng mắt với thư mục Tải về, mới nhất trước:

ls -lt ~/Downloads | head -n 20

7Kiểm tra 6: truy cập từ xa và hồ sơ cấu hình

Mở Cài đặt hệ thống → Cài đặt chung → Chia sẻ. Chia sẻ màn hình, Đăng nhập từ xa, Quản lý từ xa và Chia sẻ tệp nên tắt, trừ khi chính bạn dùng chúng.

Sau đó mở Cài đặt hệ thống → Cài đặt chung → Quản lý thiết bị (trên macOS cũ hơn: Quyền riêng tư & bảo mật → Hồ sơ). Một hồ sơ bạn không cài có thể đưa lưu lượng duyệt web của bạn qua máy chủ của người khác hoặc khiến máy tin cậy chứng chỉ của họ. Chỉ gỡ khi bạn chắc chắn nó không phải của trường học hay công ty bạn.

8Kiểm tra 7: chương trình nào đang kết nối internet

Lệnh này đếm số kết nối internet đang mở của mỗi chương trình:

lsof -nP -iTCP -sTCP:ESTABLISHED | awk 'NR>1 {print $1}' | sort | uniq -c | sort -rn

Trình duyệt, Mail, Tin nhắn và iCloud là bình thường. Một cái tên bạn không biết, hoặc một trình chạy tập lệnh như osascript, python3 hay curl đang giữ kết nối, thì đáng xem xét. Để xem các chương trình đang chờ kết nối từ máy tính khác:

lsof -nP -iTCP -sTCP:LISTEN
Không có sudo, các lệnh này chỉ hiển thị chương trình của chính bạn. Như vậy là đủ với mã độc đánh cắp chạy dưới tài khoản của bạn, vốn là cách ClickFix hoạt động.

9Nếu bạn phát hiện điều gì đó

  1. Ngắt kết nối Wi-Fi và rút mọi cáp mạng.
  2. Từ một thiết bị khác, đổi mật khẩu Tài khoản Apple, email và ngân hàng trước, đăng xuất mọi phiên khác và bật xác thực hai yếu tố.
  3. Coi như đã mất mọi ví tiền mã hóa có cụm từ khôi phục hoặc khóa từng nằm trên máy Mac này. Tạo ví mới trên một thiết bị sạch và chuyển tiền sang. Mã độc đánh cắp có thể đã có cụm từ đó, và giao dịch chuyển tiền không thể hoàn tác. Xem an toàn ví tiền mã hóa.
  4. Gỡ bỏ những gì bạn tìm thấy: thoát nó trong Giám sát hoạt động, xóa tệp launch agent và ứng dụng, rồi khởi động lại. Nếu bạn không chắc đã tìm thấy hết, hãy sao lưu tài liệu (không sao lưu ứng dụng) và xóa máy Mac: Cài đặt hệ thống → Cài đặt chung → Chuyển hoặc đặt lại → Xóa tất cả nội dung và cài đặt.
  5. Thấy thông báo phần mềm độc hại đã bị chặn và chuyển vào Thùng rác? Đó là XProtect, lớp bảo vệ có sẵn của Mac, đã gỡ một tệp mà nó nhận ra. Tốt, nhưng hãy kiểm tra tệp đó đến từ đâu: cùng trang web đó có thể đã gửi thêm thứ khác. Xem lớp bảo vệ có sẵn của Mac làm gì.

10Trước khi dán bất cứ thứ gì vào Terminal lần nữa

  • Tự gõ địa chỉ trang web; đừng theo quảng cáo hay đường liên kết trong cuộc trò chuyện.
  • Đọc dòng lệnh trước khi dán. | sh, | bash, base64 và osascript nghĩa là nó sẽ chạy thứ gì đó.
  • Không có cách sửa thật nào cho một trang web, một captcha hay một tệp tải về "bị lỗi" lại cần đến Terminal.
  • Nếu một dòng lệnh hỏi mật khẩu của bạn, hãy dừng lại và tự hỏi nó dùng để làm gì.

11Câu hỏi

Mac của tôi bị hack. Tôi nên làm gì trước tiên?
Ngắt kết nối internet, rồi dùng thiết bị khác để đổi mật khẩu Tài khoản Apple, email và ngân hàng, và đăng xuất mọi phiên khác. Chuyển mọi tiền mã hóa có cụm từ khôi phục từng nằm trên máy Mac sang ví mới tạo trên một thiết bị sạch. Sau đó làm các bước kiểm tra trên trang này hoặc xóa máy Mac.
Làm sao biết Mac của tôi có đang bị hack không?
Tìm các mục đăng nhập hoặc launch agent bạn không nhận ra, tệp shell bạn không sửa, ứng dụng macOS không chấp nhận, và chương trình lạ có kết nối internet. Yêu cầu nhập mật khẩu mà bạn không kích hoạt và cài đặt trình duyệt tự thay đổi cũng là dấu hiệu.
macOS báo phần mềm độc hại đã bị chặn và chuyển vào Thùng rác. Tôi có an toàn không?
Nghĩa là XProtect đã nhận ra một tệp độc hại đã biết và gỡ nó trước khi nó chạy. Hãy kiểm tra tệp đến từ đâu và làm các bước kiểm tra ở trên: cùng trang web hay email đó có thể đã gửi thứ mà XProtect không nhận ra.
Dán lệnh vào Terminal có an toàn không?
Chỉ khi bạn tự gõ địa chỉ trang web và biết dòng lệnh đó làm gì. Đừng bao giờ dán dòng lệnh từ quảng cáo, cửa sổ bật lên, trang "xác minh bạn là người" hay cuộc trò chuyện. Nếu nó chuyển một tệp tải về vào sh hoặc bash, giải mã base64 hoặc hỏi mật khẩu của bạn, hãy dừng lại.
Tôi có cần xóa sạch máy Mac không?
Nếu bạn không thể xác định và gỡ bỏ những gì đã tìm thấy, hoặc máy Mac từng chứa cụm từ khôi phục hay khóa có giá trị lớn, xóa máy là lựa chọn an toàn. Hãy sao lưu tài liệu, không sao lưu ứng dụng, và đăng nhập lại từ đầu.

Nguồn

  1. The Hacker News, 16/3/2026thehackernews.com
  2. Security Affairs về báo cáo của Microsoft, 4/2/2026securityaffairs.com
  3. Apple Platform Securitysupport.apple.com
  4. MITRE ATT&CK T1553.001attack.mitre.org

Thêm về an toàn cho Mac