Cuộc tấn công Man-in-the-Browser là cách tiếp cận tương tự như cuộc tấn công Man-in-the-middle, nhưng trong trường hợp này, Trojan Horse được sử dụng để chặn và điều khiển các cuộc gọi giữa tệp thực thi của ứng dụng chính (ví dụ: trình duyệt) và cơ chế bảo mật hoặc thư viện đang hoạt động.
Mục tiêu phổ biến nhất của cuộc tấn công này là gây ra gian lận tài chính bằng cách thao túng các giao dịch của hệ thống Ngân hàng trực tuyến, ngay cả khi các yếu tố xác thực khác đang được sử dụng.
Các bài viết liên quan:
Một con Trojan đã được cài đặt trước đó được sử dụng để hoạt động giữa trình duyệt và cơ chế bảo mật của trình duyệt, phát hiện hoặc sửa đổi các giao dịch khi chúng được hình thành trên trình duyệt, nhưng vẫn hiển thị lại giao dịch dự định của người dùng.
Thông thường, nạn nhân phải thông minh để nhận ra tín hiệu của cuộc tấn công như vậy khi họ đang truy cập vào một ứng dụng web như tài khoản ngân hàng trực tuyến, ngay cả khi có các kênh SSL, vì tất cả các cơ chế kiểm soát và bảo mật dự kiến đều được hiển thị và hoạt động bình thường.
Điểm có hiệu lực:
- Đối tượng Trình trợ giúp Trình duyệt – các thư viện được tải động được Internet Explorer tải khi khởi động
- Tiện ích mở rộng – tương đương với Đối tượng trình trợ giúp trình duyệt cho trình duyệt Firefox
- API-Hooking – đây là kỹ thuật được sử dụng bởi Man-in-the-Browser để thực hiện Man-in-the-Middle giữa ứng dụng thực thi (EXE) và các thư viện của nó (DLL).
- Javascript – Bằng cách sử dụng sâu Ajax độc hại, như được mô tả trên Ajax Sniffer – Proof of Concept
Các ví dụ
Thao tác thông qua giao diện DOM
Để thực hiện cuộc tấn công này, kẻ tấn công có thể tiến hành các bước sau:
- Trojan lây nhiễm vào phần mềm của máy tính, cả Hệ điều hành hoặc Ứng dụng.
- Trojan cài đặt một tiện ích mở rộng vào cấu hình trình duyệt để nó sẽ được tải vào lần khởi động trình duyệt tiếp theo.
- Sau đó, người dùng khởi động lại trình duyệt.
- Trình duyệt tải tiện ích mở rộng.
- Tiện ích mở rộng đăng ký một trình xử lý cho mỗi lần tải trang.
- Bất cứ khi nào một trang được tải, URL của trang đó sẽ được tiện ích mở rộng tìm kiếm dựa trên danh sách các trang web đã biết được nhắm mục tiêu tấn công.
- Người dùng đăng nhập an toàn vào ví dụ: https://secure.original.site/.
- Khi trình xử lý phát hiện tải trang cho một mẫu cụ thể trong danh sách được nhắm mục tiêu của nó (ví dụ: https://secure.original.site/account/do_transaction), trình xử lý sẽ đăng ký trình xử lý sự kiện nút.
- Khi nhấn nút gửi, tiện ích mở rộng trích xuất tất cả dữ liệu từ tất cả các trường biểu mẫu thông qua giao diện DOM trong trình duyệt và ghi nhớ các giá trị.
- Phần mở rộng sửa đổi các giá trị thông qua giao diện DOM.
- Tiện ích mở rộng yêu cầu trình duyệt tiếp tục gửi biểu mẫu đến máy chủ.
- Trình duyệt gửi biểu mẫu, bao gồm các giá trị đã sửa đổi, đến máy chủ.
- Máy chủ nhận các giá trị đã sửa đổi trong biểu mẫu như một yêu cầu bình thường. Máy chủ không thể phân biệt giữa các giá trị ban đầu và các giá trị đã sửa đổi hoặc phát hiện các thay đổi.
- Máy chủ thực hiện giao dịch và tạo biên lai.
- Trình duyệt nhận được biên nhận cho giao dịch đã sửa đổi.
- Tiện ích mở rộng phát hiện URL https://secure.original.site/account/receipt, quét HTML để tìm các trường biên nhận và thay thế dữ liệu đã sửa đổi trong biên nhận bằng dữ liệu ban đầu mà nó ghi nhớ trong HTML.
- Trình duyệt hiển thị biên nhận đã sửa đổi với các chi tiết ban đầu.
- Người dùng nghĩ rằng giao dịch ban đầu đã được máy chủ nhận một cách nguyên vẹn và được ủy quyền chính xác.