Tải bản đầy đủ (.docx) (43 trang)

Bài báo cáo hacking Username/Password

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.72 MB, 43 trang )

ĐẠI HỌC QUỐC GIA TP.HCM
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÁO CÁO LAB 2 – HACKING – USERNAME/PASSWORD
MÔN HỌC: XÂY DỰNG CHÍNH SÁCH ATTT
GIẢNG VIÊN: THẦY NGUYỄN DUY.
LỚP: MMT03
Sinh viên:
1. Thái Duy Tiến - 08520403 3. Nguyễn Hữu Phúc - 08520289
2. Trầm Phúc Thịnh - 08520382
Phần 1: Local system.
1.1 Cơ chế lưu trữ Account trên windows và kĩ thuật lấy thông tin account.
1.1.1 Cơ chế lưu trữ account.
Windows sử dụng hai phương pháp hash mật khẩu người dùng, cả hai đều có
những điểm mạnh và điểm yếu riêng. Đó là LAN Manager (LM) và NT LAN
Manager version 2 (NTLMv2). Hàm hash (hash function) là hàm một chiều mà nếu
đưa một lượng dữ liệu bất kì qua hàm này sẽ cho ra một chuỗi có độ dài cố định ở
đầu ra.
Hash mật khẩu LAN Manager (LM):
Hash LAN Manager là một trong những thuật toán hash mật khẩu đầu tiên được sử
dụng bởi các hệ điều hành Windows, chỉ có một phiên bản duy nhất được hỗ trợ
cho tới khi xuất hiện NTLMv2 sử dụng trong Windows 2000, XP, Vista và
Windows 7. Các hệ điều hành mới này vẫn hỗ trợ sử dụng các hash LM để có khả
năng tương thích. Mặc dù vậy, nó đã bị vô hiệu hóa mặc định trong Windows Vista
và Windows 7.
Hash mật khẩu loại này được tính bằng một quá trình 6 bước sau:
• Mật khẩu người dùng được chuyển đổi thành tất cả các ký tự in hoa.
• Mật khẩu được bổ sung thêm các ký tự 0 vào cho tới khi có đủ 14 ký tự.
• Mật khẩu mới được chia thành hai hash có 7 ký tự.
• Các giá trị này được sử dụng để tạo hai khóa mã hóa DES, mỗi nửa đều
được thêm vào một bit chẵn lẻ để tạo các khóa 64 bit.


• Mỗi khóa DES sẽ được sử dụng để mã hóa một chuỗi ASCII định sẵn
(KGS!@#$%), cho kết quả ra trong hai chuỗi văn bản mật 8-byte.
• Hai chuỗi văn bản mật 8-byte này sẽ được kết hợp để tạo thành một giá trị
16-byte, giá trị này chính là một hash LM hoàn chỉnh.
Trong thực tế, mật khẩu “PassWord123” sẽ được chuyển đổi như sau:
• PASSWORD123
• PASSWORD123000
• PASSWOR and D123000
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
2
• PASSWOR1 and D1230001
• E52CAC67419A9A22 and 664345140A852F61
• E52CAC67419A9A22664345140A852F61
Các mật khẩu tuân theo phương pháp LM hash có một số nhược điểm. Nhược điểm
đầu tiên cần kể đến là sự mã hóa ở đây dựa vào Data Encyrption Standard (DES) vì
đầu năm 1998, Electronic Frontier Foundation thông báo là đã có thể crack DES
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
3
trong khoảng thời gian 23 giờ. điểm mạnh lớn nhất trong LM hash chính là trong
quá trình tạo các khóa (key) DES. Trong quá trình này, một mật khẩu được cấp bởi
người dùng sẽ tự động chuyển đổi tất cả thành in hoa, sau đó được chèn thêm thành
chuỗi có độ dài 14 ký tự (đây là chiều dài tối đa cho mật khẩu theo phương pháp
LM hash), tiếp đó được chia thành hai hash 7 ký tự. Đây là một điểm yếu khi bạn
chuỗi mật mã bị chia nhỏ và chỉ được phép sử dụng các ký tự ASCII in hoa. Xét về
bản chất, thuật toán này làm cho việc sử dụng các ký tự khác cũng như tăng chiều
dài mật khẩu trở nên vô nghĩa, đó chính là điều làm cho các mật khẩu LM trở nên

hổng đối với các cố gắng crack lặp lại nhiều lần (brute-force).
Hash mật khẩu NTLMv2
NT LAN Manager (NTLM) là một giao thức thẩm định của Microsoft, giao thức
này được tạo ra để kế vị LM. Có nhiều tải tiến, NTLMv2 được chấp nhận như một
phương pháp thẩm định mới đáng để lựa chọn và được thực thi trong Windows NT
4.
Quá trình tạo một NTLMv2 hash (từ lúc này trở về sau chúng ta viết tắt là NT
hash) là một quá trình đơn giản hơn nhiều với những gì mà hệ điều hành thực hiện,
nó dựa vào thuật toán hash MD4 để tạo hash nhờ một loạt các tính toán toán học.
Thuật toán MD4 được sử dụng ba lần để tạo NT hash. Trong thực tế, mật khẩu
“PassWord123” sẽ có kết quả là “94354877D5B87105D7FEC0F3BF500B33” sau
khi sử dụng thuật toán MD4.
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
4
MD4 được coi là mạnh hơn đáng kể so với DES vì nó cho phép mật khẩu có chiều
dài dài hơn, có sự phân biệt giữa các ký tự in thường và in hoa, không chia mật
khẩu thành các phần nhỏ hơn (điều tạo sự dễ dàng trong việc crack).
1.1.2 Kĩ thuật lấy thông tin account.
 Sử dụng phần mềm fgdump.
Khi chạy fbdump, ta sẽ thấy nó hiện như sau:
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
5
Khi hoàn tất, một file sẽ được tạo trong cùng thư mục mà tiện ích khởi chạy, file
này gồm có danh sách tất cả các tài khoản người dùng, hash LM của họ và cả các
hash NTLMv2.
 Sử dụng Cain & Abel

Sau khi cài đặt, kích vào tab Cracker gần phía trên của màn hình. kích vào tiêu đề
LM & NTLM Hashes trong panel bên trái, kích phải vào vùng trống ở phần trung
tâm của màn hình và chọn Add to List, đặt hash vào một file văn bản được định
dạng theo một cách đặc biệt. Lấy file có được từ fgdump add vào.
Định dạng của các thành phần này sẽ là:
Username:RID:LMHash:NTLMHash:::
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
6
Khi thực hiện xong, kích phải vào tài khoản muốn crack mật khẩu của nó, chọn tùy
chọn Brute Force Attack, chọn LM hashes. Ví dụ PassWord123 sẽ cho kết quả như
sau:
 Sử dụng John the Ripper:
Thực thi john-386.exe trong thư mục con /run với file có được từ fgdump.
Khi hoàn tất, John the Ripper sẽ hiển thị các mật khẩu đã được crack và lưu các kết
quả vào file john.pot. John the Ripper cũng có các chế độ crack khác như:
• Single Crack Mode – Sử dụng các biến tên tài khoản
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
7
• Wordlist Mode – Dựa vào một từ điển để đoán mật khẩu
• Incremental Mode – Dựa vào tấn công kiểu brute-force
• External Mode – Dựa vào một ứng dụng khác (được người dùng cung cấp) để
đoán mật khẩu.
 Dùng Rainbow Table:
Bảng Rainbow Table là một bảng tra cứu có chứa các password hash cho mỗi sự kết
hợp mật khẩu có thể được đưa ra để thuật toán mã hóa sử dụng. Sử dụng nó như
một từ điển để tra cứu mật khẩu

1.2 Cơ chế lưu trữ Account trên Linux và kĩ thuật lấy thông tin account.
1.2.1 Cơ chế lưu trữ account.
Từ lịch sử xa xưa của Unix và cả Linux, mật khẩu của toàn bộ các account đã từng
được lưu ngay trong file /etc/password, file có quyền đọc bởi tất cả các account
trong hệ thống! Đây là một kẽ hở lớn cho các kẻ phá hoại: Mặc dù các mật khẩu
đều được mã hoá, nhưng việc giải mã ngược là có thể thực hiện được (và có thể
thực hiện khá dễ dàng, đặc biệt vì cơ chế mã hoã mật khẩu không phải là khó phá
và ngày nay khả nǎng tính toán và xử lý của máy tính rất mạnh). Vì lí do trên, gần
đây các nhà phát triển Unix và Linux đã phải đặt riêng mật khẩu mã hoá vào một
file mà chỉ có account root mới đọc được: file /etc/shadow. (Khi sử dụng phương
pháp này, để đảm bảo tính tương thích, nơi vốn đặt mật khẩu trong file
/etc/password người ta đánh dấu "x").
Các phiên bản RedHat gần đây (ví dụ RedHat 6.x hay 7.x) chọn lựa Enable the
shadow password khi cài đặt RedHat để sử dụng tính nǎng che giấu mật khẩu này
(Cũng thật may vì chọn lựa này là mặc định trong hầu hết các phiên bản Linux
đang sử dụng rộng rãi hiện nay).
Tập tin /etc/passwd đóng vai trò sống còn đối với một hệ thống Unix/Linux. Mọi
người đều có thể đọc được tập tin này nhưng chỉ có root mới có quyền thay đổi nó.
Tập tin /etc/passwd được lưu dưới dạng văn bản như hầu hết các tập tin cấu hình
khác của Linux. Nội dung của tập tin passwd:
Mỗi tài khoản được lưu trong một dòng gồm 7 cột:
- Cột 1 : Tên người sử dụng.
- Cột 2 : Mã liên quan đến mật khẩu của tài khoản và “x” đối với Linux. Linux lưu
mã này trong một tập tin khác /etc/shadow mà chỉ có root mới có quyền đọc.
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
8
- Cột 3:4 : Mã định danh tài khoản (user ID) và mã định danh nhóm (group ID).
- Cột 5 : Tên đầy đủ của người sử dụng. Một số phần mềm phá password sử dụng

dữ liệu của
cột này để thử đoán password.
- Cột 6 : thư mục cá nhân. (Home Directory)
- Cột 7 : Chương trình sẽ chạy đầu tiên sau khi người dùng đăng nhập vào hệ
thống.
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
9
Dòng đầu tiên của tập tin /etc/passwd mô tả thông tin cho user root (chú ý là tất cả
những tài khoản có user_ID = 0 đều là root), tiếp theo là các tài khoản khác của hệ
thống (đây là các tài khoản không có thật và không thể login vào hệ thống), cuối
cùng là các tài khoản người dùng thường.
Mỗi người dùng có một mật khẩu riêng để sử dụng tài khoản của mình. Mọi người
đều có quyền đổi mật khẩu của chính mình. Người quản trị thì có thể đổi mật khẩu
của những người khác.
Nội dung tập tin /etc/shadow:
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
10
Trong đó:
Username:passwd:last:may:must:warn:exprire:disable:reserved
Cột 1: username.
Cột 2: password đã được encode.
Cột 3: Số ngày kể từ 01/01/1970 mà password được thay đổi.
Cột 4: Số ngày trước khi password có thể được thay đổi.
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking

11
Cột 5: Số ngày sau đó password phải được đổi.
Cột 6: Số ngày trước khi password expired, user sẽ được cảnh báo.
Cột 7: Số ngày sau khi password expired, account sẽ bị disable.
Cột 8: Số ngày từ 01/01/1970 mà account bị disabled.
Cột 8: Trường dự bị
Unix truyền thống lưu các thông tin liên quan tới mật khẩu người dùng trong tập tin
/etc/passwd. Tuy nhiên, mọi người dùng đều đọc được tập tin này do một số yêu
cầu cho hoạt động bình thường của hệ thống (như chuyển User ID thành tên khi
hiển thị trong lệnh ls chẳng hạn) và nhìn chung các người dùng đặt mật khẩu “yếu”
do đó hầu hết các phiên bản Unix mới đều lưu mật khẩu(được mã hóa) thực sự
trong một tập tin khác /etc/shadow và chỉ có root được quyền đọc tập tin này.
1.2.2 Kĩ thuật lấy thông tin account.
Linux sử dụng mã hóa 1 chiều để mã hóa passwork, do đó chỉ có thể dùng phương
pháp brute force để dò ra password( loại password đơn giản). Tool được sử dụng
rộng rãi là jonh the ripper.
1.3 Tìm hiểu và triển khai Key logger
1.3.1 Key logger.
Keylogger là một chương trình máy tính ban đầu được viết nhằm mục đích theo dõi
và ghi lại mọi thao tác thực hiện trên bàn phím vào một tập tin nhật ký (log) để cho
người cài đặt nó sử dụng. Vì chức năng mang tính vi phạm vào riêng tư của người
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
12
khác này nên các trình keylogger được xếp vào các phần mềm gián điệp. Keylogger
nhỏ gọn, sử dụng ít bộ nhớ nên khó phát hiện.
Về sau, khi keylogger phát triển cao hơn nó không những ghi lại thao tác bàn phím
mà còn ghi lại cả các hình ảnh hiển thị trên màn hình bằng cách chụp (screen-shot)
hoặc quay phim (screen-capture) thậm chí còn ghi nhận cách con trỏ chuột di

chuyển.
Keylogger gồm 2 loại: keylogger phần cứng và keylogger phần mềm.
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
13
Một keylogger thường gồm 3 phần chính:
• Chương trình điều khiển: điều phối hoạt động, tinh chỉnh các thiết lập, xem
các tập tin nhật ký. Thông thường chỉ có thể gọi bằng tổ hợp phím tắt.
• Tập tin hook, hoặc là một chương trình monitor dùng để ghi nhận lại các
thao tác bàn phím, capture-screen.
• Tập tin log: nơi chứa toàn bộ những gì hook ghi nhận được.
• Ngoài ra, tùy theo loại còn có thêm chương trình bảo vệ (protect), chương
trình xuất report…
1.3.2 Triển khai key logger (perfect keylogger).
Cài dặt xong, click để chạy Perfect Keylogger. Click chuột phải chọn Option để
Cài đặt Keylogger.
2 ô Run on windows startup và ô Don't show program icon at startup
2 cái ô này có công dụng là khi windows khởi động thì nó cũng tự động chạy với
chế độ ẩn tại ô Show / hide program icon là chế độ phím tắt
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
14
Ô REMOVE THE PROGRAM FROM UNINSTALLION LIST -cái này dùng để
ẩn keylog trong trình ứng dụng gỡ bỏ các chương trình cài đặt có sẵn trong
windows cũng như các trình ứng dụng tương tự khác
Ở mục Logging cũng đánh dấu hết rồi nhấn vào Password để đặt mã cho con
trojan để mình tiện quản lý
Nhóm 11 – MMT03 - UIT

Xây dựng chính sách ATTT
Lab 2 - Hacking
15
Tại ô Make screen capture screenhot every các pro chọn số phút mà chương trình
tự động chụp cảnh màn hình 1 phút hoặc vài phút hoặc có thể lâu hơn Picture
Quality là chất lượng của ảnh càng cao thì càng nặng
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
16
Ở mục Email
ô Send logs by email: thiết lâp thời gian keylogger gửi mail
Vẫn ở mục Email
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
17
cliClick vào Delivery
Send to: điền email để nhận logs
SMTP sever điền sever email vào.
Nhấn Send test để gửi thử test mail.
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
18
Sau khi cài đặt thành công thì ghép keylogger vào phần mềm để gửi cho victim
cài đặt. Và vào mail đã thiết lập để kiểm tra các file log và capture-screen mà
keylogger đã ghi nhận trên máy victim.
Kết luận – cách phòng chống:
Sử dụng key logger là phương pháp rất hiệu quả để lưu lại diễn biến làm việc trên

màn hình và bàn phím của máy nạn nhân. Qua đó bắt được hoạt động của nạn
nhân, các thông tin về user, password. Đây là phương pháp tấn công hiệu quả, tuy
nhiên, sự phát triển của các chương trình diệt virus, security hạn chế sự phát tán
và sử dụng các loại key logger thông thường. Vì vậy phương pháp phòng chống
đề xuất như sau:
• Hạn chế sử dụng dùng chung máy tính, cài đặt mật khẩu bảo vệ cho máy
tính.
• Không mở các tập tin lạ không rõ nguồn gốc, chú ý các file có phần mở
rộng: exe, com, bat, scr, swf, zip, rar…
• Không vào các trang web lạ,
• Không click các đường link lạ.
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
19
• Không cài các phần mềm lạ.
• Không download chương trình từ các nguồn không tin cậy.
• Cài các phần mềm chống virus, spyware, trojan…mở tường lửa khi duyệt
web.
• Cập nhật thường xuyên các bản vá cho hệ điều hành và các chương trình
phòng chống.
1.4 Ngữ cảnh và mục đích đạt được.
Các phương pháp trên chỉ thực hiện được khi ta có thể truy cập được các file lưu mật khẩu
của hệ điều hành. Sau khi tấn công ta có thể có được mật khẩu của user từ đó ta có thể truy
cập được hệ thống. Đây được xem là bước chuẩn bị cho việc tấn công “leo thang đặc
quyền” nếu như các phương pháp trên vẫn chưa lấy được password của Administrator. Và
mục đích cuối cùng cho việc tấn công này là có được password của Administrator từ đó
làm chủ được hệ thống.
1.5 Nhận xét và giải pháp phòng chống.
Trong phần này, chúng ta có thể thấy cơ chế lưu trữ account của 2 hệ điều hành bậc nhất

đó là Windows và Linux, mật khẩu được mã hóa 1 chiều cho nên việc giải mã là không
thể. Phương pháp tấn công chủ yếu là copy các file lưu trữ account và tiến hành brute
force. Đây là phương pháp cổ điển và luôn thành công nhưng vấn đề đặt ra là thời gian và
tốc độ xử lý của máy hacker. Với password phức tạp thì thời gian có thể tính bằng năm…
đủ để làm nản lòng các hacker hay user thay đổi hoặc ngừng sử dụng account đó => không
khả thi. Điều này cho thấy, việc đặt 1 password đủ độ phức tạp là rất cần thiết. Cách đặt
mật khẩu hiệu quả nhất là kết hợp giữa số, chữ hoa, chữ thường, ký tự đặc biệt và đủ đài,
trên 6 kí tự.
Phần 2: Local Network.
2.1 Sniffer.
2.1.1 Sniffer là gì?
Là một hình thức nghe lén trên hệ thống mạng, dựa trên những đặc điểm của cơ chế
TCP/IP. Nó cũng là một kĩ thuật bảo mật, được phát triển nhằm giúp đỡ các nhà
quản trị mạng khai thác và kiểm tra dữ liệu lưu thông trên mạng 1 cách hiệu quả.
Có 2 loại sniffer đó là: active sniffer và passive sniffer.
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
20
2.1.2 Quá trình sniffer.
Bước 1: Tiến hành đầu độc ARP, sử dụng các tool như ettercap chạy trên linux và
cain & abel chạy trên windows.
Bước 2: Sau khi đầu độc ARP, máy hacker trở thành kẻ dứng giữa, sniff các gói tin
được trao đổi giữa máy nạn nhân và gateway. Qua đó hacker có thể bắt các gói tin
chứa thông tin quan trọng ví dụ các gói tin đăng nhập vào các website, email. Với
nhiều phương pháp, hacker có thể tiến hành sniff cookie, cướp sessison, thực hiện
DNS spoofing để đưa nạn nhân vào địa chỉ giả mạo.
2.2 Các bài lab phân tích mô tả các một số kĩ thuật tấn công trong mạng local.
2.2.1 SSL strip.
SSL và HTTPS

Secure Socket Layers (SSL) hoặc Transport Layer Security (TLS) dưới sự thi hành
hiện đại hơn của nó, là các giao thức được thiết kế để cung cấp bảo mật cho truyền
thông mạng bằng phương pháp mã hóa. Giao thức này dễ được kết hợp với các giao
thức khác nhất để cung cấp một thực thi an toàn cho dịch vụ mà giao thức cung
cấp. Các ví dụ dẫn chứng ở đây gồm có SMTPS, IMAPS và HTTPS. Mục tiêu tối
thượng là tạo các kênh an toàn trên các mạng không an toàn.
Trong phần này, chúng tôi sẽ tập trung giới thiệu vào tấn công SSL trên HTTP,
được biết đến như HTTPS, vì nó là trường hợp sử dụng phổ biến nhất của SSL. Có
thể không nhận ra nhưng hầu như chắc chắn bạn đang sử dụng HTTPS hàng ngày.
Các dịch vụ email phổ biến nhất và các ứng dụng ngân hàng trực tuyến đều dựa vào
HTTPS để bảo đảm truyền thông giữa trình duyệt web của bạn và các máy chủ của
họ được mã hóa an toàn. Nếu không sử dụng công nghệ này thì bất cứ ai với một
bộ “đánh hơi” gói dữ liệu trên mạng cũng đều có thể phát hiện ra được username,
password và bất cứ thứ gì được ẩn khác.
Quá trình được sử dụng bởi HTTPS để bảo đảm an toàn dữ liệu là xiết chặt các
trung tâm có liên quan đến việc phân phối các chứng chỉ giữa máy chủ, máy khách
và hãng thứ ba được tin cậy. Lấy một ví dụ về trường hợp có một người dùng đang
cố gắng kết nối đến một tài khoản email của Gmail. Quá trình này sẽ gồm có một
vài bước dễ nhận thấy, các bước này đã được đơn giản hóa trong hình 1 bên dưới.
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
21
Hình 1: Quá trình truyền thông HTTPS
Quá trình được phác thảo trong hình 1 không phải là một quá trình chi tiết, tuy
nhiên về cơ bản nó sẽ làm việc như sau:
1. Trình duyệt máy khách kết nối đến trên
cổng 80 bằng cách sử dụng HTTP.
2. Máy chủ redirect phiên bản HTTPS máy khách của site này bằng cách sử
dụng HTTP code 302.

3. Máy khách kết nối đến trên cổng 443.
4. Máy chủ sẽ cung cấp một chứng chỉ cho máy khách gồm có chữ ký số của
nó. Chứng chỉ này được sử dụng để thẩm định sự nhận dạng của site.
5. Máy khách sử dụng chứng chỉ này và thẩm định chứng chỉ này với danh
sách các nhà thẩm định chứng chỉ tin cậy của nó.
6. Truyền thông mã hóa sẽ xảy ra sau đó.
Nếu quá trình hợp lệ hóa chứng chỉ thất bại thì điều đó có nghĩa rằng các website
đã thất bại trong việc thẩm định sự nhận dạng của nó. Tại điểm này, người dùng
sẽ thấy xuất hiện một lỗi thẩm định chứng chỉ và họ vẫn có thể tiếp tục với những
rủi ro có thể, vì rất có thể sẽ không có sự truyền thông thực sự với website mà họ
nghĩ họ cần truy cập đến.
Phá hủy HTTPS
Quá trình này được xem là an toàn cao cách đây một vài năm khi có một tấn công
đã công bố rằng nó có thể chiếm quyền điều khiển thành công quá trình truyền
thông. Quá trình này không liên quan đến bản thân việc phá hủy (defeating) SSL,
mà đúng hơn là phá hủy “cầu nối” giữa truyền thông không mã hóa và mã hóa.
Moxie Marlinspike, một chuyên gia nghiên cứu bảo mật hàng đầu đã cho rằng
trong hầu hết các trường hợp, SSL chưa bao giờ bị trực tiếp tấn công. Hầu hết thời
gian một kết nối SSL được khởi tạo thông qua HTTPS nên nguyên nhân có thể là
do ai đó đã redirect một HTTPS thông qua một mã đáp trả HTTP 302 hoặc họ
kích vào liên kết direct họ đến một site HTTPS, chẳng hạn như nút đăng nhập. Ý
tưởng ở đây là rằng nếu bạn tấn công một phiên giao dịch từ một kết nối không an
toàn đến một kết nối an toàn, trong trường hợp này là từ HTTP vào HTTPS, bạn
sẽ tấn công cầu nối và có thể “man-in-the-middle” kết nối SSL trước khi nó xuất
hiện. Để thực hiện hiệu quả điều này, Moxie đã tạo một công cụ SSLstrip, chúng
ta sẽ sử dụng công cụ này dưới đây.
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
22

Quá trình thực hiện khá đơn giản và gợi nhớ lại các tấn công mà chúng ta đã
nghiên cứu trong các phần trước của loạt bài. Nó được phác thảo như trong hình 2
bên dưới.
Hình 2: Chiếm quyền điều khiển truyền thông HTTPS
Quá trình được phác thảo trong hình 2 làm việc như sau:
1. Lưu lượng giữa máy khách và máy chủ đầu tiên sẽ bị chặn
2. Khi bắt gặp một HTTPS URL, sslstrip sẽ thay thế nó bằng một liên kết
HTTP và sẽ ánh xạ những thay đổi của nó.
3. Máy tấn công sẽ cung cấp các chứng chỉ cho máy chủ web và giả mạo
máy khách.
4. Lưu lượng được nhận trở lại từ website an toàn và được cung cấp trở lại
cho máy khách.
Quá trình làm việc khá tốt, máy chủ có liên quan vẫn nhận lưu lượng SSL mà
không hề biết về sự khác biệt này. Chỉ có một sự khác biệt rõ rệt trong trải nghiệm
người dùng là lưu lượng sẽ không được cắm cờ HTTPS trong trình duyệt, vì vậy
một người dùng có kinh nghiệm sẽ có thể thấy đó là một điều dị thường.
Các bước thực hiện:
Bước 1: Tiến hành đầu độc ARP.
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
23
Bước 2: Cấu hình để chuyển tiếp IP.
Bước 3: Cấu hình IPTables để định tuyến đúng lưu lượng HTTP.
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
24
Bước 4: Chạy SSL strip.
Khi hoàn tất, bạn sẽ có thể chiếm quyền điều khiển bất cứ kết nối SSL nào đang

được thiết lập. Từ đây, bạn có thể khởi chạy tiện ích “đánh hơi” dữ liệu và thu
thập mật khẩu, các thông tin nhận dạng cá nhân khác như số thẻ tín dụng, từ lưu
lượng.
Nhóm 11 – MMT03 - UIT
Xây dựng chính sách ATTT
Lab 2 - Hacking
25

×