3.2.1. Tấn công Web HTTP
Đồ án chuyên ngành Session Hijacking
76
Dùng lệnh route –n để xem địa chỉ IP của Gateway.
Đồ án chuyên ngành Session Hijacking
77
Sau khi quá trình dò kết thúc, chương trình thông báo cho ta biết có tất cả 3 máy đang hoạt động. Chương trình cung cấp đầy thông tin của các máy từ địa chỉ IP, địa chỉ MAC, tên máy, và các cổng đang mở.
Đến đây ta đã có thể tấn công bất kỳ trang web nào chạy ở giao thức HTTP bằng công cụ Hamster. Di chuyển vào thư mục chứa Hamster, sau đó kích hoạt
chương trình bằng lệnh ./hamster
Khởi động trình duyệt Firefox, vào menu Edit chọn Preferences. Chọn Advanced, chọn thẻ Network, chọn Settings.
Đồ án chuyên ngành Session Hijacking
78
Sau đó, ta truy cập vào http://hamster
Chọn adapters và nhập tên card mạng của máy. Chọn Submit Query.
Từ lúc này, Hamster sẽ lắng nghe tất cả các lưu lượng HTTP từ máy Client. Mọi trang web mà Client này đang truy cập đều sẽ bị Attacker kiểm soát.
Đồ án chuyên ngành Session Hijacking
79
Trang web mà máy Client (nạn nhân) vừa mới đăng nhập.
Các link mà Client truy cập sẽ được liệt kê ở khung bên trái màn hình chính của Hamster.
Khi chọn [cookies] ta sẽ có được các số SID của phiên kết nối mà Client đang truy cập.
Đồ án chuyên ngành Session Hijacking
80
Để can thiệp vào phiên kết nối của Client, kẻ tấn công có chọn các liên kết ở khung bên trái. Thường thì các liên kết nào có từ khóa là “admin”, “home”, “index”, “login”, “started” sẽ dẫn vào các trang Client đã đăng nhập.
Khi Client đăng xuất khỏi trang web, thì trên Hamster cũng sẽ tự đăng xuất theo.
Đồ án chuyên ngành Session Hijacking
81
Công cụ Hamster đóng vai trò như 1 proxy có chức năng chuyển tiếp thông tin và lọc thông tin. Hamster có thể đánh cắp các phiên kết nối HTTP bằng cách “đánh hơi” các gói dữ liệu trong cùng một mạng.
Để ngăn chặn việc đánh cắp các phiên kết nối HTTP, người ta sử dụng các chứng chỉ SSL để mã hóa kết nối HTTP và được gọi là HTTPS.
Như vậy, trên máy ISA ta sẽ xóa bỏ quy tắc Publish Web và Publish Port 80. Chuột phải Publish Web, chọn Delete.
Ở khung bên phải, ở thẻ Toolbox chọn Network Objects, chọn Web Listeners, chọn Publish Port 80. Sau đó chọn Delete.
Đồ án chuyên ngành Session Hijacking
82
Tự động chuyển hướng kết nối HTTP thành HTTPS
Trong mục Web Listeners chọn Publish Port 443, chọn Edit. Chọn thẻ Connections, chọn Enable HTTP connections on port 80. Chọn tiếp Redirect all traffic from HTTP to HTTPS.
Đồ án chuyên ngành Session Hijacking
83
Trên máy Client, sẽ không còn truy cập bằng HTTP được nữa.
Tiếp theo, ta sẽ thử tấn công web HTTPS bằng công cụ SSLstrip.
3.2.2. Tấn công Web HTTPS
Trước tiên, ta cần bật chế độ chuyển tiếp IP trên máy Attacker, dùng lệnh
echo 1 > /proc/sys/net/ipv4/ip_forward
Khi mở chế độ chuyển tiếp, máy Attacker sẽ đóng giả vai trò như một router hay gateway. Khi đó, máy Client sẽ tưởng rằng máy Attacker chính là router hay gateway trong mạng và mọi lưu lượng mạng từ máy Client sẽ được chuyển đến cho máy Attacker.
Cần phải có một cơ chế để máy Attacker có thể phân loại được những lưu lượng mạng có giá trị. Trong trường hợp này chính là các lưu lượng HTTP. Ta thiết lập một quy tắc tường lửa để chuyển các yêu cầu từ cổng 80 đến cổng 10000 để đảm bảo kết nối gửi đi từ SSLstrip được chuyển đến đúng cổng.
Dùng lệnh iptables –t nat –A PREROUTING –p tcp --destination-port
80 –j REDIRECT --to-port 10000
Tiếp đến, ta cần phải làm giả địa chỉ MAC của router thật (chính là máy ISA), thay đổi nó thành chính địa chỉ MAC của máy Attacker. Như vậy, máy Client sẽ bắt đầu gửi tất cả các lưu lượng mạng đến cho Attacker.
Đồ án chuyên ngành Session Hijacking
84
Sau đó, ta di chuyển vào thư mục chứa SSLstrip. Và kích hoạt chương trình
bằng lệnh python sslstrip –f –w filecap
Từ lúc này, khi máy Client truy cập trang web HTTPS sẽ tự động chuyển thành HTTP. Quá trình mã hóa SSL sẽ mất tác dụng.
Nếu vô ý không nhận ra, thì khi Client đăng nhập vào trang một web thì mọi thông tin đăng nhập sẽ bị kẻ tấn công lấy cắp và được lưu thành tập tin log.
Sau khi đã lấy đủ thông tin để dừng việc tấn công chỉ cần ấn Ctrl_C.
Đồ án chuyên ngành Session Hijacking
85
Tùy chọn Mô tả
-t Xác định các gói tin phù hợp với mục đích sử dụng
nat Biên dịch một gói tin khi nó tạo ra một kết nối mới
-A Thêm một hay nhiều quy tắc vào cuối bảng
PREROUTING Thay đổi các gói tin ngay khi nó đi vào
-p tcp Quy định giao thức TCP cho quy tắc để kiểm tra
--destination-port Xác định cổng đến của gói tin
-j Xác định mục tiêu cho quy tắc
REDIRECT Chuyển hướng các gói tin đến máy tính của mình
--to-port Xác định cổng đến để sử dụng
Bảng 3.1: Ý nghĩa các tham số của iptables.
3.3. Cách phòng chống
Ban đầu người ta dùng web HTTP, khi nó không còn an toàn nữa người ta bắt đầu chuyển sang dùng web HTTPS, nhờ vào các chứng chỉ SSL mã hóa cài trên Web server. Đến năm 2009, web HTTPS cũng không còn an toàn và bị bẻ gẫy bởi công cụ SSLstrip. Việc dùng một tường lửa để ngăn chặn cũng không khả thi như mô tả trong quá trình thực nghiệm trên.
ĐIỀU GÌ TẠO NÊN THÀNH CÔNG CHO CUỘC TẤN CÔNG NÀY ?
Khi khảo sát lại thông tin bảng định tuyến ARP trên máy Client. Ta nhận thấy trước lúc bị tấn công, thông tin trong bảng định tuyến ARP hoàn toàn chính xác. Khi bị tấn công, thông tin này đã bị thay đổi.
Đồ án chuyên ngành Session Hijacking
86
Ban đầu địa chỉ MAC của máy 192.168.1.1 là 00-0c-29-3a-cc-58. Đây đúng là địa chỉ MAC của máy ISA. Sau đó, nó bị thay đổi thành 00-0c-29-43-24-ba. Đây chính là địa chỉ MAC của máy Attacker.
Trạng thái bị “đầu độc”:
Như vậy, toàn bộ thông tin từ máy Client đã được gửi đến cho Attacker và bị thay đổi trước khi gửi đến cho ISA. Đây là tác nhân quan trọng nhất đế giúp SSLstrip thực hiện thành công việc chuyển đổi từ HTTPS sang HTTP.
Qua đó, ta thấy được việc đầu tiên cần nên làm để phòng tránh cuộc tấn công SSLstrip đó là phát hiện và ngăn chặn cuộc tấn công ARPspoof trước.
Đồ án chuyên ngành Session Hijacking
87
Phát hiện tấn công ARPspoof
Có một công cụ có thể giúp ta phát hiện cuộc tấn công này đó là XArp (Advanced ARP Spoofing Detection).
XArp giúp người dùng phát hiện các cuộc tấn công ARPspoof và giúp bảo vệ dữ liệu của họ được an toàn hơn. Dưới đây là toàn bộ quá trình cài đặt chương trình XArp vào máy Client.
Chọn Next.
Đồ án chuyên ngành Session Hijacking
88 Chọn Next.
Đồ án chuyên ngành Session Hijacking
89
Chương trình cũng yêu cầu cài đặt kèm theo công cụ WinPcap. Chọn Next.
Đồ án chuyên ngành Session Hijacking
90 Chọn I Agree.
Đồ án chuyên ngành Session Hijacking
91 Chọn Finish.
Đồ án chuyên ngành Session Hijacking
92
Chương trình đã được cài đặt thành công. Ta có thể tùy chọn con trượt Security level set to ở nhiều mức khác nhau. Mức “aggressive” sẽ cho độ an toàn cao nhất.
Khung ở dưới hiển thị toàn toàn bộ thông tin các máy tồn tại trong mạng. Dấu check màu xanh biểu thị thông tin chính xác và đáng tin cậy.
Dấu check màu đỏ biểu thị thông tin đã bị thay đổi và không còn an toàn.
Đồ án chuyên ngành Session Hijacking
93
Ngăn chặn tấn công ARPspoof
Ta nên phối hợp nhiều cách phòng chống tấn công nếu có thể.
Từ phía Server: Cài đặt và sử dụng nhiều lớp chứng chỉ SSL để mã hóa dữ liệu quan trọng. Khóa tất cả các yêu cầu truy xuất web bằng cổng 80 cho những trang yêu cầu độ bảo mật cao. Sử dụng tường lửa có khả năng phát hiện tấn công ARPspoof. Thiết lập các kết nối IPSec đầu cuối.
Từ phía Client: Cài đặt các công cụ phát hiện tấn công ARPspoof, khóa địa chỉ MAC. Luôn sử dụng kết nối HTTPS, luôn nâng cấp trình duyệt web. Hạn chế truy cập web nơi công cộng. Không bật tính năng lưu cookie trên trình duyệt.
Ngoài ra, để đảm bảo quá trình giả mạo MAC khó diễn ra, thì ta nên cấu hình bảng định tuyến ARP dưới dạng cố định (static). Mặc định, các thông tin này luôn ở dạng cập nhật (dynamic). Khi ở dạng cập nhật, kẻ tấn công sẽ dễ dàng thay đổi thông số này. Ta mở cmd trong chế độ Administrator. Sử dụng cú
pháp sau để cố định các thông số này: arp –s <IP_router> <MAC_router>
Trong trường hợp này là apr –s 192.168.1.1 00-0c-29-3a-cc-58
Kết quả:
Đồ án chuyên ngành Session Hijacking
94
Chương 4: KẾT LUẬN
Theo thống kê từ KPMG E-fraud, khoảng 80% các cuộc tấn công mạng máy tính xuất phát từ bên trong mạng nội bộ. Session Hijacking là một ví dụ điển hình. Với khả năng tấn công các trang web được mã hóa, giả mạo địa chỉ MAC của router và gateway. Ngoài việc đánh cắp thông tin, mất dữ liệu, sửa đổi nội dung gốc, nó còn gây ra nhiều thiệt hại khác như từ việc giả mạo MAC có thể gây ra nghẽn mạng (một kiểu tấn công từ chối dịch vụ), giả mạo DNS, và phát tán mã độc.
Qua việc thực nghiệm trên ta cũng phần nào hiểu được mức độ, quy mô và tác dụng của kiểu tấn công này. Khi mọi thứ được Internet hóa, việc mã hóa thông tin là điều vô cùng cần thiết, các chứng chỉ SSL sẽ đảm bảo quá trình trao đổi thông tin trên mạng được an toàn hơn. Việc phát hiện phòng ngừa các cuộc tấn công kiểu này luôn cần có những giải pháp tiên tiến. Nhưng quan trọng nhất vẫn là nhận thức của người sử dụng. Ngoài những biện pháp trang bị an ninh hệ thống, chúng ta cần phải trang bị cho họ những kiến thức nhất định khi truyền thông với Internet. Có như vậy thì mới ngăn chặn triệt để những kiểu tấn công tương tự.
Đối với một cuộc tấn công HTTP thì điều này là khó tránh khỏi, chỉ cần nằm trong cùng đường mạng và với một công cụ proxy bất kỳ kẻ tấn công có thể dễ dàng can thiệp vào các cookie trong trình duyệt mà chúng ta đang truy cập. Cách tốt nhất mà người dùng có thể phòng tránh trường hợp này là không nên truy cập web HTTP ở nơi công cộng. Việc nâng cấp lên thành web HTTPS mới là biện pháp hữu hiệu cho trường hợp này.
Đối với một cuộc tấn công HTTPS, do có cơ chế tự mã hóa và xác thực khi truyền thông nên phần nào nó cũng an toàn hơn cho người dùng. Để có thể sử dụng kết nối HTTPS, thì tại các trung tâm server cần phải được cài đặt, và cung cấp cho người dùng các chứng chỉ xác thực liên kết với trình duyệt hiện tại.
Đồ án chuyên ngành Session Hijacking
95
Việc áp dụng kỹ thuật truyền thông chữ ký số trong các giao dịch trên web cũng rất cần thiết cho nhu cầu hiện nay.
Việc phòng chống và ngăn chặn tấn công HTTPS cần phải dựa trên nhiều yếu tố. Đối với các hệ thống mạng lớn, ta có thể triển khai dịch vụ mã hóa IPsec. IPsec bảo đảm tính tin cậy, tính toàn vẹn và tính xác thực truyền dữ liệu qua mạng IP công cộng. Đối với hệ thống mạng nhỏ, ta có thể mã hóa các thông tin ARP trên máy người dùng. Việc làm này sẽ gây khó khăn hơn cho kẻ tấn muốn làm giả mạo địa chỉ MAC.
Cần phải có một tập các chính sách bảo mật được xây dựng trên server như hệ thống phát hiện xâm nhập, giám sát và chống giả mạo, hạn chế lượng truy cập… Luôn phải cảnh giác trước khi chấp nhận một liên kết nếu không có dấu hiệu đảm bảo đó là phiên HTTPS chính thống.
Thông qua việc thực hiện đồ án, tôi cũng đã có thêm được ít nhiều hiểu biết trong việc bảo mật một phiên kết nối web, những thủ pháp rình mò, giả mạo và tấn công những thông tin quan trọng cá nhân./.
96
TÀI LIỆU THAM KHẢO * Nguồn sách:
[1] Kimberly, Graves (2010), Certified Ethical Hacker Study Guide, Wiley
Publishing, Indiana.
[2] Nguyễn Văn Khoa (2007), Hacking và kỹ thuật xâm nhập máy tính, Giao
Thông Vận Tải, Hồ Chí Minh.
[3] Vũ Đình Cường (2008), Tìm hiểu các kiểu tấn công cơ bản và phương
pháp phòng chống, Lao Động và Xã Hội, Hà Nội.
[4] Vũ Đình Cường (2008), Phương pháp thâm nhập Web Server và cách
phòng chống, Lao Động và Xã Hội, Hà Nội.
* Nguồn Internet:
[1] Abhinav Singh (2007), The Art of ARP Spoofing/Flooding/Poisoning,
[http://securityxploded.com/art-of-arp-spoofing.php]
[2] Dr. Christoph P. Mayer (2008), XArp - Advanced ARP Spoofing Detection,
[http://www.chrismc.de/development/xarp/]
[3] Chris Sanders (2010), Understanding Man-In-The-Middle Attacks - Part 4:
SSL Hijacking, [http://www.windowsecurity.com/articles-
tutorials/authentication_and_encryption/Understanding-Man-in-the-Middle- Attacks-ARP-Part4.html]
[4] Herve Eychenne (2003), Man page of IPTABLES,
[http://ipset.netfilter.org/iptables.man.html]
[5] Moxie Marlinspike (2012), SSLSTRIP,
[http://www.thoughtcrime.org/software/sslstrip/]
[6] Vishnu Valentino (2013), Session Hijacking Using Hamster and Ferret,
[http://www.hacking-tutorial.com/hacking-tutorial/session-hijacking-using- hamster-and-ferret/]