Download as pdf or txt
Download as pdf or txt
You are on page 1of 44

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

Một bài trình bày về OSINT trong tài liệu ECSA


https://www.youtube.com/watch?v=wOYreyNLLKc

comptia pen+ mod 3 1 osint


https://www.youtube.com/watch?v=7atxidJbL
Vg

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.

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

Bạn có thể đọc tất cả SP 800-115 tại

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.

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.

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.

Vị trí và tổ chức Dữ liệu


Mặc dù những người kiểm tra thâm nhập có thể bị rơi vào bẫy 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 đó có thể diễn ra dưới hình
thức triển khai các kỹ thuật xã hội (social engineering) 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í kiểm
ra sâu để xem các hồ sơ giấy tờ 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ó. Các bạn hãy hình dung các
phương án lục thùng rác tìm lại các giấy tờ, bí mật hay nghe lén để tìm kiếm
thông tin, đột nhập bằng cách giả dạng nhân viên bảo trì ...

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.

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. Chúng
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
Tệp Microsoft Office, PDF và nhiều loại tệp kinh doanh phổ biến khác chứa các
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 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

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 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 đó!

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

Route – Định tuyến


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 hay BGP Looking Glasses giúp thông tin
đó dễ dàng truy cập. Bạn có thể tìm thấy danh sách 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 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
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 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:

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

Table 3.1 Danh sách các cổng thông dụ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.

TaBle 3.1 Common ports and services

20 TCP, UDP FTP data


21 TCP, UDP FTP control
22 TCP, UDP SSH
23 TCP, UDP Telnet
25 TCP, UDP SMTP (email)
53 UDP DNS

67 TCP, UDP DHCP server


68 TCP, UDP DHCP client
69 TCP, UDP TFTP
80 TCP, UDP HTTP
88 TCP, UDP Kerberos
110 TCP, UDP POP3

123 TCP, UDP NTP


Microsoft
135 TCP, UDP EPMAP

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

445 TCP Microsoft AD and SMB

500 TCP, UDP ISAKMP, IKE

515 TCP LPD print services


1433 TCP Microsoft SQL Server

1434 TCP, UDP Microsoft SQL Monitor

Oracle database
1521 TCP
listener

1812, 1813 TCP, UDP RADIUS

Service & Version Identification


Xác định một dịch vụ đang chạy và phiên bản cung cấp nhiều 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 chúng với chữ ký của các dịch vụ đã biết.

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

Operating System Fingerprinting


Khả năng xác định hệ điều hành dựa trên lưu lượng mạng được gọi là lấy dấu
vân tay hệ điều hành hay OS Fingerpringtng và quá trình này có thể cung cấp
thông tin hữu ích khi thực hiện trinh sát hay thu thập thông tin mục tiêu. Đ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 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 ta nhận được không rõ
ràng như mong đợi.
Thử nghĩ, nếu admin của máy chủ mục tiêu tạo những câu trả lời giả có thể đánh
lừa được khá nhiều kẻ tấn công nghiệp dư, chỉ dựa vào kết quả của những công
cụ tự động.
Hình 3.11 Nmap scan sử dụng tùy chọn OS identification

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.

Các bài trình bày về nmap có thể bạn quan tâm

Try Hack Me Pentest+ room 02 nmap 01-02

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

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?
Active Reconnaissance and Enumeration 29

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

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

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.

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!

fIGure 3.14 Harvesting emails using Metasploit

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

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

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

Bài tham khảo về netcat https://www.youtube.com/watch?v=yfc38yPc8RE

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

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