Tấn công môi trường ảo hóa Vmware vSphere

Tấn công môi trường ảo hóa vSphere Environment

Phần còn lại của bài này tôi sẽ tập trung chia sẻ những cách tấn công vào môi trường ảo hóa vSphere bằng nền tảng Metasploit. Một trong số các Modules tốt nhất dùng để tấn công trực tiếp vào môi trường ảo hóa vSphere, được viết bởi Claudio Criscione và nhóm của anh ta.

Nghiên cứu và phát triển của Claudio Criscione thật sự rất tuyệt, nó cung cấp cho chúng ta cách thức đơn giản để sử dụng Exploits, giúp tối đa hóa khả năng khai thác thành công của chúng ta. Một trong các Auxiliary modules có thể giúp ta tải Virtual Machines trực tiếp từ một máy chủ ESX 3.5 mà không cần thông tin xác thực.

Cá nhân tôi thích nhất Exploit module mà cho phép chúng ta có thể đánh cắp được ID SOAP của một tài khoản quản trị vCenter 4.x và sau đó "dạo chơi" bằng phiên làm việc của tài khoản quản trị này, không cần bất cứ thứ gì trừ việc truy cập vào vCenter ! Auxiliary modules của Claudio tên là VASTO (Virtualization Assessment Toolkit). Bạn có thể tải tại : http://vasto.nibblesec.org

Sau khi đã tải Auxiliary module này, bạn chép thư mục vasto vào thư mục Auxiliary của Metasploit. Hình 8 mô tả đường dẫn thư mục trong Backtrack 5.

Hình 8 : Đường dẫn thư mục Metasploit

Đây là lúc ta cần sử dụng Auxiliary module để dò quét và khai thác môi trường vSphere. 2 thực nghiệm tấn công đều sử dụng các modules được cung cấp trong Metasploit Framework 4.2.

Đảm bảo rằng bạn đã cập nhật Metasploit của mình lên phiên bản mới nhất : msfupdate hoặc svn update. Khi Metasploit đã có đầy đủ các Auxiliary modules, chúng ta đã có thể bắt đầu sử dụng chúng. Thực nghiệm tấn công đầu tiên chúng ta sẽ sử dụng VMware Fingerprint Module. Sau khi khởi chạy Metasploit trong giao diện Console, ta gõ dòng lệnh sau vào :

 msf > use auxiliary/scanner/vmware/esx_fingerprint

Chi tiết về Module thể hiện ở Listing 1 :

Mô tả :
Module này sẽ truy xuất vào Web API Interfaces của các máy chủ VMware ESX/ESXi để nhận dạng Version của máy chủ đó. Mục đích để làm gì ? Module này được tạo ra để tìm những máy chủ thật sự đang vận hành trong mạng, đồng thời nhận biết chính xác Version và Build Number. Bạn có thể nhập vào dãy địa chỉ IP hoặc 1 địa chỉ. Trong ví dụ ở đây, ta đang tìm kiếm thông tin của một máy chủ cụ thể đã được quét bằng NMAP.

Giống như các Module khác, ta cần thiết lập Remote Host (RHOST) cho máy chủ mà chúng ta đang dò quét, khi nhìn vào Listing 1 ta thấy có ba tham số bắt buộc phải được thiết lập : RHOST, RPORT và THREADS.

Hai trong ba yêu cầu trên đã được thiết lập chuẩn cho môi trường làm việc của ta. Tiếp theo ta sẽ thiết lập RHOST và cho tiến hành chạy module :

msf auxiliary(esx_fingerprint) > set RHOST 192.168.3.212
RHOST => 192.168.3.212
Msf auxiliary(esx_fingerprint)  > exploit

Giờ ta biết chính xác những gì ta đang tấn công.

[+] [2013.04.26-10 :16 :47] Identified VMware ESXi 5.0.0 build-623860
[*] [2013.04.26-10 :16 :47] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(esx_fingerprint) >

Module này sử dụng port 443 và nếu bạn đọc thử mã nguồn của Module tại :

$METASPLOIT_HOME/modules/auxiliary/scanner/VMware/esx_fingerprint.rb

Bạn có thể tìm thấy sự kết hợp đường dẫn sdk đến kết nối https. Phương thức chung luôn luôn sẵn có với file wsdl được trình bày trong Hình 9

Hình 9 : vimService.wsdl

Giờ ta đã xác định được thông tin về máy chủ và phiên bản VMware, nhìn vào đó chúng ta có thể đoán trước được khả năng khai thác thành công. Có khá nhiều sự lựa chọn; tuy nhiên chúng ta  sẽ thử phương pháp dùng Metasploit để Bruteforce tài khoản đăng nhập vào ESXi!

Metasploit đã cung cấp một module để Bruteforce tài khoản cục bộ (Local Account). Module này sẽ sử dụng bộ từ điển chứa user/pass (dictionary) để tiến hành bẻ khóa, bạn có thể dùng Dictionary của riêng mình hoặc dùng Dictionary sẵn có trong Metasploit tại đường dẫn sau "$METASPLOIT_HOME/data/wordlist/". Hãy nhìn vào Listing 2 :

 

Có sáu thiết lập bắt buộc bạn cần phải cài đặt để tiến hành tấn công Bruteforce, thêm một số thiết lập khác mà ta cần thay đổi. Việc cần thay đổi đầu tiên là vô hiệu hóa tùy chọn sử dụng mật khẩu rỗng (Blank Password):

msf auxiliary(vmauthd_login) > set BLANK_PASSWORDS false
BLANK_PASSWORDS => false

Tại sao lại vô hiệu hóa tùy chọn sử dụng mật khẩu rỗng ? Nhìn vào kết quả thu thập được từ Footprinting module, có thể thấy rằng mục tiêu đang sử dụng phiên bản ESXi 5. Trong phiên bản 5, bắt buộc ta phải nhập mật khẩu vào quá trình cài đặt, vì vậy khả năng khai thác thành công mật khẩu rỗng gần như rất thấp.

Nếu mục tiêu của chúng ta sử dụng ESXi 4.1, phiên bản này không yêu cầu nhập mật khẩu trong quá trình cài đặt, cho nên lúc này chúng ta sẽ dùng đến khả năng kiểm tra mật khẩu rỗng. Tốc độ Bruteforce (Bruteforce Speed) là một thiết lập bắt buộc tiếp theo, mặc định nhanh nhất của thiết lập là giá trị 5.

Thiết lập này tốt cho trường hợp thực nghiệm của tôi, nhưng đối với các môi trường khác cần điều chỉnh lại cho phù hợp. Kế tiếp, chúng ta cần thiết lập RHOSTS (Địa chỉ IP mục tiêu của chúng ta) :

msf auxiliary(vmauthd_login) > 
set RHOSTS 192.168.2.212
RHOSTS => 192.168.2.212

Việc cuối cùng chúng ta cần làm là xác định "Username" mà chúng ta sẽ dùng để tấn công, trong bài Lab này chúng tôi sẽ sử dụng Username là root, cùng với danh sách mật khẩu của riêng Metasploit :

msf auxiliary(vmauthd_login) > set USERNAME root
USERNAME => root

Bây giờ hãy bấm nút và xem thử chúng tôi tìm thấy được điều bất ngờ gì nhé ! (Listing 3). Chúng tôi đã tìm ra tên người dùng và mật khẩu hợp lệ ! (Nghe đơn giản quá nhỉ).

Listing 3 : Kết quả Bruteforce

msf  auxiliary(vmauthd_login) > exploit
[*] [2013.04.26-10:31:39] 192.168.3.212:902 Banner: 220 VMware Authentication Daemon Version 1.10: SSL Required, ServerDaemonProtocol:SOAP, MKSDisplayProtocol:VNC , VMXARGS supported

[*] [2013.04.26-10:31:39] 192.168.3.212:902 Switching to SSL connection...
[-] [2013.04.26-10:31:42] 192.168.3.212:902 vmauthd login FAILED - root:root
[-] [2013.04.26-10:31:43] 192.168.3.212:902 vmauthd login FAILED - root:123456
[-] [2013.04.26-10:31:45] 192.168.3.212:902 vmauthd login FAILED - root:12345
[-] [2013.04.26-10:31:48] 192.168.3.212:902 vmauthd login FAILED - root:123456789
[+] [2013.04.26-10:31:48] 192.168.3.212:902 vmauthd login SUCCESS - root:password

Như những gì mong đợi, Metasploit thực hiện điều này quá dễ dàng ! Tất nhiên đây chỉ là điều dễ dàng diễn ra trong môi trường thử nghiệm, một hệ thống được kiện toàn đúng sẽ ngăn chặn được các cuộc tấn công này xảy ra.

Thứ nhất, mạng lưới cần phải được phân tách. Thứ hai, dù cho tôi có là người trong cùng Management Network, tôi cũng không thể nào thực hiện được loại tấn công Bruteforce này, nếu chế độ Lockdown được kích hoạt trên từng máy chủ!

Đọc tới đây chắc chắn sẽ có bạn thắc mắc "Chế độ Lockdown là gì?". Sau khi máy chủ được kết nối với vCenter, chúng ta có thể kích hoạt chế độ Lockdown giúp ngăn chặn các phiên đăng nhập mới diễn ra trên máy chủ. Do đó sẽ vô hiệu hóa được loại hình tấn công Bruteforce, bởi vì việc tạo mới phiên đăng nhập sẽ không được cho phép.

Bạn có thể kích hoạt chế độ Lockdown qua thẻ Configuration của máy chủ trong vCenter : Configuration>Security Profile> Lockdown Mode>Edit.

Nếu bạn đang lo lắng : "Lỡ trong trường vCenter có vấn đề, mất kết nối với máy chủ thì làm sao?" … Đừng lo, bạn có thể bật/tắt chế độ Lockdown từ DCUI (Hình 11).

Chúng ta sẽ tìm hiểu tiếp một trong các Modules khác được cung cấp bởi VASTO. Lần này tôi sẽ chọn tấn công trực tiếp vào mục tiêu "vSphere Administrator" bằng cách sử dụng kỹ thuật tấn công Man-in-the-middle. Trong phần tấn công này, tôi sẽ sử dụng VIlurker, một auxiliary module của VASTO. Cuộc tấn công này sẽ nhắm đến quá trình truyền tải lưu lượng giữa vSphere Client và vCenter hoặc Host.


Liên hệ DNA

 

Mobile  +84 (28) 38 266 877
  +84 (28) 39 401 619

 

Location  DNA Headquarter
  60 Nguyễn Đình Chiểu

  F1 Rosana Tower, Quận 1
         TP.Hồ Chí Minh, Việt Nam