Hướng dẫn cài wireless trên kali linux

Làm thế nào để hack password wifi, chắc hẳn rất nhiều bạn quan tâm đến vấn đề này. Hôm nay tôi sẽ viết bài hướng dẫn hack password wifi bằng Kali Linux.

Hiện nay có 3 chuẩn bảo mật Wifi đang được sử dụng: WEP, WPA, WPA2. Nếu bạn đã từng vào trang cấu hình của Router (thông thường ở địa chỉ 192.168.1.1), bạn có thể lựa chọn 1 trong 3 chuẩn bảo mật này. Trong đó chuẩn WEP đã lỗi thời và hầu như không còn được sử dụng trong thực tế nữa nên tôi sẽ không giới thiệu phương pháp tấn công chuẩn WEP ở đây. Trong những điều kiện thích hợp ta có thể hack wifi chuẩn WEP trong vài phút với tỉ lệ thành công 99%, phương pháp tấn công dựa vào lỗ hỗng trong bản thân chuẩn bảo mật này.

WPA2 là chuẩn mới nhất, phương pháp tấn công chủ yếu dựa vào wordlist nên tỉ lệ thành công dựa vào độ mạnh của mật khẩu do admin đặt. Thế nhưng năm 2017, các chuyên gia bảo mật đã phát hiện lỗ hổng bảo mật nghiêm trọng trong chuẩn kết nối WPA2 và giới thiệu phương pháp tấn công KRACK (Key Reinstallation Attack) khiến cho WPA2 không còn an toàn nữa.

Đầu năm 2018, các nhà phát triển đã giới thiệu chuẩn bảo mật mới WPA3 và trong tương lai các nhà sản xuất phần cứng sẽ update chuẩn mới này. Tuy nhiên bạn yên tâm là trong vòng 5 năm tiếp theo chuẩn WPA3 cũng chưa thể phổ biến toàn cầu được, và phương pháp tấn công chuẩn WPA/WPA2 trong bài viết sẽ chưa lỗi thời trong ít nhất 5 năm nữa 🙂


Phương pháp tấn công

Phần này mang tính lý thuyết, sẽ giúp bạn hiểu được quá trình tấn công diễn ra như thế nào.

Khi một client muốn kết nối đến Router được cài đặt chuẩn bảo mật WPA/WPA2 để truy cập internet nó cần có PSK (Pre-shared Key) mà ta hay gọi là password. Client cần có cách để chứng minh với Router rằng nó biết password mà không trực tiếp gửi password qua Router (để tránh có kẻ thứ 3 bắt được gói tin này và thu được password). Quá trình xác thực trải qua 4 bước (4-way handshake – giao thức bắt tay 4 bước):

  1. Client dò mạng và thấy sóng public của Router, trong sóng này có cái mã Random là ANonce.
  2. Client lấy cái ANonce, qua quá trình tính toán tính ra được cái mã SNonce, và gửi đi SNonce cùng một số thông tin đã được mã hóa như tao là ai, tao có password wifi nè, … cho Router.
  3. Router nhận được SNonce, nó bảo: à há, thằng này biết password wifi nè, cho nó kết nối thôi. Nó hăm hở gửi lại cho client 1 cái mã khóa chung gọi là GTK (Group Temporary Key) và bảo rằng, ê thằng đệ, lấy cái Key này về mà mã hóa dữ liệu gửi cho tao, tao sẽ biết đường mã giải mã.
  4. Client nhận được cái GTK sẽ lưu lại (Installation), liền dùng nó mã hóa 1 cái thư gửi lại cho Router với nội dung ACK thông báo cho Router rằng tao nhận được khóa rồi, vui quá mày ơi. Từ đó 2 thằng dùng cái mã khóa chung này để gửi và nhận dữ liệu.

Hướng dẫn cài wireless trên kali linux

Phương pháp tấn công ở đây là ta sẽ bắt các gói tin trong quá trình 4-way handshake này để thu được cái mật khẩu ở dạng mã hash. Không có cách nào để thu lại được password gốc từ mã hash này vì đây là mã một chiều. Đây là lúc áp dụng Wordlist Attack, tức là ta sẽ tạo wordlist chứa danh sách các password tiềm năng, rồi chuyển chúng thành mã hash. Sau đó so sánh từng mã hash này với cái mã hash đã thu được từ đó suy ra được password ban đầu. OK lý thuyết có nhiêu đó thôi, bắt đầu thực hành nhé.


Chuẩn bị

Để áp dụng được phương pháp tấn công trong bài viết, bạn cần có những thứ sau:

  1. Hệ điều hành Kali Linux (nên update lên phiên bản mới nhất để tối ưu hóa cuộc tấn công).
  2. Laptop có card wifi hỗ trợ chế độ monitor (search google để check nhé).
  3. Bộ chương trình aircrack-ng để hack wifi (được cài đặt sẵn trên Kali Linux).
  4. Một wordlist (từ điển password) tốt, có thể tải từ internet hoặc tự tạo bằng các chương trình như crunch, cupp, …
  5. Một tí may mắn 🙂

Bắt đầu nào!


Attack – Step 1: Capture the 4-way Handshake packets.

Đầu tiên, bạn vào Kali Linux, mở Terminal lên, gõ lệnh sau để xem các card mạng đang có trong máy:

ifconfig

Hướng dẫn cài wireless trên kali linux

Như hình trên, eth0 là card mạng có dây lo bạn không cần quan tâm, wlan0 là card wireless sẽ dùng để hack, bạn có thể thấy địa chỉ IP của máy Kali (nếu bạn đã kết nối wifi) là 192.168.12.109 và địa chỉ MAC là 56:0F:1C:93:EB:B2.

Card wireless có 2 chế độ, chế độ mặc định là Managed, card mạng sẽ chỉ thu nhận những gói dữ liệu (packets) được gửi đi trong không khí mà có địa chỉ nhận là máy của ta. Chế độ còn lại là Monitor, lúc này card mạng sẽ thu nhận tất cả các packets được gửi đi từ các card wireless khác trong phạm vi bắt sóng, bất kể địa chỉ nhận là gì.

Để chuyển sang chế độ Monitor bạn gõ lệnh

airmon-ng start wlan0

Hướng dẫn cài wireless trên kali linux

Khi đó card wireless sẽ đổi tên thành wlan0mon, bạn có thể gõ lệnh ifconfig lại để check card mạng.

Hướng dẫn cài wireless trên kali linux

Bạn gõ tiếp lệnh sau để card mạng thăm dò các packets trong không khí nhằm xác định các AP (Access Point) và các client kết nối đến chúng.

airodump-ng wlan0mon

Hướng dẫn cài wireless trên kali linux

Phần trên là các AP bắt sóng được, phần dưới là các client kết nối đến AP này. Bạn chú ý cột ESSID là tên của AP, cột ENC cho biết phương pháp mã hóa (bạn có thể thấy WPA2 chiếm đa số, và hầu như không có WEP), cột CH là channel mà AP phát sóng, BSSID là địa chỉ MAC của AP.

Khi đã tìm được AP mục tiêu mà ta cần tấn công, nhấn Ctrl + C để dừng quá trình dò mạng. Ở đây tôi chọn AP có ESSID là “Ngoai Tieu Hoa”. Gõ tiếp lệnh sau để chỉ bắt các gói tin thuộc AP mà ta mong muốn:

airodump-ng --bssid B0:48:7A:9A:E6:36 -c 4 -w ngoaitieuhoa wlan0mon

Hướng dẫn cài wireless trên kali linux

Trong đó:

  • B0:48:7A:9A:E6:36 là địa chỉ MAC của AP
  • -c 4 là channel mà AP phát sóng
  • -w ngoaitieuhoa là tên file mà ta muốn viết
  • wlan0mon là tên card wifi ở chế độ monitor

Lệnh trên sẽ bắt các gói tin đi và đến AP có địa chỉ MAC: B0:48:7A:9A:E6:36 trên channel … và ghi lại các gói tin bắt được vào file .cap có tên bắt đầu là ngoaitieuhoa…

Lúc này ta sẽ chờ đợi khi có client nào connect đến AP nó sẽ bắt được quá trình 4-way handshake và dòng chữ WPA Hanshake sẽ hiện ở góc trên phải của terminal. File ngoaitieuhoa…cap sẽ được lưu trong /root.

Để đảm bảo quá trình nghe lén này thành công ta mở 1 terminal khác và gõ lệnh sau để ngắt kết nối các client đang kết nối với AP. Khi đó client sẽ thực hiện lại 4-way handshake và ta sẽ bắt được gói tin cần thiết.

aireplay-ng --deauth 0 -a B0:48:7A:9A:E6:36 wlan0mon

Hướng dẫn cài wireless trên kali linux

Trong đó:

  • –deauth 0: thực hiện tấn công ngắt kết nối liên tục đến các client của mạng này.
  • -a B0:48:7A:9A:E6:36 là địa chỉ MAC của AP.
  • wlan0mon là tên card wireless ở chế độ monitor.

Quan sát cửa sổ đang chạy lệnh airodump-ng, đến khi hiện chữ “WPA Handshake” thì coi như đã hoàn thành bước 1: bắt gói tin. Ta có thể Ctrl + C tại các cửa sổ để dừng lệnh lại.

Hướng dẫn cài wireless trên kali linux


Attack – Step 2: Wordlist

Bước tiếp theo trong quá trình tấn công là tiến hành wordlist attack. Ta cần có một bộ từ điển tốt để hack.

Trong Kali, đã có sẵn một số wordlist, ví dụ wordlist rockyou.txt nằm tại địa chỉ `eth0`1 hoặc wordlist của John the Riper tại `eth0`2, … nhưng đa số các wordlist này không phù hợp với người Việt Nam do đặc điểm ngôn ngữ khác biệt.

Một số wordlist được tạo sẵn dành cho người Việt có thể tải từ link sau:

https://drive.google.com/drive/folders/1xucDD6sy6DTH-IAvKdaVQkAkI3tSHfIe

Hoặc bạn có thể tự tạo wordlist bằng chương trình crunch có sẵn của Kali Linux.

Câu lệnh sau sẽ tạo wordlist gồm 8 chữ số (password thông dụng tại các quán cafe) trong vòng vài giây:

`eth0`3

Hướng dẫn cài wireless trên kali linux

File wordlist vừa tạo nặng 858 Mb! Bạn có thể tìm hiểu thêm về chương trình crunch bằng cách gõ `eth0`4

Một cách khác khá hay để tạo wordlist là chương trình cupp viết bằng python, tạo wordlist dựa trên thông tin về đối tượng cần hack như: họ tên, ngày sinh, tên người yêu, tên thú nuôi, … Tìm hiểu thêm tại đây:

https://hackingvision.com/2017/12/13/cupp-target-specific-wordlist-generator/

Sau khi có wordlist rồi thì chuyển sang bước 3 nhé. Chú ý là ta sẽ phải thử nhiều wordlist đấy, phụ thuộc vào độ may mắn của bạn.


Attack – Step 3: Crack

Ở bước này chỉ cần 1 lệnh đơn giản:

`eth0`5

Lệnh này sẽ tiến hành tạo mã hash cho mỗi password trong wordlist và tiến hành so sánh với password đã hash bắt được trong file ngoaitieuhoa-01.cap. Thay wordlist8so.txt bằng đường dẫn đến file wordlist đã chuẩn bị ở bước 2. Kết quả test trên máy tác giả:

Hướng dẫn cài wireless trên kali linux

Tốc độ crack trên máy tác giả (CPU core i5, RAM 4Gb) là khoảng 2400 keys/s. Như vậy để dò hết wordlist chứa 8 chữ số sẽ mất khoảng tối đa 10^8 / 2400 / 3600 ≈ 12 giờ (kiên nhẫn nhé :)). Khi dò ra password chương trình sẽ hiện lên: Key Found: … và cho bạn biết password cần tìm.


Lời kết

Bạn có thể thấy tốc độ dò pass như trên là khá chậm. Có một số cách để tăng tốc độ dò pass như dựa vào sức mạnh của card đồ họa (GPU) hay dựa vào sức mạnh của điện toán đám mây (cloud). Tôi sẽ giới thiệu trong 1 bài khác nếu có dịp.

Phương pháp tấn công bên trên dựa vào wordlist nên tỉ lệ thành công không được cao lắm. Ở bài sau tôi sẽ giới thiệu một phương pháp tấn công khác là tấn công dựa trên tính năng WPS của Router.