Trình tải PDF và lỗ hổng xâm nhập độc hại

Trình tải PDF và lỗ hổng xâm nhập độc hại

Có lẽ nhiều người, trong đó có cả tôi, đã từng hỏi làm thế nào các hacker có thể tấn công các đối tượng chỉ bằng 1 bản pdf đơn giản. Nhìn chung, những trường hợp này đa số do một lỗ hổng zero day hoặc exploit đã tồn tại trên trình duyệt đọc PDF mà đối tượng sử dụng. Tuy nhiên, chúng ta đều biết rằng lỗ hổng đều được vá ngay sau khi được phát hiện. Vì vậy, làm thế nào mà ngày nay, nhiều người nổi tiếng, hay công ty lại bị đánh cắp dữ liệu và bị hack?

Một ví dụ điển hình là công ty Sky Mavis, công ty mẹ của trò chơi nft nổi tiếng tại Việt Nam - Axie Infinity, đã trở thành nạn nhân của một cuộc tấn công lừa đảo. Trong vụ tấn công này, hacker đã tạo ra một lời mời làm việc giả gửi tin nhắn cho một kỹ sư của công ty. Tin nhắn bao gồm tệp đính kèm PDF độc hại được thiết kế như một keylogger và sử dụng thông tin đánh cắp được nhằm xâm nhập vào thông tin đăng nhập blockchain của công ty. Kết quả là khoảng $600M đã bị đánh cắp.

Câu hỏi chúng ta đặt ra hiện tại - Hacker đã làm thế nào để lây nhiễm một tệp tin PDF độc hại sang máy của ai đó? Hoặc, làm cách nào để tạo ra một file PDF độc hại, ...

Ví dụ, tạo một ứng dụng điều khiển trong .Net, do đó, bạn nên cài SDK trên máy tính cá nhân, bản tác giả đang sử dụng là 7(mới nhất).

Trước tiên, ta cần xem xét rằng tệp PDF giả sẽ đóng vai trò là trình tải xuống, chịu trách nhiệm tìm nạp Dropper( 1 loại trojan được thiết kế để cài đặt trái phép các phần mềm độc hại trên hệ thống mục tiêu). Bằng cách này, hacker có cơ hội thành công cao hơn so với việc phần mềm độc hại trực tiếp qua email hoặc cố gắng gửi dưới dạng file PDF thật. Thứ nhất, các tệp PDF thường không nặng quá 50gb và thứ hai, rất có khả năng phần mềm độc hại sẽ bị phát hiện nếu hệ thống được bảo vệ tốt. Và cuối cùng, nếu người đó cảnh giác, họ có thể nhận thấy điều gì đó đáng ngờ về file PDF đó.

Dựa trên những gì trước đó về trình tải xuống (tạm đặt tên là miniNet), sẽ có ba tham số:

  • URL: nơi lưu trữ dropper
  • URL được sử dụng để mở tài liệu PDF nhằm tránh gây nghi ngờ cho nạn nhân
  • Đường dẫn cuối cùng là nơi Dropper được tải xuống. Trong bài viết này, dropper sẽ là virus chundefined.exe. Đối với URL giả, sử dugj tệp PDF được lưu trữ trên kho lưu trữ Github để làm ví dụ

Đoạn mã được cung cấp lần lượt thực hiện các thao tác:

  • Cố gắng mở một tệp PDF giả bằng bảng điều khiển lệnh mà không hiển thị cửa sổ bảng điều khiển
  • Thiết lập kết nối đến URL chứ dropper
  • Đọc dữ liệu từ luồng theo khối 4096 bytes và ghi dữ liệu đó vào một tệp trên hệ thống của đối tượng, tiếp tục quá trình này đến khi tất cả dữ liệu được đọc và ghi.
  • Sau khi dropper được tải xuống, tiến hành thực thi bằng các dòng lệnh sau.

Tiến hành biên dịch mã và kiểm thử, thêm vào ba dòng sau để biên dịch mọi thứ thành một tệp thực thi duy nhất:

Điều hướng đến thư mục của project và thực hiện lệnh biên dịch

dotnet publish --configuration Release -r win-x64 /p:PublishSingleFile=true --self-contained true

Ngay khi thực thi, dropper sẽ bắt đầu tải xuống và tự ghi đè lên hệ thống trong khi URL chứa file PDF fake đang được mở

Và bây giờ chúng ta có thể thấy, nó hoạt động trơn tru. Tuy nhiên, rõ ràng đến cả người già cũng thấy quá dễ để phát hiện. Vậy chúng ta làm cách nào để khiến nó trông như một file PDF xịn =) ?

=> Chúng ta sử dụng icon-icons và tìm PDF, tải cái nào bạn cảm thấy ưng ý nhất. Lưu nó vào project và thêm dòng này vào miniNet.csproj - nơi chúng ta đặt icon cho chương trình độc hại sẽ được thực thi.

File path:

Chạy lại một lần nữa và bây giờ nó trông giống như một file PDF real, nhưng nếu tinh ý vẫn có thể thấy phần mở rộng chứa exe. Thực ra, chúng ta có thể thêm .pdf trước .exe để thêm 1 lớp ngụy trang khách cho trình tải xuống, vì hầu hết các hệ thống theo mặc định đều có tùy chọn hiển thị tiện ích mở rộng chương trình bị tắt.

Thoạt nhìn, nó có vể giống như một file PDF vô hại. Nếu người dùng thực thi file, bước tiếp theo sẽ là gì? Như đã đề cập ở trên, dropper chịu trách nhiệm thiết lập tính bền vững trong hệ thống và tải xuống phần mềm độc hại từ phía kẻ tấn công.

Nguồn: Chundefined