Speeding up WPA/2 Cracking Using Pre-generated PMKs

Xin chào và hoan nghênh phần 1 Chương 5 từ rootsh3ll WiFi an và Pentesting Series.
Nếu bạn đang theo loạt từ đầu bạn phải làm quen với những cái bắt tay chúng tôi bắt và sử dụng nó với một Wordlist để crack WPA2-PSK. Như có một khả năng to lớn cho passphrase WPA2 vì chúng có thể tự chữ và số bao gồm cả ký tự đặc biệt quá với 8-63 ký tự. thực tế không có giới hạn nào cho chúng ta có thể tạo ra danh sách từ, họ có thể đạt Thậm chí petabytes với kích thước mà sẽ mất thời gian cho đến khi tới Big Bang cho CPU / GPU để crack mật khẩu đúng, nếu nó là một trong những mạnh. Vì vậy, chúng ta cần phải khám phá những cách khác nhau để crack WPA2-PSK trong một khoảng thời gian ngắn. Đó là có thể nếu chúng ta bằng cách nào đó có được PSK thông qua bảng định tuyến, keylogger hoặc sử dụng một GPU thay vì CPU sử dụng nó nhiều lõi để tăng tốc độ nứt, hoặc một cái gì đó thậm chí khác nhau.
Đó là những gì chúng ta sẽ học trong chương này. Chúng tôi sẽ tăng tốc độ WPA2 nứt mà không sử dụng bất kỳ GPU hoặc Cloud. Mà có thể rất hữu ích với các AP với cái tên rất phổ biến như "Airtel", "MTNL", "Belkin" vv
WPA2 nứt phụ thuộc vào SSID và mật khẩu đó có nghĩa là nếu có 2 điểm truy cập SSID khác nhau nhưng cùng một cụm từ mật khẩu, có PMK sẽ hoàn toàn khác nhau.
Thanh toán cửa hàng mới của tôi cho bộ điều hợp nhất WiFi cho Hacking, bán chạy nhất Pentesting Sách và Boosters WiFi tốt nhất: Rootsh3ll rStore
PMK là gì?
Các giá trị 256 Bit xuất phát bởi hàm PBKDF2 sử dụng SSID, Passphrase (PSK) là yếu tố khác biệt được sử dụng để xác thực giữa AP và Client. Nó sẽ trông giống thế này:
Do một số toán học,
Đây là 32 giá trị thập lục phân, mỗi giá trị thập lục phân có 8 bit, nên 32 * 8 = 256 Bit, mà là lần thứ PMK tức là khóa 256-bit
Chúng tôi cũng có thể kiểm tra chéo này mà không nứt phím với aircrack-ng.
Bằng cách sử dụng lệnh wpa_passphrase mà đến cài đặt sẵn trên hầu hết các phân phối * nix.
Mở terminal và gõ:
wpa_passphrase <SSID> <Passphrase>
Chúng tôi cần phải chèn SSID cùng với Passphrase bởi vì như đã nói trước đó WPA2-PSK là SSID phụ thuộc, nó thay đổi hoàn toàn với một thay đổi nhỏ trong SSID. Hiện nay,
Đây là đầu ra, so sánh giá trị được đánh dấu với giá trị của Master Key trên:
Vâng, đó là chính xác như nhau. Vì vậy, đây là xác nhận rằng PMK chúng tôi tính toán và PMK Aircrack-ng tính cho một SSID cụ thể và Passphrase là như nhau. Bây giờ chúng ta sẽ xem làm thế nào để tăng tốc độ.
Nội dung của chương này sẽ đi như thế này:
Giới thiệu:
CoWPAtty
Pyrit
Cài đặt:
CoWPAtty từ mã nguồn
Pyrit từ mã nguồn
Tạo PMKs:
Sử dụng GenPMK, Trong CoWPAtty (Single-ren)
Sử dụng Pyrit (đa luồng)
Cracking PSK (Pre-Shared Key):
Với PMKs [CoWPAtty vs Aircrack-ng]
[ THÊM! ] Pyrit + CoWPAtty stdin

Giới thiệu:
CoWPAtty là gì?
CoWPAtty là một công cụ dòng lệnh miễn phí tự động hóa các cuộc tấn công từ điển cho WPA-PSK. Nó chạy trên Linux. Đó là một thực hiện một cuộc tấn công từ điển ẩn đối với các mạng WPA / WPA2 sử dụng chứng thực PSK dựa trên. CoWPAtty mất 2 loại đầu vào để crack WPA-PSK tức là
Wordlist chuẩn
PMKs Pre-tạo hoặc Hash
CoWPAtty được cài sẵn trong Kali Linux.
CoWPAtty có thể được tải về từ www.willhackforsushi.com.
Pyrit là gì?
Pyrit là một công cụ viết bằng Python cho phép bạn tạo ra các cơ sở dữ liệu khổng lồ, trước khi tính toán các WPA2-PSK để tiết kiệm thời gian. Kỹ thuật này được gọi là không-thời gian cân bằng. Pyrit hỗ trợ cả CPU và GPU. cho việc sử dụng GPU bạn cần phải cài đặt trình điều khiển đồ họa hỗ trợ.
Pyrit được cài sẵn trong Kali Linux. Pyrit có thể được tải về từ https://pyrit.googlecode.com.
không gian-thời gian cân bằng là gì?
Nếu bạn còn nhớ trong một trong các chương trước chúng tôi nứt cụm từ mật khẩu WPA2 sử dụng Aircrack-ng bằng cách đi qua nó một danh sách từ, mà được cho là chứa các cụm từ mật khẩu thực tế. Đó là không có khả năng có thể xảy ra với hầu hết các lần như danh sách từ không có giới hạn, cụm từ mật khẩu có thể được trong bất kỳ từ điển, chúng tôi đã chọn hay không có thể có trong từ điển, chúng tôi như là một thử thâm nhập chỉ không biết và cũng có tốc độ nứt cho WPA2-PSK là rất thấp, do đó chúng ta cần phải đẩy nhanh quá trình một số cách. Đây là nơi không gian-thời gian cân bằng đi vào hình ảnh.
Những gì chúng ta thực sự làm là chúng tôi sẵn tính PMK (từng đôi Master Key) với SSID tương ứng và lưu trữ nó trên một ổ đĩa cứng và chúng ta có thể sử dụng nó bất cứ lúc nào với các tập tin Cap cho cùng một SSID, như WPA2-PSK là SSID và mật khẩu nhạy cảm. Như chúng ta đã sẵn tính các PMKs và được lưu trữ trên ổ cứng của chúng tôi, nó giống như một tra cứu cho các hệ thống vào bảng mà không mất nhiều thời gian và tốc độ nứt rất cao, tiết kiệm rất nhiều thời gian.
Chỉ có điều kiện là phải có một file Pre-tính với cùng một SSID và passphrase khác nhau chọn từ một danh sách từ. Mặc dù ngay cả điều này không đảm bảo nứt PSK nhưng tốc độ nứt là cao hơn so với bất kỳ CPU hoặc GPU đáng kể, chúng ta sẽ thấy trong hướng dẫn này.
Cài đặt CoWPAtty từ mã nguồn
Mở terminal và gõ:

cd ~/Desktop
wget http://www.willhackforsushi.com/code/cowpatty/4.6/cowpatty-4.6.tgz    # Download Source code
tar zxfv cowpatty-4.6.tgz    # Extracting Compressed tar.gunzip File
cd cowpatty-4.6/    # Change directory
make    # Compile Source code to Executable Binaries
sudo cp cowpatty /usr/bin    # Copy CoWPAtty Executable to /usr/bin/ folder to run as command

Cài đặt Pyrit từ mã nguồn
Mở terminal và gõ:

wget https://pyrit.googlecode.com/files/pyrit-0.4.0.tar.gz    # Download Source code
tar xvzf pyrit-0.4.0.tar.gz     # Extracting Compressed tar.gunzip File
cd pyrit-0.4.0     # Point to Extracted directory
python setup.py build     # Build setup
sudo python setup.py install     # Installing Pyrit

Tạo PMKs Sử dụng GenPMK
GenPMK là một công cụ dùng để cài đặt cùng với cowpatty như là một thay thế để tạo ra các tập tin băm (PMKs) và cho phép coWPAtty để crack WPA2-PSK ở tốc độ cao hơn.
Chúng ta hãy xem làm thế nào để tạo ra PMKs sử dụng GenPMK.
Mở terminal và gõ:
genpmk -f "wordlist" -d "output_filename" -s "SSID"

genpmk -f "length08.txt" -d "GENPMK_rootsh3ll" -s "rootsh3ll"

Bây giờ bạn cần một đầu ra tương tự

LƯU Ý: GENPMK_rootsh3ll không tồn tại, vì vậy genpmk tạo ra một tập tin mới. Trong trường hợp các tập tin đã tồn tại, băm sẽ được nối thêm vào các tập tin hiện có.

Bây giờ chờ genpmk để kết thúc việc tạo PMKs. và nó sẽ cho bạn thấy tốc độ trung bình (Cụm mật khẩu / giây) mà tại đó nó tạo ra PMKs. Mine là
20000 passphrase thử nghiệm trong 54,94 giây: 363,99 passphrase / giây

Như tôi đã nói rồi, GenPMK là một chương trình singlethreaded. Ở đây bạn có thể thấy rằng trong khi chạy GenPMK chỉ có một lõi đã được sử dụng đến 100%

Bây giờ chúng ta hãy chuyển sang Tạo PMKs sử dụng Pyrit.

Tạo PMKs Sử dụng Pyrit
Mở terminal và gõ:
pyrit -o "Output_filename" -i "Wordlist" -e "SSID" passthrough

pyrit -o "PYRIT_rootsh3ll" -i "length08.txt" -e "rootsh3ll" passthrough

Nếu bạn nhận thấy, các tùy chọn cần thiết vẫn là giống nhau, chúng tôi đã chỉ cần thay đổi tên tập tin đầu ra với một tiền tố "PYRIT" để phân biệt các PMKs tạo ra bằng Pyrit và GenPMK.
passthrough là một lựa chọn trong pyrit sử dụng để tạo ra các PMKs từ cụm từ mật khẩu lấy từ điển tại một thời điểm. Tốc độ là comparitively cao từ GenPMK. Chú ý và so sánh tốc độ trong hình dưới đây.

Thấy sự khác biệt,
363,99 so với 2089. lý do tại sao? vì GenPMK là một chương trình đơn luồng trong khi Pyrit là một công cụ có thể tận dụng hết sức mạnh của tức là CPU hoặc 4 lõi hoặc 8 lõi, pyrit sẽ có được sức mạnh tối đa. Đó là những gì làm cho nó lựa chọn tốt hơn để lựa chọn để tạo ra PMKs qua GenPMK.

Bây giờ chúng ta hãy bắt đầu PSK nứt.

Crack WPA2-Pre Shared Key [CoWPAtty vs Aircrack-ng]

Nó sẽ là tốt hơn nếu chúng ta kiểm tra đầu tiên-aircrack ng tốc độ nứt trên hệ thống này và sau đó thông báo nâng tốc độ sử dụng CoWPAtty.
Cracking WPA2-PSK với Aircrack-ng
Yêu cầu:
4 cách EAPOL Handshake (file pcap)
Wordlist (8-63 chiều dài ký tự)
Trong ví dụ này tôi đã giữ mật khẩu thực vào cuối của tập tin và kiểm tra tốc độ tối đa Aircrack-ng đạt trong khi nứt PSK.
Tới Desktop, nơi mà tập tin pcap và wordlists đang nằm. Mở terminal và Simply loại
Aircrack-ng -w <wordlist> <pcap file>

aircrack-ng -w length08.txt rootsh3ll-01.cap

Chú ý tốc độ:

1708,09 Keys / giây, đó là những gì Aircrack-ng đạt được tại tối đa trên hệ thống của tôi (i5, 2.5 GHz).
Bây giờ chúng ta sẽ sử dụng PMKs trước tính với CoWPAtty và thấy sự khác biệt về tốc độ

LƯU Ý: Không có GPU tham gia vào thế hệ của PMKs hay nứt của Key tại bất cứ bước nào.
Mở terminal và gõ:
cowpatty -d <Hash File> -r <file pcap> -s <SSID>

cowpatty -d PYRIT_rootsh3ll -r rootsh3ll-01.cap -s rootsh3ll

Bạn cũng có thể sử dụng GENPMK_rootsh3ll, cả hai đều giống nhau. Tôi đang sử dụng PYRIT_rootsh3ll vì nó chứa nhiều passphrase (PMKs) do tốc độ tính toán cao hơn Pyrit.

Thấy sự khác biệt, cùng một hệ thống, cùng bộ nhớ RAM, không có GPU bao gồm và gần 12.676% của tăng tốc độ.
Aircrack-ng: 1708 Cụm mật khẩu / giây
Cowpatty với trước tạo PMK: 216.521 Cụm mật khẩu / giây

Điều này đã được thể chỉ vì chúng tôi đã có phím tính toán trước và những gì coWPAtty phải làm là chỉ cần loopup tập tin băm, Không tính toán có liên quan.
Chúng tôi đã học được trong một trong những chương đầu của loạt rằng phần quan trọng nhất của WPA2-PSK nứt là chức năng PBKDF2 mà đi như thế này:

PBKDF2 (Passphrase, SSID, ssidLen, 4096, 256)
PBKDF2 đứng cho mật khẩu Dựa Function thức chiết khấu chính trong đó sử dụng một cụm từ mật khẩu và một SSID, chiều dài của SSID (9 'rootsh3ll') lặp 4096 lần cho mỗi cụm từ mật khẩu, băm với thuật toán SHA1 và đi ra với một khóa 256-bit được gọi là PMK.

Một mật khẩu mất 4096 Iterations CPU để đi ra với PSK 256-bit. Hãy tưởng tượng một danh sách từ chứa 1.000.000 passphrase. Làm thế nào nhiều chu kỳ CPU nó sẽ đưa cho danh sách từ đó để xử lý và tạo ra các PMKs? 4096000000 đó là 4 tỷ lặp 1 triệu từ. Ngay cả 1 triệu lời là không có gì kích thước từ điển đi theo cách Beyon gigabyte, hay terabyte.

Đây là lý do tại sao chúng tôi có được tốc độ nứt rất ít so với MD5, SHA1 Hash nứt.

[ THÊM! ] Pyrit + CoWPAtty stdin

Bây giờ, chúng tôi đã được học để tạo riêng PMKs và sử dụng nó với coWPAtty để tăng tốc độ nứt. Dưới đây là một phương pháp, mà không cải thiện tốc độ so với aircrack-ng nhưng rất thú vị để tìm hiểu và nhìn thấy sự hoạt động của các lệnh cũng như các thiết bị đầu cuối, kể từ loạt bài này là dành cho người mới bắt đầu điều này là đáng giá.

Ở đây những gì chúng ta sẽ làm là
Chúng tôi sẽ đi qua một từ điển (8-63 chiều dài Char) để pyrit và nói với nó để tạo ra các PMKs và
Chúng tôi sẽ không viết ra vào một file thay vì đi qua nó để CoWPAtty.
CoWPAtty sẽ nhận PMKs như một thiết bị nhập chuẩn (tiêu chuẩn đầu vào) và
nứt sẽ bắt đầu

Bạn có thể thấy điều này như là một phiên bản tinh vi nứt với aircrack-ng như trong aircrack-ng chúng ta chỉ cần vượt qua các tập tin nắp và từ điển. Đây sẽ là khá dài và sâu sắc về sự hiểu biết.
Hãy bắt đầu nào
Dưới đây là các lệnh:

pyrit -i length08.txt -e rootsh3ll -o - passthrough | cowpatty -d - -r rootsh3ll-01.cap -s rootsh3ll

Vâng, điều này có vẻ rất khó hiểu nếu bạn là một người mới bắt đầu trong thế giới Linux. Bạn cần phải hiểu các lệnh. Hãy phá vỡ nó để làm cho nó đơn giản và dễ hiểu.

'|': Nhà điều hành đường ống
Đây là một nhà điều hành Linux shell được dùng để một ống lệnh đầu ra khác (bên tay phải) tức là sau khi các nhà điều hành.

Những gì chúng tôi đã làm là chúng tôi thông qua các đầu ra của lệnh pyrit đến coWPAtty trong thời gian thực và coWPAtty được thực hiện tại cùng một thời điểm và cố gắng để crack mật khẩu.
Nếu bạn để ý, bạn sẽ thấy rằng trước và sau khi đường ống dẫn cả hai đều là các lệnh tương tự, chúng tôi sử dụng trên chỉ với một sự khác biệt.

Chúng tôi không sử dụng bất kỳ tên tập tin đầu ra với Pyrit (PYRIT_rootsh3ll trước đây), cũng không phải tập tin đầu vào cho Cowpatty với tùy chọn -d đó là cho tập tin băm (xem coWPAtty menu trợ giúp).
Vậy chúng ta đã làm gì ?

Chúng tôi sử dụng tính năng khác Linux Shell để lưu trữ các dữ liệu vào trong các STDIN (standard tin đầu vào) và nhận được nó tại cùng một thời gian từ STDIN. Điều này được thực hiện bằng cách sử dụng '-' nhà điều hành. Toán tử này hoạt động như STDIN khi chúng ta phải trực tiếp một số lượng đến / từ một tập tin. tức là văn bản cho Băm tập tin với pyrit và lấy đầu vào từ file Hash với CoWPAtty.

Vì vậy, nếu bạn nhận thấy chúng thay cả tên tập tin với '-' mà chỉ đơn giản có nghĩa là Pyrit sẽ viết PMKs tính toán để chuẩn đầu vào và đầu ra sẽ được thông qua sử dụng '|' vận hành lệnh coWPAtty. Bây giờ, ở thời điểm rất giống nhau mà tại đó bắt đầu coWPAtty reveiving đầu vào từ STDIN, như đã nói để lựa chọn "-d ', CoWPAtty sẽ lấy PMKs tính từ STDIN và bắt đầu nứt PSK. Nếu PMK lần xuất hiện cụm từ mật khẩu sẽ được tìm thấy, khác thử các từ điển khác và tiếp tục đi.

Đây là những gì nó sẽ giống như khi thực hiện:

Tốc độ là gần như tương tự với những gì Aircrack-ng được tính toán tại vì PMKs đang được tính theo thời gian thực và được truyền cho coWPAtty. CPU đang được tiêu thụ!

Hy vọng bạn có một cái nhìn sâu sắc hơn về những gì xảy ra trong khi nứt và tăng tốc toàn bộ quá trình.
Có một điều tôi muốn bạn để có một cái nhìn tại: Airolib-ng để tăng tốc độ quá trình Cracking

Do một số nghiên cứu và thử nghiệm và cho tôi biết những gì kết quả của bạn ở tốc độ hoặc những vấn đề bạn gặp phải trong các hướng dẫn ở trên hoặc Airolib-ng là.

Có rất nhiều thứ thú vị sắp tới trong bài hướng dẫn tiếp theo. Vì vậy, chơ!
Cảm ơn bạn đã đến cuối của hướng dẫn này!
Hẹn gặp lại ở phần tiếp theo của Chương 5!
Hãy học tập!

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