Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
13/04/2022 11:04 # 1
buiducduong
Cấp độ: 22 - Kỹ năng: 1

Kinh nghiệm: 7/220 (3%)
Kĩ năng: 0/10 (0%)
Ngày gia nhập: 25/09/2020
Bài gởi: 2317
Được cảm ơn: 0
Kiểu Tấn công Browser In The Browser (BITB) là gì


Trong bài viết này, chúng ta sẽ tìm hiểu về kỹ thuật lừa đảo Browser In The Browser (BITB), mô phỏng một cửa sổ trình duyệt trong trình duyệt để giả mạo domain hợp pháp.

Giới thiệu

Đối với các chuyên gia bảo mật, URL thường là phần đáng tin cậy nhất của domain. Nhưng các cuộc tấn công như IDN Homograph và DNS Hijacking có thể làm giảm độ tin cậy của URL nhưng không đến mức làm cho URL không đáng tin cậy.

Tất cả những điều này cuối cùng khiến mình suy nghĩ, liệu có thể làm cho lời khuyên “Kiểm tra URL” kém tin cậy hơn không? Sau một tuần cân não, mình quyết định rằng câu trả lời là có.

Tấn công Browser In The Browser (BITB)

Cửa sổ đăng nhập dạng pop-up

Khá thường xuyên khi chúng ta xác thực một trang web thông qua Google, Microsoft, Apple,… chúng tađược cung cấp một cửa sổ bật lên yêu cầu chúng ta xác thực. Hình ảnh bên dưới cho thấy cửa sổ bật lên xuất hiện khi ai đó cố gắng đăng nhập vào Canva bằng tài khoản Google của họ.

Kiểu Tấn công Browser In The Browser (BITB) là gì 22

Nhân rộng cửa sổ

Việc tạo ra một cửa sổ popup bằng HTML/CSS cơ bản là khá đơn giản. Kết hợp thiết kế cửa sổ với iframe trỏ đến máy chủ độc hại lưu trữ trang lừa đảo và về cơ bản không thể phân biệt được. Hình ảnh dưới đây cho thấy cửa sổ giả so với cửa sổ thật. Rất ít người sẽ nhận thấy sự khác biệt nhỏ giữa hai cửa sổ này.

Kiểu Tấn công Browser In The Browser (BITB) là gì 23

JavaScript có thể dễ dàng được sử dụng để làm cho cửa sổ xuất hiện trên một liên kết hoặc nhấp vào nút, khi tải trang,…. Và tất nhiên bạn có thể làm cho cửa sổ xuất hiện một cách trực quan hấp dẫn thông qua các hoạt ảnh có sẵn trong các thư viện như JQuery.

Demo

Kiểu Tấn công Browser In The Browser (BITB) là gì 24

Tuỳ chỉnh URL khi di chuột

Di chuột qua một URL để xác định xem URL đó có hợp lệ không, không hiệu quả lắm khi JavaScript được cho phép. HTML có một liên kết thường trông giống như sau:

<a href="https://gmail.com">Google</a>

Nếu sự kiện onclick trả về false được thêm vào, thì việc di chuột qua liên kết sẽ tiếp tục hiển thị trang web trong thuộc tính href nhưng khi liên kết được nhấp thì thuộc tính href bị bỏ qua. Chúng ta có thể sử dụng kiến ​​thức này để làm cho cửa sổ bật lên trông thực tế hơn.

<a href="https://gmail.com" onclick="return launchWindow();">Google</a>

function launchWindow(){
    // Bật cửa sổ giả
    return false; // Đảm bảo thuộc tính href bị bỏ qua
}

Các mẫu có sẵn

Tác giả đã tạo 2 mẫu cho hệ điều hành và trình duyệt sau:

  • Windows – Chrome (Light & Dark Mode)
  • Mac OSX – Chrome (Light & Dark Mode)

Các mẫu này có sẵn trên Github tại đây.

Khi tải source code về, các bạn mở file index.html lên và thay đổi một số chỗ như sau:

  • XX-TITLE-XX – Tiêu đề hiển thị cho trang (ví dụ: Sign in to your account now)
  • XX-DOMAIN-NAME-XX – Tên miền bạn đang giả mạo. (ví dụ: gmail.com)
  • XX-DOMAIN-PATH-XX – Đường dẫn tên miền (ví dụ: /auth/google/login)
  • XX-PHISHING-LINK-XX – Liên kết lừa đảo sẽ được nhúng vào iFrame (ví dụ: https://example.com)

Kiểu Tấn công Browser In The Browser (BITB) là gì 25

Và đây là kết quả. Ngoài ra, nếu đang sử dụng mẫu Windows, bạn nên cập nhật file logo.svg, biểu tượng của trang web mà bạn đang giả mạo. Logo mặc định là của Microsoft.

Kiểu Tấn công Browser In The Browser (BITB) là gì 26

Thư mục Windows-DarkMode-Delay sử dụng hàm fadeIn() của jQuery để thêm độ trễ nhỏ vào cửa sổ bật lên khi nó xuất hiện.

Kết luận

Với kỹ thuật này, giờ đây chúng ta có thể cải tiến các trò chơi lừa đảo của mình. Người dùng mục tiêu vẫn cần truy cập trang web của bạn để cửa sổ bật lên được hiển thị. Nhưng khi đã truy cập vào trang web do kẻ tấn công sở hữu, người dùng sẽ cảm thấy thoải mái khi họ nhập thông tin đăng nhập của họ vì URL trông rất đáng tin cậy.




 
Copyright© Đại học Duy Tân 2010 - 2024