Professional Documents
Culture Documents
Chapter 3 Information Gathering
Chapter 3 Information Gathering
Thu thập thông tin và Nhận dạng lỗ hổng bảo mật là các mục tiêu chính của kỳ
thi chứng nhận CompTIA PenTest + bao gồm việc thu thập thông tin và quét lỗ
hổng cũng như cách phân tích và sử dụng thông tin quét lỗ hổng. Trong chương
này, bạn sẽ khám phá cách thu thập thông tin về một tổ chức bằng cách sử dụng
trí thông minh của các công cụ nguồn mở thụ động (OSINT) cũng như các
phương pháp liệt kê và quét chủ động.
Chúng ta cũng sẽ xem xét các kỹ thuật quan trọng khác bao gồm tạo gói tin, thu
thập và kiểm tra thông tin, phân tích mã để thu thập thông tin tình báo và các kỹ
thuật liên quan.
Vì đây là thử nghiệm hộp đen, trước tiên bạn phải xác định miền, dải IP và thông tin
khác của tổ chức, sau đó xây dựng và thực hiện kế hoạch thu thập thông tin.
Kịch bản này tiếp tục trong suốt Chương 3 và được mở rộng trong cả Chương 4, “Quét
lỗ hổng bảo mật” và Chương 5, “Phân tích các bản quét lỗ hổng bảo mật”.
Footprinting & Enumeration
Bước đầu tiên trong nhiều thử nghiệm thâm nhập là thu thập thông tin về tổ chức
thông qua các phương pháp thu thập thông tin tình báo thụ động. Phương pháp
thụ động là những phương pháp không tham gia tích cực vào hệ thống, công nghệ,
hệ thống phòng thủ, con người hoặc địa điểm của tổ chức mục tiêu. Thông tin thu
thập được thông qua quá trình này thường được gọi là OSINT, hoặc thông tin
tình báo nguồn mở. Trong số các dữ liệu khác có thể được thu thập, OSINT
thường được sử dụng để xác định vị trí của tổ chức: danh sách tất cả các hệ thống,
mạng và công nghệ khác mà một tổ chức có. Tất nhiên, nếu bạn đang tiến hành
kiểm tra hộp trắng, bạn có thể đã có tất cả thông tin này trong tài liệu do tổ chức
mục tiêu cung cấp.
OSINT
OSINT bao gồm dữ liệu từ các nguồn có sẵn công khai, chẳng hạn như công
ty đăng ký DNS, tìm kiếm trên web, công cụ tìm kiếm tập trung vào bảo mật như
Shodan và Censys, và vô số nguồn thông tin khác. Nó cũng bao gồm thông tin
ngoài thông tin tổ chức lấy công nghệ làm trung tâm. Phương tiện truyền thông
xã hội, hồ sơ thuế doanh nghiệp, thông tin công khai và thậm chí thông tin được
tìm thấy trên trang web của tổ chức có thể là một phần của thu thập thông tin
tình báo nguồn mở.
Mục tiêu của quá trình thu thập OSINT là thu được thông tin cần thiết để thực
hiện kiểm tra thâm nhập hiệu quả. Vì các thử nghiệm sẽ khác nhau về phạm vi
và nguồn lực, nên một danh sách thông tin mong muốn được xây dựng cho mỗi
hoạt động tham gia. Điều đó không có nghĩa là bạn không thể làm việc từ một
danh sách chuẩn hóa, nhưng nó có nghĩa là bạn cần xem xét loại tương tác, thông
tin bạn có sẵn và thông tin bạn cần để hiểu mục tiêu của mình một cách hiệu quả.
Việc thu thập OSINT có thể tiếp tục trong suốt quá trình tham gia khi bạn phát
hiện ra thông tin bổ sung mà bạn muốn có được hoặc nếu bạn tìm thấy các mục
bổ sung trong phạm vi yêu cầu bạn thực hiện thêm nghiên cứu.
Tài nguyên cho các tiêu chuẩn Kiểm tra
Các tiêu chuẩn để kiểm tra thâm nhập thường bao gồm các quy trình và hướng dẫn
về dấu chân và do thám. Có một số tài nguyên có sẵn công khai, bao gồm Sổ tay
hướng dẫn phương pháp kiểm tra bảo mật nguồn mở (OSSTM), Kiểm tra thâm nhập
Tiêu chuẩn Thực thi, và Ấn phẩm Đặc biệt của Viện Tiêu chuẩn và Công nghệ Quốc
gia (NIST) 800-115, Hướng dẫn Kỹ thuật Kiểm tra và Đánh giá An toàn Thông tin.
■✓ OSSTM: http://www.isecom.org/research/
■✓
Penetration Testing Execution Standard: http://www.pentest-standard.org/
index.php/Main_Page
■✓ SP 800-115: http://csrc.nist.gov/publications/nistpubs/800-115/SP800-115
.pdf
Tiêu chuẩn Thực thi Kiểm tra Thâm nhập cung cấp một danh sách các mục tiêu OSINT
rất hữu ích có thể giúp bạn xây dựng một danh sách các mục tiêu OSINT tiềm năng.
Một loại trí thông minh nguồn mở khác là thông tin về các lỗ hổng bảo mật và
các lỗi bảo mật khác. Một số tổ chức làm việc để tập trung hóa kiến thức này.
NIST
Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) cung cấp các tiêu chuẩn, tài
nguyên và khuôn khổ cho an ninh mạng. Theo quan điểm của người kiểm tra
thâm nhập, SP 800-115, Hướng dẫn kỹ thuật để kiểm tra và đánh giá bảo mật
thông tin, là một tài liệu hướng dẫn quan trọng, đặc biệt nếu bạn làm việc với
chính phủ Hoa Kỳ hoặc nhà thầu chính phủ.
https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-115.pdf.
MITRE
Công ty MITRE là một tập đoàn phi lợi nhuận của Hoa Kỳ thực hiện nghiên cứu
và phát triển do liên bang tài trợ. Trong số các công cụ mà nó đã phát triển hoặc
duy trì có một số lược đồ phân loại hữu ích cho người kiểm tra thâm nhập:
■✓ Danh sách Liệt kê và Phân loại Mẫu Tấn công Chung (CAPEC) là một
nguồn tài nguyên nhằm giúp xác định và ghi lại các cuộc tấn công và các
kiểu tấn công. Nó cho phép người dùng tìm kiếm các cuộc tấn công theo cơ
chế hoặc miền của họ và sau đó chia nhỏ từng cuộc tấn công theo các thuộc
tính và điều kiện tiên quyết khác nhau. Nó cũng đề xuất các giải pháp và
giảm thiểu, có nghĩa là nó có thể hữu ích cho việc xác định các biện pháp
kiểm soát khi viết báo cáo thử nghiệm thâm nhập. Đọc qua CAPEC cũng có
thể giúp người kiểm tra xác định các phương pháp tấn công mà họ có thể đã
bỏ qua và nó cũng có thể hữu ích cho việc phát triển các cuộc tấn công mới.
CAPEC có thể được tìm thấy tại https://capec.mitre.org.
■✓ Danh sách Lỗ hổng phổ biến (CVE) xác định các lỗ hổng theo tên, số và
mô tả. Điều này làm cho công việc của một người kiểm tra thâm nhập dễ
dàng hơn, vì các nhà cung cấp, nhà phát triển khai thác và những người khác
có thể sử dụng một sơ đồ chung để chỉ các lỗ hổng. Danh sách CVE sẽ có
định dạng CVE- [YEAR] - [NUMBER]. Ví dụ: lỗi Meltdown 2017 được chỉ
định CVE-2017-5754, trong khi Spectre bị CVE-2017-5754 và CVE-2017-
5715. Bạn có thể đọc thêm tại https: //www.cve .mitre.org .
■✓ Danh sách Điểm yếu Chung (CWE) là một danh sách khác do cộng đồng
phát triển. CWE giải quyết một loạt các điểm yếu của phần mềm và phá vỡ
chúng bằng các khái niệm nghiên cứu, khái niệm phát triển và khái niệm kiến
trúc. Giống như CAPEC, nó mô tả từng điểm yếu và cách nó có thể được đưa
vào mã, nó áp dụng cho nền tảng nào và điều gì sẽ xảy ra khi có sự cố. Cũng
giống như CAPEC, nó bao gồm các đề xuất giảm thiểu. Bạn có thể đọc thêm
về CWE tại https://cwe.mitre.org.
Full Disclosure
Danh sách gửi thư Tiết lộ đầy đủ đã là một địa điểm thảo luận phổ biến cho các
nhà bảo mật trong nhiều năm, mặc dù nó đã bắt đầu chậm lại với sự ra đời của
các nguồn khác, như Twitter, để tiết lộ. Bạn vẫn có thể muốn đăng ký tại
http://seclists.org/ fulldisclosure /. Danh sách cũng tweet tại
https://twitter.com/seclists, và có nhiều danh sách khác được lưu trữ qua
http://seclists.org có thể được một nhà bảo mật quan tâm.
■ ✓ MCDS sử dụng dải IP nào cho các dịch vụ công cộng của nó?
■ ✓ Vị trí thực tế trông như thế nào, và địa chỉ của nó là gì?
■ ✓ Danh sách nhân viên và sơ đồ tổ chức của tổ chức trông như thế nào?
■ ✓ MCDS có cung cấp quyền truy cập từ xa cho nhân viên không?
■ ✓ Bạn có thể tìm thấy thông tin về nhân viên và phương tiện truyền thông xã hội
nào?
Trong phần này của chương, bạn nên xem xét cách bạn sẽ trả lời từng câu hỏi này.
Người kiểm tra thường sẽ bắt đầu bằng cách làm việc để hiểu các tòa nhà và tài
sản mà tổ chức mục tiêu sử dụng. Kiểm tra hộp đen có thể khiến việc này khó
hơn, nhưng hồ sơ công khai có thể giúp ích bằng cách cung cấp hồ sơ về quyền
sở hữu và thuế. Những hồ sơ này cung cấp cho những người liên hệ, những
người có thông tin chi tiết có thể giúp ích sau này. Thông tin vị trí thực tế thường
bao gồm thiết kế bảo mật vật lý, bao gồm vị trí của camera, lối vào và lối ra, bảo
vệ, hàng rào và các biện pháp kiểm soát an ninh vật lý khác như huy hiệu hoặc
hệ thống truy cập lối vào.
Tại thời điểm này trong quá trình thu thập thông tin, không có gì lạ khi phát hiện
ra rằng tổ chức có các địa điểm, công ty con hoặc địa điểm ở xa khác. Điều này
sẽ giúp bạn xác định một số cấu trúc của tổ chức, nhưng bạn thường sẽ cần tìm
kiếm thêm thông tin để thực sự hiểu mục tiêu được cấu trúc một cách hợp lý như
thế nào.
Điều quan trọng cần nhớ là các tài liệu điện tử hiện có thể truy cập được không
phải là tài liệu duy nhất mà bạn có thể khôi phục cho một tổ chức. Các kho lưu
trữ web như Kho lưu trữ Internet (https://archive.org) cung cấp ảnh chụp nhanh
tại thời điểm của các trang web và dữ liệu khác. Ngay cả khi các tổ chức nghĩ
rằng họ đã xóa thông tin khỏi Web, các bản sao có thể tồn tại trong Kho lưu trữ
Internet hoặc ở nơi khác, bao gồm bộ nhớ cache của công cụ tìm kiếm và các vị
trí khác.
Financial Data
Tiết lộ tài chính, thông tin thuế và các tài liệu tài chính khác có thể cung cấp
thông tin bổ sung cho những pentester có động cơ. Ủy ban Chứng khoán và Giao
dịch Hoa Kỳ cung cấp hệ thống Thu thập, Phân tích và Truy xuất Dữ liệu Điện
tử (EDGAR), một dịch vụ cho phép bạn tra cứu hồ sơ SEC. Như bạn có thể thấy
trong Hình 3.3, tìm kiếm EDGAR có thể nhanh chóng cung cấp thông tin như
địa chỉ công ty, cũng như các chi tiết khác được tìm thấy trong các hồ sơ cá nhân.
Employees
Việc tìm ra ai đang được một tổ chức tuyển dụng đôi khi có thể đơn giản như sử
dụng một danh bạ trực tuyến hoặc kiểm tra các sơ đồ tổ chức đã đăng của tổ chức
đó. Trong hầu hết các trường hợp, việc xác định nhân viên sẽ tốn nhiều công
hơn. Các kỹ thuật phổ biến bao gồm tận dụng các phương tiện truyền thông xã
hội như LinkedIn và Facebook, cũng như xem xét các địa chỉ email, ấn phẩm và
hồ sơ công khai của công ty. Các kỹ thuật xây dựng xã hội cũng có thể hữu ích,
đặc biệt khi tìm kiếm thông tin về một cá nhân hoặc nhóm cụ thể.
fIGure 3.3 SEC reporting via EDGAR
Dấu chân bên ngoài là một phần của hầu hết các hoạt động trinh sát thụ động
và nhằm thu thập thông tin về mục tiêu từ các nguồn bên ngoài. Điều đó có nghĩa
là thu thập thông tin về miền, dải IP và các tuyến đường cho tổ chức.
Domains
Tên miền do nhà đăng ký tên miền quản lý. Các tổ chức đăng ký tên miền được
công nhận bởi các tổ chức đăng ký tên miền cấp cao nhất (gTLD) chung và / hoặc
các tổ chức đăng ký tên miền cấp cao nhất (ccTLD) theo mã quốc gia. Điều này
có nghĩa là các công ty đăng ký làm việc với các công ty đăng ký tên miền để
cung cấp dịch vụ đăng ký — khả năng có được và sử dụng tên miền. Các công ty
đăng ký cung cấp giao diện giữa khách hàng và công ty đăng ký tên miền và xử
lý việc mua, thanh toán và duy trì tên miền hàng ngày, bao gồm cả việc gia hạn
đăng ký tên miền.
Hệ thống tên miền thường là một trong những điểm dừng đầu tiên khi thu thập
thông tin về một tổ chức. Thông tin DNS không chỉ được công bố công khai, nó
thường dễ dàng kết nối với tổ chức bằng cách chỉ cần kiểm tra thông tin WHOIS
về trang web của tổ chức đó. Với thông tin đó có sẵn, bạn có thể tìm kiếm các
trang web và máy chủ lưu trữ khác để thêm vào dấu ấn tổ chức của mình.
WHOIS
Quyền sở hữu và đăng ký tên miền được duy trì bởi các tổ chức đăng ký tên
miền, với mỗi tổ chức đăng ký tên miền bao gồm một phần cụ thể của thế giới.
Cơ quan trung ương là Cơ quan cấp số được ấn định trên Internet, hoặc IANA.
IANA quản lý vùng gốc DNS và do đó là nơi khởi đầu tốt cho các tìm kiếm tại
https://www.iana.org. Khi bạn biết cơ quan khu vực nào bạn nên truy vấn, bạn
có thể chọn trang web thích hợp để truy cập:
■ AFRINIC (Châu Phi): http://www.afrinic.net
■✓ APNIC (Asia/Pacific): http://www.apnic.net
■✓ ARIN (North America, parts of the Caribbean, and North Atlantic islands):
http://ws.arin.net
■✓ LACNIC (Latin America and the Caribbean): http://www.lacnic.net
■✓ RIPE (Europe, Russia, the Middle East, and parts of central Asia): http://www
.ripe.net
Mỗi NIC khu vực cung cấp một dịch vụ WHOIS. WHOIS cho phép bạn tìm
kiếm cơ sở dữ liệu của người dùng đã đăng ký tên miền và khối địa chỉ IP và có
thể cung cấp thông tin hữu ích về một tổ chức hoặc cá nhân dựa trên thông tin
đăng ký của họ. Trong truy vấn WHOIS mẫu cho Google được hiển thị trong
Hình 3.4, bạn có thể thấy rằng thông tin về Google, như vị trí trụ sở chính của
công ty, thông tin liên hệ và máy chủ định danh chính của Google, tất cả đều
được trả về bởi truy vấn WHOIS.
Ngoài ra, thông tin DNS bên ngoài cho một tổ chức được cung cấp như một
phần của thông tin WHOIS của tổ chức đó, cung cấp một nơi khởi đầu tốt cho
việc thu thập thông tin dựa trên DNS. Các máy chủ DNS bổ sung có thể được
nhận dạng như một phần của quá trình quét chủ động, thu thập thông tin thụ động
dựa trên nhật ký hoặc truy cập mạng hoặc thậm chí bằng cách xem xét tài liệu
của tổ chức.
Thông tin khác có thể được thu thập bằng cách sử dụng lệnh host trong Linux,
lệnh này sẽ cung cấp thông tin về địa chỉ IPv4 và IPv6 của hệ thống cũng như
các máy chủ email (MX) của nó, như trong Hình 3.5. Điều quan trọng cần lưu ý
là nếu bạn chạy cùng một lệnh cho www.google.com, bạn sẽ không thấy các máy
chủ email được liên kết với google.com!
Các bạn nên thay domain google.com thành megacorpone.com hay
eccouncil.org cho nhiều kết quả hơn, đây là các web mục tiêu thường được dùng
trong các tài liệu học tập của CEH hay OSCP.
Nhiều chủ sở hữu miền giảm lượng dữ liệu hiển thị sau khi miền của
họ được đăng ký một thời gian, có nghĩa là lịch sử thông tin đăng ký
miền có thể là một kho tàng thông tin chi tiết hữu ích. Các dịch vụ như
domainhistory.net và whoismind.com cung cấp chế độ xem lịch sử về
thông tin đăng ký miền do WHOIS cung cấp, có nghĩa là bạn vẫn có thể
tìm thấy thông tin đó!
Zone Transfers
Chuyển vùng DNS (AXFR) là một giao dịch nhằm mục đích sử dụng để sao chép
cơ sở dữ liệu DNS giữa các máy chủ DNS. Tất nhiên, điều này có nghĩa là thông
tin có trong chuyển vùng có thể cung cấp nhiều thông tin cho người kiểm tra
thâm nhập và hầu hết các máy chủ DNS sẽ bị vô hiệu hóa chuyển vùng hoặc
được bảo vệ tốt. Biết cách thực hiện chuyển vùng vẫn là một kỹ năng có thể hữu
ích đối với người thử bút và bạn nên biết ba cách phổ biến nhất để thực hiện:■✓
Host:
host -t axfr domain.name dns server
■✓ Dig:
dig axfr @target.nameserver.com domain.name
■✓ Nmap (using the Nmap scripting engine or NSE):
nmap –script dns-zone-transfer.nse –script-args
dns-zone-transfer.domain<domain> p53 <hosts>
Dữ liệu zone transfer sẽ hiển thị cho bạn khá nhiều thông tin bao gồm máy
chủ định danh, địa chỉ liên hệ chính, số sê-ri, thời gian giữa các lần thay đổi, thời
gian tồn tại tối thiểu cho miền, bản ghi MX, vĩ độ và kinh độ và các bản ghi
TXT khác , có thể hiển thị nhiều loại thông tin rất hữu ích. Tất nhiên, chuyển
vùng cũng sẽ chứa các bản ghi dịch vụ, ánh xạ địa chỉ IP và các thông tin khác
nữa..
Nếu bạn muốn luyện tập chuyển vùng, Robin Wood cung cấp một
miền mà bạn có thể luyện tập. Bạn có thể tìm thấy thông tin chi tiết
cũng như hướng dẫn tuyệt vời về việc chuyển vùng sẽ bao gồm những
gì, tại https://digi.ninja/projects/zonetransferme.php.
Nếu không thể chuyển vùng, thông tin DNS vẫn có thể được thu thập từ DNS
công cộng bằng bruteforce. Bạn có thể thực hiện việc này bằng cách gửi truy vấn
DNS cho từng địa chỉ IP mà tổ chức sử dụng, do đó thu thập danh sách hệ thống
hữu ích.
IP Ranges
Khi bạn biết địa chỉ IP mà hệ thống đang sử dụng, bạn có thể tra cứu thông tin
về dải IP mà hệ thống đó nằm trong đó. Điều đó có thể cung cấp thông tin về
công ty hoặc về các dịch vụ lưu trữ mà hệ thống sử dụng.
Địa chỉ IP hoặc tên máy chủ cũng có thể được sử dụng để thu thập thông tin về
cấu trúc liên kết mạng xung quanh hệ thống hoặc thiết bị có địa chỉ IP nhất định.
Một trong những điểm dừng đầu tiên khi bạn có địa chỉ IP là tìm kiếm ai sở hữu
dải IP. Bạn có thể thực hiện việc này tại các trang web như
https://www.whois.com/whois/. Nếu bạn kiểm tra địa chỉ IP cuối cùng mà chúng
ta tìm thấy trong Hình 3 .6 (52.41.111.100), bạn có thể thấy rằng nó thuộc sở
hữu của Amazon, như trong Hình 3 .7. Nếu chúng tôi đang thực hiện một thử
nghiệm thâm nhập các mạng của Netflix, thì việc quét Amazon có thể vi phạm
các quy tắc tham gia hoặc phạm vi của chúng tôi, vì vậy loại nghiên cứu và xem
xét này rất quan trọng! Hình 3.7 WHOIS của 52.41.111.100
Bây giờ chúng ta biết ai sở hữu nó, chúng ta cũng có thể khám phá tuyến
đường đến IP. Sử dụng traceroute (hoặc tracert trên hệ thống Windows), bạn có
thể thấy các gói đường dẫn đến máy chủ. Vì Internet được thiết kế để cho phép
traffic đi theo con đường tốt nhất, bạn có thể thấy nhiều đường dẫn khác nhau
trên đường đến hệ thống, nhưng bạn thường sẽ đoán rằng một vài phản hồi cuối
cùng vẫn giữ nguyên. Đây thường là các bộ định tuyến cục bộ và các thiết bị
mạng khác trong mạng của tổ chức và việc biết cách thức truy cập vào hệ thống
có thể cung cấp cho bạn thông tin chi tiết về cấu trúc liên kết mạng nội bộ của
chúng. Trong Hình 3.8, bạn có thể thấy rằng trong một quy trình theo dõi cho
www.netflix.com, một số hệ thống không phản hồi với dữ liệu tên máy chủ, như
được hiển thị bằng dấu hoa thị và các mục “yêu cầu đã hết thời gian chờ” và hai
hệ thống cuối cùng chỉ trả về IP địa chỉ.
Hình 3.8 tracert của www.netflix.com
Shodan
Shodan là một trong những công cụ tìm kiếm bảo mật phổ biến nhất và cung cấp
các tìm kiếm được tạo sẵn cũng như các danh mục tìm kiếm hệ thống điều khiển
công nghiệp, cơ sở dữ liệu và các truy vấn tìm kiếm phổ biến khác. Hình 3.9 cho
thấy kết quả từ một máy chủ được xác định bằng Shodan. Lưu ý rằng kết quả này
cho chúng ta biết rằng mục tiêu có thiết bị Cisco với mật khẩu mặc định được
kích hoạt — một cú đánh nhanh cho người kiểm tra thâm nhập!
fIGure 3.9 Shodan tracert of www.netflix.com
Censys
Giống như Shodan, Censys là một công cụ tìm kiếm theo định hướng bảo mật.
Khi bạn tìm hiểu một máy chủ lưu trữ trong Censys, bạn cũng sẽ khám phá ra
thông tin địa lý nếu nó có sẵn, bản tóm tắt toàn diện về các dịch vụ mà máy chủ
lưu trữ hiển thị và các liên kết chi tiết để biết thông tin chi tiết cao. Hình 3.10 cho
thấy cùng một máy chủ Cisco IOS được tiếp xúc mà chúng ta đã thấy trong Hình
3.9, lần này là từ một cái nhìn rộng hơn.
fIGure 3.10 Censys Tracert of www.netflix.com
Các công cụ tìm kiếm bảo mật có thể không phải lúc nào cũng có thông tin hoàn
toàn cập nhật, vì vậy chúng không phải là câu trả lời cuối cùng cho người kiểm
tra thâm nhập, nhưng chúng là bước đầu rất hiệu quả trong việc thu thập và phân
tích thông tin thụ động. Trước khi tạo ra Shodan, Censys và các công cụ tìm kiếm
khác, việc thu thập loại dữ liệu này sẽ yêu cầu quét tích cực bởi người kiểm tra
thâm nhập. Giờ đây, người kiểm tra có thể thu thập thông tin hữu ích mà không
cần tương tác!
Hosts
Liệt kê các máy chủ trên mạng là nhiệm vụ đầu tiên mà hầu hết những người
thử nghiệm thâm nhập nghĩ đến khi họ chuẩn bị đánh giá mục tiêu. Có khá nhiều
cách khác để xác định máy chủ trên mạng và việc kết hợp nhiều phương pháp có
thể giúp đảm bảo rằng bạn không bỏ sót hệ thống. Một số cách khác để xác định
hệ thống cần lưu ý như sau:
■ ✓ Tận dụng các hệ thống quản lý trung tâm như SCCM hoặc các công cụ
khác để duy trì kho hệ thống, địa chỉ IP của chúng và các thông tin khác.
■ ✓ Nhật ký mạng và tệp cấu hình có thể cung cấp nhiều thông tin về các hệ
thống trên mạng. Nhật ký từ máy chủ DHCP có thể đặc biệt có giá trị, vì hầu hết
các mạng hiện đại phụ thuộc rất nhiều vào DHCP để cấp địa chỉ cho các hệ thống
được kết nối mạng. Nhật ký bộ định tuyến, bảng ARP và thông tin mạng khác
cũng có thể rất có giá trị.
Trong thử nghiệm hộp đen hay black-box, bạn thường sẽ không thể nhận được
loại thông tin này cho đến sau khi thử nghiệm, nếu bạn có thể nắm bắt được.
Điều đó không có nghĩa là bạn nên bỏ qua nó, và quét cổng vẫn là kỹ thuật
đầu tiên mà nhiều người thử nghiệm thâm nhập sẽ thử đầu tiên trong một lần
tương tác.
Services
Nhận dạng dịch vụ hay service fingerpringting là một trong những nhiệm vụ
phổ biến nhất mà người kiểm tra thâm nhập sẽ thực hiện trong khi tiến hành
trinh sát tích cực. Việc xác định các dịch vụ cung cấp một danh sách các mục
tiêu tiềm năng, bao gồm các dịch vụ dễ bị tấn công và những dịch vụ bạn có
thể kiểm tra bằng thông tin xác thực bạn có sẵn hoặc thậm chí chỉ để thu thập
thêm thông tin. Nhận dạng dịch vụ thường được thực hiện bằng máy quét cổng
như nmap -sV
Các công cụ quét cổng được thiết kế để gửi lưu lượng đến các hệ thống từ xa
và sau đó thu thập các phản hồi cung cấp thông tin về hệ thống và dịch vụ mà
chúng cung cấp. Do đó, việc quét cổng thường là một trong những bước đầu
tiên trong thử nghiệm thâm nhập của một tổ chức.
Mặc dù có nhiều máy quét cổng, nhưng chúng hầu như đều có một số tính
năng chung, bao gồm:
Một phần quan trọng của quá trình quét cổng là hiểu biết về các cổng và dịch
vụ phổ biến. Trong khi các cổng 0–1023 được gọi là “cổng nổi tiếng” hay well
know hoặc “cổng hệ thống”, có một số cổng cao hơn thường được quan tâm
khi tiến hành quét cổng. Các cổng từ 1024 đến 49151 là các cổng đã đăng ký
và được IANA chỉ định khi được yêu cầu. Nhiều người cũng được sử dụng tùy
tiện cho các dịch vụ. Bởi vì các cổng có thể được chỉ định theo cách thủ công,
chỉ cần giả sử rằng một dịch vụ chạy trên một cổng nhất định phù hợp với
cách sử dụng phổ biến không phải lúc nào cũng là một ý kiến hay. Đặc biệt,
nhiều máy chủ SSH và HTTP / HTTPS được chạy trên các cổng thay thế, để
cho phép nhiều dịch vụ web có các cổng duy nhất hoặc để tránh việc quét cổng
chỉ nhắm mục tiêu đến cổng bình thường của chúng.
Bạn nên ghi nhớ Bảng 3.1 cũng như các cổng thông dụng dành cho hệ
điều hành. Ví dụ: bạn sẽ có thể xác định một hệ thống có các cổng TCP
139, 445 và 3389 đều đang mở như là chỉ báo của hệ thống Windows.
Oracle database
1521 TCP
listener
Lưu ý, đôi khi tiến trình này khá khó khăn nhưng nhiều lúc thì đơn giãn. Như
khi tôi xác định phiên bản samba trên mục tiêu kioptrix L1 thì nmap hay
enum4linux không xác định được, ngay cả khi kết nối vào với rcpclient cũng vậy
nhưng phần bổ trợ của metasploit thì lại dò ra nhanh chóng. Như vậy, trong các
tình huống này các bạn nên sử dụng các ứng dụng chặn bắt gói tin hay phân tích
giao thức như Wireshark để phân tích thêm, sẽ thấy nhiều thông tin giá trị.
Các mục tiêu của kỳ thi PenTest + chứa toàn bộ tiểu mục (4.1) về việc sử dụng
Nmap trong các tình huống thu thập thông tin. Nmap là trình quét lỗ hổng dòng
lệnh được sử dụng phổ biến nhất và là một công cụ mã nguồn mở, miễn phí.
Nmap cung cấp một loạt các khả năng, bao gồm nhiều chế độ quét nhằm mục
đích vượt qua tường lửa và các thiết bị bảo vệ mạng khác. Ngoài ra, nó còn hỗ
trợ lấy dấu vân tay hệ điều hành, nhận dạng dịch vụ và nhiều khả năng khác.
Việc sử dụng chức năng cơ bản của Nmap khá đơn giản. Hệ thống quét cổng chỉ
yêu cầu rằng Nmap được cài đặt và bạn cung cấp tên máy chủ hoặc địa chỉ IP
của hệ thống đích. Hình 3.12 cho thấy một Nmap của hệ thống Windows 10 đã
tắt tường lửa. Một loạt các cổng thông dụng của Microsoft được hiển thị, khi
Nmap quét 1.000 cổng được sử dụng phổ biến nhất như một phần của quá trình
quét mặc định của nó.
Quá trình quét Nmap điển hình hơn có thể bao gồm một số cờ dòng lệnh của
Nmap:
■ ✓ Một kỹ thuật quét, như TCP SYN, Connect, ACK hoặc các phương pháp
khác. Theo mặc định, Nmap sử dụng quét TCP SYN (-sS), cho phép quét
nhanh có xu hướng hoạt động qua hầu hết các tường lửa. Ngoài ra, chỉ gửi
một SYN (và nhận một SYN / ACK) có nghĩa là kết nối TCP chưa được thiết
lập đầy đủ. Kết nối TCP (đôi khi được gọi là “kết nối đầy đủ”) quét (-sT)
hoàn tất quá trình bắt tay ba chiều TCP và thường được sử dụng khi tài khoản
người dùng sử dụng Nmap không có các đặc quyền cần thiết để tạo các gói
thô— một sự cố thường xảy ra đối với người kiểm tra thâm nhập người có
thể chưa đạt được tài khoản đặc quyền trong quá trình kiểm tra. Cờ kỹ thuật
quét phổ biến cuối cùng là cờ -sU, được sử dụng để tiến hành quét chỉ UDP.
Nếu bạn chỉ cần quét các cổng UDP, cờ này cho phép bạn làm như vậy.
Nmap cung cấp vô số tính năng và nhiều cờ. Bạn sẽ cần biết khá nhiều
điều phổ biến, cũng như cách một dòng lệnh Nmap điển hình được xây
dựng, cho kỳ thi. Đảm bảo bạn thực hành nhiều kiểu quét và hiểu kết
quả của chúng trông như thế nào và chúng khác nhau như thế nào.
■✓ Dải cổng, chỉ định cổng hoặc bao gồm toàn bộ dải 1–65535.
■ ✓ Phát hiện phiên bản dịch vụ bằng cờ –sV.
■ ✓ Phát hiện hệ điều hành bằng cờ –O.
■ ✓ Tắt Ping bằng cờ -Pn.
■ ✓ Mức độ tích cực của quá trình quét thông qua cờ thời gian -T. Cờ thời gian
có thể được đặt bằng cách sử dụng giá trị số từ 0 đến 5 hoặc thông qua tên đại
diện văn bản của cờ. Nếu bạn sử dụng một số, 0 sẽ quét cực kỳ chậm, trong khi
5 là một quá trình quét rất nhanh. Biểu diễn văn bản của những lá cờ này, theo
thứ tự, là hoang tưởng | lén lút | lịch sự | bình thường | hung hăng | điên rồ. Một
số người kiểm tra sẽ sử dụng cài đặt hoang tưởng hoặc lén lút để cố gắng tránh
hệ thống phát hiện xâm nhập hoặc để tránh sử dụng băng thông. Như bạn có thể
nghi ngờ, -T3, hoặc bình thường, là tốc độ mặc định để quét Nmap.
■ ✓ Đầu vào từ tệp đích bằng -IL.
■ ✓ Xuất ra nhiều định dạng. Bạn sẽ muốn làm quen với cờ đầu ra XML -oX,
chế độ xuất - oN “bình thường” và thậm chí cả định dạng -oG có thể tìm kiếm
được (có thể tìm kiếm) lỗi thời mà XML đã gần như thay thế hoàn toàn. Tệp -oA,
hoặc chế độ xuất “tất cả”, chấp nhận một tên tệp cơ sở và xuất ra tất cả các định
dạng bình thường, XML và greppable cùng lúc như basename.nmap,
basename.xml và basename.gmap. Nếu bạn sử dụng nhiều công cụ để giao diện
với kết quả Nmap của mình, đây có thể là một tùy chọn rất hữu ích!
Hình 3.12 cho thấy một bản quét mặc định mẫu của hệ thống Windows khi tường
vây bị tắt. Có một số dịch vụ bổ sung đang chạy trên hệ thống ngoài các dịch vụ
Windows điển hình, nhưng chúng tôi có thể nhanh chóng xác định các cổng 135,
139 và 445 là các dịch vụ Windows điển hình.
fIGure 3.12 Nmap output of a Windows 10 system
Active Reconnaissance and Enumeration 27
N map cũng có giao diện người dùng đồ họa chính thức, được gọi là
Zenmap, cung cấp khả năng trực quan hóa bổ sung, bao gồm chế độ
xem cấu trúc liên kết cung cấp thông tin về cách các máy chủ phù hợp
với mạng.
Việc sử dụng Nmap là một phần quan trọng của hầu hết mọi thử nghiệm thâm
nhập. Điều đó có nghĩa là bạn có thể đọc dòng lệnh Nmap và xác định những gì
đang xảy ra. Ví dụ: một dòng lệnh điển hình có thể trông như thế này:
nmap -sT -sV -Pn -p 1-65435 -T2 -oA scanme scanme.nmap.org
Để hiểu lệnh này sẽ làm gì, bạn sẽ cần hiểu từng lệnh fl và cách dòng lệnh
được xây dựng. Từ trái sang phải, chúng tôi thấy rằng đây là quét kết nối TCP (-
sT), chúng tôi đang cố gắng xác định các dịch vụ (-sV), rằng nó sẽ không gửi
một ping (-Pn), rằng nó đang quét một cổng phạm vi từ 1–65435 bằng cách sử
dụng -p lựa chọn cổng fl ag, thời gian chậm hơn bình thường với -T2 fl ag và
cuối cùng quá trình quét này sẽ gửi đầu ra của nó tới fi les được gọi là
scanme.nmap, scanme.xml, và scanme.gmap khi hoàn tất. Phần cuối cùng của
lệnh là tên máy chủ của mục tiêu: scanme.nmap.org.
https://www.youtube.com/watch?v=g7PBp8Ix2Zg
https://www.youtube.com/watch?v=tmUzhgT49qM
hay một bài mở rộng của chương trình PreOSCP như sau
https://www.youtube.com/watch?v=BB-H-nw7IY0
Nếu bạn đọc kỹ dòng lệnh đó, bạn có thể lưu ý rằng đặc điểm kỹ thuật
cổng không thực sự bao gồm tất cả 65.535 cổng — trên thực tế, chúng
tôi đã chỉ định 65.435! Lỗi chính tả và lỗi xảy ra và bạn nên chuẩn bị để
xác định loại vấn đề này trong các câu hỏi về quét cổng và lỗ hổng bảo
mật.
Nếu bạn muốn thực hành các kỹ thuật Nmap của mình, bạn có thể sử dụng
scanme.nmap.org làm mục tiêu quét. Những người cung cấp dịch vụ yêu cầu bạn
sử dụng nó để quét thử nghiệm và bạn không đánh họ lạm dụng hoặc sử dụng
nhiều. Bạn cũng có thể muốn thiết lập các mục tiêu quét khác bằng các công cụ
như máy ảo Rapid 7’s Metasploitable (https: //information.rapid7 .com /
metasploitable-download.html), cung cấp nhiều dịch vụ thú vị để quét và khai
thác.
Hãy download các máy ảo tại khu vực vLab dành cho Pentest + và chạy lab
trên Vmware như hướng dẫn sau đây
https://www.youtube.com/watch?v=MKe88wm0C2A
Một thành viên trong nhóm của bạn đề xuất chạy quét nmap sau đối với phạm vi
mạng của khách hàng từ các máy trạm thử nghiệm của bạn:
nmap -sT -T0 10.11.42.0/23
Đảm bảo bạn có thể trả lời các câu hỏi sau:
■ ✓ Nếu dải IP của tổ chức khách hàng là 10.11.42.0/24, lệnh này sẽ làm gì?
■ ✓ Bạn khuyên bạn nên sử dụng phương thức nào để xác định các dịch vụ và hệ
điều hành được tìm thấy trong quá trình quét đó?
■ ✓ Quét kết nối TCP có phải là lựa chọn chính xác không, và tại sao?
■ ✓ Các cổng nào sẽ ra lệnh mà thành viên trong nhóm của bạn đề xuất quét, và điều
này có thể có ý nghĩa gì đối với thử nghiệm thâm nhập của bạn?
■ ✓ Bạn có thể thực hiện những cải tiến nào khác cho quá trình quét này?
Active Reconnaissance and Enumeration 29
Network Topology
Hiểu cấu trúc liên kết hoặc bố cục của mạng giúp người kiểm tra thâm nhập thiết
kế quy trình quét và tấn công của họ. Bản đồ cấu trúc liên kết có thể cung cấp
thông tin về những hệ thống và thiết bị nào có thể có thể truy cập được, do đó
giúp bạn đưa ra quyết định về thời điểm xoay vòng đến một mục tiêu khác để
vượt qua các kiểm soát bảo mật. Sơ đồ cấu trúc liên kết có thể được tạo bằng các
công cụ như Zenmap GUI cho Nmap cũng như các chương trình ánh xạ cấu trúc
liên kết mạng được xây dựng có mục đích. Mặc dù sơ đồ cấu trúc liên kết Zenmap
như trong Hình 3.13 không phải lúc nào cũng hoàn toàn chính xác, nhưng chúng
có thể rất hữu ích khi bạn đang cố gắng hình dung một mạng.
Sử dụng dữ liệu quét để tạo sơ đồ tôpô có một số hạn chế. Vì bạn đang
sử dụng thông tin thời gian tồn tại và phản hồi đối với các lần quét để
xác định mạng trông như thế nào, tường lửa và các thiết bị mạng khác
có thể có nghĩa là cấu trúc liên kết của bạn sẽ không khớp với thực tế.
Luôn nhớ rằng quét Nmap sẽ chỉ hiển thị cho bạn các máy chủ phản hồi
và các máy chủ và mạng khác có thể tồn tại!
Điều đáng chú ý là một số tổ chức sử dụng mạng không dây không phải WiFi,
bao gồm truyền thông Bluetooth, giao thức độc quyền và các phương thức liên
lạc khác dựa trên RF (tần số vô tuyến). Như bạn có thể tưởng tượng, Bluetooth
là cách triển khai không dây không phải WiFi phổ biến nhất mà hầu hết những
người thử nghiệm thâm nhập gặp phải và phạm vi ngắn của nó có thể khiến bạn
khó đánh chặn mà không đến gần mục tiêu của bạn. May mắn thay, Bluetooth
thường tương đối không an toàn, giúp việc thu thập thông tin dễ dàng hơn nếu
bạn có thể nằm trong phạm vi phủ sóng hoặc có quyền truy cập vào hệ thống có
thể cung cấp quyền truy cập đó.
Nếu khách hàng hoặc mục tiêu của bạn sử dụng phương thức giao tiếp ngoài
những phương thức thường nằm trong phạm vi kiểm tra thâm nhập, như mạng
Ethernet và mạng WiFi, bạn sẽ cần đảm bảo rằng mình có các công cụ, phần
Active Reconnaissance and Enumeration 31
mềm và kiến thức phù hợp để nắm bắt và diễn giải lưu lượng truy cập đó, và lưu
lượng truy cập đó ở trong hoặc ngoài phạm vi nếu thích hợp.
SNMP Sweeps
Một phương pháp khác để thu thập thông tin về các thiết bị mạng là tiến hành
quét SNMP. Điều này thường yêu cầu quyền truy cập nội bộ vào một mạng và
do đó có thể không nằm trong vòng đầu tiên của các hoạt động do thám tích cực
của bạn, nhưng nó có thể rất có giá trị khi bạn đã thâm nhập được vào hệ thống
phòng thủ bên ngoài của một tổ chức.
Tiến hành quét SNMP trong hầu hết các mạng yêu cầu bạn phải có được chuỗi
cộng đồng được các thiết bị mạng sử dụng và việc thiếu phản hồi từ hệ thống
không có nghĩa là không có hệ thống tại địa chỉ IP đó. Trên thực tế, có bốn lý do
có thể xảy ra khiến việc thiếu phản hồi có thể xảy ra: bạn có thể có chuỗi cộng
đồng sai, hệ thống có thể không truy cập được (tường thuật lại hoặc tắt), dịch vụ
máy chủ SNMP có thể không chạy hoặc thực tế là SNMP sử dụng UDP đang
chống lại bạn và chưa nhận được phản hồi — và có thể không bao giờ nhận được!
Không có điều này có nghĩa là bạn không nên thử quét SNMP của mạng để
thu thập thông tin. Nó chỉ đơn giản có nghĩa là bạn có thể cần chuẩn bị nhiều hơn
trước khi sử dụng một công cụ quét. Khi bạn có thông tin mình cần, quét SNMP
có thể giúp cải thiện đáng kể bản đồ cấu trúc mạng và khám phá thiết bị của bạn.
Trong ví dụ này, hping sẽ gửi các gói SYN đến targetite.com trên cổng TCP
8080 và cung cấp đầu ra dài dòng. Mặc dù bạn có thể không phải lúc nào cũng
biết fl ags mà một lệnh sử dụng, nhưng bạn có thể đoán được nhiều fl ags — một
mẹo hữu ích để ghi nhớ cho kỳ thi! Ngoài hping, các công cụ phổ biến khác bao
gồm Scapy, Yersina và thậm chí là NETCAT, nhưng hầu hết những người kiểm
tra thâm nhập có thể bắt đầu với hping để sử dụng hàng ngày.
Sau đây là một minh họa về hping 3 tiến hành DOS mục tiêu
https://www.youtube.com/watch?v=Bk71gNU5NtY
Việc nắm bắt gói tin có một công dụng chính khác trong quá trình
kiểm tra thâm nhập: tài liệu hướng dẫn. Nhiều người kiểm tra thâm
nhập nắm bắt hầu hết nếu không phải tất cả lưu lượng truy cập mà
họ tạo ra trong các nỗ lực kiểm tra thâm nhập của họ. Nếu có sự cố,
lưu lượng đã ghi có thể được sử dụng để ghi lại những gì đã xảy ra và
khi nào. Chụp gói cũng có thể hữu ích nếu bạn nghĩ rằng bạn đã bỏ lỡ
điều gì đó hoặc không thể nhận được phản hồi để quay lại.
Enumeration
Xây dựng danh sách các mục tiêu tiềm năng cho một thử nghiệm thâm nhập có
thể là một nhiệm vụ lớn. Nếu phạm vi và quy tắc tham gia cho phép bạn, bạn
có thể liệt kê các thiết bị mạng, hệ thống, người dùng, nhóm, lượt chia sẻ, ứng
dụng và nhiều mục tiêu khả thi khác. Trong vài trang tiếp theo, chúng ta sẽ xem
xét một số phương pháp phổ biến để liệt kê từng mục tiêu này. Khi bạn xem xét
từng loại mục tiêu, hãy nhớ rằng có cả phương pháp kỹ thuật và kỹ thuật xã hội
để có được dữ liệu này và các phương pháp kỹ thuật mà chúng tôi thảo luận ở
đây không phải là phương pháp khả thi duy nhất mà bạn có thể gặp phải.
Users
Trước đây, bạn thường có thể liệt kê người dùng từ các hệ thống Linux thông
qua các dịch vụ như fi nger và rwho. Bây giờ, việc liệt kê người dùng đòi hỏi
nhiều công việc hơn. Phương tiện phổ biến nhất để liệt kê người dùng thông
qua các dịch vụ tiếp xúc là liệt kê người dùng SMB và SNMP, nhưng khi bạn
có quyền truy cập vào hệ thống, bạn cũng có thể trực tiếp liệt kê người dùng từ
người dùng fi les, thư mục và đôi khi thông qua dịch vụ thư mục. Trong nhiều
tổ chức, tài khoản người dùng cũng giống như tài khoản email, làm cho việc
liệt kê người dùng email trở thành một kỹ thuật rất quan trọng.
Email
Thu thập các địa chỉ email hợp lệ thường xảy ra trước chiến dịch lừa đảo hoặc
hoạt động thử nghiệm thâm nhập khác. Ngoài các tùy chọn thủ công hơn,
theHarvester là một chương trình được thiết kế để thu thập email, tên nhân viên,
tên miền phụ và thông tin máy chủ lưu trữ, cũng như mở các cổng và biểu ngữ
từ các công cụ tìm kiếm (bao gồm cả Shodan) và các nguồn khác.
Như bạn có thể mong đợi, Metasploit cũng bao gồm chức năng tương tự. Một
tìm kiếm sử dụng công cụ thu thập email của Metasploit trên miền Wiley.com
(nhà xuất bản của chúng tôi) sử dụng Google và giới hạn ở 500 kết quả đã trả
về 11 địa chỉ email, 14 tên máy chủ được tìm thấy trong công cụ tìm kiếm và
một tập hợp kết quả trống cho Shodan. Thực hiện công việc tương tự theo cách
thủ công sẽ khá chậm, vì vậy sử dụng các công cụ như Metasploit và
theHarvester có thể là một cách hữu ích để nhanh chóng phát triển danh sách
mục tiêu ban đầu.
Hãy nhớ rằng loại quét này là quét thụ động từ quan điểm của mục
tiêu. Chúng tôi đang sử dụng một công cụ tìm kiếm và những địa chỉ
này được hiển thị công khai qua công cụ tìm kiếm đó. Điều đó có
nghĩa là bạn có thể chọn một công ty mà bạn quen thuộc để thực
hành thu hoạch dựa trên công cụ tìm kiếm. Chỉ cần không sử dụng
các kỹ thuật hoạt động chống lại một tổ chức mà không được phép!
Metasploit cũng bao gồm một công cụ thu hoạch, được thể hiện trong Hình
3.14. Chúng ta sẽ đi sâu hơn vào việc sử dụng Metasploit trong các chương sau,
nhưng hiện tại, bạn nên biết rằng công cụ / aid / collect / search_email_collector
cũng cung cấp một công cụ thu thập địa chỉ email dễ sử dụng.
Người kiểm tra thâm nhập cũng có thể mua danh sách địa chỉ email thương
mại, tìm kiếm trong danh sách email từ danh sách tài khoản trang web bị xâm
phạm hoặc sử dụng bất kỳ nguồn nào trong số vô số các nguồn khác cho địa chỉ
email.
Social Networking Sites
Việc liệt kê mạng xã hội tập trung vào việc xác định tất cả các tài khoản mạng
xã hội của một cá nhân hoặc tổ chức. Đôi khi chúng được nhắm mục tiêu trong
giai đoạn khai thác để tấn công mật khẩu, tấn công kỹ thuật xã hội hoặc cố gắng
tận dụng việc đặt lại mật khẩu hoặc các tài khoản bị xâm phạm khác để giành
quyền truy cập.
Groups
Nhóm có nhiều dạng, từ nhóm Active Directory trong miền AD đến các công cụ
quản lý nhóm được tích hợp trong bộ quản lý danh tính. Nhóm cũng tồn tại trong
các ứng dụng và giao diện quản lý dịch vụ. Là một người kiểm tra thâm nhập,
bạn cần phải hiểu cả những nhóm nào tồn tại và những quyền, vai trò hoặc quyền
mà chúng có thể được liên kết.
Người kiểm tra thâm nhập thường nhắm mục tiêu đến các giao diện và công cụ
quản lý nhóm vì việc thêm người dùng chưa có đặc quyền vào nhóm đặc quyền
có thể cung cấp một cách dễ dàng để đạt được các đặc quyền bổ sung mà không
cần người dùng giám sát trực tiếp.
Nếu mục tiêu của bạn hỗ trợ SNMP và bạn có chuỗi cộng đồng thích hợp, bạn
có thể sử dụng snmpwalk để liệt kê người dùng như được hiển thị bên dưới bằng
cách sử dụng công khai làm chuỗi cộng đồng và 10.0.0.1 làm máy chủ đích. Các
lệnh grep và cut mà đầu ra snmpwalk được đưa vào sẽ cung cấp cho người dùng
thông tin từ đầu ra snmpwalk tổng thể.
snmpwalk public -v1 10.0.0.1 1 | grep 77.1.2.25 | cut -d "" -f4
Người dùng Samba cũng có thể được thu thập bằng cách sử dụng một công
cụ như samrdump (https://github.com/ CoreSecurity / impacket / blob /
impacket_0_9_15 /amples / samrdump.py), giao diện này giao tiếp với Giao
diện từ xa của Trình quản lý tài khoản bảo mật để liệt kê các tài khoản người
dùng và chia sẻ .
Thư viện Core Security’s Impacket Python cung cấp khá nhiều công
cụ hữu ích cho người kiểm tra thâm nhập, bao gồm các công cụ SMB,
khả năng xác thực NTLM và Kerberos và một loạt các công cụ hữu ích
khác. Bạn có thể tìm thấy một danh sách với các mô tả tại
https://www.coresecurity.com/corelabs-research/ open-source-
tools/impacket.
Relationships
Hiểu được mối quan hệ của những người dùng với nhau có thể rất hữu ích khi
cố gắng hiểu một tổ chức. May mắn thay, các công cụ như công cụ MIT Media
Lab’s Immersion (https://immersion.media.mit.edu/) có thể giúp bạn xác định
người dùng nào thường xuyên kết nối với người khác. Các công cụ trực quan
hóa mối quan hệ khác đang bắt đầu trở nên phổ biến rộng rãi, giúp các kỹ thuật
dữ liệu lớn có thể tiếp cận được với những người kiểm tra thâm nhập.
Shares
Việc liệt kê các cổ phiếu Samba (SMB) tìm cách tìm kiếm tất cả các cổ phiếu
có sẵn, có thể đọc và ghi được, cũng như bất kỳ thông tin bổ sung nào về các
cổ phiếu có thể được thu thập. Máy quét SMB được tích hợp trong nhiều công
cụ quét lỗ hổng bảo mật và cũng có những máy quét SMB có mục đích như
SMBMap. Nmap cũng bao gồm các tập lệnh smb-enum-shared và smb-
enumusers NSE.
Để hiểu rõ hơn về enumeration các bạn tham khảo bài trình bày tổng quát sau
đây
https://www.youtube.com/watch?v=oiTi8-wYOXM
Web Pages and Servers
Các trang web và máy chủ có thể được thu thập thông tin và liệt kê bằng nhiều
công cụ khác nhau. Các công cụ đánh giá ứng dụng web chuyên dụng như w3af,
Burp Suite và nhiều công cụ khác có thể làm cho việc này dễ dàng hơn khi bạn
có máy chủ web nhận dạng.
Nhiều thiết bị cung cấp giao diện web nhúng, vì vậy bạn có thể tìm kiếm vô số
máy chủ web trong quá trình quét đang hoạt động của một tổ chức lớn hơn. Một
trong những nhiệm vụ đầu tiên mà người kiểm tra thâm nhập phải thực hiện là
thu hẹp danh sách mục tiêu thành một tập hợp các mục tiêu ban đầu hữu ích. Để
làm điều này, nó sẽ giúp bạn hiểu các ứng dụng và trang web mà máy chủ có
thể đang lưu trữ và xác định chúng để có đủ thông tin để làm như vậy.
Applications
Việc liệt kê tất cả các ứng dụng của một tổ chức có thể là một thách thức, đặc
biệt là trong một môi trường an toàn. Thông thường, người kiểm tra thâm nhập
chỉ có thể kết nối với các ứng dụng công khai trong giai đoạn đầu của kiểm tra
thâm nhập và sau đó phải liên tục đánh giá lại những ứng dụng và dịch vụ nào
có thể có thể truy cập được khi họ thâm nhập sâu hơn vào tổ chức. Điều này
xảy ra ở mỗi giai đoạn của quá trình liệt kê ứng dụng.
Fingerprinting
Đánh giá ứng dụng dựa trên việc biết thông tin về ứng dụng, chẳng hạn như tên,
số phiên bản, máy chủ web cơ bản và ngăn xếp ứng dụng, hệ điều hành máy
chủ lưu trữ và bất kỳ chi tiết nào khác có thể thu thập được. Thông tin này đôi
khi được biết đến như một dấu ấn tài chính. Các ứng dụng lấy dấu vân tay
thường bắt đầu bằng lấy biểu ngữ. May mắn thay, NETCAT đã hoàn thành
nhiệm vụ. Trong hình 3.15, chúng tôi kết nối với một máy chủ từ xa bằng cách
sử dụng NETCAT và sau đó đưa ra lệnh HTTP GET để truy xuất thông tin biểu
ngữ. Điều này cho chúng ta biết rằng máy chủ từ xa đang chạy Apache 2.2.8
Các mục tiêu của kỳ thi PenTest + đề cập đến việc liệt kê mã thông
báo, nhưng việc nắm bắt và sử dụng mã thông báo thường phù hợp
hơn với các hoạt động khai thác. Các mã thông báo, bao gồm mã
thông báo phiên cho các tài khoản đặc quyền trong Windows,
thường được sử dụng sau khi tài khoản dịch vụ bị xâm phạm. Để có
ví dụ hoàn chỉnh về tình huống sử dụng thao tác mã thông báo, bạn
có thể đọc thêm tại https://pentestlab.blog/tag/token-
manipulation/ và như một phần của khả năng khai thác của
Metasploit tại
https://www.offensive-security.com/metasploit-unleashed/ fun-
incognito/.
Bạn có thể xem lại mã như thế này trong Chương 11, nơi chúng ta
thảo luận về kịch bản để kiểm tra thâm nhập.
Decompilation
Mã đã biên dịch, chẳng hạn như mã được tìm thấy trong nhiều chương trình
nhị phân, yêu cầu một bước khác trước khi bạn có thể xem lại. Điều đó có nghĩa
là bạn sẽ cần một trình dịch ngược, trình này sẽ tách mã đã biên dịch ra và cung
cấp mã nguồn có thể đọc được. Các trình biên dịch tồn tại cho nhiều ngôn ngữ
lập trình phổ biến, vì vậy bạn sẽ cần xác định nhu cầu cụ thể của mình trước khi
kết hợp nó với một công cụ thích hợp.
Một phím tắt có thể cung cấp một số thông tin hữu ích mà không cần dịch ngược
là sử dụng tiện ích chuỗi Linux, tiện ích này khôi phục các chuỗi văn bản từ mã
đã biên dịch. Các chuỗi thường hữu ích trong quá trình phân tích phần mềm độc
hại sau khi phần mềm độc hại đã được giải mã từ các phương pháp đóng gói
khác nhau để cố gắng làm xáo trộn mã, nhưng đối với hầu hết các mã nhị phân
đã biên dịch phổ biến, bạn có thể chỉ cần chạy các chuỗi dựa trên fi le để thu
thập thông tin. Hình 3.16 cho thấy một phần đầu ra của chuỗi cho NETCAT.
Nếu bạn muốn thử cùng một lệnh, bạn có thể nhập nc trong / bin / nc trên Kali
Linux..
fIGure 3.16 Excerpt of strings run on the NETCAT binary
Debugging
Nếu bạn có mã nguồn của một chương trình, bạn cũng có thể sử dụng trình gỡ
lỗi để xem lại nó. Cũng như với quá trình biên dịch ngược, bạn không có khả
năng giải quyết nhiều công việc với trình gỡ lỗi trong giai đoạn đầu, nhưng đề
cương kỳ thi PenTest + bao gồm nó trong các kỹ thuật thu thập thông tin vì
phân tích mã nguồn là phương tiện phổ biến để thu thập thông tin bổ sung và
trình gỡ lỗi có thể mở chương trình và cho phép bạn xem lại chúng có thể rất
hữu ích. May mắn thay, trình gỡ lỗi được xây dựng trong cùng các công cụ mà
bạn có thể sử dụng để xem xét mã thủ công, như Eclipse, Visual Studio và các
môi trường phát triển tích hợp khác (IDE).
Các mục tiêu của kỳ thi PenTest + không bao gồm phân tích mã thủ
công trong mục tiêu Thu thập thông tin và Xác định lỗ hổng bảo mật,
nhưng việc xem xét các tập lệnh, HTML và các ví dụ về mã khác là
một phần của mục tiêu tổng thể của kỳ thi. Hãy nhớ rằng bạn có thể
thu thập thông tin hữu ích từ hầu hết mọi dữ liệu mà bạn thu thập
từ mục tiêu, bao gồm các tập lệnh và mã.
Summary
Thu thập thông tin về một tổ chức là rất quan trọng đối với các thử nghiệm
thâm nhập. Người kiểm tra thường sẽ được yêu cầu xác định tên miền, máy chủ
lưu trữ, người dùng, dịch vụ và vô số yếu tố khác để cung cấp thành công các
thử nghiệm hộp đen và xám hoàn chỉnh.
Thông minh nguồn mở (OSINT) là thông tin có thể được thu thập từ các
nguồn của bên thứ ba mà không cần tương tác với hệ thống và mạng của mục
tiêu. OSINT có thể được thu thập thông qua tìm kiếm, thu thập và xem xét siêu
dữ liệu từ các tài liệu và các tài liệu khác có sẵn công khai, xem xét các nguồn
thông tin của bên thứ ba như hồ sơ và cơ sở dữ liệu công khai, và thông qua
việc sử dụng các tài nguyên bổ sung, như phương tiện truyền thông xã hội.
Dấu chân hoạt động yêu cầu trình kiểm tra thâm nhập tương tác với các hệ
thống, mạng và dịch vụ mục tiêu. Trong khi quét cổng là một yếu tố quan trọng
của dấu chân tích cực, nhiều kỹ thuật khác cũng có thể được sử dụng, từ liệt kê
tích cực người dùng và thiết bị mạng thông qua quét và truy vấn đến tương tác
với các dịch vụ để xác định khả năng của họ.
Việc thu thập thông tin cung cấp nền tảng cho mỗi giai đoạn kế tiếp của thử
nghiệm thâm nhập và sẽ tiếp tục trong suốt quá trình thử nghiệm. Một người
kiểm tra thâm nhập thành công cần phải có khả năng xây dựng một kế hoạch
thu thập thông tin toàn diện để nhận biết nơi mỗi kỹ thuật và công cụ có thể
được sử dụng một cách thích hợp. Họ cũng phải biết các công cụ phổ biến và
cách thức và thời điểm sử dụng chúng cũng như cách diễn giải kết quả đầu ra
của chúng.