Giáo viên hướng dẫn: Trong
bài giảng trước, chúng ta đã xem cách hạ cấp các trang web HTTPS xuống HTTP.
Và điều này cho phép chúng tôi về cơ bản thấy bất kỳ điều gì người dùng thực hiện
trên các trang web này vì dữ liệu trong HTTP được
gửi ở dạng văn bản thuần túy.
Do đó, chúng tôi có thể thấy tên người dùng,
mật khẩu, URL và bất cứ điều gì họ làm trên các trang web HTTPS.
Vào cuối bài giảng, tôi cũng đã cho bạn thấy rằng
phương pháp này sẽ không hoạt động với Facebook, Twitter và các
trang web khác sử dụng HSTS.
Lý do tại sao nó không hoạt động với các trang
web này, vì các trình duyệt web hiện đại đi kèm với danh sách các trang
web mà chúng chỉ nên tải qua HTTPS.
Xem những gì chúng ta đã làm trong bài giảng trước.
Bất cứ khi nào trình duyệt yêu cầu một trang web, chúng tôi tải trang web đó, ngay
cả khi nó sử dụng HTTPS, những gì chúng
tôi luôn cung cấp cho anh ta phiên bản HTTP.
Trong HSTS, trình duyệt biết rằng trang web
này, ví dụ, facebook. com, nên luôn được tải qua HTTPS.
Vì vậy, ngay cả trước khi gửi yêu cầu này cho chúng
tôi, yêu cầu sẽ luôn gửi trong HTTPS.
Và nó sẽ luôn chỉ được chấp nhận nếu nó quay trở lại dưới dạng HTTPS.
Vì vậy, chúng ta không thể làm gì thực sự, một khi chúng
ta trở thành người đàn ông ở giữa.
Bởi vì trình duyệt đang thực hiện việc kiểm tra cục
bộ này, nó sẽ kiểm tra điều này dựa trên danh sách được
lưu trữ trên chính máy tính.
Do đó, giải pháp thực tế duy nhất lúc này
để vượt qua HSTS là làm cho trình duyệt nghĩ rằng nó đang
tải một trang web khác.
Để làm điều này, chúng tôi sẽ thay thế tất cả các liên kết HSTS trong các
trang được tải thành các liên kết tương tự, nhưng chúng
không phải là các liên kết giống nhau.
Ví dụ, chúng ta có thể thay thế facebook. com với Facebook. Ngô.
Bây giờ, tôi biết điều này có vẻ rất đáng
ngờ, nhưng hãy tin tôi khi nó đi vào thanh
URL, RN ở đây ở giữa, nó sẽ có vẻ rất giống với
chữ M.
Một cách khác để làm điều này, bạn có thể thay thế twitter. com với twitter.
com,
nhưng với chữ T đơn ở đây thay vì chữ T kép.
Tôi biết điều này nghe có vẻ hơi khó hiểu ngay bây giờ,
nhưng hãy để tôi bắt tay vào làm thực tế, và bạn
sẽ thấy điều này sẽ hoạt động như thế nào.
Vì vậy, ngay tại đây tôi có máy Kali của mình.
Và chúng tôi thực sự sẽ sử dụng caplet HSTS mà chúng tôi sử
dụng trong bài giảng trước.
Như đã đề cập trong bài giảng trước,
caplet này đã được cài đặt sẵn trong Kali tùy chỉnh, nếu bạn
muốn sử dụng nó với Kali gốc, bạn sẽ phải tải xuống
theo cách thủ công và đặt nó vào
đúng đường dẫn, trong user, local,
share , cái mũ tốt hơn, cái mũ lưỡi trai.
Tôi có caplet ngay đây.
Như tôi đã nói, đây đã là một trong những chính
xác vì tôi đang sử dụng Kali tùy chỉnh, nếu chúng ta vào bên
trong nó, chúng ta có một tệp có tên là hstshijack. mũ lưỡi trai.
Đây là tệp cấu hình của câu ghép.
Vì vậy, tôi sẽ nhấp chuột phải
vào nó, tôi sẽ mở nó bằng ứng dụng khác, tôi
sẽ nhấp vào xem tất cả các ứng dụng.
Và bạn muốn chọn bất kỳ trình soạn thảo văn bản nào mà bạn có.
Vì vậy, tôi sẽ giữ nó ở leafpad.
Bạn có thể phải cuộn xuống để tìm
nó, nhưng tôi có nó ở đây, tôi sẽ chọn.
Và như bạn có thể thấy, chúng tôi có một tệp văn bản bình thường
với tất cả các cấu hình mà chúng tôi có thể đặt.
Và tôi đã định cấu hình trước điều này cho bạn.
Những điều chính mà bạn muốn hiểu và có thể
thay đổi là mục tiêu và sự thay thế.
Vì vậy, các mục tiêu là các miền sử dụng HSTS mà
bạn muốn thay thế.
Ví dụ, tôi có twitter. com ở đây, và tôi cũng
có ngôi sao. twitter. com.
Về cơ bản, khi bạn sử dụng một ngôi sao, đây là một thẻ hoang dã.
Và về cơ bản nó có nghĩa là bất kỳ tên miền phụ nào. twitter. com cũng là một
mục tiêu.
Và phần thay thế, bạn muốn cho chương trình
biết, thay thế mục tiêu này bằng cái gì.
Ví dụ, bất cứ khi nào chúng ta nhìn thấy twitter. com, chúng tôi sẽ thay
thế nó bằng Twitter. Ngô.
Điều tương tự cũng xảy ra với Facebook và Apple
và một số miền khác mà tôi đã nói.
Bạn cũng có thể thử với các tùy chọn mã
hóa và mã hóa obfuscate.
Tôi đã đặt cả hai điều này thành false,
bởi vì về cơ bản những gì chúng sẽ
làm, chúng sẽ làm xáo trộn mã và được mã hóa.
Nhưng tôi nhận thấy một số trình duyệt như Firefox sẽ
chặn mã bị xáo trộn hoặc mã hóa.
Đó là lý do tại sao tôi đặt cả hai điều này
thành false để mã được giữ nguyên.
Tại đây trong payload, bạn có thể đặt bất kỳ mã JavaScript nào khác
mà bạn muốn chèn vào, giữ nguyên mã này, chúng
ta sẽ nói về việc chèn JavaScript trong một bài giảng trong tương lai.
Cuối cùng, bạn muốn đảm bảo rằng các miền giả mạo DNS
được đặt chính xác giống với các miền thay thế trong đây.
Vì vậy, tôi thực sự sao chép dòng này và dán nó vào đây.
Bây giờ tôi thực sự sẽ giữ nguyên tất cả những điều này,
tôi không cần phải sửa đổi bất kỳ điều gì.
Nhưng như tôi đã nói, nếu bạn đang nhắm mục tiêu các trang web khác
nhau hoặc nếu bạn muốn sử dụng các trang web thay thế khác, chẳng
hạn, nếu bạn muốn sử dụng Twitter với một chữ T duy nhất và hãy
giữ nguyên điều này. com, bạn có thể làm điều đó ở đây.
Nếu bạn muốn sử dụng Facebook với một chữ O duy nhất, và hãy giữ
nguyên điều này. com, một lần nữa, thay vì. ngô, bạn có thể
làm điều đó ở đây.
Sau khi hoàn tất, hãy đảm bảo rằng bạn đã lưu và thoát khỏi tệp này.
Và chúng tôi đã sẵn sàng để thực hiện cuộc tấn công.
Vì vậy, việc chạy cuộc tấn công này thực sự sẽ giống với
những gì chúng ta đã làm trong bài giảng
trước, bạn chỉ muốn đảm bảo rằng bạn sửa đổi tệp này đúng cách.
Vì vậy, quay trở lại với bettercap, tôi sẽ xóa màn hình, chạy
bettercap bằng lệnh tương tự, tải caplet
bằng chứng này.
Vì vậy, chúng tôi có thể thực hiện tất cả các lệnh
giả mạo AARP và chạy trình đánh hơi tự động.
Và hoàn hảo, như bạn có thể thấy mọi thứ đang
chạy như mong đợi mà không có lỗi.
Nếu bạn chạy cái này và gặp lỗi,
chỉ cần thoát và chạy lại bettercap.
Tiếp theo, chúng ta muốn chạy câu đối, HSTS hijack caplet, chính xác
như trong bài giảng trước, tất cả những
gì chúng ta phải làm là gõ HS tab, nó sẽ tự động
hoàn thành cho chúng ta và nhấn enter để chạy nó.
Một lần nữa, vì bạn có thể thấy không có
lỗi nên mọi thứ đều hoạt động như mong đợi.
Hãy đi đến máy mục tiêu và
xem nó sẽ hoạt động như thế nào.
Vì vậy, tôi có máy tính Windows của mình ngay tại đây.
Đây là Chrome, phiên bản mới nhất.
Và trước khi tôi làm bất cứ điều
gì, như tôi đã nói, bạn nên luôn xóa dữ liệu duyệt web.
Và trước khi tôi thực sự tải bất kỳ trang
web nào, điều rất quan trọng là phải hiểu rằng ngay cả với mọi thứ
mà chúng tôi đang làm ngay bây giờ, nếu bạn cố gắng truy cập
Facebook và nhập. com ở cuối ở đây, nó sẽ không hoạt động, những
gì chúng tôi đang làm ngay bây giờ sẽ không hoạt động.
Vì Chrome ngay tại đây có một danh sách được lưu trên máy tính này
thông báo không tải facebook. com trừ khi nó được
tải qua HTTPS.
Vì vậy, nếu bạn nói với Facebook ngay tại đây như thế
này, nó sẽ không hoạt động.
Cách duy nhất chúng ta có thể làm là nếu người dùng lần đầu tiên truy
cập vào công cụ tìm kiếm, ví dụ: google. tức là đối với Ireland.
Và sau đó trong Google, như bạn có thể thấy, Google không sử dụng HSTS.
Vì vậy, chúng tôi bỏ qua điều này bằng cách sử dụng bỏ qua HTTPS thông thường.
Và sau đó nếu người dùng ở đây tìm kiếm trang web mục tiêu
của họ, chẳng hạn như Facebook,
thì tập lệnh của chúng tôi sẽ chạy ở chế độ nền.
Và nó sẽ thay thế tất cả các liên kết trong trang
này cho facebook. com với facebook. Ngô.
Vì vậy, nếu tôi thực sự di chuột qua đây, bạn sẽ
thấy trên thanh trạng thái, trang web
sẽ được tải là facebook. ngô, không phải facebook.
com.
Ở đây vẫn ổn, nó vẫn ghi là facebook. com.
Nhưng chỉ trong mã của trang HTML
facebook. com đã được thay thế bằng facebook. Ngô.
Vì vậy, nếu tôi nhấp vào liên kết này, một lần nữa, như bạn có thể thấy, chúng ta
sẽ có một trang Facebook bình thường.
Nhưng nếu bạn nhìn ở đây trên đầu, bạn sẽ thấy không có HTTPS.
Và nếu bạn nhìn vào tên miền, bạn
sẽ thấy nó nói. ngô không. com.
Một lần nữa, như tôi đã nói, bạn thực sự có thể giữ điều này. com và sử dụng Facebook
với một chữ O hoặc bạn có thể thêm một chữ O nữa, bạn có
thể sáng tạo tùy thích với điều này.
Đây chỉ là một ví dụ mà tôi đang đưa ra cho bạn.
Bây giờ khi chúng tôi ở đây, chúng tôi có thể đăng nhập bình thường bằng
tên người dùng của tôi để z @ zsecurity. org và đặt mật khẩu của tôi là 1234567890.
Nhấn enter và nếu chúng ta quay lại, hãy cuộn lên.
Hoàn hảo, như bạn có thể thấy, chúng tôi có
tên người dùng, z @ zsecurity. org và mật khẩu lên
đến chín số 0.
Bây giờ, như tôi đã nói, cách duy nhất để điều này hoạt
động là nếu người dùng truy cập Facebook thông qua một trang
web khác không sử dụng HSTS.
Nếu họ vào thanh URL và gõ facebook. com, chúng tôi sẽ không thể làm điều
này, đó là lý do tại sao đây được
coi là một giải pháp từng phần chứ không phải là giải
pháp toàn bộ.