Khám phá máy chủ SMB
Máy chủ SMB (Server Message Block) là giao thức phổ biến dùng để chia sẻ tài nguyên trong mạng nội bộ. Trong bài viết này, chúng ta sẽ tìm hiểu cách sử dụng các công cụ như nmap và smbclient để phân tích và kết nối với dịch vụ SMB.
Câu hỏi 1: Ý nghĩa của SMB
SMB là viết tắt của Server Message Block – một giao thức mạng được thiết kế nhằm chia sẻ file, máy in và các tài nguyên khác giữa các thiết bị trong cùng một mạng LAN.
Câu hỏi 2: Cổng mặc định của SMB
Để xác định cổng hoạt động của SMB, ta có thể thực hiện quét cổng bằng lệnh:
nmap -sV 10.129.194.55
Kết quả cho thấy cổng TCP 445 đang mở và chạy dịch vụ liên quan đến SMB. Đây chính là cổng tiêu chuẩn khi SMB chạy trực tiếp trên TCP/IP mà không cần lớp NetBIOS.
Câu hỏi 3: Tên dịch vụ tại cổng 445
Từ kết quả quét nmap trước đó, tên dịch vụ chạy trên cổng 445 là microsoft-ds, đây là dịch vụ thư mục và chia sẻ tập tin của Microsoft.
Câu hỏi 4: Tham số liệt kê danh sách chia sẻ trong smbclient
Để xem các thư mục hoặc tài nguyên được chia sẻ từ máy chủ SMB, ta dùng công cụ smbclient. Để hiển thị trợ giúp về các tùy chọn, hãy nhập:
smbclient -h
Tham số -L được sử dụng để liệt kê tất cả các chia sẻ từ xa.
Câu hỏi 5: Tên chia sẻ có thể truy cập với mật khẩu rỗng
Dùng lệnh sau để kiểm tra danh sách chia sẻ:
smbclient -L 10.129.194.55
Trong số các mục xuất hiện, chỉ có WorkShares là thư mục người dùng, còn lại đều là thư mục hệ thống mặc định.
Câu hỏi 6: Lệnh tải tệp từ shell SMB
Khi đã kết nối vào thư mục chia sẻ, bạn có thể sử dụng lệnh get <tên_tệp> để tải tệp về máy cục bộ.
Lấy cờ (Submit Flag)
Quy trình hoàn chỉnh để lấy flag như sau:
# Kết nối tới thư mục WorkShares
smbclient \\\\10.129.194.55\\WorkShares
# Liệt kê nội dung thư mục gốc
ls
# Di chuyển vào thư mục James.P
cd James.P
# Kiểm tra nội dung thư mục con
ls
# Tải xuống tệp flag.txt
get flag.txt
# Thoát khỏi phiên làm việc SMB
exit
# Đọc nội dung tệp flag.txt
cat flag.txt
Sau khi đọc nội dung tệp, bạn có thể nộp flag để hoàn thành thử thách.