Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
1,67 MB
Nội dung
SSL HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CÔNG NGHỆ THÔNG TIN I -🙞🙜🕮🙞🙜 - Học phần : AN TOÀN MẠNG Bài báo cáo: SSLsplit Giảng viên : Đặng Minh Tuấn Sinh viên : Nguyễn Thu Trang-B18DCAT246 Hà Nội, tháng 11/2021 Lời mở đầu An tồn thơng tin giai đoạn phát triển vũ báo lĩnh vực hoạt động khắp nơi giới Điều xảy vòng vài năm qua Việt Nam đầu tư ô ạt vào công nghệ Tin học vấn đề thiếu công ty Đặc biệt tin học ngày giữ vai trò quan trọng vấn đề quản lý tổ chức lĩnh vực thu thập thông tin Tuy ngành công nghệ thông tin nước ta phát triển vài năm trở lại bước phát triển bước phát triển cho thấy tiềm lớn lao lĩnh vực công nghệ thơng tin nước ta, phát triển hệ thống thông tin mạnh đất nước Hệ thống thông tin giúp công việc quản lý dễ dàng hơn, nâng cao hiệu sản xuất, tiết kiệm lượng lớn thời gian công sức Qua thời gian tìm hiểu thực tế để xác định đề tài báo cáo, em nhận thấy cách sử dụng SSL/Split Kali-linux đề tài hợp lý Em xin gửi lời cảm ơn sâu sắc tới thầy tạo điều kiện cho em tiếp xúc thực tế với môn học cung cấp tài liệu để em hoàn thành báo cáo Trong q trình báo cáo, có đơi lúc em cịn mắc sai lầm thiếu sót hoàn thiện báo cáo, từ sai lầm mà em rút nhiều học kinh nghiệm quý báu cho thân em Em tin điều học hỏi hơm hành trang theo em suốt chặng đường lại Cuối cùng, em xin gửi đến thầy lời cảm ơn giúp đỡ em trình làm báo cáo Em xin chân thành cảm ơn! Mục Lục LỜI MỞ ĐẦU Chương 1: Giới thiệu, lịch sử hình thành 1.1 Khái niệm công Man in the Middle 1.2 Khái niêm SSLsplit Chương 2: Hướng dẫn cài đặt 2.1 Hướng dẫn cài đặt Kali Linux 2.2 Hướng dẫn cài đạt SSLsplit 10 Chương 3: Kịch demo 19 Chương 4: So sánh với MITMproxy 27 Chương : Giới thiệu, lịch sử hình thành 1.1 Khái niệm công Man in the Middle - Tấn công Man in the Middle (MITM) kiểu cơng kẻ cơng đặt đường truyền thông tin hai bên, thường máy khách máy chủ Điều thực cách phá vỡ kênh gốc, sau chặn tin nhắn từ bên chuyển tiếp chúng (đôi có thay đổi) cho bên Hình 1.1 : Mơ hình cơng Man-in-the-Middle Alice kết nối với máy chủ web Bob muốn biết Alice gửi thơng tin nên Bob thiết lập cơng MITM cách nói với máy chủ Alice nói với Alice máy chủ Bây giờ, tất yêu cầu Alice chuyển đến Bob Bob gửi lại chúng (được thay đổi không) đến máy chủ web, thực tương tự với phản hồi máy chủ Bằng cách này, Bob chặn, đọc sửa đổi tất lưu lượng Alice máy chủ Mặc dù công MITM công web cụ thể, điều quan trọng người kiểm tra thâm nhập phải biết chúng, cách thực chúng cách ngăn chặn chúng chúng sử dụng để đánh cắp mật khẩu, chiếm quyền điều khiển phiên thực hoạt động trái phép ứng dụng web 1.2 Giới thiệu SSLsplit - SSLsplit công cụ dành cho công trung gian chống lại kết nối mạng mã hóa SSL/TLS Nó thiết kế để hữu ích cho việc chuẩn đốn mạng, phân tích bảo mật ứng dụng thử nghiệm thâm nhập SSLsplit thiết kế để chấm dứt cách minh bạch kết nối chuyển hướng đến cách sử dụng công cụ dịch địa mạng Sau SSLsplit chấm dứt SSL/TLS bắt đầu kết nối SSL/TLS đến địa đích ban đầu, đồng thời ghi nhật ký tất liệu truyền Bên cạnh hoạt động dựa NAT, SSLsplit hỗ trợ đích tĩnh sử dụng tên máy chủ SNI làm đích ngược dịng SSLsplit hồn tồn proxy minh bạch khơng thể hoạt động proxy HTTP SOCKS định cấu hình trình duyệt SSLsplit hỗ trợ kết nối TCP, SSL thuần, HTTP HTTPS qua IPv4 IPv6 Nó có khả nâng cấp động TCP đơn giản lên SSL để hỗ trợ chung SMTP STARTTLS chế nâng cấp tương tự SSLsplit hỗ trợ đầy đủ Server Name Indication (SNI) hoạt động với khóa RSA, DSA ECDSA mật mã DHE ECDHE Tùy thuộc vào phiên OpenSSL xây dựng dựa trên, SSLsplit hỗ trợ SSL 3.0, TLS 1.0, TLS 1.1 TLS 1.2 SSL 2.0 Đối với kết nối SSL HTTPS, SSLsplit tạo ký nhanh chứng X509v3 giả mạo, bắt chước chủ đề DN, phần mở rộng subjectAltName máy chủ gốc đặc điểm khác SSLsplit có khả sử dụng chứng có chứa khóa cá nhân, thay tạo chứng giả mạo SSLsplit hỗ trợ chứng NULL-prefix CN mặt khác không triển khai khai thác lỗ hổng xác minh chứng cụ thể ngăn xếp SSL/TLS SSLsplit thực số biện pháp bảo vệ chống lại chế thường ngăn chặn cơng MITM làm cho chúng khó khăn SSLsplit từ chối yêu cầu OCSP theo cách chung chung Đối với kết nối HTTP HTTPS, SSLsplit xử lý tiêu đề để ngăn server-instructed public key pinning (HPKP), tránh hạn chế bảo mật truyền tải nghiêm ngặt (HSTS), tránh Certificate Transparency enforcement (ExpectCT) ngăn chuyển sang QUIC/SPDY, HTTP/2 WebSockets (Nâng cấp, Giao thức Thay thế) Tính nén, mã hóa lưu giữ HTTP bị vơ hiệu hóa để làm cho log dễ đọc Các tùy chọn ghi nhật ký bao gồm kết nối SSLsplit truyền thống tệp nhật ký nội dung tệp PCAP phản chiếu lưu lượng giải mã vào giao diện mạng Ngồi ra, chứng thơng tin tiến trình cục ghi lại Để tối đa hóa hội kết nối thành cơng tách, SSLsplit không xác minh chứng máy chủ ngược dịng vỡ nợ Thay vào đó, tất chứng bao gồm tự ký chấp nhận tên máy chủ dự kiến báo hiệu SNI bị thiếu chứng máy chủ, thêm vào chứng giả mạo động- cates SSLsplit không tự động chuyển hướng lưu lượng mạng Để hành động- đồng minh thực công, bạn cần phải chuyển hướng lưu lượng truy cập đến hệ thống chạy sslsplit Các tùy chọn bạn bao gồm chạy sslsplit định tuyến hợp pháp, giả mạo ARP, giả mạo ND, DNS, triển khai điểm truy cập giả mạo (ví dụ: sử dụng chế độ đồ máy chủ), khơi phục vật lý, cấu hình lại VLAN độc hại chèn đường dẫn, sửa đổi /etc/hosts SSLsplit hoạt động giống với công cụ proxy SSL minh bạch khác: Nó hoạt động người trung gian máy khách máy chủ thực tế Với điều kiện lưu lượng truy cập chuyển hướng đến máy chủ mà SSLsplit chạy (bằng cách thay đổi cổng mặc định, giả mạo ARP phương tiện khác ), SSLsplit chọn kết nối SSL giả vờ máy chủ mà máy khách kết nối Để làm vậy, tự động tạo chứng ký khóa riêng chứng CA mà máy khách phải tin cậy Một số cách khác để thực chuyển hướng lưu lượng truy cập: Sử dụng giả mạo ARP để chuyển hướng lưu lượng truy cập nạn nhân cách xuất ánh xạ sai từ địa MAC cổng chuẩn đến địa IP kẻ công Bạn không cần truy cập vật lý vào thiết bị nạn nhân để làm điều Kiểm tra cơng cụ arpspoof Thay đổi địa cổng mặc định cài đặt mạng nạn nhân Đây phương pháp dễ dàng bạn có quyền truy cập vào thiết bị nạn nhân Giả mạo mục nhập DNS với máy chủ DNS trả địa IP kẻ công cho số miền (hoặc tất cả) Xem hướng dẫn giả mạo DNS với Dnsmasq để tìm hiểu cách thực điều Chuyển hướng lưu lượng truy cập cho miền riêng lẻ cách sửa đổi mục nhập temp/etc/host máy nạn nhân Ví dụ: khách hàng muốn gửi e-mail máy chủ SMTP Gmail bảo mật (smtp.gmail.com cổng 465), SSLsplit tạo chứng cho “smtp.gmail.com” giả mạo Gmail máy chủ thư phía máy khách Theo hướng ngược dịng (hướng tới máy chủ thư Gmail thực tế), SSLsplit kết nối với máy chủ giống ứng dụng khách bình thường - chuyển tiếp tất lưu lượng mà ứng dụng khách thực ghi SSL socket Chương : Hướng dẫn cài đặt sử dụng 2.1 Setting up Kali Linux Ở ta sử dụng phiên 2021 Khi bạn thiết lập chạy phiên Kali Linux hoạt động, thực bước sau: Đăng nhập với tài khoản “kali” Kali Linux, mật mặc định “kali” Mở Terminal Sử dụng câu lệnh: “sudo su” Nhập mật mặc định, sau t chạy với quyền “root” - Chạy lệnh apt-get update Thao tác tải xuống danh sách cập nhật gói (ứng dụng cơng cụ) có sẵn để cài đặt Sau cập nhật xong, chạy lệnh sau để cập nhật gói khơng thuộc hệ thống lên phiên ổn định cuối chúng: apt-get upgrade: Khi yêu cầu tiếp tục, nhấn Y nhấn Enter Tiếp theo, nâng cấp hệ thống Nhập lệnh sau nhấn Enter: aptget dist-upgrade 2.2 Cài đặt SSLsplit Để xem câu lệnh SSlsplit, ta sử dụng câu lệnh: sslsplit –h: 10 - Lệnh wget: để tải xuống, bunzip, tar : lệnh giải nén mã nguồn Apt-get : cài đạt thư viện cần thiết 14 - Thư mục tạm thời tạo /tmp/sslsplit sau sử dụng để kết xuất tệp nhật ký kết nối liệu thô ổ cắm SSL đến đi: mkdir /tmp/sslsplit 2.3 Tạo cài đặt chứng CA gốc: Để SSLsplit hoạt động ngườu trung gian cho kết nối SSl,nó cần có khả tạo ký chứng mà nạn nhân tin tưởng Để làm vậy, nạn nhân cần phải có chứng CA gốc kẻ cơng kho tin Cách tạo cứng khóa cá nhân CA tự ký, bạn tạo chứng khóa riêng cách sử dụng lệnh sau: openssl genrsa -out ca.key 4096 openssl req -new -x509 -days 1826 -key ca.key -out ca.crt Lệnh tạo khóa riêng RSA 4096 bit định dạng PEM ( ca.key ) lệnh thứ hai sử dụng khóa riêng để tạo chứng CA gốc tự ký ( ca.crt ) Cả hai SSLsplit cần thiết sau này, tệp chứng cần cài đặt trình duyệt hệ điều hành nạn nhân 15 2.4 Bật chuyển tiếp IP công cụ NAT(iptables) Bây định cấu hình số quy tắc để ngăn chuyển tiếp thứ Đầu tiên, kiểm tra xem có thứ bảng nat iptables hay khơng: 16 Trong ví dụ này, SSLsplit chạy hai cổng: 8080 cho kết nối TCP không SSL HTTP, SMTP FTP 8443 cho kết nối SSL SMTP qua SSL, HTTPS, v.v Để chuyển tiếp gói đến máy kẻ cơng vào cổng nội này, công cụ NAT iptables sử dụng - Khởi chạy SSLsplit : Khi chuyển tiếp IP hoạt động gói chuyển tiếp đến cổng liên quan, bạn khởi động SSLsplit Điều nghe dễ dàng thực tế, SSLsplit cơng cụ mạnh linh hoạt Ta có cấu hình tham số để Lệnh khởi động SSLsplit chế độ gỡ lỗi ( -D , chạy chế độ trước, khơng có daemon, đầu dài dòng) xuất lần thử kết nối tệp nhật ký “links.log” ( -l ) Nội dung thực tế kết nối ghi vào “/ tmp / sslsplit / logdir - luồng TCP đến / kết nối tệp riêng biệt sslsplit -D -l connections.log -j /tmp/sslsplit -S /tmp/sslsplit/lodir -k ca.key –c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080 17 Chương 3: Kịch công 3.1 Kết hợp với arpoofing để lấy mật nạn nhân mạng LAN - Lắng nghe giao tiếp máy Victim ( Windown ) với máy chủ arpspoof –i eth0 –t 192.168.1.1 192.168.1.2 arpspoof –i eth0 –t 192.168.1.2 192.168.1.1 18 -Kiểm tra máy Victim câu lệnh : arp –a 19 -Trên máy Vicim : Mở trang qldt.ptit.edu.vn Nhấn vào biểu tượng ổ khóa Chúng ta thấy chứng CA -Qua Kali Linux: 20 -Qua /tmp/sslsplit/logdir để xem file nôi dung ghi vào logdir 21 22 Trong hình trên, cửa sổ bảng điều khiển phía hiển thị đầu SSLsplit Nó hiển thị Chứng máy chủ giả mạo( forged server certificate) chứng (Fingerprint) tổ chức phát hành chứng khác 23 Hình hiển thị nội dung giao tiếp trình duyệt máy chủ ptit.edu.vn Ảnh chụp hiển thị Cookie, tài khoản mật người dùng 24 3.2 Sniffing IMAP over SSL (imap.gmail.com): Trong ví dụ thứ hai, sử dụng Thunderbird để kết nối với tài khoản Gmail Khơng giống ứng dụng thư khách dựa web Thunderbird kết nối với máy chủ Google / Gmail qua IMAP cổng 143 qua IMAP qua SSL cổng 993 Trong giao tiếp cổng 143 khơng mã hóa đọc công cụ khác (Wireshark, tcpdump, v.v .), IMAP qua SSL yêu cầu proxy man-in-the-middle để phân chia giao tiếp SSL 25 26 Chương 4: So sánh SSLsplit với MITMproxy SSLsplit: công cụ dùng để chặn kết nối TLS cách sử dụng công trung gian SSLsplit hỗ trợ TCP, TLS HTTP Các kết nối bị chặn đổ vào logfiles SSLsplit viết C hiệu MITMproxy cơng cụ có nhiều tính phức tạp nhiều Trái ngược với SSLsplit, MITM có giao diện người dùng tương tác cho phép bạn tạm dừng, kiểm tra, chỉnh sửa, phát lại thả luồng Mặc dù dsuwr dụng proxy MITMproxy chạy HTTP, SOCKS, proxy ngược ngược dịng Ngồi ra, có giao diện kịch đơn giản Python Tóm lại: -Cả MITMproxy SSLsplit thực kiểu công trung gian vào TLS - MITMproxy mạnh có nhiều tính -SSLsplit có mục đích chun dụng hơn, đơn giản nhanh - Cả hai (IMHO) công cụ tuyệt vời 27 Tài liệu tham khảo https://www.systutorials.com/docs/linux/man/1-sslsplit/ Kali Linux Web Penetration Testing Cookbook Lab demo: https://drive.google.com/file/d/1Z3dCdcHXqL0RdAygoik_WIrjWX ug-Iiz/view?usp=sharing https://drive.google.com/file/d/1gAXz9yCJOaX9tSUxg4ANlz_9j7teN v4E/view?usp=sharing 28 ... đặt SSLsplit: 12 Để tải xuống biên dịch SSLsplit, ta chạy lệnh: wget http://mirror.roe.ch/rel /sslsplit/ sslsplit-0.4.7.tar.bz2 bunzip2 sslsplit- 0.4.7.tar.bz2 tar xvf sslsplit- 0.4.7.tar cd sslsplit- 0.4.7... thiệu SSLsplit - SSLsplit công cụ dành cho công trung gian chống lại kết nối mạng mã hóa SSL/TLS Nó thiết kế để hữu ích cho việc chuẩn đốn mạng, phân tích bảo mật ứng dụng thử nghiệm thâm nhập SSLsplit. .. yêu cầu proxy man-in-the-middle để phân chia giao tiếp SSL 25 26 Chương 4: So sánh SSLsplit với MITMproxy SSLsplit: công cụ dùng để chặn kết nối TLS cách sử dụng công trung gian SSLsplit hỗ trợ