MITMAP một công cụ trong Kali Linux giúp tạo điểm truy cập giả mạo và đánh hơi dữ liệu được trao đổi giữa hai người với nhau bằng một số hình thức tấn công như: Giả mạo ARP, Giả mạo DNS, Giả Mạo IP, đánh cắp Email,... Dựa vào các lý thuyết trên em sẽ tiến hành thực nghiệm hình thức tấn công giả mạo DNS Spoofing và ARP Spoofing với môi trường tấn công là máy Kali linux và máy đóng vai trò nạn nhân là Windows 7
Tổng quan về MitmAP
Quy trình tấn công Man-in-the-Middle
Hình 2 Cách tấn công Man in the Middle
Tấn công man in the middle diễn ra qua hai giai đoạn chính: Đánh chặn (Interception) và khai thác dữ liệu Giai đoạn đầu tiên liên quan đến việc chặn lưu lượng truy cập của người dùng qua mạng, thường thông qua các điểm truy cập WiFi miễn phí không bảo vệ Những điểm truy cập này thường được đặt tên theo vị trí của chúng, và khi nạn nhân kết nối, kẻ tấn công có thể theo dõi mọi cuộc trao đổi dữ liệu trực tuyến Sau khi chiếm quyền kiểm soát, kẻ tấn công có thể thực hiện nhiều hành động khác nhau để khai thác thông tin của nạn nhân.
Giả mạo IP là một kỹ thuật mà kẻ tấn công sử dụng để giả danh một ứng dụng bằng cách thay đổi tiêu đề gói trong địa chỉ IP Hệ quả là, khi người dùng cố gắng truy cập vào một URL liên kết với ứng dụng đó, họ sẽ bị chuyển hướng đến trang web của kẻ tấn công.
Giả mạo ARP là một kỹ thuật tấn công mạng, trong đó kẻ tấn công liên kết địa chỉ MAC của mình với địa chỉ IP của người dùng hợp pháp trong mạng cục bộ thông qua các thông báo ARP giả mạo Hệ quả là dữ liệu mà người dùng gửi đến địa chỉ IP của máy chủ sẽ bị chuyển hướng đến kẻ tấn công, tạo ra nguy cơ rò rỉ thông tin nhạy cảm.
Giả mạo DNS, hay còn gọi là nhiễm độc bộ nhớ cache DNS, là một hình thức tấn công mà trong đó kẻ xâm nhập can thiệp vào máy chủ DNS để thay đổi bản ghi địa chỉ của trang web Hệ quả là khi người dùng cố gắng truy cập trang web, họ sẽ bị chuyển hướng đến một trang web giả mạo do kẻ tấn công kiểm soát.
Email hijacking là một hình thức tấn công trung gian phổ biến, trong đó kẻ tấn công gửi email giả mạo từ ngân hàng yêu cầu bạn đăng nhập để xác nhận thông tin Khi bạn nhấp vào liên kết trong email và nhập thông tin đăng nhập, bạn vô tình cung cấp thông tin cho kẻ tấn công Hãy cẩn trọng với các email yêu cầu thông tin nhạy cảm để bảo vệ tài khoản của bạn.
Giải mã lưu lượng SSL hai chiều sau khi bị chặn là cần thiết mà không cần thông báo cho người dùng hoặc ứng dụng Có nhiều phương pháp có thể áp dụng để thực hiện việc này.
Giả mạo HTTPS là một hình thức tấn công trong đó kẻ tấn công gửi chứng chỉ giả đến trình duyệt của nạn nhân sau khi họ yêu cầu kết nối đến một trang web an toàn Chứng chỉ này chứa thông tin xác thực số liên quan đến ứng dụng bị xâm nhập và được trình duyệt xác minh dựa trên danh sách các trang đáng tin cậy Kết quả là, kẻ tấn công có thể truy cập vào bất kỳ dữ liệu nào mà nạn nhân nhập trước khi dữ liệu đó được gửi đến ứng dụng.
SSL BEAST là một cuộc tấn công nhắm vào lỗ hổng của phiên bản TLS 1.0 trong SSL, cho phép kẻ tấn công sử dụng JavaScript độc hại để chặn các cookie được mã hóa từ ứng dụng web Từ đó, kẻ tấn công có thể khai thác thông tin nhạy cảm của nạn nhân.
(CBC) của ứng dụng bị xâm phạm để giải mã cookie và mã thông báo xác thực của ứng dụng
Việc tước SSL hạ cấp kết nối HTTPS xuống HTTP bằng cách chặn xác thực TLS từ ứng dụng tới người dùng, cho phép kẻ tấn công gửi phiên bản không được mã hóa của trang web ứng dụng Kẻ tấn công vẫn duy trì phiên bảo mật với ứng dụng, trong khi hiển thị toàn bộ phiên của người dùng, gây ra nguy cơ rò rỉ thông tin và bảo mật.
Cách phòng chống Man-in-the-Middle
● Cài đặt phần mềm chống virus – bằng cách này, bạn có thể tránh các cuộc tấn công trung gian dựa trên phần mềm độc hại đã cài đặt
Tránh sử dụng các điểm truy cập WiFi công cộng, đặc biệt là những mạng không có mật khẩu bảo vệ Nếu cần thiết phải kết nối, hãy chỉ sử dụng Internet một cách thụ động và tránh truy cập vào các trang web yêu cầu thông tin cá nhân.
● Đăng xuất khi bạn sử dụng xong một trang yêu cầu bạn đăng nhập Một số trang thực hiện việc này tự động khi bạn đóng
Sử dụng xác thực nhiều bước là cách hiệu quả để bảo vệ tài khoản của bạn, đặc biệt trong lĩnh vực tài chính, nơi mà hầu hết các tổ chức đều cung cấp tùy chọn xác thực hai bước Điều này đã trở thành tiêu chuẩn an ninh quan trọng nhằm tăng cường bảo mật cho người dùng.
Để bảo vệ dữ liệu cá nhân, hãy luôn sử dụng các trang web có HTTPS, đảm bảo rằng bạn nhìn thấy biểu tượng ‘ổ khóa’ khi cung cấp thông tin Giao thức HTTPS cung cấp giao tiếp được mã hóa, giúp bảo mật thông tin của bạn Nếu có thể, hãy cài đặt plugin HTTPS Everywhere để tự động chuyển hướng trình duyệt của bạn sang phiên bản an toàn của trang web.
● Sử dụng mạng riêng ảo (VPN) để thực hiện các giao dịch và liên lạc nhạy cảm VPN thực sự cần thiết khi sử dụng WiFi công cộng
Để bảo mật mạng của bạn, hãy thiết lập bộ định tuyến và thay đổi thông tin đăng nhập mặc định của nhà sản xuất Đừng quên kiểm tra và cập nhật bộ định tuyến lên phiên bản mới nhất để đảm bảo an toàn tối đa.
● Đề phòng các email lừa đảo.
Lịch sử phát triển
➢ Một cuộc tấn công MITM phi mã hóa đáng chú ý đã được thực hiện bởi một bộ định tuyến mạng không dây Belkin vào năm
Vào năm 2003, một tính năng trong bộ định tuyến đã được thiết lập để chiếm lấy các kết nối HTTP, phản hồi với quảng cáo cho sản phẩm Belkin thay vì trang web mà người dùng yêu cầu Tuy nhiên, sau khi nhận được sự phản đối mạnh mẽ từ cộng đồng người dùng có kiến thức kỹ thuật, tính năng này đã bị loại bỏ trong các phiên bản firmware sau này.
Vào năm 2011, cơ quan cấp chứng chỉ DigiNotar của Hà Lan đã gặp phải một vi phạm bảo mật nghiêm trọng, dẫn đến việc cấp phát chứng chỉ gian lận Những chứng chỉ này sau đó đã được lợi dụng để thực hiện các cuộc tấn công Man-in-the-Middle (MITM).
Vào năm 2013, Nokia đã công bố rằng trình duyệt Xpress của họ giải mã lưu lượng HTTPS trên các máy chủ proxy, cho phép công ty truy cập vào nội dung mã hóa của người dùng Nokia khẳng định rằng thông tin này không được lưu trữ vĩnh viễn và họ đã áp dụng các biện pháp tổ chức cũng như kỹ thuật để bảo vệ thông tin cá nhân của khách hàng.
➢ Vào năm 2017, Equifax đã rút các ứng dụng điện thoại di động của mình do lo ngại về các lỗ hổng MITM
Các cuộc tấn công Man-in-the-Middle (MitM) ngày càng phổ biến, mặc dù không phổ biến như ransomware hay lừa đảo Những kiểu tấn công này dễ thực hiện và có sẵn nhiều công cụ hack công khai MitM không chỉ xảy ra từ bên ngoài mà còn có thể diễn ra bên trong tổ chức, nơi mà các cuộc tấn công nhắm vào mạng nội bộ.
Việc phát hiện các sự cố này là rất khó khăn, vì vậy việc thực hiện các biện pháp ngăn chặn là vô cùng quan trọng Điều này không chỉ giúp bảo vệ an ninh mạng mà còn nâng cao quyền riêng tư cho người dùng.
Hướng dẫn cài đặt và sử dụng công cụ
Hướng dẫn cài đặt MitmAP & các thư viện hỗ trợ
- Cài đặt khá đơn giản chỉ cần sao chép kho lưu trữ Github vào máy Kali của bạn git clone https://github.com/xdavidhu/mitmAP.git
- Sau đó, chỉ cần chạy nó với python3 và nó sẽ tự động cài đặt tất cả các phụ thuộc bị thiếu cd mitmAP/python3 mitmAP.py
- Nhấn ‘Y’ và bạn đã sẵn sàng
- Chạy MitmAP bằng lệnh: python3 mitmAP.py
Để thiết lập kết nối mạng, chúng ta cần hai giao diện: một giao diện hoạt động như thiết bị AP và giao diện còn lại để kết nối WAN Giao diện đầu tiên cho phép nạn nhân kết nối, trong khi giao diện thứ hai giúp nạn nhân truy cập internet Tôi sử dụng một thẻ USB bên ngoài để thực hiện chức năng này.
Sử dụng AP (wlan1) và thẻ không dây tích hợp (wlan0) của bạn để thiết lập kết nối WAN Để kiểm tra và điều chỉnh các giao diện internet, hãy sử dụng lệnh ‘ifconfig’.
Tiếp theo, bạn sẽ được hỏi có muốn sử dụng SSLstrip2 hay không, đây là một công cụ giúp bạn hạ cấp các kết nối máy khách từ
Để chuyển từ HTTPS xuống HTTP, nhấn 'y' Nếu bạn muốn sử dụng tính năng Driftnet để chụp các hình ảnh không mã hóa của ứng dụng khách, hãy nhấn cả 'y' Tiếp theo, nhập tên cho AP của bạn, chọn kênh hoạt động (thông thường kênh '1' là tốt) và quyết định xem có muốn thêm mã hóa WPA2 hay không, điều này là tối ưu.
Hướng dẫn sử dụng MitmAP
2.2.a Lỗi AP Wi-Fi với mitmAP: thiết lập và phân tích dữ liệu:
Trong khi chạy lần đầu tiên, cần phải cài đặt / cập nhật các phần phụ thuộc
Bước tiếp theo là nhập tên giao diện không dây cho thiết bị AP của bạn Nếu bạn không biết tên các giao diện mạng, hãy mở thêm một thiết bị đầu cuối để kiểm tra.
Lệnh sẽ hiển thị cho bạn tên của mọi giao diện mạng trong hệ thống của bạn Lệnh sau: sudo iw dev
Hiển thị tên của các giao diện không dây:
Như chúng ta có thể thấy, tôi có giao diện mạng không dây có tên là wlan0 và một giao diện mạng nữa có tên là eth0
Vì vậy, đối với AP, tôi sử dụng wlan0 và với giao diện kết nối internet, tôi sử dụng eth0
Như đã nói, việc sử dụng SSLSTRIP 2.0 sẽ cho phép bỏ qua HSTS Vì vậy, điều này được khuyến khích
Chọn SSID ưa thích (tên AP của bạn) và kênh (1-14)
Hình 5 HDSD_2 Phân tích dữ liệu được thu thập trong AP Wi-Fi Rogue với mitmAP:
Hình 6 HDSD_3 MitmAP tạo thư mục nhật ký với hai tệp: mitmap-sslstrip.log và dạng văn bản Thứ hai được thiết kế để phân tích dữ liệu trong
Khi khởi động mitmAP, hãy lưu ý rằng các tệp mitmap-sslstrip.log và mitmap-wirehark.pcap sẽ bị xóa Để đảm bảo bạn có thể phân tích chúng sau này, hãy chuyển các tệp này đến một vị trí an toàn.
Demo MitmAP
Demo Tấn công MITM sử dụng DNS Spoofing
Các công cụ thực hiện tấn công
1 Vmware workstation một chương trình cho phép chạy nhiều máy ảo trên máy tính vật lý
2 Một máy Kali linux đóng vai trò là máy tấn công
3 Một máy chạy hệ điều hành Windows 7 đóng vai trò là máy nạn nhân
4 Ettercap một công cụ chuyên nghiệp có thể giúp bạn giả mạo các kết nối, giả mạo DNS
Tiến hành tấn công DNS Spoofing:
Bước 1: Cấu hình mạng cho các máy cùng nằm trên một đường mạng và máy của nạn nhân phải truy cập được internet
Hình 7 Cấu hình mạng của windows 7
Hình 8 Cấu hình mạng của Kali linux
Hình 9 Windows 7 truy cập được internet
Cấu hình và cài đặt website đích dẫn nạn nhân truy cập tới
Hình 10 Mở file cấu hình website
Hình 13 Truy cập website server trên windows 7
Khi máy nạn nhân truy cập vào địa chỉ google.com ta sẽ chuyển hướng trang đến địa chỉ website server
Bước 3: Điều chỉnh cấu hình plug-in dns_spoof tại /etc/ettercap/etter.dns
Hình 14 Cấu hình plug-in dns_spoof
Mở ettercap lên và kiểm tra những máy host có trong mạng
Hosts -> Scan for hosts để liệt kê các host có trong mạng
Sau đó tích chọn vào ô Sniff remote connections để bắt đầu tấn công Bước 5:
Add địa chỉ ip gateway của máy nạn nhân vào Target 1
Add địa chỉ ip của máy nạn nhân vào Target 2
Vào Plugins -> Manage the plugins
Hình 20 Mở Manage the plugins
Hình 21 Chạy dns_spoof plugin
3.4 Kết quả sau khi bị tấn công
Trên máy nạn nhân truy cập vào google.com:
Khi nạn nhân truy cập vào website google.com, họ ngay lập tức bị chuyển hướng đến một trang web đã được chuẩn bị sẵn bởi kẻ tấn công.
Trang web này cho phép kẻ tấn công chèn mã độc nhằm thu thập thông tin của nạn nhân hoặc chuyển hướng họ đến các trang web quảng cáo, từ đó lợi dụng nạn nhân để kiếm tiền.
Kiểm tra ARP bên máy nạn nhân ta thấy nó đã bị thay đổi
Địa chỉ MAC của kẻ tấn công được hiển thị trong bảng ARP của máy nạn nhân, cho thấy địa chỉ MAC của Gateway.
Demo Tấn công MITM sử dụng ARP Spoofing Lắng nghe trên cổng: eth0
Scan ip máy nạn nhân:
Để đảm bảo kết nối liên tục trong quá trình tấn công ARP poisoning, cần forward toàn bộ các gói tin IPV4 trên hệ thống mục tiêu Việc này có thể thực hiện trên Kali Linux để duy trì sự ổn định của mạng.
Mở terminal lên và gõ systctl -w net.ipv4.ip_forward=1
Hoặc echo 1 > /proc/sys/net/ipv4/ip_forward
Tiếp theo, thực hiện tấn công bằng lệnh: arpspoof -i eth0 -t 192.168.0.82 -r 192.168.0.1 trong đó 192.168.0.82 là ip máy nạn nhân, 192.168.0.1 là Default
Tại máy Victim login vào 1 trang bất kì với tài khoản 1610114 và mật khẩu là 123456789:
Mở wireshark để capture cái gói tin gửi-nhận từ victim
Kết luận và đánh giá
Hiện nay, an toàn thông tin đang trở thành vấn đề nóng bỏng với tình hình ngày càng phức tạp Các phương thức tấn công mạng ngày càng tinh vi và đa dạng, gây khó khăn trong việc phòng ngừa Trong số đó, tấn công người đứng giữa (Man in the Middle) là một trong những hình thức phổ biến nhất, thường nhắm đến cá nhân và tổ chức lớn.
Bài viết này tóm tắt những thông tin em đã tìm hiểu về MITMAP Tuy nhiên, do hạn chế về kiến thức và thời gian, báo cáo về MITMAP vẫn còn nhiều thiếu sót, đặc biệt là trong việc xây dựng kịch bản thực nghiệm triển khai phương pháp phòng chống tấn công mạng máy tính "Man in the Middle".
Bài báo cáo này chỉ cung cấp những kiến thức cơ bản và mang tính lý thuyết, chưa phát triển được nhiều kịch bản tấn công đa dạng Trong tương lai, tôi sẽ tiếp tục nghiên cứu và mở rộng kiến thức về các dạng tấn công khác nhau.
- Tanmay Patange (ngày 10 tháng 11 năm 2013) “How to defend yourself against MITM or Man-in-the-middle attack” Bản gốc lưu trữ ngày 24 tháng 11 năm 2013 Truy cập ngày 21 tháng 10 năm 2017
- Callegati, Franco; Cerroni, Walter; Ramilli, Marco (2009)
“IEEE Xplore - Man-in-the-Middle Attack to the HTTPS
Protocol” ieeexplore.ieee.org: 78–81 Truy cập ngày 13 tháng 4 năm 2016
- MiTM on RSA public key encryption