Tải bản đầy đủ (.docx) (31 trang)

Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (31)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.99 MB, 31 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN 1

Học phần: An tồn mạng
Đề tài: Tìm hiểu cơng cụ enum4linux
Nhóm lớp: 02

Giảng viên hướng dẫn:
Sinh viên thực hiện:
Mã sinh viên:
Lớp:
Số điện thoại:

TS. Đặng Minh Tuấn
Nguyễn Long Hải
B18DCAT070
D18CQAT02-B
0961363080

Hà Nội, 12/2021

MỤC LỤC


DANH MỤC TỪ VIẾT TẮT
Viết tắt/Thuật ngữ

Giải thích

SMB


Giao thức chia sẻ file

DOS (Disk Operating System)

hệ điều hành chạy đĩa

Client/Server

Máy khách/chủ

Input/Ouput

Thiết bị vào/ra

CIFS(Common Internet File Sharing)

Hệ thống chia sẽ file phổ biến trên
Internet

Samba server

Samba là một máy chủ miễn phí làm
việc trên giao thức mạng smb / CIFS

LDAP (Lightweight Directory Access
Protocol)

Một giao thức ứng dụng truy cập các
cấu trúc thư mục.


MS-RPC (Remote Procedure Call)

Thủ tục gọi hàm từ xa

YAML/JSON

Là một ngôn ngữ tuần tự hóa dữ liệu
mà con người có thể đọc được

SID (security indentifier)

Là một mã định dạng cho mỗi đối
tượng trong windows

RID (Relative identifier)

Dùng để định danh user hoặc security
group trong domain hoặc local
computer


DANH MỤC HÌNH ẢNH

LỜI MỞ ĐẦU
Điều tra là q trình thu thập thơng tin về một mục tiêu để tìm ra các vectơ tấn
công tiềm năng và hỗ trợ khai thác. Quá trình này là điều cần thiết để một cuộc tấn
cơng thành cơng, vì lãng phí thời gian với các khai thác khơng hoạt động hoặc có
thể làm hỏng hệ thống có thể là một thảm họa. Liệt kê có thể được sử dụng để thu
thập tên người dùng, mật khẩu, thông tin mạng, tên máy chủ, dữ liệu ứng dụng,
dịch vụ hoặc bất kỳ thông tin nào khác có thể có giá trị đối với kẻ tấn cơng.

Thơng thường, có các ổ chia sẻ SMB trên máy chủ có thể được kết nối và sử dụng
để xem hoặc truyền tệp. SMB thường có thể là một điểm khởi đầu tuyệt vời cho
những kẻ tấn công muốn khám phá thông tin nhạy cảm - bạn sẽ ngạc nhiên về
những gì đơi khi được đưa vào những chia sẻ này. Trong một số tình huống hiếm
hoi, chẳng hạn như khi thư mục chia sẻ SMB và thư mục gốc của máy chủ web
giống nhau, kẻ tấn cơng thậm chí có thể khai thác cấu hình sai để thực thi mã.


CHƯƠNG I. TÌM HIỂU VỀ GIAO THỨC SMB

1. SMB là gì?
SMB được viết tắt của từ Server Message Block, là một giao thức trong hệ điều
hành Windows và DOS. SMB cung cấp cơ chế để các máy khách (client) có thể
truy cập vào hệ thống file máy chủ (server), cũng như những thiết bị input/output
(ví dụ như máy in).


Hình 1: Giao thức SMB là gì?

2. Lịch sử hình thành và phát triển của SMB
Giao thức SMB đã được ra đời và đưa vào sử dụng từ giữa những năm 80 của thế
kỷ 20 và trải qua nhiều phiên bản. Cụ thể, vào năm 1984 IBM đã ra SMB trong
một bản công bố tài liệu về kỹ thuật của mình. Mục đích thiết kế ban đầu của SMB
là một giao thức mạng để đặt tên và kiểm duyệt. Những phiên bản đầu tiên của
SMB, hệ thống chia sẻ dữ liệu với các máy khách có quyền ngang nhau, tuy nhiên
điều này chưa thực sự đảm bảo an tồn thơng tin. Về sau, SMB đã được kế thừa
bởi Microsoft và trở thành một giao thức chia sẻ file phổ biến của hệ điều hành
Microsoft và IBM với nhiều phiên bản đã được cải thiện về khả năng bảo mật. Các
máy chủ và máy client SMB sẽ cùng sử dụng một giao thức đồng nhất để thuận
tiện cho việc chia sẻ, trao đổi dữ liệu. Từ những năm 1990 cho đến nay SMB đã

được Microsoft đổi tên thành CIFS viết tắt của từ Common Internet File Sharing
đúng với nghĩa đen là công cụ chia sẻ file phổ biến nhất trên Internet. CIFS được
thiết kế với tiêu chí đơn giản và có thể đáp ứng một số lượng lớn người sử dụng.
Với mơ hình một server tập trung, mọi dữ liệu đã được xử lý tại máy client đều
được khuyến nghị lưu trữ tại server giúp cho CIFS ngày càng phổ biến.

3. Các phiên bản của SMB
CIFS: Phiên bản cũ của SMB, được bao gồm trong Microsoft Windows NT 4.0 vào
năm 1996.
SMB 1.0 / SMB1: Phiên bản được sử dụng trong Windows 2000, Windows XP,
Windows Server 2003 và Windows Server 2003 R2.
SMB 2.0 / SMB2: Phiên bản này được sử dụng trong Windows Vista và Windows
Server 2008.
SMB 2.1 / SMB2.1: Phiên bản này được sử dụng trong Windows 7 và Windows
Server 2008 R2.
SMB 3.0 / SMB3: Phiên bản này được sử dụng trong Windows 8 và Windows
Server 2012.
SMB 3.02 / SMB3: Phiên bản này được sử dụng trong Windows 8.1 và Windows
Server 2012 R2.
SMB 3.1: Phiên bản này được sử dụng trong Windows Server 2016 và Windows
10.
Hiện tại, phiên bản mới nhất của SMB là SMB 3.1.1 đã được giới thiệu với
Windows 10 và Windows Server 2016. Phiên bản này hỗ trợ mã hóa AES 128


GCM ngồi mã hóa AES 128 CCM được thêm vào SMB3 và thực hiện kiểm tra
tính tồn vẹn trước khi xác thực bằng cách sử dụng Hàm băm SHA-512. SMB
3.1.1 cũng bắt buộc đàm phán an toàn khi kết nối với khách hàng sử dụng SMB 2.x
và cao hơn.


4. Giao thức SMB hoạt động như thế nào?
SMB là giao thức hoạt động theo cơ chế máy khách - máy chủ (request - response).
Hiểu đơn giản là các máy khách sẽ gửi những yêu cầu đến máy chủ SMB sau đó
máy chủ sẽ gửi phản hồi lại đến từng yêu cầu.Trong lần giao tiếp đầu tiên, máy
khách sẽ gửi danh sách các bản giao thức khả dụng đến máy chủ, máy chủ sẽ lựa
chọn một giao thức phù hợp để sử dụng về sau. Nếu trong danh sách này khơng có
giao thức nào phù hợp, máy chủ sẽ từ chối.

Hình 2: SMB hoạt động theo cơ chế máy chủ - máy khách

Khi bản giao thức đã được xác nhận, máy khách bắt đầu gửi các yêu cầu để máy
chủ phản hồi lại kèm theo các thông tin cần thiết. Chẳng hạn như máy khách yêu
cầu đăng nhập vào hệ thống với tên đăng nhập và mật khẩu bất kỳ. Nếu yêu cầu
đăng nhập thành công, máy chủ sẽ gửi về một số ID. Từ đó máy khách có thể yêu
cầu kết nối với dữ liệu nguồn thông qua số ID này.Máy chủ và máy khách khi sử


dụng SMB sẽ duy trì một số thứ tự đồng bộ. Số thứ tự này phục vụ cho việc tạo mã
xác thực tin nhắn (messenger authentication code - MAC) để phịng tránh các cuộc
tấn cơng mạng. Mỗi một tin nhắn có thể xác nhận bởi một MAC nhất định. Mã này
được thiết lập để xác thực nguồn tin nhắn và bảo đảm tính tồn vẹn của tin nhắn.Ví
dụ máy in văn phịng được kết nối với máy tính tại phịng nhân sự. Nếu bạn muốn
in bất kỳ một tài liệu nào đó, máy tính của bạn (máy client) sẽ gửi u cầu đến máy
tính tại phịng nhân sự (máy chủ) bằng giao thức SMB. Tiếp sau đó, máy chủ sẽ
gửi các phản hồi nêu rõ các dữ liệu đang được in hoặc bị từ chối.

5. Chức năng của giao thức SMB
Một điểm mạnh của giao thức SMB mà nhiều công cụ khác khơng có được chính
là hỗ trợ cả Unicode. Bên cạnh đó thì SMB cịn có những chức năng quan trọng
khác như:

• Hỗ trợ tìm kiếm máy chủ sử dụng giao thức SMB khác.
• Hỗ trợ in qua mạng.
• Cho phép xác thực các file và thư mục được chia sẻ.
• Thơng báo những thay đổi của file và thư mục.
• Xử lý những thuộc tính mở rộng của file.
• Hỗ trợ dàn xếp, đàm phán để tương thích giữa các hình thái của SMB.
• Cho phép khóa file đang truy cập tùy theo yêu cầu.
Khi sử dụng SMB kết hợp với giao thức xác thực NTLM người dùng sẽ được cung
cấp trọn gói chia sẻ file, máy in ở mức user. Chỉ cần thực hiện đăng nhập kết nối
với dữ liệu ở máy khác, Windows sẽ lập tức gửi dữ liệu thơng tin đăng nhập của
người dùng đó về SMB trước khi yêu cầu tên đăng nhập và mật khẩu.

6. Nguy cơ bảo mật của SMB
Năm 2017, Cơ quan Bảo mật Quốc gia Hoa Kỳ (NSA) thông báo tìm thấy các lỗ
hổng bảo mật trong giao thức SMB v1. Các hacker có thể lợi dụng lỗ hổng này để
triển khai các đoạn mã độc và người dùng không hề phát hiện ra. Khi một máy bị
nhiễm, hacker có thể đoạt được truyền truy cập vào tất cả máy trong hệ thống.
Sau khi sự việc xảy ra, Microsoft đã phát hành bản cập nhật vá các lỗi này. Tuy
nhiên chỉ một tháng sau, sự kiện mã độc tống tiền (ransomware) WannaCry bùng
nổ, ảnh hưởng đến gần 200.000 thiết bị Windows tại hơn 150 quốc gia trên toàn thế
giới. WannaCry khai thác lỗ hổng MS17-010 (Eternal Blue) của giao thức SMB,
mã hóa tất cả dữ liệu trên máy tính và yêu cầu tiền chuộc bằng Bitcoin. Mặc dù về


sau sự việc đã được khống chế, thế nhưng không thể phủ nhận những tổn thất
nghiêm trọng từ cuộc tấn công này.
Với những thông tin trên đây, hi vọng bạn đã hiểu được SMB là gì và cách thức
hoạt động của chúng. Bạn nên thường xuyên cập nhật các phiên bản mới nhất của
SMB để tránh các cuộc tấn công mạng. Ai cũng có thể trở thành mục tiêu, vậy nên
hãy làm những gì tốt nhất để bảo vệ dữ liệu và thiết bị của bạn trước khi sự cố

đáng tiếc xảy ra.

7. Làm thế nào để tắt được SMB?
Để ngăn chặn sự xâm nhập của virus vào máy tính của bạn và bảo mật thơng tin
các bạn có thể disable SMB. Tại sao SMB lại dễ bị tấn công bởi virus? Vì là giao
thức chia sẻ các file nên nó phải có các port mạng để kết nối các hệ thống máy tính
với nhau, hơn thế nữa SMB sử dụng port 139 và port 445. Để tắt được SMB trên
máy tính của mình, các bạn có thể thực hiện như sau:
• Update Windows: nên thường xuyên cập nhật các bản mới của Windows để
vá các lỗ hổng, đặc biệt là lỗ hổng ETERNALBLUE.
• Disable hỗ trợ SMBv1: để tắt được SMB bằng cách này, bạn mở cửa sổ
Command Prompt và cho chạy lệnh: “dism/online/norestart/disablefeature/featurename:SMB1Protocol”.
• Chặn các port 135, 445: SMB sử dụng các port này và đây cũng là cách mà
virus hay xâm nhập vào hệ thống. Do vậy nếu khơng cần sử dụng, các bạn
nên đóng các port này bằng cách mở cửa sổ Command Prompt và chạy lệnh:
netsh advfirewall firewall add rule dir=in action=block protocol=TCP
localport=135name=”Block_TCP-135″netsh advfirewall firewall add rule dir=in
action=block protocol=TCP localport=445 name=”Block_TCP-445″.


Hình 3: Tắt tính năng SMB

8. Cách phịng chống khi sử dụng giao thức SMB
Nếu bạn vẫn có nhu cầu sử dụng giao thức SMB nhưng vẫn muốn bảo vệ tốt nhất
cho hệ thống máy tính của mình, các bạn có thể thực hiện một vài biện pháp sau:
• Khởi chạy tường lửa hoặc để chế độ Endpoint Protection để bảo vệ port
SMB và cập nhật blacklist để ngăn chặn các kết nối từ địa chỉ IP đã tấn công
trước đó.
• Thiết lập VPN để mã hóa và bảo vệ lưu lượng mạng.
• Sử dụng mạng VLAN riêng với lưu lượng nội bộ.

• Sử dụng bộ lọc địa chỉ MAC để phát hiện và ngăn chặn những địa chỉ không
xác định đang muốn truy cập.


CHƯƠNG 2: CÔNG CỤ ENUM4LINUX

1. Khái quát về enum4linux
1.1.

Giới thiệu

Enum4linux là một công cụ để liệt kê thông tin từ các hệ thống Windows và
Samba. Nó cố gắng cung cấp chức năng tương tự cho enum.exe trước đây có sẵn từ
www.bindview.com. Nó được viết bằng Perl và về cơ bản là một trình bao bọc
xung quanh các cơng cụ Samba smbclient, rpclient, net và nmblookup.
Với tư cách là người bảo mật, bạn phải đảm bảo quy trình mà kẻ tấn cơng có thể
thiết lập kết nối tích cực với nạn nhân và cố gắng phát hiện ra càng nhiều vectơ tấn
cơng càng tốt, có thể được sử dụng để khai thác hệ thống hơn nữa.
Tập lệnh Perl enum4linux.pl là một cơng cụ mạnh mẽ có thể vận hành các kỹ thuật
dị tìm cho LDAP, NBT-NS và MS-RPC. Đó là một chương trình thay thế cho một
chương trình tương tự có tên là enum.exe (C ++) được tạo cho các hệ thống
Windows. Gần đây, một bản viết lại của enum4linux trong Python đã xuất hiện,
được gọi là enum4linux-ng.py.

Hình 4: Logo cơng cụ enum4linux
1.2.

Lịch sử phát triển

Được phát triển bởi Mark Lowe's (thuộc Portcullis Labs, hiện tại là Cisco CX

Security Labs)
2021-06-28 Enum4Linux v0.9.1
* Đã xóa CHANGELOG.
* Cảm ơn DidierA.
* Đã thêm kiểm tra cho các chia sẻ có thể ghi.


* Ẩn số chia sẻ có thể ghi là một cờ để đảm bảo không thay đổi hành vi mặc định.
* Đã sửa lỗi kiểm tra các lượt chia sẻ có thể ghi để đối phó với tình trạng Samba bị
tán gẫu.
2021-04-10 Enum4Linux v0.9.0
* Cảm ơn jtpereyda, logicsec, mrefish, Kawsay, NoxNoctis,
BrashEndeavours, real-datagram, rastating.
* Đã thêm phát hiện giao thức không phù hợp.
* Xóa các thơng báo lỗi.
* Cố gắng đốn miền dựa trên bản ghi 0.in-addr.arpa
từ máy chủ DNS mặc định.
* Sửa lỗi: Điều chỉnh regexes để thoát khỏi dấu gạch nối.
* Sửa lỗi: Đã thêm xử lý lỗi cho smbclient khơng có hệ điều hành thơng tin.
* Cập nhật mã màu và các hình cầu cố định để loại bỏ các lỗi.
* Sửa lỗi: Đã sửa lỗi -a trợ giúp lỗi đánh máy.
* Sửa một số lỗi: Viết sai khi tồn tại IPC của tên chia sẻ.
* Sửa lỗi: Đã cập nhật enum4linux.pl để xử lý đơn tốt hơn trích dẫn ký tự trong tên
người dùng và mật khẩu.
* Sửa lỗi: Các vấn đề cập nhật với IPC không phân tích cú pháp chính xác.
* Đã thêm xử lý NT_STATUS_INVALID_PARAMETER khi tìm người dùng.
* Đã thêm README.md.
2012-11-30 Enum4linux v0.8.9
Tùy chọn * -d giải mã một số trường acb_info bao gồm nếu tài khoản bị vơ hiệu
hóa, mật khẩu hết hạn, tài khoản bị khóa.

2011/06/16 Enum4linux v0.8.8
* Sửa lỗi: tùy chọn -w hiện sẽ hoạt động tốt hơn. Cho phép miền crenedials sẽ
được sử dụng:
-w miền -u người dùng -p vượt qua ...
2011-02-21 Enum4linux v0.8.7
* Sửa lỗi: Hiện xử lý dấu nháy đơn trong tên nhóm và nơi khác. Cảm ơn Emeric
Epaillard và Nicolas Kerschenbaum để báo cáo điều này.
2011/02/17 Enum4linux v0.8.6
* Đã thêm tùy chọn -l để có được tên miền dài qua LDAP.


* Sửa lỗi: Xác định lại cảnh báo biến.
2011-02-12 Enum4linux v0.8.5
* -P cố gắng lấy một phần thơng tin chính sách mật khẩu bằng cách sử dụng
"getdompwinfo" của rpclient - polenum.py vẫn còn nhiều tốt hơn, mặc dù.
2008-10-23 Enum4linux v0.8.4
* Sửa một số lỗi: Khơng cịn từ chối các tên máy chủ chứa dấu gạch nối.
* Đầu ra của các thành viên nhóm có thể phân tích cú pháp tốt hơn.
* Đầu ra trông đẹp hơn một chút.
* Thông điệp trợ giúp ngắn gọn hơn.
Tùy chọn * -a được giả định nếu không sử dụng các tùy chọn khác.
* Đã thêm tùy chọn "-K n" để tiếp tục chạy RID cho đến n
RID liên tiếp khơng có tên người dùng.
2008-09-16 Enum4linux v0.8.3
* Bây giờ cố gắng lấy tất cả SID cho mục tiêu trước khi RID quay vòng.
Điều này sẽ dẫn đến tài khoản cục bộ, tên miền và tài khoản nội trang
được liệt kê - đơi khi thậm chí cả miền mẹ.
* Chạy polenum.py (nếu được cài đặt) để lấy chính sách mật khẩu.
2008-03-28 Enum4linux v0.8.2
* Đã thay đổi liên kết HTTP để trỏ đến trang web phịng thí nghiệm mới.

2007-12-05 Enum4Linux v0.8.1
* đầu ra nmblookup / nbtstat hiện chứa con người có thể đọc được
mơ tả.
* Thơng báo rõ ràng hơn về lý do tại sao chạy RID cycling không thành công
(không thể nhận được SID hoặc không được phép chạy RID cycling).
2007-12-05 Enum4Linux v0.8.0
* Thêm -a tùy chọn để thử tất cả các kiểu liệt kê đơn giản. Bạn khơng cần phải nhớ
các tùy chọn dịng lệnh dài phức tạp ngay bây giờ.
* Nhận nhóm miền và tư cách thành viên nhóm miền ngay bây giờ. enum.exe đơi
khi khơng thực hiện được điều này, vì vậy tính năng này thực sự khơng tương thích
với bản gốc. :-)
* Làm cho chu trình RID mạnh mẽ hơn: theo mặc định, nó hiện thử một danh sách
tên người dùng phổ biến (quản trị viên, khách, người chủ, ...) để lấy SID ban đầu.


* "Tên người dùng -k" lấy một danh sách các tên người dùng để sử dụng khi cố
gắng lấy SID. Trước đây chỉ hỗ trợ một.
* -d tùy chọn được triển khai. Hiển thị thông tin chi tiết về người dùng (nhóm
chính, lần đăng nhập cuối cùng, thơng tin thay đổi mật khẩu, v.v.) và các nhóm (mơ
tả, số lượng thành viên).
* Cố gắng lấy SID miền để xác định xem máy chủ lưu trữ có phải là trong một
miền hoặc trong một nhóm làm việc. Thực nghiệm.
* Đã thêm tùy chọn -i để nhận thông tin về máy in.
* Trong quá trình chạy RID cycling, loại tài khoản được phát hiện là hiện được
hiển thị (Người dùng cục bộ, Nhóm miền, v.v.).
1.3.
Tính năng
Các tính năng bao gồm:
• RID Cycling (Khi RestrictAnonymous được đặt thành 1 trên Windows
Server)

• Danh sách người dùng (Khi RestrictAnonymous được đặt thành 0 trên
Windows Server)
• Danh sách thơng tin thành viên Group
• Liệt kê chia sẻ
• Phát hiện xem máy chủ lưu trữ nằm trong Workgroup hay Domain
• Xác định Hệ điều hành từ xa
• Truy xuất chính sách mật khẩu (sử dụng polenum)
• Dịch vụ & quét cổng (cho LDAP (S), SMB, NetBIOS, MS-RPC)
• Tên NetBIOS và Workgroup (thơng qua tra cứu ngược)
• Kiểm tra phương ngữ SMB (chỉ SMBv1 hoặc SMBv1 trở lên)
• Kiểm tra phiên RPC (kiểm tra xem thông tin người dùng cung cấp có hợp
lệ khơng hoặc nếu phiên rỗng hoạt động)
• Thơng tin miền qua LDAP (tìm hiểu xem máy chủ lưu trữ là DC cha hay
con)
• Thơng tin miền qua RPC (thơng qua SMB có tên là pipe \ pipe \ lsarpc
cho MS-RPC)
• Thơng tin hệ điều hành qua RPC (thơng qua SMB có tên là pipe \ pipe \
srvsvc cho MS-RPC)
• Người dùng, nhóm, chia sẻ, chính sách, máy in, dịch vụ qua RPC
• Người dùng, nhóm và máy thơng qua RID cycling
• SMB bruteforcing

2. Cài đặt


1. Cài đặt enum4linux bằng apt-get

Cập nhật cơ sở dữ liệu apt với apt-get bằng lệnh sau.

Hình 5: Cập nhật cơ sở dữ liệu


Sau khi cập nhật cơ sở dữ liệu apt, chúng ta có thể cài đặt enum4linux bằng cách
sử dụng apt-get bằng cách chạy lệnh sau:

Hình 6: Cài đặt enum4linux
2. Cách gỡ cài đặt enum4linux trên Kali Linux

Để gỡ cài đặt chỉ gói enum4linux, chúng ta có thể sử dụng lệnh sau:

Hình 7: Chỉ gỡ enum4linux

Gỡ cài đặt enum4linux và các phụ thuộc của nó
Để gỡ cài đặt enum4linux và các phụ thuộc của nó mà Kali Linux khơng cịn cần
nữa, chúng ta có thể sử dụng lệnh dưới đây:

Hình 8: Gỡ enum4linux và các phụ thuộc

Xóa cấu hình và dữ liệu enum4linux


Để xóa cấu hình và dữ liệu enum4linux khỏi Kali Linux, chúng ta có thể sử dụng
lệnh sau:

Hình 9: Xóa cấu hình và dữ liệu

Loại bỏ cấu hình enum4linux, dữ liệu và tất cả các phụ thuộc của nó
Chúng ta có thể sử dụng lệnh sau để loại bỏ cấu hình enum4linux, dữ liệu và tất cả
các phụ thuộc của nó, chúng ta có thể sử dụng lệnh sau:

Hình 10: Xóa tất cả dữ liệu liên quan tới enum4linux


Yêu cầu
Bạn sẽ cần phải cài đặt gói Samba vì tập lệnh này về cơ bản chỉ là một trình bao
bọc xung quanh rpcclient, net, nmblookup và smbclient.

Hình 11: Yêu cầu cài đặt

3. Sử dụng
Cách thức hoạt động
Tiện ích này chủ yếu dựa vào các phiên rỗng, là các kết nối ẩn danh đến các dịch
vụ giao tiếp giữa các quá trình trên hệ thống đích. Sử dụng phiên rỗng, cũng như
một số kỹ thuật khác, tiện ích enum4linux có thể trích xuất thông tin bao gồm
(nhưng không giới hạn ở) thông tin phần cứng, thông tin hệ điều hành, tên người
dùng, chính sách mật khẩu, cổng mở, máy in và hệ thống tệp được chia sẻ.
Để sử dụng enum4linux, chỉ cần nhập sudo enum4linux vào dịng lệnh, sau đó là
các đối số dòng lệnh cần thiết. Ở mức tối thiểu, enum4linux mong đợi được cung
cấp địa chỉ IP của hệ thống bạn định qt.
Theo mặc định, nếu khơng có đối số dòng lệnh bổ sung nào được cung cấp,
enum4linux sẽ giả sử cờ -a, cờ này tự động chạy một tập hợp kỹ thuật liệt kê mạnh
mẽ.


Hình 12: Các chức năng của cơng cụ

Chế độ chi tiết
Chế độ verbose hiển thị các lệnh cơ bản đang được chạy bởi enum4linux
(rpcclient, smblient, v.v.). Điều này hữu ích nếu bạn muốn sử dụng các lệnh cơ bản
theo cách thủ cơng, nhưng khơng thể tìm ra cú pháp để sử dụng. Lưu ý các dòng
bắt đầu bằng [V] trong đầu ra bên dưới:



Hình 13: Kết quả dị qt bằng lệnh -v (1)

Hình 14: Kết quả dò quét bằng lệnh -v (2)


Hình 15: Kết quả dị qt bằng lệnh -v (2)

Tùy chọn "Làm mọi thứ"
Để liệt kê tất cả thông tin nó có thể từ một máy chủ từ xa, chỉ cần sử dụng tùy chọn
-a:

Hình 16: Kết quả dị qt bằng lệnh -a

Nhận danh sách tên người dùng (RestrictAnonymous = 0)
Tính năng này tương tự như enum.exe -U IP. Nó trả về một danh sách đầy đủ các
tên người dùng nếu máy chủ cho phép. Trên Windows 2000, cài đặt sổ đăng ký


RestrictAnonymous phải được đặt thành 0 để tính năng này hoạt động. Danh sách
người dùng được hiển thị hai lần ở hai định dạng khác nhau vì nhập các lệnh cơ
bản khác nhau được sử dụng để truy xuất dữ liệu.

Hình 17: Nhận danh sách tên người dùng

Nhận danh sách tên người dùng (sử dụng xác thực)
Nếu bạn đã quản lý để có được tên người dùng và mật khẩu cho máy chủ, có thể sử
dụng nó để truy xuất danh sách người dùng đầy đủ bất kể cài đặt
RestrictAnonymous. Trong ví dụ dưới đây, chúng tơi sử dụng tài khoản quản trị
viên, nhưng bất kỳ tài khoản nào cũng sẽ thực hiện:


Hình 18: Nhận danh sách tên người dùng (sử dụng xác thực)


Lấy danh sách tên người dùng thông qua RID Cycling (RestrictAnonymous =
1)
Để có được tên người dùng tương ứng với phạm vi RID mặc định (500-550,10001050), hãy sử dụng tùy chọn -r:

Hình 19: Lấy danh sách người dùng qua RID

Bạn có thể chỉ định một phạm vi RID tùy chỉnh bằng cách sử dụng tùy chọn -R.
Trước khi chu trình RID có thể bắt đầu, enum4linux cần lấy SID từ máy chủ từ xa.
Nó thực hiện điều này bằng cách yêu cầu SID của một tên người dùng / nhóm đã
biết (khá giống với mọi cơng cụ quay vịng RID khác). Bạn có thể thấy trong đầu
ra ở trên một danh sách các tên người dùng đã biết. Chúng được thử lần lượt cho
đến khi enum4linux tìm thấy SID của máy chủ từ xa.
Nếu bạn không may mắn, danh sách này sẽ không đủ tốt và bạn sẽ không thể nhận
được SID. Trong trường hợp này, hãy sử dụng tùy chọn -k để chỉ định một tên
người dùng đã biết khác:

Hình 20:Lấy danh sách sử dụng một user đã biết

Bạn có thể chỉ định danh sách bằng dấu phẩy:

Hình 21: Lấy sanh sách sử dụng nhiều user

Thành viên nhóm


Nếu máy chủ từ xa cho phép điều đó, có thể lấy danh sách các nhóm và thành viên

của họ bằng cách sử dụng tùy chọn -G (như trong enum.exe):

Hình 22: Xem thành viên nhóm (1)

Hình 23: Xem thành viên nhóm (2)


Hình 24: Xem thành viên nhóm (3)

Như với tùy chọn -U để liệt kê người dùng, bạn cũng có thể chỉ định -u người dùng
-p pass để cung cấp thông tin đăng nhập nếu được yêu cầu. Bất kỳ tài khoản người
dùng nào cũng được, bạn không cần phải là quản trị viên.
Nhận thơng tin Chính sách Mật khẩu
Tùy chọn này liệt kê hệ thống đích và hiển thị tồn bộ thơng tin chính sách mật
khẩu của nó như hình dưới đây:
-P: Nhận thơng tin chính sách mật khẩu

Hình 25: Nhận thơng tin chính sách mật khẩu


Kiểm tra xem máy chủ lưu trữ có phải là một phần của domain hoặc
workgroup
Enum4linux sử dụng lệnh lsaquery của rpcclient để yêu cầu SID miền của máy chủ
lưu trữ. Nếu chúng tơi nhận được một SID thích hợp, chúng tơi có thể suy ra rằng
nó là một phần của miền. Nếu chúng ta nhận được câu trả lời là S-0-0, chúng ta có
thể suy ra máy chủ là một phần của nhóm làm việc. Điều này được thực hiện theo
mặc định, vì vậy khơng cần tùy chọn dịng lệnh:

Hình 26: Kiểm tra máy chủ lưu trữ


Nhận thông tin nbtstat
Tùy chọn -n khiến enum4linux chạy nmblookup và thực hiện một số phân tích cú
pháp bổ sung trên đầu ra của nó để cung cấp thơng tin mà con người có thể đọc
được về máy chủ từ xa.


Hình 27: Nhận thơng tin nbtstat

Liệt kê chia sẻ Windows
Nếu máy chủ cho phép, có thể có được danh sách chia sẻ đầy đủ với tùy chọn -S.
Điều này sử dụng smbclient.
Enum4linux cũng sẽ cố gắng kết nối với từng chia sẻ bằng thông tin đăng nhập
được cung cấp (thường là phiên rỗng, nhưng có thể sử dụng -u user -p pass để sử
dụng thứ khác). Nó sẽ báo cáo liệu nó có thể kết nối với lượt chia sẻ hay khơng và
liệu nó có thể nhận được danh sách thư mục hay khơng.

Hình 28: Liệt kê window share

Một số máy chủ không cho phép bạn truy xuất danh sách chia sẻ. Trong những tình
huống này, vẫn có thể thực hiện một cuộc tấn cơng từ điển để đốn tên chia sẻ.


Kết quả bên dưới cho thấy việc sử dụng tùy chọn -s với tệp từ điển đoán tên của
một số chia sẻ:

Hình 29: Liệt kê window share sử dụng từ điển

Nhận thông tin hệ điều hành
Tùy chọn -o nhận thông tin hệ điều hành bằng cách sử dụng smbclient. Một số
phiên bản nhất định của Windows (ví dụ: 2003) thậm chí cịn trả về thơng tin gói

dịch vụ.


×