You are on page 1of 53

Chương 3: Thu thập thông tin

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.

Kịch bản, phần 1: kế hoạch quét lỗ hổng bảo mật


Gần đây, bạn đã tham gia thực hiện một thử nghiệm thâm nhập hộp đen
chống lại MCDS, LLC. Bạn đã tìm ra phạm vi công việc và quy tắc tham gia và
biết rằng cam kết của bạn bao gồm trang web của tổ chức và các dịch vụ có
thể truy cập bên ngoài, cũng như tất cả các hệ thống trên cả mạng có dây và
không dây tại địa điểm trụ sở chính của họ. Các nhà cung cấp, dịch vụ và địa
điểm bên thứ ba không được bao gồm trong phạm vi của thử nghiệm.

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”.

Chương 3: Thu thập thông tin Page 2 of 53


3

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.

Chương 3: Thu thập thông tin Page 4 of 53


5
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.

Computer Emergency Response Teams


(CERTs)
Mục tiêu kỳ thi PenTest + đề cập đến CERT (Đội Ứng cứu Khẩn
cấp Máy tính); tuy nhiên-bạn nên biết một số nhóm CERT.
Carnegie Mellon
Viện Kỹ thuật Phần mềm Đại học bao gồm CERT gốc như một
trong các bộ phận của nó (www.cert.org). CERT giải quyết một loạt
các hoạt động an ninh mạng, bao gồm cả lĩnh vực trọng tâm ứng
phó sự cố ban đầu của nó. US-CERT, cũng như các nhóm sẵn sàng
khẩn cấp máy tính khu vực, quốc gia và ngành cụ thể khác, cũng
cung cấp các cảnh báo về tin tức bảo mật vi phạm, các mối đe dọa
và các vấn đề đang diễn ra khác. Mỗi tổ chức CERT này cũng cung
cấp nhiều loại ấn phẩm và đóng vai trò như một trung tâm chia sẻ
thông tin. Trang web của US-CERT là https://www.us-cert.gov/ và
bạn có thể tìm hiểu nhiều người khác trên khắp thế giới tại
https://www.sei.cmu.edu/education-outreach/computer-security- sự
cố phản hồi-đội / national-csirts / index.cfm.

N IST
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ủ.
Bạn có thể đọc tất cả SP 800-115 tại

https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication8
00-115.pdf.

MITRE
Công ty MITER 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 và Phơi nhiễm (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

Chương 3: Thu thập thông tin Page 6 of 53


7
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.

Internet Storm Center (ISC) and the SANS


Pen-Testing Blog
SANS Internet Storm Center thúc đẩy những người xử lý hàng
ngày xuất bản nhật ký về các chủ đề bảo mật và các vấn đề hiện tại,
cũng như podcast và thông tin khác. Giống như các trang CERT,
ISC là một cơ sở thanh toán cho các sự kiện và thông tin bảo mật.
SANS cũng điều hành một blog kiểm tra thâm nhập được cập nhật
thường xuyên tại https://pen-testing.sans.org/blog/pen-testing.
scenario part 2: scoping the penetration Test
kịch bản phần 2: Phạm vi kiểm tra thâm nhập
Để xác định phạm vi kiểm tra thâm nhập mà bạn đang thực hiện cho MCDS,
bạn cần xác định các mục sau:

■ ✓ MCDS sở hữu những tên miền nào?

■ ✓ MCDS sử dụng dải IP nào cho các dịch vụ công cộng của nó?

■ ✓ Bạn có thể thu thập những địa chỉ email nào?


Ngoài ra, bạn sẽ có thể trả lời các câu hỏi sau:

■ ✓ 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?

■ ✓ Bạn có thể thu thập siêu dữ liệu tài liệu nào?

■ ✓ MCDS sử dụng công nghệ và nền tảng 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.

Location and Organizational Data


Dữ liệu vị trí và tổ chức
Mặc dù những người kiểm tra thâm nhập có thể bị cám dỗ chỉ đơn
giản là xem xét các mạng và hệ thống mà một tổ chức sử dụng làm
mục tiêu, một số kiểm tra thâm nhập yêu cầu kiểm tra tại chỗ. Điều

Chương 3: Thu thập thông tin Page 8 of 53


9
đó có thể diễn ra dưới hình thức tham gia kỹ thuật xã hội hoặc kiểm
tra kiểm soát an ninh trực tiếp, thâm nhập mạng không dây hoặc có
dây, hoặc thậm chí lặn biển để xem loại hồ sơ giấy và thông tin
khác mà người kiểm tra có thể khôi phục. Mỗi hoạt động đó có
nghĩa là người kiểm tra có thể cần biết thêm về các vị trí thực tế và
hệ thống phòng thủ mà mục tiêu có.
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ế bổ sung mà
người thử nghiệm sẽ tìm kiếm 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.

Electronic Documents (Tài liệu điện tử)


Tài liệu điện tử thường có thể giúp bạn hiểu cách tổ chức được
cấu trúc. Họ cũng có thể cung cấp nhiều thông tin khác nhau, từ
các công nghệ được sử dụng đến tên và địa chỉ email của nhân
viên, cũng như các quy trình và thực hành nội bộ. Ngoài thông tin
có trong tài liệu, nhiều người kiểm tra thâm nhập cũng sẽ xem xét
cẩn thận siêu dữ liệu tài liệu để xác định thêm thông tin hữu ích.
Các công cụ như ExifTool được thiết kế để cho phép bạn xem
siêu dữ liệu tài liệu một cách nhanh chóng và dễ dàng, như trong
Hình 3.1, hiển thị siêu dữ liệu từ một bức ảnh được chụp bằng
điện thoại
F I GURE 3 .1 ExifTool metadata with location

Ngoài các công cụ như ExifTool vượt trội trong việc hiển thị siêu dữ
liệu cho các tệp riêng lẻ, có thể sử dụng các công cụ quét siêu dữ
liệu như Tổ chức lấy dấu vân tay với kho lưu trữ được thu thập
(FOCA) để tìm siêu dữ liệu. FOCA quét bằng công cụ tìm kiếm —
Google, Bing hoặc DuckDuckGo — và sau đó biên dịch thông tin
siêu dữ liệu từ các tệp như tài liệu Microsoft Office, tệp PDF và các
loại tệp khác như tệp SVG và InDesign. Hình 3.2 cho thấy FOCA
thu thập thông tin máy chủ. Sau khi máy chủ được xác định, siêu dữ
liệu, bao gồm thông tin chi tiết về người dùng, thư mục, phần mềm,
email, hệ điều hành, mật khẩu và máy chủ, có thể được thu thập tự
động.
fIGure 3.2 FOCA metadata acquisition

Chương 3: Thu thập thông tin Page 10 of 53


11

Tệp Microsoft Office, PDF và nhiều loại tệp kinh doanh phổ biến
khác bao gồm siêu dữ liệu có thể hữu ích, từ tác giả và ngày / giờ
tạo cho đến phiên bản phần mềm. Trong nhiều trường hợp, siêu dữ
liệu của một tệp có thể hữu ích, hoặc hơn thế, hơn là văn bản thực tế
hoặc dữ liệu khác của nó!
Đ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 người thử nghiệm bút 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

Chương 3: Thu thập thông tin Page 12 of 53


13

Infrastructure and Networks


Thông tin về cơ sở hạ tầng, công nghệ và mạng mà một tổ chức
sử dụng thường là một trong những điều đầu tiên mà người kiểm tra
thâm nhập sẽ thu thập trong một cuộc tìm kiếm thông tin thụ động.
Khi bạn đã hiểu rõ về mục tiêu, bạn có thể thiết kế giai đoạn tiếp
theo của thử nghiệm thâm nhập của mình.

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
Chương 3: Thu thập thông tin Page 14 of 53
15
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!

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à thông tin
đăng ký miền lịch sử 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
đó!

fIGure 3.4 WHOIS query data for google.com


fIGure 3.5 Host command response for google.com

DNS and Traceroute Information


DNS chuyển đổi các tên miền như google.com thành địa chỉ IP và
địa chỉ IP thành tên miền. Lệnh cho việc này trên các hệ thống
Windows, Linux và MacOS là Nslookup.

Chương 3: Thu thập thông tin Page 16 of 53


17
Hình 3.6 cho thấy kết quả của một Nslookup cho netflix.com.
Giống như nhiều trang web lớn, Netflix sử dụng mạng phân phối
nội dung, có nghĩa là việc tìm kiếm www.netflix.com phân giải cho
nhiều máy chủ. Cơ sở hạ tầng của Netflix đủ thông minh để hướng
bản tra cứu này đến một khu vực Hoa Kỳ dựa trên nơi Nslookup
được chạy. Nếu bạn chạy cùng một lệnh ở một nơi khác trên thế
giới, bạn có thể thấy một câu trả lời khác!
fIGure 3.6 Nslookup for netflix.com

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>
A zone transfer sẽ hiển thị cho bạn khá nhiều dữ liệu, 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, máy
chủ định danh, vĩ độ và kinh độ và các bản ghi TXT khác , có thể
hiển thị nhiều loại thông tin 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 bạo lực. 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.

Chương 3: Thu thập thông tin Page 18 of 53


19

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 Netfl ix, 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 traffi c đ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ỉ.
fIGure 3.8 tracert of www.netflix.com

Routes
Loại thông tin mạng cuối cùng mà bạn có thể tìm kiếm là thông tin
định tuyến. Thông tin định tuyến cho một tổ chức có thể cung cấp
thông tin chi tiết về cách thiết lập kết nối mạng bên ngoài của họ.
Máy chủ thông tin tuyến đường BGP công cộng được gọi là kính
nhìn BGP giúp thông tin đó dễ dàng truy cập. Bạn có thể tìm thấy
danh sách chúng, bao gồm cả máy chủ toàn cầu và khu vực, tại
http://www.bgp4.as/looking-glasses.

help! I’m Drowning in Data!


Nhiều công cụ có thể giúp thu thập, tổng hợp và phân tích lượng lớn dữ
liệu mà bạn có khả năng thu được trong giai đoạn thu thập thông tin của

Chương 3: Thu thập thông tin Page 20 of 53


21
một thử nghiệm thâm nhập. Các ví dụ bao gồm theHarvester, một công
cụ được thiết kế để thu thập email, thông tin miền, tên máy chủ, tên
nhân viên cũng như các cổng và biểu ngữ mở bằng công cụ tìm kiếm và
Maltego, công cụ này xây dựng bản đồ mối quan hệ giữa mọi người và
mối quan hệ của họ với các tài nguyên khác. Recon-ng là một công cụ thu
thập OSINT cho phép bạn tự động thu thập thông tin trong một công cụ
giống như Metasploit với các trình cắm thêm để thực hiện nhiều loại tìm
kiếm. Cần lưu ý rằng mặc dù việc sử dụng một công cụ như TheHarvester
có thể giúp đơn giản hóa việc tìm kiếm các tập dữ liệu lớn, nhưng nó
không phải là sự thay thế hoàn toàn cho sự sáng tạo của con người.

Security Search Engines


Một cách nhanh chóng để tìm kiếm các hệ thống bị lộ thuộc tổ chức
theo miền hoặc địa chỉ IP là sử dụng công cụ tìm kiếm bảo mật. Các
công cụ tìm kiếm này cung cấp một cách để xem xét máy chủ, dịch
vụ và các chi tiết khác mà không cần tự mình chủ động thăm dò
mạng.

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

Chương 3: Thu thập thông tin Page 22 of 53


23

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!

Active Reconnaissance and


Enumeration
Việc xây dựng một danh sách tất cả các nguồn lực hoặc các mục
tiêu tiềm năng của một loại cụ thể là rất quan trọng trong trạng thái
thử nghiệm thâm nhập này. Khi đã thu thập đủ thông tin tình báo
nguồn mở, người thử nghiệm thường chuyển sang giai đoạn do
thám tích cực với mục tiêu xây dựng trước, sau đó thu hẹp danh
sách máy chủ, mạng hoặc các mục tiêu khác. Các kỹ thuật cho mỗi
phương pháp này khác nhau, vì vậy bạn sẽ cần phải làm quen với
từng phương pháp sau.

Hosts
Liệt kê các máy chủ trên mạng có thể 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. Quét hoạt động có thể xác định nhiều máy chủ
và có thể hấp dẫn nếu chỉ dựa vào máy quét cổng để xác định máy
chủ, nhưng 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, Jamf
Pro 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, 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ó, nhưng nó
có nghĩa là 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ử sớm trong một lần tương tác.

Chương 3: Thu thập thông tin Page 24 of 53


25

Services
Nhận dạng dịch vụ 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.

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:

■ ✓ Khám phá máy chủ

■ ✓ Quét cổng và nhận dạng dịch vụ

■ ✓ Nhận dạng phiên bản dịch vụ

■ ✓ Nhận dạng hệ điều hành

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” 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.

Table 3.1 lists some of the most commonly found interesting


ports.

Bạn sẽ muố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. Đừng lo lắng; chúng tôi đã bao
gồm các câu hỏi thực hành như thế này ở cuối chương này và
trong các bài kiểm tra thực hành để giúp bạn luyện tập!

TaBle 3.1 Common ports and services


Port TCP/UDP Service

20 TCP, UDP FTP data


21 TCP, UDP FTP control
22 TCP, UDP SSH
23 TCP, UDP Telnet
SMTP
25 TCP, UDP
(email)
53 UDP DNS
67 TCP, UDP DHCP server
68 TCP, UDP DHCP client
69 TCP, UDP TFTP

Chương 3: Thu thập thông tin Page 26 of 53


27

80 TCP, UDP HTTP


88 TCP, UDP Kerberos
110 TCP, UDP POP3
123 TCP, UDP NTP
Microsoft
135 TCP, UDP EPMAP
Active Reconnaissance and
Enumeration

Port TCP/UDP Service


136-139 TCP, UDP NetBIOS
143 TCP IMAP
161 UDP SNMP
162 TCP, UDP SNMP traps
389 TCP, UDP LDAP
443 TCP, UDP HTTPS
Microsoft AD and
445 TCP
SMB
500 TCP, UDP ISAKMP, IKE
515 TCP LPD print services
Microsoft SQL
1433 TCP
Server
Microsoft SQL
1434 TCP, UDP
Monitor
Oracle database
1521 TCP
listener
1812, 1813 TCP, UDP RADIUS
Service and Version Identification
Khả năng xác định một dịch vụ có thể cung cấp thông tin hữu ích về
các lỗ hổng tiềm ẩn cũng như xác minh rằng dịch vụ đang phản hồi
trên một cổng nhất định khớp với dịch vụ thường sử dụng cổng đó.
Nhận dạng dịch vụ thường được thực hiện theo một trong hai cách:
bằng cách kết nối và lấy biểu ngữ hoặc thông tin kết nối do dịch vụ
cung cấp hoặc bằng cách so sánh các phản hồi của nó với chữ ký
của các dịch vụ đã biết.

Operating System Fingerprinting


Khả năng xác định hệ điều hành dựa trên lưu lượng mạng mà nó gửi
được gọi là lấy dấu vân tay hệ điều hành và nó có thể cung cấp
thông tin hữu ích khi thực hiện trinh sát. Điều này thường được
thực hiện bằng cách sử dụng kỹ thuật lấy dấu vân tay ngăn xếp TCP
/ IP tập trung vào việc so sánh các phản hồi với các gói TCP và
UDP được gửi đến các máy chủ từ xa. Sự khác biệt về cách hệ điều
hành và thậm chí các phiên bản hệ điều hành phản hồi, những tùy
chọn TCP nào mà chúng hỗ trợ, thứ tự chúng gửi gói tin và một loạt
các chi tiết khác thường có thể cung cấp một dự đoán tốt về hệ điều
hành mà hệ thống từ xa đang chạy. Hình 3.11 cho thấy một bài
kiểm tra nhận dạng hệ điều hành dựa trên máy chủ mẫu
scanme.nmap.org. Lưu ý rằng trong trường hợp này, nhận dạng hệ
điều hành gặp khó khăn trong việc xác định máy chủ lưu trữ, vì vậy
câu trả lời của chúng tôi không rõ ràng như bạn mong đợi.
fIGure 3.11 Nmap scan using OS identification

Chương 3: Thu thập thông tin Page 28 of 53


29

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í. Nó 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.

Chương 3: Thu thập thông tin Page 30 of 53


Active Reconnaissance and Enumeration 31

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

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à

Chương 3: Thu thập thông tin Page 32 of 53


Active Reconnaissance and Enumeration 33
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.

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.

kịch bản, phần 2


Bây giờ bạn đã xác định được các địa chỉ IP bên ngoài của tổ chức, bạn đã
sẵn sàng tiến hành quét các hệ thống của tổ chức đó.

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?

Networks, Topologies, and Network


Traffic
Khi bắt đầu thử nghiệm thâm nhập hộp đen, bạn sẽ biết rất ít về các
mạng, cách bố trí và thiết kế của chúng, và những gì chúng có thể
mang theo. Khi bạn tìm hiểu thêm về mạng hoặc các mạng của mục
tiêu, bạn có thể bắt đầu bố trí cấu trúc liên kết mạng hoặc thiết kế
logic. Biết cách mạng được bố trí và mạng con, thiết bị mạng và
vùng bảo mật nào tồn tại trên mạng có thể rất quan trọng đối với sự
thành công của thử nghiệm thâm nhập.

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 nó 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à
Chương 3: Thu thập thông tin Page 34 of 53
Active Reconnaissance and Enumeration 35
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!

Eavesdropping and Packet Capture


Ngoài việc chủ động quét các máy chủ và thu thập thông tin cấu trúc
liên kết, những người kiểm tra thâm nhập cũng sẽ thu thập thông tin
bằng cách sử dụng tính năng nghe trộm với các công cụ bắt gói hoặc
thám thính. Các công cụ như Wireshark thường được sử dụng để thu
thập một cách thụ động thông tin về mạng, bao gồm địa chỉ IP, địa
chỉ MAC, thời gian tồn tại của các gói và thậm chí cả dữ liệu về
dịch vụ và nội dung của traffi c khi nó không được mã hóa.
fIGure 3.13 Zenmap topology view

Việc thu thập lưu lượng mạng từ các mạng không dây có thể được
thực hiện với Wireshark, nhưng các công cụ bắt không dây chuyên
dụng như Kismet cũng rất phổ biến. Kismet cung cấp các tính năng
bổ sung có thể hữu ích khi dò tìm các mạng không dây, bao gồm
khả năng tìm các SSID ẩn, liên kết thụ động giữa các máy khách và
điểm truy cập không dây, và nhiều công cụ giúp giải mã lưu lượng
được mã hóa.

Đ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 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.

Chương 3: Thu thập thông tin Page 36 of 53


Active Reconnaissance and Enumeration 37
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.

HighOn.Coffee Penetration Testing Tools Cheat Sheet là một


nguồn tài nguyên tuyệt vời cho các lệnh cụ thể, được sắp xếp
theo giai đoạn thử nghiệm thâm nhập và kiểu liệt kê hoặc nỗ
lực khác. Bạn có thể tìm thấy nó tại https: //
highon.coffee/blog/penetration-testing-tools-cheat-sheet/.
Các bảng gian lận cụ thể cho các công cụ và kỹ thuật khác như
nbtscan, đảo ngược shell và những thứ khác cũng có sẵn trên
cùng một trang web. Nếu bạn muốn có một cuốn sách để làm
việc, thì Sổ tay hướng dẫn thực địa của Đội Đỏ (hoặc RTFM) của
Ben Clark là một nguồn tài liệu tuyệt vời.

Packet Crafting and Inspection


Ngoài việc bắt gói và quét mạng, những người kiểm tra thâm
nhập đôi khi cần phải tương tác trực tiếp với các gói và traffi c để
thu thập thông tin mà họ cần. Việc tạo gói theo cách thủ công hoặc
có công cụ hỗ trợ có thể cho phép bạn gửi các gói không tồn tại
hoặc sửa đổi các gói hợp pháp với trọng tải của riêng bạn. Có bốn
nhiệm vụ điển hình mà việc kiểm tra và tạo gói có thể liên quan
đến:
■ ✓ Xem xét và giải mã gói tin
■ ✓ Lắp ráp các gói từ đầu
■ ✓ Chỉnh sửa các gói hiện có để sửa đổi nội dung của chúng
■ ✓ Phát lại các gói
Trong khi Wireshark rất hữu ích cho việc phân tích gói, những
người kiểm tra thâm nhập thường sử dụng các công cụ khác để tạo
gói. Hping phổ biến vì nó cho phép bạn tạo các gói tùy chỉnh một
cách dễ dàng. Ví dụ: gửi gói SYN đến một hệ thống từ xa bằng cách
sử dụng hping có thể được thực hiện bằng lệnh sau: hping -S -V
targetite.com -p 8080

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.

Chương 3: Thu thập thông tin Page 38 of 53


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.

E numeration
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.

U sers
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!

fIGure 3.14 Harvesting emails using Metasploit

Chương 3: Thu thập thông tin Page 40 of 53


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.

R elationships
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ụ
Chương 3: Thu thập thông tin Page 42 of 53
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.
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
Chương 3: Thu thập thông tin Page 44 of 53
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
fIGure 3.15 NETCAT banner grabbing

Có thể bạn đã đoán được, Nmap có thể cung cấp cùng một loại
câu trả lời bằng cách sử dụng cation fl ag nhận dạng dịch vụ -sV.
Trong nhiều trường hợp, bạn cũng có thể muốn kết nối với máy
quét lỗ hổng bảo mật hoặc công cụ bảo mật ứng dụng web để thu
thập thông tin chi tiết hơn, chẳng hạn như cookie.

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/.

API and Interface Enumeration


Mặc dù các mục tiêu của kỳ thi PenTest + hiện không liệt kê các
API và các giao diện cấp dịch vụ khác, người kiểm tra khả năng
thâm nhập nên lưu ý rằng các API tiếp xúc có thể có giá trị như các
ứng dụng được tiếp xúc. Bạn có thể cần tài liệu API để khai thác
đầy đủ chúng, nhưng một API được ghép nối với quyền truy cập
mở hoặc khóa API được thu thập hoặc các mã xác thực và ủy
quyền khác có thể cung cấp quyền truy cập vào tất cả các loại chức
năng và dữ liệu hữu ích.

Certificate Enumeration and Inspection


Chứng chỉ chứng nhận rằng các trang web của tổ chức hiện diện
có thể được liệt kê như một phần của nỗ lực thu thập thông tin.
Nmap có thể thu thập thông tin certifi cate bằng cách sử dụng
script ssl-cert NSE và tất cả các trình quét lỗ hổng bảo mật lớn đều
có khả năng lấy và xác thực thông tin certifi cate. Như bạn có thể
mong đợi, các máy quét lỗ hổng ứng dụng web cũng đặc biệt tích
hợp khả năng này. Việc biết các mã chứng chỉ đang được sử dụng
và nếu chúng đã hết hạn hoặc có vấn đề, có thể hữu ích cho người
kiểm tra thâm nhập vì các mã chứng chỉ lỗi thời thường dẫn đến
các vấn đề quản trị hoặc hỗ trợ khác có thể bị lợi dụng.
Cates Certifi cũng được sử dụng cho người dùng và dịch vụ và có
thể có được trong các giai đoạn sau của thử nghiệm thâm nhập.
Các mã và khóa chứng nhận người dùng và dịch vụ thường được
theo dõi khi chúng được lấy thay vì được liệt kê trực tiếp.

Information Gathering and Code


Mã nguồn, tập lệnh và thậm chí mã được biên dịch làm nền tảng
cho hệ thống, dịch vụ và cơ sở hạ tầng của tổ chức cũng là những
mục tiêu rất hữu ích cho người kiểm tra thâm nhập. Việc phân tích
mã như một phần của bài tập điều tra và thu thập thông tin đôi khi
có thể bị lãng quên vì nó đòi hỏi một bộ kỹ năng khác với việc
quét cổng và thu thập thông tin tích cực khác.
Chương 3: Thu thập thông tin Page 46 of 53
Là một người kiểm tra thâm nhập, bạn nên lưu ý rằng mã thường
chứa thông tin hữu ích về các mục tiêu, từ tên người dùng và mật
khẩu được nhúng trong tập lệnh cho đến chi tiết về cách các ứng
dụng kết nối và cách dữ liệu được tổ chức trong cơ sở dữ liệu trong
các cuộc gọi ứng dụng web.
Scripts and Interpreted Code
Thông tin dễ tiếp cận nhất trong mã thường được tìm thấy trong
các tập lệnh và mã thông dịch khác (nghĩa là mã được chạy trực
tiếp thay vì được biên dịch). Hầu hết các tập lệnh và mã được
thông dịch có thể không truy cập được trong quá trình trinh sát
hoạt động ban đầu của một tổ chức, nhưng khi bạn đã vượt qua các
lớp bảo mật bên ngoài, bạn có khả năng khôi phục mã mà bạn sẽ
cần phân tích.

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.

D ecompilation
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ừ

Chương 3: Thu thập thông tin Page 48 of 53


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ã.

Information Gathering and


Defenses
Trong suốt chương này, chúng ta đã thảo luận về các phương
pháp thu thập thông tin về một tổ chức thông qua cả phương
pháp thụ động và chủ động. Trong khi thu thập thông tin, bạn
cần phải lưu ý về các cơ chế phòng thủ mà mục tiêu của bạn có
thể có.
Defenses Against Active Reconnaissance
Các biện pháp phòng thủ chống lại sự do thám chủ động chủ yếu
dựa vào hệ thống phòng thủ mạng, nhưng việc trinh sát không thể
bị dừng lại hoàn toàn nếu có bất kỳ dịch vụ nào được cung cấp cho
thế giới bên ngoài. Việc ngăn chặn do thám chủ động thường dựa
vào một số biện pháp phòng thủ phổ biến:
■ ✓ Hạn chế sự tiếp xúc bên ngoài của các dịch vụ đối với những
dịch vụ tuyệt đối phải tiếp xúc
■ ✓ Sử dụng IPS hoặc công nghệ phòng thủ tương tự có thể hạn
chế hoặc dừng các đầu dò để ngăn chặn quá trình quét
■ ✓ Sử dụng các hệ thống giám sát và cảnh báo để báo động về các
sự kiện vẫn tiếp diễn bất chấp các biện pháp phòng ngừa này
Hầu hết các tổ chức sẽ ưu tiên phát hiện do thám đang hoạt động
trên mạng nội bộ của họ, và các tổ chức có chính sách bảo mật
mạnh sẽ cấm và giám sát việc sử dụng các công cụ quét. Hệ thống
phòng thủ tích cực có thể chặn hoặc ngắt kết nối các hệ thống hoặc
cổng mạng thực hiện các hoạt động do thám tích cực, vì vậy việc
giám sát các nỗ lực của chính bạn để tìm các dấu hiệu phát hiện là
rất quan trọng.

Preventing Passive Information Gathering


Các tổ chức gặp khó khăn hơn nhiều trong việc ngăn chặn việc
thu thập thông tin thụ động, vì nó phụ thuộc vào việc kiểm soát
thông tin mà họ phát hành. Mỗi kỹ thuật thu thập thông tin thụ
động mà chúng tôi đã xem xét đều có một bộ kiểm soát riêng có
thể được áp dụng. Ví dụ: các kỹ thuật chống thu thập DNS được sử
dụng bởi các công ty đăng ký tên miền có thể giúp ngăn chặn việc
sử dụng sai mục đích. Các kỹ thuật bảo vệ DNS khác bao gồm:
■ ✓ Đưa vào danh sách đen các hệ thống hoặc mạng lạm dụng
dịch vụ ■ ✓ Sử dụng CAPTCHA để ngăn chặn bot.

Chương 3: Thu thập thông tin Page 50 of 53


■ ✓ Cung cấp các dịch vụ bảo mật sử dụng thông tin đăng ký
của bên thứ ba thay vì cá nhân hoặc tổ chức thực sự đăng ký miền.
■ ✓ Thực hiện giới hạn tốc độ để đảm bảo rằng việc tra cứu
không được thực hiện ở tốc độ cao.
■ ✓ Không xuất bản tệp vùng nếu có thể, nhưng gTLD được yêu
cầu xuất bản tệp vùng của chúng, có nghĩa là điều này chỉ hoạt
động đối với một số ccTLD.
Các hình thức thu thập thông tin thụ động khác đòi hỏi phải xem
xét kỹ lưỡng dữ liệu bị lộ và các quyết định của tổ chức về những
gì nên (hoặc phải) được tiết lộ và những gì có thể bị hạn chế bằng
các phương tiện kỹ thuật hoặc hành chính.

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.

Exam Essentials Cơ bản về kỳ thi


Hiểu thu thập thông tin OSINT. Thu thập thông tin tình báo
nguồn mở (OSINT) là thu thập thông tin thụ động về một tổ chức
và các hệ thống, mạng và dịch vụ của tổ chức đó. Việc thu thập
thông tin thụ động được thực hiện hoàn toàn mà không cần tương
tác với tổ chức hoặc hệ thống của tổ chức và dựa vào các nguồn
thông tin của bên thứ ba. Những tổ chức này bao gồm các tổ chức
như CERT, NIST, MITER, và Công bố đầy đủ cũng như các
nguồn thông tin thu thập thông tin công ty như một phần trong nỗ
lực bình thường của họ. Thông tin về miền, phạm vi IP, phần mềm,
nhân viên, tài chính và công nghệ của tổ chức cũng như nhiều yếu
tố thông tin hữu ích khác, có thể được thu thập như một phần của
nỗ lực OSINT.
Các nguồn thông tin và công cụ của bên thứ ba hỗ trợ thu thập
thông tin tình báo thụ động. Việc thu thập thông tin tình báo
nguồn mở dựa vào một loạt các công cụ và dịch vụ. Chúng bao
gồm các công cụ tìm kiếm như Shodan và Censys, các công cụ thu
thập thông tin tự động như theHarvester, Recon-ng, Maltego và
FOCA, cơ sở dữ liệu và kho thông tin như hồ sơ WHOIS, hồ sơ
công khai, mạng xã hội và các nguồn thông tin khác. Việc hiểu các
công cụ và dịch vụ này, các loại thông tin mà chúng có thể thu thập
hoặc chứa đựng, và cách chúng có thể là một phần của quá trình
thu thập thông tin toàn diện là rất quan trọng để hiểu được việc thu
thập thông tin.

Chương 3: Thu thập thông tin Page 52 of 53


Trinh sát tích cực cung cấp thông tin chi tiết về các hệ thống và
dịch vụ bị lộ. Khi thông tin nguồn mở về một tổ chức đã được thu
thập và các mạng và máy chủ sẽ được nhắm mục tiêu đã được xác
định, hoạt động do thám sẽ bắt đầu. Trinh sát chủ động liên quan
đến các tương tác trực tiếp với các hệ thống và dịch vụ mục tiêu và
nhằm thu thập thông tin cho phép người kiểm tra thâm nhập nhắm
mục tiêu các cuộc tấn công một cách hiệu quả. Quét cổng, quét
phiên bản và các kỹ thuật đánh giá tương tác khác được sử dụng để
thu thập thông tin trong giai đoạn này của thử nghiệm thâm nhập.
Người kiểm tra phải rất quen thuộc với các công cụ như Nmap,
bao gồm các cờ cụ thể và khả năng quét của nó.
Liệt kê cung cấp danh sách mục tiêu để khai thác thêm. Việc
liệt kê người dùng, địa chỉ email, URL, lượt chia sẻ và dịch vụ
cũng như các nhóm, mối quan hệ, ứng dụng và nhiều loại dữ liệu
khác, cung cấp thêm thông tin cho người kiểm tra thâm nhập. Việc
liệt kê cung cấp một danh sách các mục tiêu tiềm năng cho thử
nghiệm, kỹ thuật xã hội hoặc các kỹ thuật khác. Người kiểm tra
thâm nhập cần biết các khái niệm và kỹ thuật cơ bản thường được
sử dụng để điều tra cũng như các công cụ được sử dụng thường
xuyên nhất cho từng loại điều tra.
Thu thập thông tin và xem xét mã có thể cung cấp các chi tiết
quan trọng. Ứng dụng, mã và giao diện ứng dụng đều là mục tiêu
hợp pháp trong các bài kiểm tra thâm nhập và việc hiểu cách thu
thập thông tin về các ứng dụng thông qua phân tích mã, gỡ lỗi và
dịch ngược có thể rất quan trọng khi bạn gặp phải chúng. Mặc dù
biết cách dịch ngược một ứng dụng và đọc mọi dòng mã không
nằm trong phạm vi, nhưng hiểu những điều cơ bản về cách đọc mã
nguồn, cách tìm thông tin hữu ích trong mã đã biên dịch và những
kỹ thuật nào tồn tại để người kiểm tra thâm nhập làm việc với cả
mã đã biên dịch và mã được diễn giải là quan trọng.

You might also like