HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN
Học phần: An Tồn Mạng
Bài báo cáo:
Tìm hiểu về SSLStrip trên Kali Linux
Giảng viên hướng dẫn: TS. Đặng Minh Tuấn
Sinh viên thực hiện: Nguyễn Huy Nguyên
Mã sinh viên: B18DCAT175
Nhóm môn học: 02
Hà Nội, 2021
1
Mục Lục
Danh mục hình ảnh ................................................................................................... 4
Lời mở đầu ............................................................................................................... 5
I. Giới thiệu về SSLStrip trên Kali Linux ................................................................ 6
1. SSL Strip là gì? ................................................................................................. 6
2. Một chút lý thuyết ............................................................................................ 6
a. Giao thức HTTP là gì? .................................................................................. 6
b. Giao thức HTTPS là gì? ............................................................................... 7
c. SSL là gì? ...................................................................................................... 8
d. Chứng chỉ SSL/TLS hoạt động như thế nào?............................................... 9
e. Khi nào và vì sao SSL/TLS là một điều BẮT BUỘC? .............................. 10
f. HTTP và HTTPS khác nhau như thế nào? .................................................. 11
g. Mức độ bảo mật của HTTPS hiện nay ....................................................... 12
3. Cách thức hoạt động của cuộc tấn công SSL Strip ........................................ 13
a. Kịch bản xảy ra một cuộc tấn công MITM và kĩ thuật SSL Strip .............. 14
b. Tại sao các điểm truy cập Wifi công cộng lại nguy hiểm .......................... 15
c. SSL Strip và các bản nâng cấp của tools này ............................................. 15
II. Hướng dẫn cài đặt và sử dụng SSLStrip ............................................................ 15
1. Hướng dẫn cài đặt SSL Strip .......................................................................... 15
2. Cách sử dụng và các lệnh trong SSL Strip ..................................................... 16
3. Các kĩ thuật đi kèm để thực hiện tấn công MITM và SSL Strip .................... 16
III. Các bài lab và kịch bản demo ........................................................................... 18
1. Bài lab 1: Sử dụng ArpSpoof trong Ettercap và SSLStrip ............................. 19
2. Bài lab 2: Sử dụng Arpspoof và SSLStrip trong tools Bettercap ................... 22
IV. So sánh, đánh giá và kết luận ........................................................................... 27
2
1. So sánh: .......................................................................................................... 27
2. Đánh giá: ........................................................................................................ 28
3. Kết luận .......................................................................................................... 31
V. Danh mục tài liệu tham khảo ............................................................................. 31
VI. Lời cảm ơn ....................................................................................................... 33
3
Danh mục hình ảnh
1. Giao thức kết nối HTTP ....................................................................................... 7
2. Giao thức HTTPS ................................................................................................. 8
3. Cách hoạt động của SSL/TLS .............................................................................. 9
4. Chứng chỉ SSL/TLS bảo vệ web ........................................................................ 10
5. HTTP và HTTPS ................................................................................................ 11
6. Minh hoạ cuộc tấn công SSL Strip và MITM .................................................... 14
7. Các câu lệnh trong SSLStrip Kali ...................................................................... 16
8. ArpSpoofing ....................................................................................................... 17
9. Ettercap trên Kali Linux ..................................................................................... 18
10. Ettercap Plugin ................................................................................................. 18
11. IP và Địa chỉ MAC trên máy nạn nhân trước khi bị tấn cơng .......................... 19
12. Trang web được mã hố HTTPS ...................................................................... 19
13. Các Host đang hoạt động được phát hiện bởi Ettercap .................................... 20
14. Địa chỉ MAC của Router đã bị thay đổi trên máy nạn nhân ............................ 20
15. Các lựa chọn trên SSLStrip .............................................................................. 21
16. Kết nối bị trình duyệt thơng báo khơng an tồn do sử dụng HTTP ................. 22
17. Các module trong Bettercap ............................................................................. 23
18. Tuỳ chọn của ARP Spoof trong Bettercap ....................................................... 23
19. Cấu hình Arp Spoof để tán công mục tiêu ....................................................... 24
20. Máy nạn nhân đã bị tấn công ARP Spoof ........................................................ 24
21. Cấu hình trong module HTTP.proxy để sử dụng SSLStrip ............................. 25
22. Cấu hình module Net.sniff để bắt lưu lượng từ máy nạn nhân ........................ 25
23. Máy nạn nhân đã bị tấn công SSL Strip ........................................................... 26
24. Bettercap đã bắt được tài khoản mật khẩu của nạn nhân ................................. 26
25. Kết nối trên máy nạn nhân đã bị hạ xuống HTTP ............................................ 27
4
Lời mở đầu
Mạng internet mang lại cho con người những lợi ích to lớn, nó giúp con người trên
thế giới xích lại gần nhau hơn, chia sẻ thơng tin liên lạc với nhau một cách dễ dàng hơn.
Lượng thông tin được chia sẻ và trao đổi ngày càng lớn trong đó có rất nhiều thơng tin
nhạy cảm, quan trọng. Do đó mơi trường kết nối internet vơ hình chung lại là một môi
trường dễ dàng cho kẻ xấu lợi dụng hoặc tấn công, khai thác những dữ liệu nhạy cảm,
quan trọng hoặc nhằm mục đích phá hoại. Do vậy nhu cầu đặt ra là tìm những giải pháp
bảo vệ thơng tin nhạy cảm, quan trọng được truyền trong môi trường mạng.
Hiện nay các nhà cung cấp dịch vụ cung cấp cho chúng ta rất nhiều giải pháp và
đường truyền mang tính bảo mật cao nhưng khơng bao giờ là an tồn tuyệt đối, có rất
nhiều lỗ hổng có thể khai thác từ những kẻ tấn cơng có chủ đích xấu. Các tools ra đời
mang mục đích tìm hiểu, học hỏi, nâng cao cảnh giác và để đưa ra các phương thức
phịng chống lại các cuộc tấn cơng từ bên ngồi.
SSLStrip là một cách tấn công nguy hiểm, đã được Moxie Marlinspike, nhà
nghiên cứu bảo mật máy tính người Mỹ, tại sự kiện 2009 BlackHat DC giới thiệu, và xây
dựng bộ cơng cụ có khả năng tấn cơng tự động, làm giảm tính mã hố và bảo mật trên
đường truyền HTTPS qua lỗ hổng của SSL/TLS.
5
I. Giới thiệu về SSLStrip trên Kali Linux
1. SSL Strip là gì?
SSL Stripping hoặc Tấn cơng hạ cấp SSL là một cuộc tấn cơng được sử dụng để phá
vỡ tính bảo mật được thực thi bởi chứng chỉ SSL trên các trang web hỗ trợ HTTPS. Nói
cách khác, SSL Strip là một kỹ thuật hạ cấp kết nối của bạn từ HTTPS an tồn xuống HTTP
khơng an tồn và khiến bạn bị nghe trộm và thao túng dữ liệu. Khi trình duyệt web của bạn
tiếp xúc với máy chủ web, kết nối đầu tiên được thực hiện bằng TCP thông thường và sau
đó người dùng được chuyển hướng đến TLS/SSL. Tin tặc lợi dụng điều này bằng cách sử
dụng SSL Strip hoặc tấn công hạ cấp SSL.
Moxie Marlinspike, nhà nghiên cứu bảo mật máy tính người Mỹ, vào năm 2009, tại
sự kiện 2009 BlackHat DC, lần đầu tiên chứng minh cách để có thể vượt qua bảo mật
HTTPS. Đó là một kỹ thuật rất nguy hiểm có thể gây ra những tác động lớn từ quan điểm
của người dùng.
2. Một chút lý thuyết
Môi trường internet phát triển, kéo theo tội phạm mạng tăng cao, vì thế cần có những
chuẩn bảo mật web cao hơn. Đó là lí do giao thức HTTPS dần thay thế hoàn toàn HTTP.
a. Giao thức HTTP là gì?
-
-
HTTP (Hypertext Transfer Protocol) là giao thức truyền tải siêu văn bản. Đây là
giao thức tiêu chuẩn cho World Wide Web (www) để truyền tải dữ liệu dưới
dạng văn bản, âm thanh, hình ảnh, video từ Web Server tới trình duyệt web của
người dùng và ngược lại.
HTTP là giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng
cho Internet). Bộ giao thức TCP/IP là một bộ các giao thức truyền thông cài đặt
chồng giao thức mà Internet và hầu hết các mạng máy tính thương mại đang
chạy trên đó. Bộ giao thức này được đặt theo tên hai giao thức chính là TCP
(Transmission Control Protocol – Giao thức điều khiển truyền vận) và IP
(Internet Protocol – Giao thức Internet).
6
1. Giao thức kết nối HTTP
-
Trong quá trình kết nối và trao đổi thơng tin, trình duyệt của bạn sẽ mặc nhiên
thừa nhận địa chỉ IP đó đến từ server của chính website mà bạn muốn truy cập
mà khơng hề có biện pháp xác thực nào. Các thơng tin được gửi đi qua giao thức
HTTP (bao gồm địa chỉ IP, các thông tin mà bạn nhập vào website…) cũng
không hề được mã hóa và bảo mật. Đây chính là kẽ hở mà nhiều hacker đã lợi
dụng để đánh cắp thông tin người dùng, thường được gọi là tấn công sniffing.
Do đó đây là lý do kẻ tấn cơng muốn hạ cấp các kết nối từ HTTPS xuống
HTTP
b. Giao thức HTTPS là gì?
-
HTTPS (Hypertext Transfer Protocol Secure) là giao thức truyền tải siêu văn
bản an tồn. Thực chất, đây chính là giao thức HTTP nhưng tích hợp thêm
Chứng chỉ bảo mật SSL nhằm mã hóa các thơng điệp giao tiếp để tăng tính bảo
mật. Có thể hiểu, HTTPS là phiên bản HTTP an toàn, bảo mật hơn.
7
2. Giao thức HTTPS
-
-
HTTPS hoạt động tương tự như HTTP, tuy nhiên được bổ sung thêm chứng
chỉ SSL (Secure Sockets Layer – tầng ổ bảo mật) hoặc TLS (Transport Layer
Security – bảo mật tầng truyền tải). Hiện tại, đây là các tiêu chuẩn bảo mật
hàng đầu cho hàng triệu website trên toàn thế giới.
Cả SSL và TLS đều sử dụng hệ thống PKI (Public Key Infrastructure -hạ tầng
khóa cơng khai) khơng đối xứng. Hệ thống này sử dụng hai “khóa” để mã hóa
thơng tin liên lạc, “khóa cơng khai” (public key) và “khóa riêng” (private key).
Bất cứ thứ gì được mã hóa bằng khóa cơng khai chỉ có thể được giải mã bởi
khóa riêng và ngược lại. Các tiêu chuẩn này đảm bảo các nội dung sẽ được mã
hóa trước khi truyền đi, và giải mã khi nhận.
Điều này khiến hacker dù có chen ngang lấy được thơng tin cũng khơng thể
“hiểu” được thơng tin đó. Do đó HTTPS là một rào cản lớn cho hacker khi
muốn chen ngang kết nối của nạn nhân.
c. SSL là gì?
SSL là viết tắt của từ Secure Sockets Layer. Đây là một tiêu chuẩn an ninh cơng
nghệ tồn cầu tạo ra một liên kết giữa máy chủ web và trình duyệt. Liên kết này đảm bảo
tất cả dữ liệu trao đổi giữa máy chủ web và trình duyệt ln được bảo mật và an toàn.SSL
đảm bảo rằng tất cả các dữ liệu được truyền giữa các máy chủ web và các trình duyệt được
mang tính riêng tư, tách rời. SSL là một chuẩn công nghệ được sử dụng bởi hàng triệu
trang web trong việc bảo vệ các giao dịch trực tuyến với khách hàng của họ.
8
SSL chạy trên một lớp giữa các giao thức ứng dụng như HTTP, SMTP, NNTP và
qua giao thức truyền tải TCP, là một phần của họ giao thức TCP / IP. Mặc dù nó có thể
cung cấp bảo mật cho bất kỳ giao thức nào sử dụng kết nối đáng tin cậy (chẳng hạn như
TCP), nó được sử dụng trong hầu hết các trường hợp cùng với HTTP để tạo thành HTTPS.
HTTPS được sử dụng để bảo mật các trang World Wide Web cho các ứng dụng web.
Thương mại điện tử, sử dụng chứng chỉ khóa cơng khai để xác minh danh tính của các
điểm cuối. Cơng nghệ này đang lỗi thời và được thay thế hoàn toàn bởi TLS.
TLS là chữ viết tắt của Transport Layer Security, nó cũng giúp bảo mật thơng tin
truyền giống như SSL. Nhưng vì SSL khơng cịn được phát triển nữa, nên TLS mới là thuật
ngữ đúng nên dùng.
d. Chứng chỉ SSL/TLS hoạt động như thế nào?
Chứng chỉ SSL/TLS hoạt động bằng cách tích hợp key mã hóa vào thơng tin định
danh cơng ty. Nó sẽ giúp cơng ty mã hóa mọi thơng tin được truyền mà không bị ảnh hưởng
hoặc chỉnh sửa bởi các bên thứ 3.
3. Cách hoạt động của SSL/TLS
SSL/TLS hoạt động bằng cách sử dụng public và private key, đồng thời các khóa
duy nhất của mỗi phiên giao dịch. Mỗi khi khách truy cập điền vào thanh địa chỉ SSL thông
tin web browser hoặc chuyển hướng tới trang web được bảo mật, trình duyệt và web server
9
đã thiết lập kết nối. Trong phiên kết nối ban đầu, public và private key được dùng để tạo
session key, vốn được dùng để mã hóa và giải mã dữ liệu được truyền đưa. Session key sẽ
được sử dụng trong một khoảng thời gian nhất định và chỉ có thể dùng cho phiên giao dịch
này.
Nếu có khóa màu xanh ngay đầu địa chỉ web thì tức là website đã thiết lập đúng
SSL/TLS. Bạn có thể nhấn vào nút màu xanh đó để xem ai là người giữ chứng chỉ này.
e. Khi nào và vì sao SSL/TLS là một điều BẮT BUỘC?
SSL/TLS là yếu tố bắt buộc khi bạn cần xử lý các thông tin nhạy cảm như thông tin
đăng nhập và mật khẩu, hoặc khi phải xử lý các thông tin thanh toán.
Mục tiêu của SSL/TLS là đảm bảo chỉ có một người nhận mà người gửi chỉ định
mới có thể truy cập vào thông tin dữ liệu được truyền đi. Việc này đặc biệt quan trọng khi
có rất nhiều thiết bị và server mà thông tin phải đi qua từ lúc gửi đến lúc chính thức tới
đúng nơi.
4. Chứng chỉ SSL/TLS bảo vệ web
Có 3 lý do chính mà một website hiện đại buộc phải có SSL/TLS:
-
Khi bạn cần chứng thực: Bất kỳ server nào cũng có thể giả dạng là server của
bạn, đánh cắp thông tin được truyền đưa. SSL/TLS cho phép bạn xác thực danh
10
-
-
tính của server để người dùng biết chắc họ đang giao tiếp với đúng người mà họ
muốn giao tiếp.
Để tăng độ tin cậy: Nếu bạn đang chạy một site ecommerce mà bạn cần người
dùng đưa các thông tin quan trọng đối với họ, thì ít nhất họ cần biết thơng tin họ
gửi phải được bảo mật trước thì họ mới tin bạn. Sử dụng SSL/TLS là cách dễ
nhất để cho khách truy cập tin tưởng, hơn bất kỳ lời cam kết nào được đưa ra từ
phía bạn.
Khi bạn cần tuân thủ chuẩn của ngành của bạn: Trong một số ngành nhất định,
như ngành tài chính, bạn sẽ bắt buộc áp dụng một số chuẩn bảo mật. Bạn cũng
có thể tham khảo chỉ dẫn về Payment Card Industry (PCI) mà bạn cần tuân thủ
nếu bạn muốn nhận thanh toán qua thẻ tín dụng trên website của bạn. Một trong
số các yêu cầu thiết yếu là việc sử dụng chứng chỉ SSL/TLS.
f. HTTP và HTTPS khác nhau như thế nào?
Mặc dù cùng là giao thức truyền tải thông tin trên mạng internet, nhưng HTTP và
HTTPS có những điểm khác nhau cốt lõi khiến cho HTTPS được ưa chuộng hơn trên
toàn thế giới:
-
Chứng chỉ SSL:
5. HTTP và HTTPS
Sự khác biệt lớn nhất giữa HTTP và HTTPS là chứng chỉ SSL. Về cơ bản, HTTPS
là một giao thức HTTP với bảo mật bổ sung. Tuy nhiên, trong thời đại mà mọi thông tin
đều được số hóa, thì giao thức HTTPS lại trở nên cực kỳ cần thiết cho bảo mật website. Dù
bạn sử dụng máy tính cá nhân hay cơng cộng, các tiêu chuẩn SSL sẽ luôn đảm bảo liên lạc
giữa máy khách và máy chủ được an tồn, chống bị dịm ngó.
11
-
Port trên HTTP và HTTPS
Port là cổng xác định thông tin trên máy khách, sau đó phân loại để gửi đến máy
chủ. Mỗi Port mang một số hiệu riêng với chức năng riêng biệt. Giao thức HTTP sử dụng
Port 80, trong khi đó HTTPS sử dụng Port 443 – đây chính là cổng hỗ trợ mã hóa kết nối
từ máy tính client đến server, nhằm bảo vệ gói dữ liệu đang được truyền đi.
-
Mức độ bảo mật của HTTP và HTTPS
Khi máy khách truy cập một website, giao thức HTTPS sẽ hỗ trợ xác thực tính đích
danh của website đó thông qua việc kiểm tra xác thực bảo mật (Security Certificate).
Các xác thực bảo mật này được cung cấp và xác minh bởi Certificate Authority
(CA) – các tổ chức phát hành các chứng thực các loại chứng thư số cho người dùng, doanh
nghiệp, máy chủ, mã nguồn, phần mềm. Các tổ chức này đóng vai trị là bên thứ ba, được
cả hai bên tin tưởng để hỗ trợ quá trình trao đổi thơng tin an tồn.
Đối với HTTP, vì dữ liệu không được xác thực bảo mật nên sẽ không có gì đảm bảo
được phiên kết nối của bạn có đang bị “nghe lén” hay không, hoặc bạn đang cung cấp thông
tin cho website thật hay một website giả mạo.
g. Mức độ bảo mật của HTTPS hiện nay
Trước đây, HTTPS thường được sử dụng cho các website tài chính, ngân hàng,
thương mại điện tử để bảo mật thông tin thanh toán online. Tuy nhiên trong thời điểm hiện
tại, HTTPS đã trở thành tiêu chuẩn bảo mật tối thiểu mà tất cả các website doanh nghiệp
cần phải đáp ứng. Vì những lý do sau đây:
1. HTTPS bảo mật thông tin người dùng:
Giao thức HTTPS sử dụng phương thức mã hóa (encryption) để đảm bảo các thông
điệp trao đổi giữa máy khách và máy chủ không bị kẻ thứ ba (hackers) đọc được.
Nếu truy cập một website không được cài đặt giao thức HTTPS, người dùng sẽ đối
diện với nguy cơ bị tấn cơng sniffing. Hacker có thể “chen ngang” vào kết nối giữa máy
khách và máy chủ, đánh cắp các dữ liệu mà người dùng gửi đi (password, thông tin thẻ tín
dụng, văn bản email,…) và các thơng tin sẵn có từ website. Thậm chí, mọi thao tác của
người dùng trên website đều có thể bị quan sát, ghi lại mà họ không hề hay biết.
12
Với giao thức HTTPS, người dùng và máy chủ hoàn tồn có thể tin tưởng rằng các
thơng điệp chuyển giao qua luôn trong trạng thái nguyên vẹn, không qua bất kì chỉnh sửa,
sai lệch nào so với dữ liệu đầu vào.
2. Tránh lừa đảo bằng website giả mạo:
Trên thực tế, bất kì server nào cũng có thể giả dạng là server của bạn để lấy thông
tin từ người dùng, lừa đảo dưới hình thức Phishing. Với giao thức HTTPS, trước khi dữ
liệu giữa máy khách và máy chủ được mã hóa để tiếp tục trao đổi, trình duyệt trên máy
khách sẽ yêu cầu kiểm tra chứng chỉ SSL từ máy chủ, đảm bảo rằng rằng người dùng đang
giao tiếp với đúng đối tượng mà họ muốn. Chứng chỉ SSL/TSL của HTTPS sẽ giúp xác
minh đó là website chính thức của doanh nghiệp chứ không phải là website giả mạo.
3. Giao thức HTTPS tăng uy tín website đối với người dùng:
Một số trình duyệt web phổ biến như Google Chrome, Mozilla Firefox, Microsoft
Edge, hay Apple Safari đều có những cảnh báo người dùng về những website “không bảo
mật” sử dụng HTTP. Động thái này giúp bảo vệ thông tin của người dùng khi lướt web,
bao gồm thông tin cá nhân, thẻ ngân hàng và dữ liệu nhạy cảm khác. Sử dụng HTTPS với
chứng chỉ SSL/TLS được xác thực bảo mật là một lời cam kết về uy tín đối với họ.
Vậy khi thấy thơng báo HTTP đang chạy trên trình duyệt, người dùng không
nên tiếp tục sử dụng trang web hoặc sử dụng mạng đó nữa.
3. Cách thức hoạt động của cuộc tấn công SSL Strip
SSLStrip hoạt động rất đơn giản, thay thế tất cả các yêu cầu HTTPS của một trang
web bằng HTTP và sau đó thực hiện tấn công MITM giữa máy chủ và máy khách. Ý tưởng
là nạn nhân và kẻ tấn công giao tiếp qua HTTP, trong khi kẻ tấn công và máy chủ giao tiếp
qua HTTPS với chứng chỉ của máy chủ. Do đó, kẻ tấn cơng có thể thấy tất cả lưu lượng
truy cập bản rõ của nạn nhân.
Về cơ bản, các cuộc tấn công dải SSL hoạt động giống như một thủ thuật lừa đảo.
Trong SSL Stripping, người dùng phải tin rằng kết nối được bảo mật và dữ liệu họ gửi
được mã hóa. Nhưng trên thực tế, kết nối khơng an tồn và dữ liệu được gửi ở dạng văn
bản thuần túy, loại bỏ mã hóa.
13
Để thực hiện một cuộc tấn công dải SSL, phải có ba thực thể - hệ thống của nạn
nhân, máy chủ web an toàn và hệ thống của kẻ tấn cơng. Nếu khơng có kẻ tấn cơng ở giữa,
giao tiếp sẽ chỉ xảy ra giữa hệ thống của nạn nhân và máy chủ web của trang web. Một
cuộc tấn công SSL Strip được sử dụng để loại bỏ giao tiếp an tồn này mà khơng làm cho
nạn nhân nhận ra. Kẻ tấn công / tin tặc sử dụng máy chủ proxy và kỹ năng mã hóa của anh
ta / cơ ta để thực hiện thủ thuật này.
6. Minh hoạ cuộc tấn công SSL Strip và MITM
a. Kịch bản xảy ra một cuộc tấn công MITM và kĩ thuật SSL Strip
Giả sử Nick muốn gửi một số tiền bằng cách truy cập một trang web bảo mật, hỗ
trợ HTTPS. Nhưng Bob, một tin tặc, muốn chặn cuộc liên lạc này và xem thông tin đăng
nhập của Nick. Để thực hiện điều này, anh ta thiết lập kết nối với nạn nhân, từ đó cắt liên
lạc của Nick với máy chủ an toàn. Khi Nick yêu cầu truy cập trang web ngân hàng trên
trình duyệt của anh ấy, Bob sẽ lấy và chuyển nó đến máy chủ của trang web ngân hàng.
Một điều cần lưu ý ở đây là tất cả các giao tiếp diễn ra giữa Bob và trang web đều được
bảo vệ bằng SSL.
Máy chủ web phản hồi yêu cầu của Bob (ban đầu là Nick) dưới dạng một URL
HTTPS. Giờ đây, Bob đã hạ cấp URL HTTPS an toàn này xuống URL HTTP khơng an
tồn và chuyển tiếp URL đó đến Nick. Cuộc tấn cơng khơng để lại dấu vết, đến nỗi Nick
14
khơng thể có bất kỳ manh mối nào về những gì đang xảy ra trong nền. Vì kết nối bị tước
bỏ giao thức HTTP, mọi thứ Nick gửi sẽ chỉ ở dạng văn bản thuần túy. Mật khẩu, chi tiết
ngân hàng, chi tiết thẻ tín dụng của anh ấy… mọi thứ anh ấy gửi tới URL này đều có thể
bị Bob nhìn thấy. Khi kết nối bị hạ cấp từ HTTPS xuống HTTP, các cuộc tấn cơng loại bỏ
cịn được gọi là các cuộc tấn công hạ cấp HTTP (HTTP Downgrade).
b. Tại sao các điểm truy cập Wifi công cộng lại nguy hiểm
Các cuộc tấn cơng SSL Strip có thể được thực hiện theo một số cách. Phương pháp
phổ biến nhất là tạo một điểm phát sóng và cho phép các nạn nhân kết nối với nó. Nhiều
kẻ tấn cơng thiết lập các điểm truy cập giả mạo có tên tương tự với tên điểm phát sóng hợp
pháp, ví dụ: “Cà phê Starbucks” thay vì “Starbucks”. Khi người dùng cố gắng kết nối với
máy chủ, kẻ tấn công sẽ sử dụng quyền kiểm sốt của mình đối với điểm phát sóng và tấn
cơng người dùng.
c. SSL Strip và các bản nâng cấp của tools này
-
SSL Strip: Bản phát hành của SSL Strip cho Kali được gửi lên github vào năm
2014
SSL Strip+: Đây là phiên bản mới của SSLstrip của Moxie với tính năng mới để
tránh cơ chế bảo vệ HTTP nghiêm ngặt bảo mật (HSTS). Phiên bản này thay đổi
HTTPS thành HTTP như phiên bản gốc cộng với tên máy chủ tại mã html để
tránh HSTS.
II. Hướng dẫn cài đặt và sử dụng SSLStrip
1. Hướng dẫn cài đặt SSL Strip
SSL Strip thường được cài đặt sẵn trên Kali Linux, hoặc đính kèm trong các phiên
bản mới của các tools có sẵn như Bettercap, MITMf, LANs.py,…
a. Cài đặt bằng lệnh apt:
b. $ apt-get install sslstrip
c. Cài đặt bằng cách clone folder trên github:
d. $ git clone />e. $ cd sslstrip
15
f. $ python setup.py build && python setup.py install
2. Cách sử dụng và các lệnh trong SSL Strip
7. Các câu lệnh trong SSLStrip Kali
a.
b.
c.
d.
e.
f.
g.
h.
sslstrip –h: mở hướng dẫn các câu lệnh trong tools
–w <filename> hoặc --write=<filename>: Tạo hoặc ghi log vào 1 file.
–p hoặc –post: ghi log lại các kết nối SSL POSTs,
-s hoặc --ssl : ghi log tất cả các kết nối SSL ra và vào từ server.
-a , --all
: ghi log tất cả các kết nối SSL và HTTP ra và vào từ server.
-l
, --listen=
: Cổng theo dõi (mặc định: 10000).
-f , --favicon : Thay thế biểu tượng khóa trên các u cầu an tồn.
-k , --killsessions: Xoá phiên hoạt động
3. Các kĩ thuật đi kèm để thực hiện tấn công MITM và SSL Strip
a. ArpSpoof:
Trong mạng máy tính, ARP spoofing, ARP cache poisoning, hay ARP poison
routing, là một kỹ thuật qua đó kẻ tấn cơng giả thông điệp ARP trong mạng cục bộ. Mục
tiêu là kết hợp địa chỉ MAC của kẻ tấn công với địa chỉ IP của máy chủ khác, chẳng hạn
như cổng mặc định (default gateway), làm cho bất kỳ lưu lượng truy cập nào dành cho địa
16
chỉ IP đó được gửi đến kẻ tấn cơng. Đây là kĩ thuật không thể thiếu để kẻ tấn công có thể
thực hiện tấn cơng MITM mà khơng gây để lại bất cứ dấu vết nào sau khi tấn công kết
thúc.
8. ArpSpoofing
b. Ettercap:
Ettercap là một công cụ bảo mật mạng mã nguồn mở và miễn phí dành cho các cuộc
tấn cơng man-in-the-middle trên mạng LAN . Nó có thể được sử dụng để phân tích giao
thức mạng máy tính và kiểm tra bảo mật . Nó chạy trên nhiều hệ điều hành giống Unix
khác nhau bao gồm Linux , Mac OS X , BSD và Solaris , và trên Microsoft Windows, có
khả năng chặn lưu lượng truy cập trên một phân đoạn mạng, nắm bắt mật khẩu và thực
hiện hoạt động nghe trộm đối với một số giao thức phổ biến. Ettercap càng ngày càng được
phát triển, tích hợp nhiều công cụ hỗ trợ, plugin như ArpSpoof, DNSspoof,…
17
9. Ettercap trên Kali Linux
10. Ettercap Plugin
III. Các bài lab và kịch bản demo
Máy tấn công: Kali Linux (IP: 192.168.0.100)
Máy nạn nhân: Windows 7 (IP: 192.168.0.104)
Mục tiêu: Tấn công MITM, hạ cấp HTTPS xuống HTTP bằng SSLStrip, rút ra so
sánh giữa hiệu quả và cách thức tấn công của SSLStrip có sẵn với SSLStrip trong các tools
khác (ở đây sử dụng Bettercap).
18
11. IP và Địa chỉ MAC trên máy nạn nhân trước khi bị tấn cơng
12. Trang web được mã hố HTTPS
1. Bài lab 1: Sử dụng ArpSpoof trong Ettercap và SSLStrip
- Các công cụ sử dụng: Ettercap, SSLStrip
- Kịch bản: Kẻ tấn công sử dụng Kali Linux, làm máy nạn nhân (windows 7) ngộ
độc Arp bằng Ettercap để chen vào giữa, thực hiện cuộc tấn công MITM. Sau khi ngộ độc
Arp thành công, kẻ tấn công sử dụng SSLStrip để hạ cấp trang web sử dụng https xuống
http và bắt lưu lượng trong các gói tin của mục tiêu.
- Các bước tấn công:
Bước 1: Sử dụng lệnh echo 1 > /proc/sys/net/ipv4/ip_forward để chuyển tiếp các
gói dữ liệu từ máy nạn nhân này sang router để duy trì kết nối mạng.
Bước 2: Bật Ettercap bằng dịng lệnh ettercap –G hoặc tìm Ettercap trong kho ứng
dụng của kali.
Bước 3: Quét các Host đang hoạt động trên mạng và chọn Target để tấn công
19
-
Target1: IP router 192.168.0.1
Target2: IP Máy nạn nhân 192.168.0.100
13. Các Host đang hoạt động được phát hiện bởi Ettercap
-
Chọn kiểu tấn công: MITM ARP Poisoning
Bước 4: MAC của Router trên máy nạn nhân đã bị thay đổi, địa chỉ MAC của kẻ
tấn công đã giống với địa chỉ MAC của Router, khiến cho máy nạn nhân chuyển hướng tất
cả gói tin qua máy kẻ tấn công.
14. Địa chỉ MAC của Router đã bị thay đổi trên máy nạn nhân
Bước 5: Sử dụng lệnh để chuyển ipforward port từ 80 sang 6666.
20
“iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --toport 6666”
Bước 6: Tiến hành SSLStrip
15. Các lựa chọn trên SSLStrip
Ta sử dụng “sslstrip –h” để hiện các câu lệnh hướng dẫn.
“sslstrip –a –l 6666” để bắt đầu tấn công, cài đặt sslstrip lắng nghe và thu thập log
từ cổng 6666, -a để ghi ra tất cả các gói tin đến và đi tới server.
21
16. Kết nối bị trình duyệt thơng báo khơng an tồn do sử dụng HTTP
Tấn cơng thành cơng, trang web đã bị hạ cấp từ HTTPs xuống HTTP, trình duyệt
thơng báo kết nối khơng an tồn.
2. Bài lab 2: Sử dụng Arpspoof và SSLStrip trong tools Bettercap
- Các công cụ sử dụng: Bettercap
- Kịch bản: Kẻ tấn công sử dụng Kali Linux, làm máy nạn nhân (windows 7) ngộ
độc Arp, tấn công SSLStrip bằng tools Bettercap.
- Các bước tấn công:
Bước 1: Khởi chạy Bettercap từ terminal, nếu chưa cài đặt, Kali sẽ gợi ý cài đặt
Bettercap.
Gõ “help” để xem những tính năng và hỗ trợ của Bettercap.
22
17. Các module trong Bettercap
Bước 2: Tiến hành tấn công ARP Spoof, gõ “help arp.spoof” để tiến hành cài đặt
ArpSpoof trên Bettercap.
18. Tuỳ chọn của ARP Spoof trong Bettercap
Ở đây chúng ta set giá trị của “fullduplex” và “target” cho tools sau đó khởi động
tấn cơng ARPSpoof bằng:
-
set arp.spoof.fullduplex true
23
-
set arp.spoof.targets 192.168.0.100
arp.spoof on
19. Cấu hình Arp Spoof để tán công mục tiêu
20. Máy nạn nhân đã bị tấn công ARP Spoof
Máy nạn nhân đã bị tấn công ArpSpoof thành công.
Bước 3: Gõ “help” để tiếp tục thiết lập tấn công SSLStrip.
Chúng ta dùng lệnh “help http.proxy” để thiết lập tấn công SSLStrip trong module
này.
24
21. Cấu hình trong module HTTP.proxy để sử dụng SSLStrip
Ở đây ta sử dụng lệnh “ set http.proxy.sslstrip true” và “http.proxy on” để bật tấn
công SSLStrip trên máy nạn nhân.
Bước 4: Gõ “help net.sniff” để cài đặt các thiết lập theo dõi máy nạn nhân
22. Cấu hình module Net.sniff để bắt lưu lượng từ máy nạn nhân
Các tuỳ chọn như “net.sniff.output” hỗ trợ ta ghi lại thơng tin các gói tin đến và đi
từ máy nạn nhân và xuất ra 1 file để có thể tiện phân tích sau này.
Tiến hành bật theo dõi máy nạn nhân bằng “net.sniff on”
25